Lycée   >   Premiere, Terminale, Terminale STMG   >   Mathématiques   >   Les structures répétitives ou itératives (boucles)

Les structures répétitives ou itératives (boucles)

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectif(s)
• Connaître le vocabulaire de l’algorithmique.
• Utiliser, créer un algorithme.
• Traduire un algorithme sur une machine (calculatrice ou autre).
Rappel
Par habitude, on utilise :
• I, J, K entiers utilisés comme compteurs (boucles).
• N, M entiers d’utilisations diverses (suites…).
• X, Y, Z réels pour des coordonnées (géométrie) ou en auxiliaires de calcul.

Pour cette fiche, on considérera principalement trois structures.

1. Pour... Faire...
Pour… (valeur initiale de la variable jusqu’à valeur finale) Faire… (traitement) FinPour.

Remarque
Cette boucle s’utilise chaque fois que l’on connaît le nombre d’itérations à effectuer.

Exemple
Somme des n + 1 premiers entiers (de 0 à n cela en fait n + 1).

Le principe
On demande l’entier jusqu’où la somme doit être effectuée, puis par une boucle itérative réalisée n fois, on additionne les entiers successifs les uns après les autres. Afficher le résultat.

Algorithme

SOMENT (Version 1)
Variables
                I, N entiers, S nombre
Entrées
                Lire N
Traitement
Afficher « Somme des entiers jusqu’à N »
Afficher « Entrer un nombre entier »
Entrer N
Affecter S de 0
POUR I variant de 0 jusqu’à N
Affecter S de S+I
FINPOUR
Sorties
                Afficher « Somme de 0 jusqu’à », N
                Afficher S

Traduction sur calculatrice


TI- 84
TI-82 Stat TI-82
 
 Utilisation
Casio Graph 35+  
 Utilisation
TI-Nspire CAS  
Utilisation
 


Remarque

Parfois dans la boucle Pour… on utilise un « pas » différent de 1, c'est-à-dire que la variable augmente, par exemple de 2 en 2 ou de 0,1 en 0,1 ou autres...
Par exemple, les valeurs successives d’une fonction peuvent se faire de 0,5 en 0,5.

2. TantQue Condition... Faire...
TantQue Condition (réalisée)… Faire… (traitement) FinTantQue.

Le principe
Cette boucle conditionnelle est très utile. Il est demandé de réaliser un traitement, Tant Que une certaine condition est vraie.

Exemple
S’il faut ranger des livres, on dira : « tant qu’il reste des livres, ranger ». C’est une boucle qui sera très souvent utilisée.

Raisonnement
Nous avons vu (Fiche d’introduction) un petit programme permettant de dire si un entier est pair ou impair. La méthode utilisée demandait de connaître la partie entière d’un nombre et de faire la recherche de la moitié du nombre donné. Alors que si la question nous était posée, nous ne regarderions que le dernier chiffre du nombre pour répondre.
Une idée… si un nombre est plus petit que dix (strictement), nous pouvons immédiatement le comparer à 0, 2…
Et si ce nombre est plus grand que dix (sens large), en lui enlevant dix Tant Qu’il a plus qu’un seul chiffre, on finira forcement par obtenir un nombre entre 0 et 9.
Cette idée permet de réaliser l’algorithme suivant.

Algorithme

Pair Impair (Version 3)
Variables
                N, M entiers
Entrées
                Lire N
Traitement
Afficher « Pair-Impair Version 3 »
Afficher « Entrer un nombre entier »
Entrer N
    Affecter M de N
    TantQue 10<M
    Affecter M de M-10
    FinTantQue
Si M=0 ou M=2 ou M=4 ou M=6 ou M=8 Alors
Afficher N, ‘ Pair’
Sinon
Afficher N, « Impair »
FinSi
Sorties
               Affichages du traitement
 

Traduction sur calculatrice

TI- 84
TI-82 Stat TI-82
 
Utilisation
Casio Graph 35+    Utilisation

TI-Nspire CAS  
Utilisation

Remarques
• La condition est analysée à l’entré de la boucle, si la condition n’est pas réalisée, la boucle ne sera jamais parcourue.
• La boucle est parcourue tant que la condition est vraie.
• On ne connaît pas à l’avance le nombre de fois où cette boucle sera réalisée.

3. Répéter... Jusqu'à ce que
Répéter… … Jusqu’à ce que (Condition).

Le principe
Cette boucle conditionnelle ressemble un peu à la précédente. Son principe est identique. Répéter un traitement jusqu’à ce que une certaine condition devienne vraie.

Exemple
Dans l’exemple signalé précédemment pour le rangement de livres, cette instruction deviendrait :
« Ranger les livres Jusqu’à ce qu’il n’y en ait plus à ranger ».
Il vous est conseillé de bien chercher et comprendre ce qui différencie ces deux boucles.

Un exemple d’application a déjà été vu. Vouloir vérifier que le nombre entré au clavier de la machine est bien un nombre entier positif correspond exactement à ce type de boucle.

Remarques
La boucle à utiliser est la boucle « répéter… jusqu’à ce que ».
Sur la Graph35+ cette instruction n’existe pas, on utilise alors, avec un changement dans la condition, la boucle « tant que ».
De même sur la TI-Nspire CAS, cette boucle existe en LUA à partir du logiciel ordinateur. Sur la calculatrice on utilisera aussi la boucle « tant que ».

