• Aucun résultat trouvé

Algorithmique et Programmation 1 Répétition avec

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique et Programmation 1 Répétition avec"

Copied!
8
0
0

Texte intégral

(1)

Algorithmique et Programmation 1

Répétition avecwhile

Licences Informatique et Mathématiques 1ère année

Premier semestre 2015 – 2016

(2)

Un exemple

Reprenons l’un des exemples de la semaine dernière :

note_cc1 = float(input('Note du premier contrôle : ')) note_cc2 = float(input('Note du second contrôle : ')) note_exam = float(input("Note de l'examen : "))

# On vérifie qu'aucune note n'est négative

if note_cc1 < 0 or note_cc2 < 0 or note_exam < 0:

# Remarquer l'opérateur 'or'

print('Erreur de saisie (note négative).')

Peut-on améliorer le traitement des entrées incorrectes ?

(3)

Vous pouvez répéter ?

I On peut répéter un bloc d’instructions grâce à une boucle “tant que” :

I Siune certaine condition est vraie, exécuter un certain bloc

d’instructions

I Sinonpasser directement à la suite du programme

I Après chaque exécution du bloc, réévaluer la condition

I Le bloc est appelé corpsde la boucle

I Chaque exécution du corps de la boucle est appelée itération

début

condition

bloc

suite vrai

faux

(4)

Un exemple – saisie contrôlée

Modification du programme :

# On répète la saisie de chaque note tant qu'elle est

# incorrecte (inférieure à 0 ou supérieure à 20)

note_cc1 = float(input('Note du premier contrôle : ')) while note_cc1 < 0 or note_cc1 > 20:

print('Erreur de saisie.')

note_cc1 = float(input('Note du premier contrôle : '))

I Problème : on doit refaire la même chose pour chacune des trois valeurs à saisir

I On verra comment améliorer ça dans la suite

(5)

Syntaxe de while

# début . . .

while condition:

# bloc d'instructions

# (corps de la boucle) . . .

# suite . . .

Exemple :

nombre = int(input())

print("Je sais compter jusqu'à", nombre)

i = 1

while i <= nombre:

print(i)

i = i + 1 # Ne pas oublier !

I conditionest uneexpression booléenne

I Corps exécuté uniquement si conditionévaluée àTrue

I Après chaque exécution du corps, on réévaluecondition

I Si conditionvautFalse, exécution de la suite du code Il peut n’y avoir aucune itération, ou un nombre infini

(6)

Un exemple – tortue

# On importe les fonctions du module turtle from turtle import *

# Paramètres nbCotes=4 lgCote=250 angle=90

# Tracé compteur = 0

while compteur < nbCotes:

# Tracer un côté : fonction du module turtle forward(lgCote)

# Tourner à gauche : fonction du module turtle left(angle)

# On incrémente le compteur compteur = compteur + 1

(7)

Boucles imbriquées

# début . . .

while condition 1:

# début corps 1 . . .

while condition 2:

# corps 2 . . .

# fin corps 1 . . .

# suite . . .

début

condition 1

début corps 1

condition 2

corps 2

fin corps 1

suite vrai

vrai faux

faux

(8)

Un exemple – tortue

# Paramètres nb_cotes = 4 lg_cote = 100

angle_poly = 360 / nb_cotes nb_petales = 9

angle_rosace = 360 / nb_petales

# Tracé de la rosace compteur_petales = 0

while compteur_petales < nb_petales:

compteur_petales = compteur_petales + 1

# Tracé d'un pétale compteur_cotes = 0

while compteur_cotes < nb_cotes:

compteur_cotes = compteur_cotes + 1 forward(lg_cote)

left(angle_poly) left(angle_rosace)

Références

Documents relatifs

Rédiger un programme permettant de savoir si un nombre entier naturel est divisible par 7 et afficher le

Les instructions dans cette boucle sont répétées tant que la condition est vraie.. La condition est généralement un test d’égalité

En Python (mais aussi dans bien d’autres langages : langage C, PHP, Go etc.), l’instruction qui permet d’exécuter en boucle un nombre précis de fois une ou

En Python (mais aussi dans bien d’autres langages : langage C, ………), l’instruction qui permet d’exécuter en boucle un nombre précis de fois une ou

Malgré que les valeurs des deux paramètres a et b ont été bien permutés dans la fonction echanger, on a modifié sur les copies de age1 et age2 et ces modifications ne sont

a) Modifier l’algorithme précédent pour qu’il affiche le nombre nb de fois où l’on obtient PILE à l’issue de ces n lancers. On ne demandera plus d’afficher la valeur de k.

Pour un coureur choisi au hasard dans l’ensemble des 50 coureurs, on appelle T l’évènement : « le contrôle est positif », et d’après des statistiques, on admet que P (T ) =

Écrire un algorithme qui reprend le principe précédent permettant de déterminer le nombre écrit en base 2. Étoffer l’algorithme précédent de sorte que l’on obtienne un