„€ 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