Algorithme (uniquement la partie à rajouter au précédent)

Pair Impair (Version 3bis) Commentaires éventuels
Répéter
    Afficher « Entrer un nombre entier positif »
    Entrer N
    Jusqu’à ce que PartieEntière (N)=N ET 0N
 
Version Répéter JusquàCeQue

Traduction sur calculatrice

TI- 84
TI-82 Stat TI-82
 

Quand cette instruction n’existe pas, on utilise la boucle TantQue. Elle demande de changer la condition et de faire en sorte que cette condition soit réalisée AVANT d’entrer dans la boucle.

Exemple pour les deux calculatrices indiquées

Pair Impair (Version 3ter) Commentaires éventuels
Affecter N par -1
TantQue PartieEntière (N)≠N OU N<0
    Afficher « Entrer un nombre entier positif »
    Entrer N
FinTantQue
 
Version TantQue
Il est nécessaire d’initialiser la variable sur qui porte la condition.

Traduction sur calculatrice


Casio Graph 35+ TI-Nspire CAS
   

Remarques
• La condition est analysée à la fin de la boucle, si la condition n’est pas réalisée, la boucle sera tout de même parcourue une fois.
• La boucle est parcourue jusqu'à ce que la condition devienne vraie (elle est donc parcourue Tant Que la condition est fausse).
• On ne connaît pas à l’avance le nombre de fois où cette boucle sera réalisée.

4. Complément fonctions récursives
Certains logiciels de programmation, comme la calculatrice TI-Nspire Cas utilisent une forme assez particulière de boucle : la récursivité.
Une fonction (programme) récursive est une fonction qui s’appelle elle-même.

Exemple
Calculer la somme des n + 1 premiers entiers (de 0 à n).
Un algorithme à déjà été utilisé, traduit en programmes pour les calculatrices indiquées. C’est un algorithme itératif ou impératif (les instructions à effectuer sont écrites les une après les autres et à effectuer comme tel).

LE PRINCIPE RECURSIF
Si n = 0 alors la somme c’est 0. Sinon, la somme c’est n + la somme des (n-1) premiers entiers.
Faisons tourner (à la main) cela pour la somme des entiers jusqu’à 2 :

Étape 1 : Somme des entiers jusqu’à n = 2.
Est-ce que n = 0 ? non. Il faut donc calculer 2 + Somme des entiers jusqu’à 2-1 = 1.

Étape 2 : Somme des entiers jusqu’à n = 1.
Est-ce que n = 0 ? non. Il faut donc calculer 1 + Somme des entiers jusqu’à 1-1 = 0.

Étape 3 : Somme des entiers jusqu’à n = 0.
Est-ce que n = 0 ? Oui. Donc (à ce stade) S=0, il n’y a plus d’appel récursif, c’est terminé (ou presque).

Il faut alors additionner les résultats de chaque étape (c’est automatique).
0 (étape 3) + 1 (étape 2) + 2 (étape 1) = 3. Ce qui est le bon résultat.
Le programme a réalisé des calculs grâce à une boucle qui (apparemment) ne nous a pas demandé de gérer les différentes étapes.

Voici un algorithme récursif de ce programme (seule la fonction est récursive, le programme n’est là que pour la présentation).

SOMENT (Version récursive) Commentaires éventuels
Variables
                I, N entiers, S nombre
Entrées
                Lire N
Traitement
Afficher « Somme des entiers jusqu’à N »
Affecter N par -1
TantQue PartieEntière (N)≠N OU N<0
Afficher « Entrer un nombre entier positif »
Entrer N
FinTantQue
Affecter S de Somentrecf(n)
Sorties
                Afficher « Somme de 0 jusqu’à », N
                Afficher S
 
Ceci n’est que pour la présentation et pour introduire le nombre dans la machine.



Appel de la fonction récursive.
Somentrecf(n) (La fonction récursive) Commentaires éventuels
Variables
                N entier
Entrées
                N
Traitement
Si n=0 alors
Retourner 0
Sinon
Retourner n + Somentrecf(n-1)
FinSi
Sorties
                S
 
Si n vaut 0 alors S vaut 0, valeur qu’il faut faire remonter (Return).

Sinon, la somme c’est n + (la somme des entiers jusqu’à n-1).

Traduction sur calculatrice TI-Nspire Cas (programmation récursive)

TI-Nspire CAS
 

On remarquera qu’il est possible de n’appeler QUE la fonction récursive pour obtenir le résultat demandé (sans vérifier la validité du nombre entré).


Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Mathématiques

Puissance n-ième d'une matrice carrée d'ordre 2 ou 3

Mathématiques

Écriture matricielle d'un système d'équations linéaires

Mathématiques

Suites de matrices colonnes

Mathématiques

Étude asymptotique d'une marche aléatoire

Mathématiques

Positions relatives de droites et de plans

Mathématiques

Orthogonalité de deux droites, d'une droite et d'un plan

Mathématiques

Caractérisation d'un plan

Mathématiques

Nombres premiers : questionnements et nombres premiers particuliers (application RSA)

Mathématiques

Représentation paramétrique d'une droite et d'un plan

Mathématiques

Comparaison de suites