• Aucun résultat trouvé

Le diaporama en pdf

N/A
N/A
Protected

Academic year: 2022

Partager "Le diaporama en pdf"

Copied!
11
0
0

Texte intégral

(1)

Contrôle du flux Contrôle du flux

d'exécution d'exécution

dans un programme dans un programme

Marie Pierrot – Lycée général et technologique du Rempart

(2)

Séquences d'instructions

>>> a, b = 8, 1

>>> a = b

>>> b = a

>>> print (a, b) 1 1

>>> a, b = 8, 1

>>> b = a

>>> a = b

>>> print (a, b) 8 8

Sauf mention explicite, les instructions (lignes) d’un programme s’exécutent les unes après les autres,

dans l’ordre où elles ont été écrites à l’intérieur du script.

>>> print (a, b)

8 8>>> resu = (3 + a) * (3 - b)

>>> print (resu) -55

Sur une même ligne par contre, les priorités des opérateurs mathématiques s'appliquent...

(3)

Exécution conditionnelle

>>> a, b = 8, 1

>>> if a<b : a=b

>>> b=a

>>> print(a, b) 8 8

Il existe deux façons de changer l'ordre séquentiel d'exécution des instructions : la sélection et la

répétition

L'instruction if (si) permet au programme de suivre

différents chemins selon les circonstances, c'est une

instruction de sélection.

Il peut être accompagner

d'autres instructions de test : elif (ou sinon si)

else (sinon)

(4)

Exécution conditionnelle

if [test] :

[bloc d'instructions]

elif [test] :

[bloc d'instructions]

else :

[bloc d'instructions]

TAB

TAB

TAB

Syntaxe :

>>> a=2

>>> if a<0 :

print("a est négatif") elif a>0 :

print("a est positif") else :

print("a est nul") a est positif

Exemple :

(5)

Exécution conditionnelle

« if … in »

if [élément] in [list] :

[bloc d'instructions]

TAB

Syntaxe :

Exemple : Petite variante :

>>> if 'r' in 'voiture' :

print('la lettre y est ') else :

print('r n\'y est pas') la lettre y est

(6)

Instructions imbriquées

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")

TAB TAB

TAB

TAB

TAB

(7)

Boucles : l'instruction

« while »

L'instruction while (tant que) est une

instruction de répétition.

Syntaxe :

i=0while i<n :

[bloc d'instructions]

[i = i + 1]

TAB

a = 0

while (a<10) :

print("le carré de",a,"est :",a**2) a = a+1

le carré de 0 est : 0 le carré de 1 est : 1 le carré de 2 est : 4 le carré de 3 est : 9 le carré de 4 est : 16 le carré de 5 est : 25 le carré de 6 est : 36 le carré de 7 est : 49 le carré de 8 est : 64 le carré de 9 est : 81

Exemple :

(8)

Boucles : l'instruction

« while »

Si la condition n'est jamais vérifiée le bloc d'instruction ne s'exécute jamais...

ça ne sert à rien !

Si la condition est toujours vérifiée le bloc d'instruction s'exécute à

l'infini...

Il s'agit alors d'une boucle infinie qu'il faut absolument éviter (le

programme n'en sort pas à moins de quitter le programme « python »)

Exemple :

>>> n = 3

>>> while (n > 5) :

print("je veux participer !")

>>> while (n < 5) :

print("C'est parti !") C'est parti !

C'est parti ! C'est parti ! C'est parti ! C'est parti ! C'est parti ! C'est parti ! C'est parti ! C'est parti ! C'est parti !

…...

(9)

Boucles : l'instruction

« for … in »

L'instruction for … in (pour les éléments d'un ensemble) est une puissante instruction de répétition.

Syntaxe :

for element in ensemble : [bloc d'instructions]

TAB

>>> voyelles = "aeiouy"

>>> prenom = 'sidonie'

>>> for l in prenom :

if l in voyelles : print(l)

io ie

>>>

>>> eleves = ['Victor','Sidi','Myriam']

>>> for x in eleves :

print("Bonjour",x) Bonjour Victor

Bonjour Sidi

Bonjour Myriam

(10)

Les fonctions

L'avantage d'écrire une fonction est que le bout de code exécuté par cette fonction peut être exécuté un grand nombre de fois dans le programme...

def maFonction(x,y) :

"Ici on décrit ce que fait \ la fonction et ce qu'elle \ renvoi comme résultat"

[bloc d'instructions]

return z

Syntaxe :

TAB TAB

def factoriel(n) :

"calcule et retourne n!"

if n == 1 or n == 0 : return 1

else :

sol = n

while n>1 : n = n-1 sol = sol*n return sol

print(factoriel(5)) 120

(11)

Récursivité

Une fonction peut s'appeler elle-même, on parle alors de fonction récursive.

def factoriel(n) :

"Calcule le factoriel d'un nombre.\

n : Le nombre dont on veut le factoriel.\

Elle retourne n!"

if n == 1 or n == 0 : return 1

else :

return n*factoriel(n-1) print (factoriel(5))

120

Références

Documents relatifs

Combien de toits solaires pour produire autant que toutes les centrales nucléaires françaises ?. Soit à peu près la partie utilisable des

Objets diffusants dont la surface éclairée, renvoie, dans toutes les directions, une partie de la lumière

Les consommations réelles des bâtiments dépendent très directement des conditions d'usage et de la température effective de chauffage. Ces consommations sont estimées et

   V MAX  = 36 m.s ­1       .

Animation : propagation d'une onde sonore plane... Vitesse de propagation d'une onde

Ce squelette est entouré d'atomes d'hydrogènes et pour certaines molécules, de groupes comportant des atomes d'oxygène, d'azote, de chlore.....

Les antiseptiques ont une toxicité plus faible qui leur permet d’être utilisés chez l’homme et les animaux mais en applications locales seulement (sur la peau saine, les

Le rendement énergétique est le rapport entre la valeur énergétique produite et la valeur énergétique consommée dans un processus. Le rendement est le rapport entre l'énergie utile