2 Contrle du flux dinstructions - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

2 Contrle du flux dinstructions

Description:

Ce peut tre une valuation d'expression, une affectation ou une instruction qui a une fonction tr s sp cifique. ... Une affectation a la forme : cible = expression. ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 19
Provided by: guype1
Category:

less

Transcript and Presenter's Notes

Title: 2 Contrle du flux dinstructions


1
2 - Contrôle du flux dinstructions
  • Les instructions simples et les séquences
    dinstructions
  • Les instructions conditionnelles
  • Les instructions de répétition
  • Les instructions imbriquées

2
2.1 - Instructions simples et séquences
dinstructions
  • Une instruction simple ou élémentaire est une
    action de base définie par le langage Python. Ce
    peut être une évaluation dexpression, une
    affectation ou une instruction qui a une fonction
    très spécifique.
  • Une évaluation dexpression sexprime par
    lécriture de lexpression à évaluer. La valeur
    de lexpression est calculée et affichée sur la
    sortie standard.
  • Une affectation a la forme cible expression
    . La cible est souvent une variable mais ce peut
    être un objet plus complexe capable de recevoir
    et de stocker une valeur, tel par exemple une
    entrée dun tableau. Lopérateur daffectation
    peut être précédé dun opérateur permettant
    dexprimer la nouvelle valeur dune zone mémoire
    à partir de lancienne.
  • La façon la plus simple de composer des
    instructions est de les organiser en séquences.
    Dans une séquence, deux instructions sont
    séparées par un point-virgule ou un passage à la
    ligne.

3
2.1 - Instructions simples et séquences
dinstructions
  • gtgtgt 23
  • 5
  • gtgtgt "la" "le"
  • False
  • gtgtgt x 2 3
  • gtgtgt x
  • 5
  • gtgtgt x 2
  • gtgtgt x
  • 10
  • gtgtgt y 1, 2
  • gtgtgt y0 7
  • gtgtgt y
  • 7, 2

4
2.2 - Instructions conditionnelles
  • Une instruction conditionnelle permet deffectuer
    un choix dans lexécution dinstructions en
    fonction de conditions.
  • La plus simple des instructions conditionnelles
    est linstruction if qui a la syntaxe suivante
    if ltconditiongt ltbloc
    dinstructionsgt
  • ltconditiongt est une expression de type booléen et
    ltbloc dinstructionsgt est une séquence
    dinstructions qui sont indentées de la même
    façon par rapport à la ligne où figure la
    condition.
  • La sémantique de linstruction est la suivante
    si la valeur de ltconditiongt est True , la
    séquence ltbloc dinstructionsgt est exécutée,
    sinon aucune action nest effectuée.

5
2.2 - Instructions conditionnelles
  • gtgtgt x0
  • gtgtgt if x gt0
  • x
  • x1
  • x-1
  • 0
  • 1
  • -1
  • gtgtgt x -1
  • gtgtgt if x gt0
  • x
  • x1
  • x-1
  • gtgtgt

6
2.2 - Instructions conditionnelles
  • Linstruction if else a la syntaxe suivante
    if ltconditiongt ltbloc1
    dinstructionsgt else ltbloc2
    dinstructionsgt
  • La sémantique de linstruction est la suivante
    si la valeur de ltconditiongt est True , la
    séquence ltbloc1 dinstructionsgt est exécutée,
    sinon cest ltbloc2 dinstructionsgt qui est
    exécutée.

7
2.2 - Instructions conditionnelles
  • gtgtgt x 7
  • gtgtgt if x 2 0
  • print "x est pair"
  • else
  • print "x est impair"
  • x est impair
  • gtgtgt x 8
  • gtgtgt if x 2 0
  • print "x est pair"
  • else
  • print "x est impair"
  • x est pair
  • gtgtgt

8
2.2 - Instructions conditionnelles
  • On peut introduire un test sur une suite de
    conditions alternatives en utilisant le mot-clé
    elif dans linstruction if else avec la syntaxe
    suivante if ltcondition 1gt ltbloc 1
    dinstructionsgt elif ltcondition 2gt
    ltbloc 2 dinstructionsgt
    .

    .
    .
    elif ltcondition ngt ltbloc n
    dinstructionsgt else ltbloc n1
    dinstructionsgt
  • La sémantique de linstruction est la suivante
    si la valeur de ltcondition 1gt est True , la
    séquence ltbloc 1 dinstructionsgt est exécutée,
    sinon si la valeur de ltcondition 2gt est True , la
    séquence ltbloc 2 dinstructionsgt et ainsi de
    suite. Si aucune des conditions de la suite nest
    vraie, cest ltbloc n1 dinstructionsgt qui est
    exécutée.

9
2.2 - Instructions conditionnelles
  • gtgtgt heure 15
  • gtgtgt if heure gt 6 and heure lt 13
  • print "c'est le matin"
  • elif heure gt 13 and heure lt 19
  • print "c'est l'après-midi"
  • elif heure gt 19 and heure lt 23
  • print "c'est le soir"
  • else
  • print "c'est la nuit"
  • c'est l'après-midi
  • gtgtgt

