Cas particulier: les itératives imbriquées
Objectif: se rendre compte que ça existe

Exemple (extrait de l'algorithme): Un programme qui saisit les commandes passées par des clients et les affiche à l'écran sous la forme d'un titre: "Commande numéro X" puis des lignes, chacune correspondant à un article commandé en un certain nombre d'exemplaires (nbExempl) pour un prix HT (prixHT) donné. Sur chaque ligne on doit afficher la quantité achetée, le prix HT d'un exemplaire, et le prix TTC (TVA à 20,6) des nbExempl. Enfin la commande se termine par l'affichage du prix total TTC de la commande à payer par le client. On ne sait pas combien il y a de commandes à l'avance (la numérotation commence à 1) et on ne sait pas à l'avance combien  il y a de lignes par commande.

Analyse succincte:
Il faut une itérative sur les commandes et une itérative sur les lignes d'une commande donc l'itérative sur les lignes de commandes est imbriquée dans l'itérative sur les commandes. Dans les deux cas, il faut demander à l'utilisateur s'il souhaite entrer une nouvelle commande et lui demander aussi s'il souhaite encore entrer une ligne de commandes.
Corps de l'algorithme simplifié:
répéter la saisie et l'affichage des commandes (en incrémentant le nombre de commandes) tant que l'utilisateur le souhaite
pour chaque commande, il faut
        afficher le numéro de commande
        répéter la saisie et l'affichage de chaque ligne de la commande tant que l'utilisateur le souhaite
        pour chaque ligne de commande il faut:
                  demander le numéro de l'article
                  demander son prix hors taxe
                  demander le nombre d'articles commandé
                  calculer le prix TTC (prixTTC) des nbExempl
                   incrémenter le montant de la commande de prixTTC
                  afficher le numéro de l'article, le prix HT d'un article, le prix TTC des nbExempl articles.
                  demander à l'utilisateur s'il souhaite entrer une autre ligne de commande pour cette commande
        afficher le montant TTC de la commande

Corps de l'algorithme détaillé:
     do        
/* itérative sur les commandes */
         {
         
afficher ("Commande numéro", numComm);
          do      /* itérative sur les lignes de commande pour une commande */
              {
                demander(codeArt);
                do
                   demander(prixHT);
                while (prixHT <= 0);  
/* fin du while sur valeur incorrecte de prixHT */
                do
                  demander(nbExempl);
                while (nbExempl <= 0);

                prixTTC =  (prixHT + (prixHT * montTVA/100)) * nbExempl;
                prixTTCTot = prixTTCTot + prixTTC;
                afficher(codeArt, prixHT, prixTTC);
                demander("Voulez vous entrer une autre ligne de commande?", repLigComm);
              }
          while (repLigComm =
= 'o');  /* fin du do while sur les lignes d'une commande*/
         
/* fin de la commande */
          afficher("Montant commande", prixTTCTot);

          numComm = numComm + 1;
          demander("Avez vous une autre commande?", repComm);
       }
     while (repComm = = 'o');  
/* fin du while sur les commandes*/
     
/* fin des commandes */
 
/* fin du programme */      
suivant      plan