Thème 2Premiers Pas2011-01-20SIO-2109 Z1 Introduction à la programmation1
Modes de programmation pythonDeux moyens de programmerCalculatrice: communiquer  les instructions via la console une à uneProgramme/ script: ensemble d’instructions  écrit dans un fichier compilé par Python2
Calculer avec PythonSaisir des opérations arithmétiquesExemples3
Données et variablesDonnées: entrées par l’utilisateur du programme ou le programmeur via les périphériques d’entréeVariables: conteneurs des données manipulées par le programme Plusieurs variables de différents typesEntierRéelCaractère / Chaîne de caractèresListe, …Les noms des types dépend du langage de programmation4
Variables en mémoire 5@1Verre3Employee1@2@3B2B_Server_Name@4EntrepriseNameChecked@5Verre2@7verre3@8
Noms de variables (1/2)Choisis par le programmeur à l’exception de mots réservés au langageRègles de syntaxe: Lettre+Séquence de chiffres et de lettresPas d’espaces(blanc ou tabulation)Pas de caractères spéciauxLa casse est significativeStudent1 n’est pas la même variable que student1.6
Noms de variables (2/2)Exemples   x,  y, x2,  y3, checked, IsChecked,Verre1, EntrepriseName, Employee_2, B2B_Server_Name, …95X, @personName, Customer_N#2,…     Génèrent des erreurs de syntaxe.Noms réservés à Python7
AffectationAffecter = assigner une valeur à une variableAffectation: lien entre le nom de la variable et son contenu	 >>> n = 14 	n prend la valeur 14 et est de type entier	 >>> msg = "Hello world! "   	msg prend la valeur "Hello world! " et est de type chaîne de caractères	 >>> pi = 3.14 	pi prend la valeur 3.14 et est de type nombre a virgule flottante (float)	 >>> verre1=verre2	verre1 prend la valeur contenue dans verre28
AffichagePour afficher la valeur d’une ou plusieurs variablesIndiquer le nom de la variable>>n14>>> msg'Quoi de neuf ?‘>>> pi3.14159Utiliser le mot réservé(??) print	>>print(msg)	Quoi de neuf ?9
Affectations multiplesAssigner une valeur à plusieurs variables simultanément>>>x=y=56>>>x56>>>y56Affectations parallèles avec le même opérateur	        m1,m2 = 14, 1.11>>>m114>>>m21.1110 La virgule «,»: séparateur
Le point «.»: virgule des nombres réels11Exemple: permutations???Verre 1Verre 2Verre 1Verre 2AlgorithmeInitialisationDébut || Vider  verre1 dans verre 3|||| Vider verre2 dans verre 1|||| Vider verre 3 dans verre 2 |FinVerre 3Verre 3Verre 3Verre 3Verre 1Verre 2Verre 1Verre 2Verre 1Verre 211Verre 1Verre 2
Solution: permutations12Verre 1Verre 2>>> verre1="café">>> verre2="lait">>>verre3="" >>>verre1, verre2, verre3???>>>verre3=verre1>>>verre1, verre2, verre3???>>>verre1=verre2>>>verre1, verre2, verre3???>>>verre2=verre3>>>verre1, verre2, verre3???Verre 3Verre 3Verre 3Verre 3Verre 1Verre 2Verre 1Verre 2Verre 1Verre 212Quel est l’état final de la variable verre3???
Remarque	>>>Verre1=‘lait’	>>>Verre2=‘café’>>>Verre2=Verre1Verre2 et Verre1 contiennent ‘lait’ et non pas les deux valeurs ‘lait’  et ‘café’.Les variables scalaires recoivent une seule valeur à la fois.13
ExempleDécrivez le plus clairement et le plus complètement possible ce qui se passe à chacune des trois lignes de l’exemple ci-dessous >>> largeur = 20	>>> hauteur = 5 * 9.3	>>> largeur * hauteur	930.0Assignez les valeurs respectives 3, 5, 7 à trois variables a, b, c.		Effectuez l’opération a - b//c. Interprétez le résultat obtenu.1414
Solutions	>>> largeur = 20La variable largeur reçoit une valeur entière de 20>>> hauteur = 5 * 9.3La variable hauteur reçoit le résultat de la multiplication de 5 par 9.3. Le résultat obtenu est un nombre à virgule flottante (float). D’ou hauteur est un float.>>> largeur * hauteurL’instruction « hauteur*largeur » affiche le résultat de la multiplication de la valeur de la variable largeur par la valeur de la variable hauteur. 	>>>a,b,c=3,5	,7	>>>a - b//cLe résultat obtenu est 3. La division entière de b par c (b//c) est effectué en premier lieu. L’opérateur // est prioritaire par rapport à l’opérateur.b//c donne  0. Le programme soustrait b//c de la valeur de c  qui est égale à 3 et on obtient 3.1515
Opérateurs et expressionsOn manipule les valeurs et les variables qui les référencent en les combinant avec des opérateurs pour former des expressions>>> a, b = 7.3, 12	>>> y = 3*a + b/5	>>> print(y)	23.899999…	>>> 10 % 3	1	>>> 10 % 5	016
Priorité des opérationsLorsqu’il y a plus d’un opérateur dans une expression, l’ordre dans lequel les opérations doivent être effectuées dépend de règles de priorité.Vous pouvez les mémoriser aisément à l’aide d’un « truc » mnémotechnique, l’acronyme PEMDAS  P pour parenthèses. E pour exposants.M et D pour multiplication et division, qui ont la même priorité.A et S pour addition et soustraction, qui ont la même priorité.Si deux opérateurs ont la même priorité, l’évaluation est effectuée de gauche à droite.17
ExempleTestez les lignes d’instructions suivantes. Décrivez ce qui se passe>>> r , pi = 12, 3.14159	>>> s = pi * r**2	>>> print(s)	>>> print(type(r), type(pi), type(s))Quelle est, à votre avis, l’utilité de la fonction type() ?18
CompositionComposition    L’une des grandes forces d’un langage de programmation de haut niveau est qu’il permet de construire des instructions complexes par assemblage de fragments divers.>>> print(17 + 3)	        20   >>> h, m, s = 15, 27, 34   >>> a=((h*m)**3)%6 Dans une expression, ce que vous placez à la gauche du signe égale doit toujours être une variable, et non une expression.19
Affichez les 13 premières numéros de la suite de Fibonacci en utilisant des variables et des expressions arithmétiquesLa suite de Fibonacci est 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144Un nombre de la suite est le résultat de la somme de ses deux précédents20

