De l'organisation des alternatives imbriquées

Il est courant que les problèmes à traiter demandent une suite d'alternatives imbriquées:

if test1

      if test2

          if test3 ....

         else  ....

      else ...

else ...


Dans ces cas, il y a plusieurs solutions, certaines plus efficaces ou plus lisibles que d'autres. Vous devrez réfléchir et procéder en plusieurs étapes afin d'obtenir une solution lisible et efficace.


Exemple:

énoncé du problème: « La mention passable est attribuée si la note est comprise entre 10 et 12, assez bien est attribuée si la note est comprise entre 12 et 14, bien pour une note comprise entre 14 et 16, très bien si la note est comprise entre 16 et 18 et les félicitations du jury à partir de 18 »

if (note >= 10 && note <12) mention = 'p';
else if (note >= 12 && note <14) mention = 'a';
       else if (note >= 14 && note <16)
                   mention = 'b';
              else if (note >= 16 && note <18)
                        mention = 't';
                     else if (note >= 18) mention = 'f';

if (note >= 18) mention = 'f';
else if (note >= 16) mention = 't';
        else if (note >= 14 ) mention = 'b';
                 else if (note >= 12) mention = 'a';
                         else if (note >= 10) mention = 'p';

Solution peu efficace car certains tests sont faits 2 fois (ex: note >= 12) 

Solution efficace chaque test est exécuté une seule fois

suivant          plan