Initiation à l'algorithmique

Les structures répétitives

Un programme est donc une suite d'instructions exécutées par la machine. Ces instructions peuvent se répéter plusieurs fois, on parle alors de structure répétitive.

On identifie en règle générale 3 types de répétitive :

  • Tant Que
  • Répéter Jusqu'à
  • Pour

Exemple :

La routine journalière d’un employé est :

  • Ouvrir guichet
  • Appeler premier client
  • Tant Que " client dans file  d'attente " et " pas fin de journée "
    • Traiter client
    • Appeler client suivant
  • Fin Tant Que

Les deux actions "Traiter client" et "Appeler client suivant" vont se répéter tant que la condition située derrière l'instruction "Tant que" est vérifiée.

1. La structure Tant que

La structure Tant que permet de répéter l’action tant que la condition n’est pas réalisée. Le nombre de répétition n’est pas connu à l’avance.

Syntaxe :

Tant que <expression  logique> Faire
    <Traitements>
Fin Tant que

Le principe est  simple : l’algorithme arrive sur la ligne du Tant Que. Il examine l’expression  logique (qui, je le rappelle, peut être une variable booléenne ou, plus  fréquemment, une condition). Si cette valeur est VRAI, l’algorithme exécute les  instructions qui suivent, jusqu’à ce qu’il rencontre la ligne Fin Tant Que. Il  retourne ensuite sur la ligne du Tant Que, procède au même examen, et ainsi de  suite. Le cycle ne s’arrête que lorsque le booléen prend la valeur FAUX.

Exemple : 

Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

Algorithme nombre
  Variable nombre : entier
Début
  Ecrire("Saisir une valeur");
  Lire(nombre)
  Tant que nombre >3  OU nombre < 1 Faire
       Ecrire("Saisir une valeur");
       Lire(nombre)
  Fin Tant que
Fin

2. Répéter..Jusqu’à : 

la condition d’arrêt est placée à la fin

Syntaxe :

Répéter
    <Traitement>
Jusqu'à (condition d'arrêt)

Cet ordre d'itération permet de répéter le <Traitement> une ou plusieurs fois et de s'arrêter sur une condition. En effet, lorsque la condition est vérifiée, la boucle s'arrête, si non elle ré-exécute le <Traitement>.

Remarques

  • Dans cette boucle, le traitement est exécuté au moins une fois avant l'évaluation de la condition d'arrêt.
  • Il doit y avoir une action dans le <Traitement> qui modifie la valeur de la condition.

Exemple :

Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

Algorithme nombre
  Variable nombre : entier
Début
   Répéter
      Ecrire("Saisir une valeur");
      Lire(nombre)
   jusqu'à  nombre >= 1 ET nombre <= 3 
Fin

3. La structure Pour

Il arrive très souvent qu’on ait besoin d’effectuer un nombre déterminé de passages. Or, a priori, notre structure TantQue ne sait pas à l’avance combien de tours de boucle elle va effectuer ;

Les répétitives où le nombre d’itération est fixée une fois pour toute.

Syntaxe

Pour Compteur de valeur_initiale à valeur_finale PAS le pas Faire
   Actions à répéter
Fin Pour

La progression du compteur est laissée à votre libre disposition. Dans la plupart des cas, on a besoin d’une variable qui augmente de 1 à chaque tour de boucle. On ne précise alors rien à l’instruction « Pour » ; celle-ci, par défaut, comprend qu’il va falloir procéder à cette incrémentation de 1 à chaque passage, en commençant par la première valeur et en terminant par la deuxième.

Si vous souhaitez une progression plus spéciale, de 2 en 2, ou de 3 en 3, ou en arrière, de –1 en –1, ou de –10 en –10, il faut préciser à votre instruction « Pour » en lui rajoutant le mot « Pas » et la valeur de ce pas.

Quand on met un pas négatif dans une boucle, la valeur initiale du compteur doit être supérieure à sa valeur finale si l’on veut que la boucle tourne !

Exemple :

Écrire un algorithme pour calculer et afficher la somme de 100 premiers nombres entiers ?

Algorithme somme
Variables compteur , somme : entiers
Début
  Pour compteur de 1 à 100 Faire
       somme <- somme + compteur;
  Fin Pour
  Ecrire("la somme =",somme)
Fin


Les structures TantQue sont employées dans les situations où l’on doit procéder à un traitement sur les éléments d’un ensemble dont on ne connaît pas d’avance la quantité, comme par exemple :

  •  le contrôle d’une saisie.
  •  la gestion des tours d’un jeu (tant que la partie n’est pas finie, on recommence).

Les structures Pour sont employées dans les situations où l’on doit procéder à un traitement sur les éléments d’un ensemble dont on connaît d’avance la quantité.


Partager ce cours avec tes amis :
Rédigé par Mostafa Sedoki
Computer science teacher and the founder of the e-learning platform "developpement-informatique.com", my mission is to provide high-quality courses for free to all computer science students and teachers

Cours Similaires :