SlideShare uma empresa Scribd logo
1 de 14
Thème 3Contrôle de flux d’instructions 2011-01-27 SIO-2109 Z1 Introduction à la programmation 1
Séquence d’instructions Un programme= suite d’instructions exécutées l’une à la suite de l’autre. Structure de contrôle= instructions qui déterminent l’ordre d’exécution des actions Séquence Sélection Répétition 2
Sélection ou exécution conditionnelle (1/3) « S’il fait chaud , alors j’ouvre la fenêtre » « Si la lumière est rouge alors je ne peux pas traverser » 3 Algorithme Initialisation Début  | | Si temps est «Chaud » Alors | |	Ouvrir fenêtre |Fin Si | Fin Algorithme Initialisation Début  | | Si lumière est «Rouge» Alors | |	Attendre lumière verte | |Sinon | |	Traverser |Fin Si Fin
« S’il pleut je prends mon parapluie, mais je prendras quand même mon manteau » « Si ce n’est pas assez salé, j’ajouterais du sel, sinon, si c’est trop salé je ne mangerais pas, sinon je mangerais quand même » 4 Algorithme Initialisation Début  | | Si temps est «Pluvieux» Alors |	Ouvrir fenêtre |Fin Si | |Prendre manteau | Fin Algorithme Initialisation Début  | | Si repas est « pas assez salé» Alors | |	Ajouter sel | 	Manger |Sinon | |       | Si repas est «Trop Salé» Alors |       |               Ne pas manger |       |Sinon  |       |	Manger |       | Fin Si | |Fin Si | Fin
Sélection ou exécution conditionnelle (2/3) Python exécute normalement les instructions de la première à la dernière.  Sauf lorsqu’il rencontre une instruction conditionnelle comme l’instruction if. L’instruction if  permet de tester la validité de la condition.   Si la condition est vraie, alors l’instruction que nous avons indentée après le « : » est exécutée.  Si la condition est fausse, rien ne se passe.  >>>a = 20 >>>if (a > 100): …		print("a dépasse 100") …else: …		print("a ne dépasse pas 100") … a ne dépasse pas 100 >>> 5 Condition Exécution alternative
Sélection ou exécution conditionnelle (3/3) elif (contraction de « else if ») >>>a = 0 …if (a > 0): …		print(“a estpositif") …elif (a < 0): …		print(“a estnégatif") …else: …		print("a == 0") Remarque 6 ≠ Chaîne de caractères Booléen (valeur logique)
Opérateurs de comparaison ,[object Object]
x != y 		# x est différent de y
x > y 		# x est plus grand que y
x < y 		# x est plus petit que y
x >= y 		#x est supérieur ou égal à y
x <= y 		#x est inférieur ou égal à y>>> a = 7  >>> if (a % 2 == 0):  ... 		print "a est pair"  ... 		print "parce que le reste de sa division par 2 est nul"  ... else:  ... 		print "a est impair"  ... a est impair 7 Attention!  =: affectation ==: comparaison
Conditions ,[object Object], x == y  Est-ce que x est égal à y : Non 			la valeur de la comparaison : False x<yEst-ce que x est supérieure à y: oui 			 la valeur de la comparaison :True Combinaison Condition1et condition 2 	Condition3 oucondition 4  >>>if (x<y) and (x>0): …		print(‘’x est positif et inférieur à y’’) >>if (x>y) or(y==0): …		print(‘’y est nul et inférieur à x’’) 8
Blocs d’instructions(1/2) Instructions composées (Bloc) ont la même structure Ligne d’entête + ‘:’  Indentation(tabulations ou 4 espaces)+instruction Un bloc d’instructions est une suite d’instructions formant un ensemble logique, qui n’est exécuté que dans certaines conditions définies dans la ligne d’en-tête. 9

Mais conteúdo relacionado

Destaque

Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12
Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12
Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12AgencePERFEO
 
CroissancePlus : Le Petit Journal de Campagne - Numéro 2
CroissancePlus : Le Petit Journal de Campagne - Numéro 2CroissancePlus : Le Petit Journal de Campagne - Numéro 2
CroissancePlus : Le Petit Journal de Campagne - Numéro 2CroissancePlus
 
