Algorithmes : Tests et boucles

Les algorithmes que nous avons utilisés dans le chapitre précédent exécutent toujours la méme téche ce qui limite drélement leur intérét. Les tests et les boucles vont enrichir nos algorithmes leur permettant déagir différemment en fonction des données entrées par l'utilisateur.

1. Test

Définition

Un test est une instruction qui permet déeffectuer un traitement différent selon quéune condition est vérifiée ou non.

Premiére forme

La premiére forme possible est la suivante :

si condition alors
   instructions
fin si

Les instructions ne seront exécutées que si la condition est vérifiée. Par exemple :

variable
   x : entier
début algorithme
   lire x
   si x > 10 alors
      x ← 10
   fin si
   écrire x
fin algorithme

Si l'utilisateur entre un entier supérieur à 10 l'algorithme affichera 10 sinon il affichera le nombre saisi par l'utilisateur.

Seconde forme

La seconde forme est légérement plus complexe :

si condition alors
   instructions 1
sinon
   instructions 2
fin si

Si la condition est vraie, l'algorithme effectuera les "instructions 1" puis passera aux instructions situées aprés le fin si. Si la condition est fausse, l'algorithme effectuera les "instructions 2" puis passera aux instructions situées aprés le fin si.

Exemple

variables
   âge, prix : entier
début algorithme
   écrire "entrez votre âge :é
   lire âge
   si âge<16 alors
      écrire "vous bénéficiez du tarif réduit"
      prix=10
   sinon
      écrire "vous ne bénéficiez pas du tarif réduit"
      prix=15
   fin si
   écrire "vous devez payer" prix "euros"
fin algorithme

Si vous entrez 15 comme âge, vous obtiendrez le résultat suivant :

Vous bénéficiez du tarif réduit
Vous devez payer 10 euros

Si vous entrez 16 comme âge, vous obtiendrez :

Vous ne bénéficiez pas du tarif réduit
Vous devez payer 15 euros

2. Conditions

Une condition est une expression qui peut prendre l'une des deux valeurs suivantes vrai ou faux. On dit également que c'est une valeur de type "logique" ou "booleen".
Les principaux opérateurs de comparaison que vous rencontrerez sont les suivants :

  • égal à (= en pseudo code)
  • différent de (!= en pseudo code)
  • strictement supérieur (> en pseudo code)
  • strictement inférieur (< en pseudo code)
  • supérieur ou égal (>= en pseudo code)
  • inférieur ou égal (<= en pseudo code)

Ces comparaisons n'ont un sens que si les variables que l'on compare sont de méme type.

Exemple

variables
   nom : texte
début algorithme
   écrire "entrez votre nom :"
   lire nom
   si nom="Jean" alors
      écrire "Bonjour Jean!"
   sinon
      écrire "Je ne vous connais pas"
   fin si
fin algorithme
Conditions composées

On peut écrire des conditions plus complexes en reliant des comparaisons à léaide des opérateurs logiques ET, OU et NON.

  • Condition 1 ET condition 2 sera vraie si les deux conditions sont toutes les deux vraies.
    Par exemple, la condition : "âge supérieur à 5 ET âge inférieur à 10" sera vraie si la variable âge est strictement comprise entre 5 et 10.
  • Condition 1 OU condition 2 sera vraie si l'une au moins des deux conditions est vraie.
    Par exemple, la condition "prénom = Jean OU nom = Dupont" sera vraie pour :

    • Jean Dupont (conditions 1 et 2 vraies)
    • Jean Durand (condition 1 vraie)
    • Pierre Dupont (condition 2 vraie)

    mais fausse pour

    • Pierre Durand (conditions 1 et 2 fausses)
  • NON (condition 1) sera vraie si et seulement si condition 1 est fausse.
    Par exemple : "NON (x<3)" sera vraie si x>=3

3. Boucle

Définition

Une boucle permet de répéter un traitement un certain nombre de fois.

Première forme

Boucle tant que

tant que condition
   instructions
fin tant que

L'algorithme ci-dessus effectuera les instructions tant que la condition sera vraie. Dès que la condition devient fausse, on se branchera sur l'instruction suivant le fin tant que.

Exemple

variables
   nombre, somme: nombres
   réponse: texte
début algorithme
   continuer ← "oui" // initialisation
   écrire 'entrez un nombre :'
   lire nombre
   somme ← nombre
   tant que continuer = "oui"
      écrire "entrez le nombre suivant"
      lire nombre
      somme ← somme + nombre
      écrire "voulez-vous continuer (oui/non)"
      lire continuer
   fin tant que
   écrire "la somme des nombres entrés est" somme
fin algorithme

L'algorithme précédent demande à l'utilisateur d'entrer un premier nombre.
Puis il lui demande s'il veut entrer un autre nombre.
tant que l'utilisateur répond "oui", l'ordinateur lui demande un nouveau nombre qu'il additionne au contenu de la variable somme.
Dès que l'utilisateur répond autre chose que "oui", l'algorithme sort de la boucle, affiche le total et se termine.

Partenaires : Cours-particulier.org - Cours-particuliers.info - Be Students

Copyright 2007-2012 - Maths-cours.fr