10
2.3 - Instructions de répétition
  • Les instructions de répétition permettent de
    répéter un bloc dinstructions.
  • Linstruction for a la syntaxe suivante for
    ltcontroleurgt in ltseqgt ltbloc
    dinstructionsgt
  • Dans cette instruction, ltcontroleurgt est une
    variable qui est introduite pour contrôler le
    nombre ditérations et ltseqgt est un objet de type
    sequence (string, list, tuple).
  • La sémantique de linstruction est la suivante
    la variable ltcontroleurgt prend successivement les
    différentes valeurs de ltseqgt dans lordre où elle
    apparaissent. A chaque instanciation, la séquence
    ltbloc dinstructionsgt est exécutée.

11
2.3 - Instructions de répétition
  • gtgtgt range(5)
  • 0, 1, 2, 3, 4
  • gtgtgt for n in range(5)
  • print "le carre de ", n, "est ", n2
  • le carre de 0 est 0
  • le carre de 1 est 1
  • le carre de 2 est 4
  • le carre de 3 est 9
  • le carre de 4 est 16
  • gtgtgt

12
2.3 - Instructions de répétition
  • Linstruction while a la syntaxe suivante
    while ltconditiongt ltbloc
    dinstructionsgt
  • Dans cette instruction, ltconditiongt est une
    expression de type booléen.
  • La sémantique de linstruction est la suivante
    lexpression ltconditiongt est évaluée et tant que
    sa valeur est True, la séquence ltbloc
    dinstructionsgt est exécutée.
  • On utilise une instruction for quand les
    itérations sont connues à lavance et on utilise
    une instruction while quand les itérations ne
    sont pas connues à lavance mais quelles
    dépendent dune condition.

13
2.3 - Instructions de répétition
  • gtgtgt n 0
  • gtgtgt while n lt 5
  • print "le carre de ", n, "est ", n2
  • n 1
  • le carre de 0 est 0
  • le carre de 1 est 1
  • le carre de 2 est 4
  • le carre de 3 est 9
  • le carre de 4 est 16
  • le carre de 5 est 25
  • gtgtgt

14
2.3 - Instructions de répétition
  • Linstruction break doit être utilisée dans le
    bloc dinstructions dune boucle. Elle interrompt
    lexécution de la boucle la plus interne dans
    laquelle elle se situe.

gtgtgt for k in range(6) for i in
range(k1) if i gt 1
if i k
print k
elif k i 0
break 2 3 5
15
2.4 - Instructions imbriquées
  • Les instructions composées peuvent être
    imbriquées les unes dans les autres

gtgtgt entree "La belle brise la glace." gtgtgt
sortie "" gtgtgt for caractere in entree if
caractere " " sortie "\n" else
sortie caractere gtgtgt print
sortie La belle brise la glace. gtgtgt
16
2.5 Exercices
  • Donner le résultat de lexécution du programme
    ci-dessous lorsque lon entre au clavier les
    valeurs 4, 2, 5 pour respectivement a, b, c. Même
    question lorsque lon entre 2, 4, 5. En déduire
    le rôle de ce programme.
  • a input(nombre1 )b input(nombre2
    )c input(nombre3 )if a gtb if a gt c
    print a else print
    celif b gtc print belse print c

17
2.5 Exercices
  • Donner le résultat de lexécution du programme
    ci-dessous lorsque lon entre au clavier la
    valeur arma pour mot1. Même question lorsque
    lon entre erre. En déduire le rôle de ce
    programme.
  • mot1 input(Entrez un mot !)mot2 for c
    in mot1 mot2 c mot2print mot1 mot2
  • Donner le résultat de lexécution du programme
    ci-dessous lorsque lon entre au clavier la
    valeur 5 pour x. Même question lorsque lon entre
    6. En déduire le rôle de ce programme.
  • x input("Entrez un nombre entier naturel ! ")
  • y 2
  • continuer True
  • while y lt x and continuer
  • z y
  • while z lt x and continuer
  • z y
  • if z x
  • continuer False
  • y 1
  • print continuer

18
2.5 Exercices
  • Ecrire un programme Python pour chacune des
    spécifications ci-dessous.
  • Afficher tous les caractères dune chaîne de
    caractères en en mettant un par ligne.
  • Calculer la longueur dune chaîne de caractères
    (parcourir la chaîne et incrémenter une variable
    de 1 à chaque pas).
  • Compter le nombre de  e , de  a  et de  i 
    dans une chaîne de caractères.
  • Afficher tous les mots dune phrase en en mettant
    un par ligne (deux mots sont upposés être séparés
    exactement par un espace). On peut se servir du
    fait quen mettant une virgule à la fin dune
    instruction print, on évite un passage à la
    ligne, qui est normalement ajouté automatiquement
    à la fin dune instruction print.
Write a Comment
User Comments (0)
About PowerShow.com