• Aucun résultat trouvé

Boucle while et boucle for – TP

N/A
N/A
Protected

Academic year: 2022

Partager "Boucle while et boucle for – TP"

Copied!
3
0
0

Texte intégral

(1)

BOUCLE WHILE ET BOUCLEfor TP

Boucle while et boucle for – TP

2

1. Modes d’emploi

Boucle itérative

On utilise une bouclefor, appelée boucle itérative, pour exécuter une instruction (ou un bloc d’instructions) un nombre de fois déterminé.

Python

1 for <variable> in range(m,n,pas):

2 <instruction1> #|

3 <instruciton2> #|

4 ... # Bloc d'instructions

5 <instructionN> #|

La<variable>parcourt les entiers demàn−1 avec unpasdonné. Pour chaque valeur possible, le bloc d’instructions est exécuté.

L’indentation des instructions est obligatoire.

Le programme suivant affiche sur la même ligne le carré des entiers 1, 3, 5, 7 et 9.

Python

1 for i in range(1,11,2):

2 print(i**2,end=" ") Exemple 1

Exercice 1

Python

1 u=0

2 for i in range(21):

3 u=u+i

4 print(u)

1. Donner la valeur stockée dans la variableuaprès exécution du programme.

2. Discuter de l’affichage si l’instructionprint(u)est indenté.

Ï Si lepasn’est pas précisé dansrange(m,n,pas)alors il est égal à 1. Par exemplerange(3,8)donne la séquence 3, 4, 5, 6, 7.

Ï Si lemet le paspasne sont pas précisés dansrange(m,n,pas)alorsmvaut 0 et le pas vaut 1.

Remarque 1 –range

G. BOUTARD 1 Lycée GAY-LUSSAC

(2)

TP BOUCLE WHILE ET BOUCLEfor

On dit querangeest unitérable. Nous verrons dans un prochain TP qu’il existe d’autres itérables (les listes ou les chaînes de caractères par exemple).

Remarque 2 – Itérable

Boucle conditionnelle

On utilise une bouclewhile, appeléeboucle conditionnelle, pour exécuter une instruction (ou un bloc d’instructions) tant qu’une condition est vérifiée.

Python

1 while <condition> : # <condition> est de type booléen

2 <instruction1> #|

3 <instruciton2> #|

4 ... # Bloc d'instructions

5 <instructionN> #|

Si la condition est fausse, tout le bloc d’instruction est ignoré.

L’indentation des instructions est obligatoire et il ne faut oublier les deux points à la fin de la ligne commençant parwhile.

Le programme suivant affiche sur une même ligne le carré des entiers naturels inférieurs à 5, et affiche un message une fois sorti de la bouclewhile.

Python

1 a=5

2 while a >= 0:

3 print(a**2,end=" ")

4 a-=1

5 print("J'ai fini !") Exemple 2

Si la condition booléenne est toujours vraie, le bloc d’instruction sera exécuté indéfiniment ! On parle de boucle infine.

Python

1 while 1+1 >= 2:

2 print("Arrêtez moi !")

La combinaison des touchesCtrletIou l’icône spécifique sur Pyzo (éclair) permet d’interrompre un programme.

Remarque 3 – Attention !

PCSI 2021 – 2022 2 G. BOUTARD

(3)

BOUCLE WHILE ET BOUCLEfor TP

2. Exercice

Exercice 2 – Suite de Syracuse

On considère la suite de Syracuse :u0=a∈N?et, pour toutn∈N,

un+1= ( un

2 siunest pair, 3un+1 siunest impair.

1. Comment peut-on déterminer la parité d’un entier en Python ?

2. Écrire une fonctiontermes(a,N)de paramètresaetNdeux entiers naturels non nuls et renvoie la liste des termes u0,u1, . . . ,uN de la suite de Syracuse.

3. Observer le comportement de la suite lorsqueN est choisi « assez grand » (mais pas trop...).

La conjecture de Syracuse est : pour touta∈N?, il existen∈Ntel queun=1.

4. Écrire une fonctiontempsDeVol(a)de paramètreaun entier naturel non nul et qui renvoie le plus petit entierntel queun=1.

Indication:tempsDeVol(9)renvoie 19.

5. Poura∈N? fixé, on appellealtitude maximale la valeur maximale de la suite (un)nN avant qu’elle ne prenne la valeur 1 pour la première fois.

Écrire une fonctionaltitudeMaximale(a)de paramètreaun entier naturel non nul et qui renvoie le plus petit entierntel queun=1.

Indication:altitudeMaximale(9)renvoie 52.

3. Travail à faire

Exercice 3 – Nombre premier

Écrire une fonctionisPrime(N)qui prend un entier strictement positifNet qui renvoie le booléenTruesiN est premier et le booléenFalsesinon.

G. BOUTARD 3 Lycée GAY-LUSSAC

Références

Documents relatifs

En Python, pour interrompre un programme qui boucle à l'infini, il suffit de faire Ctrl + C.3. Remarque :

[r]

Sans utiliser l'ordinateur, résumer dans un tableau les diérentes valeurs que prendraient les variables x et y au cours de l'exécution des programmes suivants.. (Faire une colonne

pour écrire un programme qui : choisit au hasard un nombre x compris entre 1 et 127 ; demande à l'utilisateur d'entrer un nombre y ;.. renvoie comme message à l'utilisateur

À partir d'une liste trié, la recherche dichotomique de la présence (et de l'index) d'une valeur consiste à prendre une valeur à l'index milieu d'une tranche de la liste (au début

• L'état du calcul en plein milieu d'une boucle est donné par l'ensemble des valeurs x i des variables v i de boucle... Ce phénomène de vases communiquants se rencontre

Cr´eer puis tester un programme permettant d’obtenir la table des dix premi`eres puissances d’un entier quelconque..

Cr´eer puis tester un programme permettant d’afficher la liste des multiples de sept inf´erieurs ou ´egaux ` a un entier n quelconque..