Mi CV actualizado a junio 2012. Carmen Urbano.
Mi CV actualizado a junio 2012. Carmen Urbano.Mi CV actualizado a junio 2012. Carmen Urbano.
Mi CV actualizado a junio 2012. Carmen Urbano.Carmen Urbano
 
Font safe
Font safeFont safe
Font safegircat
 
Revenu + circuit économique
Revenu + circuit économiqueRevenu + circuit économique
Revenu + circuit économiqueTaha Can
 
Introduction du publicité (prise de notes)
Introduction du publicité (prise de notes)Introduction du publicité (prise de notes)
Introduction du publicité (prise de notes)Taha Can
 
YellowAPI.com Conférence-Midi
YellowAPI.com Conférence-MidiYellowAPI.com Conférence-Midi
YellowAPI.com Conférence-MidiYellowAPI
 
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...Les licences Creative Commons et la Licence art libre perspectives de pratiqu...
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...Inno³
 
Guía para la escritura del ensayo. Gamboa, Y. (1997)
Guía para la escritura del ensayo. Gamboa, Y. (1997)Guía para la escritura del ensayo. Gamboa, Y. (1997)
Guía para la escritura del ensayo. Gamboa, Y. (1997)Lilia G. Torres Fernández
 
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!Vladimir Desancic
 
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...Alberto González-Talaván
 

Destaque (20)

Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12
Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12
Petit déjeuner CREATIF de l’agence PERFEO - 3 fév 12
 
CroissancePlus : Le Petit Journal de Campagne - Numéro 2
CroissancePlus : Le Petit Journal de Campagne - Numéro 2CroissancePlus : Le Petit Journal de Campagne - Numéro 2
CroissancePlus : Le Petit Journal de Campagne - Numéro 2
 
Mi CV actualizado a junio 2012. Carmen Urbano.
Mi CV actualizado a junio 2012. Carmen Urbano.Mi CV actualizado a junio 2012. Carmen Urbano.
Mi CV actualizado a junio 2012. Carmen Urbano.
 
Font safe
Font safeFont safe
Font safe
 
Clase i
Clase iClase i
Clase i
 
Notre Dame de Monts : 4eme Atelier : "La boîte à outils"
Notre Dame de Monts : 4eme Atelier : "La boîte à outils"Notre Dame de Monts : 4eme Atelier : "La boîte à outils"
Notre Dame de Monts : 4eme Atelier : "La boîte à outils"
 
Acheter mac ou pc (ms windows) [ppt]
Acheter mac ou pc (ms windows) [ppt]Acheter mac ou pc (ms windows) [ppt]
Acheter mac ou pc (ms windows) [ppt]
 
Revenu + circuit économique
Revenu + circuit économiqueRevenu + circuit économique
Revenu + circuit économique
 
Introduction du publicité (prise de notes)
Introduction du publicité (prise de notes)Introduction du publicité (prise de notes)
Introduction du publicité (prise de notes)
 
Genre1
Genre1Genre1
Genre1
 
Québec
QuébecQuébec
Québec
 
YellowAPI.com Conférence-Midi
YellowAPI.com Conférence-MidiYellowAPI.com Conférence-Midi
YellowAPI.com Conférence-Midi
 
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...Les licences Creative Commons et la Licence art libre perspectives de pratiqu...
Les licences Creative Commons et la Licence art libre perspectives de pratiqu...
 
Guía para la escritura del ensayo. Gamboa, Y. (1997)
Guía para la escritura del ensayo. Gamboa, Y. (1997)Guía para la escritura del ensayo. Gamboa, Y. (1997)
Guía para la escritura del ensayo. Gamboa, Y. (1997)
 
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!
Stiforp ,Promueva su negocio con herramientas profesionales STIFORP!
 
Clase 4
Clase 4Clase 4
Clase 4
 
Guide partenaires 2013-2014
Guide partenaires 2013-2014Guide partenaires 2013-2014
Guide partenaires 2013-2014
 
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...
Module 3 - FR - Echange de connaissances I: Soutien à la numérisation et à la...
 
Andinatel_VER
Andinatel_VERAndinatel_VER
Andinatel_VER
 
