„€ n¦R X fou™le while I fou™les ™onditionnelles P ixemples

Transcription

„€ n¦R X fou™le while I fou™les ™onditionnelles P ixemples
Lycée Alexandre Dumas
ECS1
TP n4 : Boucle while
1 Boucles conditionnelles
Contrairement à la boucle for qui nécessite de connaître à l'avance le nombre d'itérations, la boucle while
(tant que . . .) va permettre de répéter une ou plusieurs instructions tant qu'une condition est réalisée. Considérons le script suivant :
n=input('entrer un entier');
while (n ~= 7)
disp('encore raté');
n=input('essayer encore');
end
disp('gagné')
Remarque 1
Il se peut qu'il n'y ait aucun passage dans la boucle si la condition n'est pas réalisée au départ.
2 Exemples
2.1
Faire un six au dé
Les ECS2 jouent au jeu suivant : ils parient sur le rang d'apparition du premier six dans une suite de lancers
de dé. Comme ils ont oublié leur dé, ils ont écrit le script suivant :
de=grand(1,1,'uin',1,6);
n=1;
while(de ~= 6)
de=grand(1,1,'uin',1,6);
n=n+1;
end
disp('le premier six arrive au rang'+string(n));
et ils nous apprennent que la commande grand permet de tirer au hasard un nombre entre 1 et 6. Commenter.
2.2
Vitesse de convergence (ou de divergence)
Soit (un )n∈N la suite dénie par son premier terme u0 = a ∈ R∗+ , et pour tout n ∈ N par la relation
un+1 = u2n − un + 1
1. Etudier le signe de un+1 − un et en déduire le sens de variation de (un ).
2. On admet que si 0 < a 6 1, alors la suite (un ) converge vers 1. Ecrire un script qui demande à l'utilisateur
un réel a ∈]0; 1[, et qui renvoie la première valeur de n pour laquelle |un − 1| < 10−4 .
3. On admet que si a > 1, alors la suite (un ) diverge vers +∞. Ecrire un script qui demande à l'utilisateur
un réel a > 1 et qui renvoie la première valeur de n pour laquelle un > 106 .
2.3
Exercice
1
On admet que la suite dénie par u0 = 0 et un+1 = un + (n+1)
est convergente de limite π6 .
1. Ecrire le terme général de la suite à l'aide d'une somme.
2. Ecrire un script qui ache le premier entier n pour lequel |un − π6 | < 10−5 .
Exercice 1
2
2
2
Informatique
1
TP n4 : Boucle While