Variables : notion Une variable permet de stocker/manipuler une donnée dans un programme avec un nom explicite Caractériser par son type (entier, flottant,...)

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 7
DECLARATION DE VARIABLES
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
5. Les structures répétitives
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Langage C Révision.
CPI/BTS 2 Programmation Web Introduction au PHP
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Base de programmation Script unity en c#.
Ensembles Définition d’un ensemble. Opérations sur les ensembles. Accès, suppression et ajout d’éléments d’un ensemble. Fonctions permettant de manipuler.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Python Fonction et procédure
SIF-1053 Architecture des ordinateurs
Un survol du language C.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
 Syntaxe du langage PHP
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Cours LCS N°4 Présenté par Mr: LALLALI
CSI2520 Un langage de programmation par scripting orienté-objet (et fonctionnel)
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Module algorithmique et programmation
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Amphi de rattrapage Algo / Prog
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Formation Achats – MM Intégration avec FI. Introduction.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 10 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 5 Support de cours rédigé par Bernard COFFIN Université.
UNIX AVANCE Yves PAGNOTTE – Janvier – QUELQUES RAPPELS SUR LES SYSTEMES D’EXPLOITATION 1.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
Quatrième 4 Chapitre 11: Inégalités Ordre et opérations M. FELT 1.
Introduction à la programmation
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
La création des données d’exemplaire pour un exemplarisateur Sudoc.
I.T.E.E.M de BEAULIEU Enseignante : Mme RECHID Automates Programmables Industriels ( ITEEM 2004 ) CHAPITRE 3 Programmation d'un automate Le langage de.
Introduction à la Programmation Orientée Objet H.GATI.
Francis Lowenthal Place du Parc 18 étage -1 B-7000 Mons Tél : 065/
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Introduction à la programmation (420-PK2-SL) cours 9 Gestion des applications Technologie de l’information (LEA.BW)
Excel Récapitulatif. Objectifs Rappel des notions de base Résumé des fonctions déjà utilisées Introduction à la fonction SI(…) Démonstrations de cette.
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Informatique 2A Langage C 3 ème séance.
IFT359 – Programmation fonctionnelle Thème #8 Création de nouvelles formes syntaxiques 1.
Cours de Langage C Les structures
Cours de Langage C Récursivité. Objectifs de la séance 11 Connaître la récursivité. Mesurer un temps d’exécution. 2.
1 Initiation aux bases de données et à la programmation événementielle Construction d’un état Support de TD rédigé par Bernard COFFIN Université Paris.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – PROCESSUS ET RESSOURCES.
Algorithmique demander jeu du pendu.
Bases de programmation en Python
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Python Nicolas THIBAULT
Transcription de la présentation:

Variables : notion Une variable permet de stocker/manipuler une donnée dans un programme avec un nom explicite Caractériser par son type (entier, flottant,...) Python utilise des espaces de noms / namespace pour stocker les données. Schématiquement : nom explicite stocké dans une table de symbole associé à un identifiant la valeur est stockée dans la table de valeurs dans un bloc de mémoire de n bits

Variables : mémoire Nom, Type, Adresse. Donnée numérique La table des noms est composée de deux parties : La table des symboles. La table des valeurs.

Variables : règle de déclaration Règles syntaxiques : Une variable en python ne peut être composée que de majuscule, de minuscules, de chiffres et du symbole tiret bas. Le nom de la variable ne peut pas commencer par un chiffre. Une variable sous Python ne peut pas porter les noms de la suite de mots clés ci-dessous : and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield.

Variables : affectation L’affectation: Créer et mémoriser un nom de variable Attribuer un type Créer et mémoriser une valeur Etablir un lien ; le nom de la variable pointe sur un emplacement de la mémoire contenant la valeur ? ?

