Cas particulier: les conditions de sortie multiples non exclusives
Objectif:  Vérifier quelle(s) condition(s) a (ont) provoqué la sortie de l'itérative.

Exemple (extrait de l'algorithme):

Un jeu où l'utilisateur doit essayer de trouver un prix. L'utilisateur a 10 essais possibles, pour chaque essai le programme affiche si le juste prix est inférieur ou supérieur au prix qu'il a donné


En langage C:
  do
     {printf("Maitre du jeu donnez le juste prix:");
       scanf("%f",&justePrix);}
   while (justePrix <= 0);
               
/* traitement des valeurs incorrectes pour justePrix */
  do
    {
     printf("Donnez un prix");
     scanf("%f",&prixEssai);

     if (prixEssai < justePrix)
        printf("C'est plus");
     else
         if (prixEssai >  justePrix)
            printf("C'est moins");
            /* fin du if (prixEssai > justePrix) */
    /* fin du if (prixEssai < justePrix) */
   }
  while (nbEssai != 10 && justePrix != prixEssai);  
/* on sort si nbEssai est égal à 10 ou justePrix est égal à prixEssai */
  /* maintenant il faut savoir pourquoi on est sorti de l'itérative */
  if (prixEssai = = justePrix)
     printf("Bravo, vous avez trouvé le juste prix");

  else /* on est dans le cas ou nbEssai est égal à 10 et justePrix != prixEssai */
     printf("Désolé vous avez perdu");
   /* fin du if   (prixEssai = = justePrix) */
/* fin du programme */
Remarque: On ne peut pas inverser le test. D'abord tester si nbEssai = = 10 car on afficherait  "perdu" alors qu'il peut avoir gagné au dixième essai.
suivant        plan