Theme2

  • 1.
    Thème 2Premiers Pas2011-01-20SIO-2109Z1 Introduction à la programmation1
  • 2.
    Modes de programmationpythonDeux moyens de programmerCalculatrice: communiquer les instructions via la console une à uneProgramme/ script: ensemble d’instructions écrit dans un fichier compilé par Python2
  • 3.
    Calculer avec PythonSaisirdes opérations arithmétiquesExemples3
  • 4.
    Données et variablesDonnées:entrées par l’utilisateur du programme ou le programmeur via les périphériques d’entréeVariables: conteneurs des données manipulées par le programme Plusieurs variables de différents typesEntierRéelCaractère / Chaîne de caractèresListe, …Les noms des types dépend du langage de programmation4
  • 5.
    Variables en mémoire5@1Verre3Employee1@2@3B2B_Server_Name@4EntrepriseNameChecked@5Verre2@7verre3@8
  • 6.
    Noms de variables(1/2)Choisis par le programmeur à l’exception de mots réservés au langageRègles de syntaxe: Lettre+Séquence de chiffres et de lettresPas d’espaces(blanc ou tabulation)Pas de caractères spéciauxLa casse est significativeStudent1 n’est pas la même variable que student1.6
  • 7.
    Noms de variables(2/2)Exemples x, y, x2, y3, checked, IsChecked,Verre1, EntrepriseName, Employee_2, B2B_Server_Name, …95X, @personName, Customer_N#2,… Génèrent des erreurs de syntaxe.Noms réservés à Python7
  • 8.
    AffectationAffecter = assignerune valeur à une variableAffectation: lien entre le nom de la variable et son contenu >>> n = 14 n prend la valeur 14 et est de type entier >>> msg = "Hello world! "   msg prend la valeur "Hello world! " et est de type chaîne de caractères >>> pi = 3.14 pi prend la valeur 3.14 et est de type nombre a virgule flottante (float) >>> verre1=verre2 verre1 prend la valeur contenue dans verre28
  • 9.
    AffichagePour afficher lavaleur d’une ou plusieurs variablesIndiquer le nom de la variable>>n14>>> msg'Quoi de neuf ?‘>>> pi3.14159Utiliser le mot réservé(??) print >>print(msg) Quoi de neuf ?9
  • 10.
    Affectations multiplesAssigner unevaleur à plusieurs variables simultanément>>>x=y=56>>>x56>>>y56Affectations parallèles avec le même opérateur m1,m2 = 14, 1.11>>>m114>>>m21.1110 La virgule «,»: séparateur
  • 11.
    Le point «.»:virgule des nombres réels11Exemple: permutations???Verre 1Verre 2Verre 1Verre 2AlgorithmeInitialisationDébut || Vider verre1 dans verre 3|||| Vider verre2 dans verre 1|||| Vider verre 3 dans verre 2 |FinVerre 3Verre 3Verre 3Verre 3Verre 1Verre 2Verre 1Verre 2Verre 1Verre 211Verre 1Verre 2
  • 12.
    Solution: permutations12Verre 1Verre2>>> verre1="café">>> verre2="lait">>>verre3="" >>>verre1, verre2, verre3???>>>verre3=verre1>>>verre1, verre2, verre3???>>>verre1=verre2>>>verre1, verre2, verre3???>>>verre2=verre3>>>verre1, verre2, verre3???Verre 3Verre 3Verre 3Verre 3Verre 1Verre 2Verre 1Verre 2Verre 1Verre 212Quel est l’état final de la variable verre3???
  • 13.
    Remarque >>>Verre1=‘lait’ >>>Verre2=‘café’>>>Verre2=Verre1Verre2 et Verre1contiennent ‘lait’ et non pas les deux valeurs ‘lait’ et ‘café’.Les variables scalaires recoivent une seule valeur à la fois.13
  • 14.
    ExempleDécrivez le plusclairement et le plus complètement possible ce qui se passe à chacune des trois lignes de l’exemple ci-dessous >>> largeur = 20 >>> hauteur = 5 * 9.3 >>> largeur * hauteur 930.0Assignez les valeurs respectives 3, 5, 7 à trois variables a, b, c. Effectuez l’opération a - b//c. Interprétez le résultat obtenu.1414
  • 15.
    Solutions >>> largeur =20La variable largeur reçoit une valeur entière de 20>>> hauteur = 5 * 9.3La variable hauteur reçoit le résultat de la multiplication de 5 par 9.3. Le résultat obtenu est un nombre à virgule flottante (float). D’ou hauteur est un float.>>> largeur * hauteurL’instruction « hauteur*largeur » affiche le résultat de la multiplication de la valeur de la variable largeur par la valeur de la variable hauteur.  >>>a,b,c=3,5 ,7 >>>a - b//cLe résultat obtenu est 3. La division entière de b par c (b//c) est effectué en premier lieu. L’opérateur // est prioritaire par rapport à l’opérateur.b//c donne 0. Le programme soustrait b//c de la valeur de c qui est égale à 3 et on obtient 3.1515
  • 16.
    Opérateurs et expressionsOnmanipule les valeurs et les variables qui les référencent en les combinant avec des opérateurs pour former des expressions>>> a, b = 7.3, 12 >>> y = 3*a + b/5 >>> print(y) 23.899999… >>> 10 % 3 1 >>> 10 % 5 016
  • 17.
    Priorité des opérationsLorsqu’ily a plus d’un opérateur dans une expression, l’ordre dans lequel les opérations doivent être effectuées dépend de règles de priorité.Vous pouvez les mémoriser aisément à l’aide d’un « truc » mnémotechnique, l’acronyme PEMDAS P pour parenthèses. E pour exposants.M et D pour multiplication et division, qui ont la même priorité.A et S pour addition et soustraction, qui ont la même priorité.Si deux opérateurs ont la même priorité, l’évaluation est effectuée de gauche à droite.17
  • 18.
    ExempleTestez les lignesd’instructions suivantes. Décrivez ce qui se passe>>> r , pi = 12, 3.14159 >>> s = pi * r**2 >>> print(s) >>> print(type(r), type(pi), type(s))Quelle est, à votre avis, l’utilité de la fonction type() ?18
  • 19.
    CompositionComposition L’une des grandes forces d’un langage de programmation de haut niveau est qu’il permet de construire des instructions complexes par assemblage de fragments divers.>>> print(17 + 3) 20 >>> h, m, s = 15, 27, 34 >>> a=((h*m)**3)%6 Dans une expression, ce que vous placez à la gauche du signe égale doit toujours être une variable, et non une expression.19
  • 20.
    Affichez les 13premières numéros de la suite de Fibonacci en utilisant des variables et des expressions arithmétiquesLa suite de Fibonacci est 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144Un nombre de la suite est le résultat de la somme de ses deux précédents20