La libertad en Rousseau
La libertad en RousseauLa libertad en Rousseau
La libertad en Rousseau
 

Mais de salmazen

Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)salmazen
 
Theme 8(suite)
Theme 8(suite)Theme 8(suite)
Theme 8(suite)salmazen
 
Cours python
Cours pythonCours python
Cours pythonsalmazen
 
Theme 7 (suite)
Theme 7 (suite)Theme 7 (suite)
Theme 7 (suite)salmazen
 
Exemples for1
Exemples for1Exemples for1
Exemples for1salmazen
 
Exemples while2
Exemples while2Exemples while2
Exemples while2salmazen
 
Exemples for
Exemples forExemples for
Exemples forsalmazen
 
Exemples if
Exemples ifExemples if
Exemples ifsalmazen
 
Exemples while
Exemples whileExemples while
Exemples whilesalmazen
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 

Mais de salmazen (20)

Theme 10
Theme 10Theme 10
Theme 10
 
Theme 10
Theme 10Theme 10
Theme 10
 
Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)
 
Theme 9
Theme 9Theme 9
Theme 9
 
Theme 8(suite)
Theme 8(suite)Theme 8(suite)
Theme 8(suite)
 
Cours python
Cours pythonCours python
Cours python
 
Theme 8
Theme 8Theme 8
Theme 8
 
Theme 7 (suite)
Theme 7 (suite)Theme 7 (suite)
Theme 7 (suite)
 
Theme 7
Theme 7Theme 7
Theme 7
 
Theme 6
Theme 6Theme 6
Theme 6
 
Theme 5
Theme 5Theme 5
Theme 5
 
Exemples for1
Exemples for1Exemples for1
Exemples for1
 
Exemples while2
Exemples while2Exemples while2
Exemples while2
 
Exemples for
Exemples forExemples for
Exemples for
 
Exemples if
Exemples ifExemples if
Exemples if
 
Exemples while
Exemples whileExemples while
Exemples while
 
Exercice0
Exercice0Exercice0
Exercice0
 
Theme2
Theme2Theme2
Theme2
 
Theme2
Theme2Theme2
Theme2
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 