Variables : quelques fonctions Exemple : >>> valeur = Python évalue 10+1 et détermine le type du résultat Le résultat est stocké en mémoire à une certaine adresse Python inscrit le nom “valeur” dans la table des symboles en précisant le type et l'adresse mémoire de la valeur (si “valeur” existe alors on modifie simplement type et l'adresse mémoire) type(valeur) : affiche le type de la variable id(valeur) : affiche l'adresse mémoire print(valeur) : affiche la valeur

Variables : expression Expression : suite d'opérations utilisant des constantes, variables, fonctions... Evaluation : chaque variable ou appelle de fonction est remplacée par sa valeur

Variables : expression Evaluation possible qu'avec des types compatibles sur une opération Affectation multiple : spécifique à Python Evaluation des différentes expressions de la gauche vers la droite PUIS affectation dans les variables

Variables : expression Affectation multiple : spécifique à Python Evaluation des différentes expressions de la gauche vers la droite PUIS affectation dans les variables

Variables : opérations Opérations dépendent du type des variables Sur les nombres, on a : Addition +, soustraction –, multiplication *, division /, mise à la puissance ** Division entière //, modulo (reste de la division entière) % Priorité PEMDAS, (),**,*,/,+,-

Variables : exercices

Types sous python Type() Des nombres Les entiers (int) Les réels à virgule flottante (float) Les complexes (complex) Les booléens (bool)

Types sous python Des séquences Les chaînes de caractères (str) Les listes (list) Les listes immuables ou n-uplet (tuple) Les listes associatives ou dictionnaire (dict) Les listes non ordonnées (set)

Types : nombres Conversion possible int() float() complex() Binaire décimal : 0b Hexadécimal : 0x Opérations: +, -, *, /, **, //, abs, % Priorité: P E MD AS

Types : chaînes de caractères PDF : fr en v · d · m frenvdm ABCDEF 000NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI 001DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS 002SP!"#$%&'()*+,-./ :;<=>? 005PQRSTUVWXYZ[\]^_ 006`abcdefghijklmno 007pqrstuvwxyz{|}~DEL Code ASCII

Types : chaînes de caractères Opérations sur les chaînes \n provoque un retour à la ligne (retour chariot) ; \t provoque une tabulation ; \a provoque un bip système ; \" et \’ permettent d’écrire un guillemet sans ouvrir ou fermer une chaîne de caractère ; \\ permet d’écrire un antislash.

Types : chaînes de caractères Opérations sur les chaînes Indice et extraction [1] La longueur len() La concaténation + La répétition *

Types : chaînes de caractères Une chaîne de caractère : liste homogène contenant que des caractères Affectation : Opérations : Slicing :

Types : listes Une liste permet de stocker des éléments dans un ordre donné Les éléments de la liste peuvent être de type différent (liste hétérogène) Les boucle FOR boucle sur les éléments d'une liste L = [ ] #liste vide L = [1, 6, False, print, [True,2]] #une liste comprend : 2 entiers, puis un booleen, puis une fonction, puis une liste

Types : listes Opérations Addition : permet de concaténer les listes len(tous) permet de connaître la longueur de la liste

Types : listes Opérations Accès aux éléments de la liste : la liste est numérotée à partir de 0 tous[0] = 0 Slicing : tous[1:3] permet d'obtenir les éléments de la position 2 à 3 Ici renvoie [1, 2] On peut accéder au dernier élément en faisant tous[-1] On peut modifier le pas d'extraction tous[ini : fin+1 : pas] Exemple : tous[0 : 8 : 2] envoie une liste contenant les éléments de la position 0, 2, 4, 6 et surtout pas 8

Types : listes Opérations Multiplication entier n avec une liste : Concaténation de n fois la liste

Types : listes Opérations Pour aller plus loin : Affectation par tranche (d'une liste existante) Ajouter un élément : Supprimer un élément : pop ( i ) : supprimer l'élément de la position i et renvoie sa valeur remove (val) : supprimer la premiere valeur val si elle existe Insertion : insert(pos, val) Complexité des opérations en mémoire !

Types : listes Copie d'une liste – Mémoire L2 = L pour des listes, L2 est un alias de L c'est à dire qu'ils pointent vers la même zone mémoire Quand on modifie L2, on modifie L aussi (et réciproquement !) Pour copier dans une nouvelle zone mémoire : M = L[:] ou M = L.copy() ATTENTION Une liste en argument d'une fonction est passé par référence, donc toujours de manière globale !

Types : listes Séquence modifiable Méthodes sur les listes del() sort() append() Alias Copy() liste[:]

Types avances : tuples Séquence non modifiable Types avancés : dictionnaires Séquence modifiable Méthodes sur les listes remove() key()

Structure : conditions Expressions booléennes Renvoie 0 ou 1 (vrai ou faux) Comparaison Opérateurs booléens Ordre de priorité

Structure : tantque Boucle tant que Tant que la condition est vraie, on exécute les instructions Souvent besoin d'un compteur sur lequel on réalise le test

Structure : tantque Exemple : Factorielle Définition Une première version pour n supérieur ou égal à 1 Difficultés : initialisation des variables, critères d'arrêt Instruction break, else

Structure : Si…alors…sinon Instructions conditionnelles : Si la condition est vraie Alors on exécute les instructions Sinon Si une autre condition est vraie Alors on exécute...Sinon on exécute... Structure générale Où est remplacé par une expression booléenne et par une séquence d'instructions elif et else ne sont pas obligatoire Utilisation de elif mieux que plein de if pour détecter des cas disjoints

Structure : Si…alors…sinon Exemple factorielle : Une deuxième implémentation prenant en compte n=0

Structure bouclée Boucle For Pour chaque élément i dans la liste, exécuter les instructions La variable peut être utilisée dans la séquence d'instructions Commande range(début, fin, pas) Permet de créer une séquence d'éléments : Commençant à début Finissant à fin – 1 Par pas de pas Exemple : range(3, 11, 2) → [3, 5, 7, 9] Difficulté du FOR ne pas se planter dans RANGE !

Structure bouclée Exemple : factorielle Factorielle peut aussi être calculé directement avec un FOR

Structure : try… except Programmation AVANCEE (pour la culture) : En cas de problème, Python renvoie un message d'erreur avec un type d'erreur On peut intercepter cette erreur afin de la traiter, pour éviter de faire planter le programme

Structure : exercices

fonctions Une fonction est un algorithme prenant des arguments en entrées, puis réalise une suite d'instructions et renvoie éventuellement un résultat Exemple Puis dans la console :

Fonctions De manières générales Il faut mettre les 2 points : Et penser à l’indentation Typographie : Commence par “def” pour définir la fonction Puis le nom de la fonction suivie des différents arguments, puis : Chaine de caractère optionnelle permettant de décrire ce que fait la fonction. help(nom_fonction) renvoie cette chaine Suite des instructions agissant sur les arguments généralement La fin de la fonction est souvent terminée par return val

Fonctions Return : La fonction se termine dès qu'elle rencontre ce mot clé Sans return, la fonction ne renvoie aucun résultat, on parle de procédure

Fonctions :variables locales Fonctions : Les variables déclarées dans une fonction sont des variables locales en général Lors de l'appel d'une fonction, Python crée une table des symboles/valeurs locales à la fonction Lors de l'utilisation d'une variable dans une fonction, Python : Regarde dans la table des symboles locales si la variable existe Sinon regarde dans la table globale de Python Sinon il envoie un message d'erreur Attention : si la fonction 1 est appelé par une fonction 2, pour les instructions de la fonction 1, Python regarde dans la table locale de la fonction 1 puis la table globale.

Fonctions Exemples:

Fonctions : variables locales Pour utiliser une variable de la table globale, on peut utiliser le mot clé global Exemples : MAIS C'EST VRAIMENT PAS BIEN DE FAIRE CA !

Fonction : conclusions Prendre des notations différentes pour les variables :