Theme3

  • 1. Thème 3Contrôle de flux d’instructions 2011-01-27 SIO-2109 Z1 Introduction à la programmation 1
  • 2. Séquence d’instructions Un programme= suite d’instructions exécutées l’une à la suite de l’autre. Structure de contrôle= instructions qui déterminent l’ordre d’exécution des actions Séquence Sélection Répétition 2
  • 3. Sélection ou exécution conditionnelle (1/3) « S’il fait chaud , alors j’ouvre la fenêtre » « Si la lumière est rouge alors je ne peux pas traverser » 3 Algorithme Initialisation Début | | Si temps est «Chaud » Alors | | Ouvrir fenêtre |Fin Si | Fin Algorithme Initialisation Début | | Si lumière est «Rouge» Alors | | Attendre lumière verte | |Sinon | | Traverser |Fin Si Fin
  • 4. « S’il pleut je prends mon parapluie, mais je prendras quand même mon manteau » « Si ce n’est pas assez salé, j’ajouterais du sel, sinon, si c’est trop salé je ne mangerais pas, sinon je mangerais quand même » 4 Algorithme Initialisation Début | | Si temps est «Pluvieux» Alors | Ouvrir fenêtre |Fin Si | |Prendre manteau | Fin Algorithme Initialisation Début | | Si repas est « pas assez salé» Alors | | Ajouter sel | Manger |Sinon | | | Si repas est «Trop Salé» Alors | | Ne pas manger | |Sinon | | Manger | | Fin Si | |Fin Si | Fin
  • 5. Sélection ou exécution conditionnelle (2/3) Python exécute normalement les instructions de la première à la dernière.  Sauf lorsqu’il rencontre une instruction conditionnelle comme l’instruction if. L’instruction if permet de tester la validité de la condition.   Si la condition est vraie, alors l’instruction que nous avons indentée après le « : » est exécutée.  Si la condition est fausse, rien ne se passe.  >>>a = 20 >>>if (a > 100): … print("a dépasse 100") …else: … print("a ne dépasse pas 100") … a ne dépasse pas 100 >>> 5 Condition Exécution alternative
  • 6. Sélection ou exécution conditionnelle (3/3) elif (contraction de « else if ») >>>a = 0 …if (a > 0): … print(“a estpositif") …elif (a < 0): … print(“a estnégatif") …else: … print("a == 0") Remarque 6 ≠ Chaîne de caractères Booléen (valeur logique)
  • 7.
  • 8. x != y # x est différent de y
  • 9. x > y # x est plus grand que y
  • 10. x < y # x est plus petit que y
  • 11. x >= y #x est supérieur ou égal à y
  • 12. x <= y #x est inférieur ou égal à y>>> a = 7 >>> if (a % 2 == 0): ... print "a est pair" ... print "parce que le reste de sa division par 2 est nul" ... else: ... print "a est impair" ... a est impair 7 Attention! =: affectation ==: comparaison
  • 13.
  • 14. Blocs d’instructions(1/2) Instructions composées (Bloc) ont la même structure Ligne d’entête + ‘:’ Indentation(tabulations ou 4 espaces)+instruction Un bloc d’instructions est une suite d’instructions formant un ensemble logique, qui n’est exécuté que dans certaines conditions définies dans la ligne d’en-tête. 9
  • 15. 10 Exemples >>> temps = " Chaud " #initialisation   >>>if (temps== " Chaud"): … print("J’ouvre la fenêtre") Algorithme Initialisation Début | | Si temps est «Chaud » Alors | | Ouvrir fenêtre |Fin Si | Fin Algorithme Initialisation Début | | Si lumière est «Rouge» Alors | | Attendre lumière verte | |Sinon | | Traverser |Fin Si Fin >>> lumière = " verte " #initialisation >>>if (lumière == " Rouge"): … print("J’attends la lumière verte") …else: … print(« Je traverse")
  • 16. 11 Algorithme Initialisation Début | | Si temps est «Pluvieux» Alors | Ouvrir fenêtre |Fin Si | |Prendre manteau | Fin >>> temps = " Chaud " #initialisation   >>>if (temps== " Chaud"): … print("J’ouvre la fenêtre") Algorithme Initialisation Début | | Si repas est « Peu salé» Alors | | Ajouter sel | Manger |Sinon | | | Si repas est «Trop Salé» Alors | | Ne pas manger | |Sinon | | Manger | | Fin Si | |Fin Si | Fin >>> repas = " Salé" #initialisation >>>if (repas == " Peu salé"): … repas = Salé … print("Je mange le repas!") …elif (repas == " Trop salé"): … print("Je ne mange ce repas!") …else: … print("Je mange le repas!")
  • 17. Exemple >>>embranchement = "vertébrés" >>>classe = "mammifères" >>>ordre = "carnivores" >>>famille = "félins"   >>>if embranchement == "vertébrés": … if classe == "mammifères": …       if ordre == "carnivores": …             if famille == "félins": …                 print("c’est peut-être un chat") …         print("c’est en tous cas un mammifère") …  elif classe == "oiseaux": …     print("c’est peut-être un canari") …print("la classification des animaux est complexe") 12 Initialisation Bloc 1 Bloc 2
  • 18. Un chat est caractérisé par son appartenance à l'embranchement des vertébrés, à la classe des mammifères carnivores et la famille des félins. Nous fournissons ces données qui caractérisent cet être vivant au programme qui fonctionne selon le principe suivant: Si l'être en question appartient à la classe des vertébrés alors il s'agit d'un mammifère ou bien d'un oiseau. S'il s'agit d'un mammifère il se peut qu'il soit carnivore. S'il est carnivore il se peut qu'il soit un félin, on pourrait alors admettre que c'est un chat. De toute façon s'il est carnivore on est sur que c’est un mammifère. Mais si c‘est un oiseau, ca se peut que ce soit un canari. En fin de compte la classification des animaux est complexe. 13 Reformulation du problème
  • 19. Sélection ou exécution conditionnelle (2/2) 14 Si condition vérifiée Autres cas traitement 2 Cas particulier traitement 1 Si condition est fausse