L'alternative simple avec Delphi Pascal

Exercice rsolu

Dans certains cas, il n'est pas possible d'exprimer aisment la situation d'alternative parce que les conditions ne sont pas simples. Si l'on se trouve dans une telle situation, alors il faut utiliser une mthode pour construire l'alternative. Nous utiliserons la mthode par construction d'un arbre binaire de dcision.

Le pape Grgoire XIII sans qui cette page n'existerait pasProblme

crire un programme qui dtermine si une anne dont on donne le millsime est bissextile (ce problme est trait ailleurs, dans ce cours, dans le cadre de l'tude de l'alternative dans le tableur).

Une anne est bissextile si son millsime est multiple de 4; cependant, les annes dont le millsime est multiple de 100 ne sont bissextiles que si c'est aussi un multiple de 400 (1900 n'tait pas bissextile, 2000 l'a t).

Il faut bien mettre en vidence toutes les conditions particulires envisager lors de la rsolution du problme. Il faut valuer si:

  • le millsime est un multiple de 4;
  • le millsime est un multiple de 100;
  • le millsime est un multiple de 400.

Construction d'un arbre binaire de dcision

Examine attentivement l'arborescence ci-dessous durant la lecture de l'explication de sa construction.

Choisissons une de ces conditions particulires et voyons ce qu'il convient de faire si elle est vraie et si elle est fausse. Nous commencerons par la condition multiple de 4.

Si la condition est fausse, l'anne n'est pas bissextile et c'est fini, sinon, il faut encore travailler.

Quelle question faut-il se poser si le millsime est multiple de 4? Il faut voir si c'est un multiple de 100.

Si la condition est fausse, alors l'anne est bissextile et c'est fini, sinon, il faut encore travailler.

Si la condition est vraie, alors l'anne est bissextile, sinon, elle n'est pas bissextile. Dans tous les cas, le travail est termin.

La structure de dcision se prsente sous la forme d'un arbre invers, c'est--dire dont la racine serait en haut et les branches en bas.

Dans le formalisme Si...Alors...Sinon..., ce tableau pourrait s'exprimer:

Si <Millsime multiple de 4>
Alors
Si <Millsime multiple de 100>
Alors
Si <Millsime multiple de 400>
Alors "Bissextile"
Sinon "Non Bissextile"
Fin Si
Sinon
"Non bissextile"
Fin Si
Sinon
"Non bissextile"
Fin Si

Arbre binaire de dcision

  • Vrifie, l'aide de l'abre binaire de dcision ou de la structure si...alors...sinon, que les annes 1930, 2003 et 2100 ne sont pas bissextiles.
  • Vrifie ensuite que 1980, 2000 et 2400 sont des annes bissextiles.

Rsolution commente

L'interface du programme Delphi correspondant peut s'imaginer sur le modle ci-dessous.

  • Annes bissextilesLa zone de texte contenant l'anne tester s'appelle Annee
  • Le texte "Oui" ou "Non" qui s'indique en fonction du caractre bissextile ou non de l'anne s'appelle reponse.

Si l'on suit l'exemple de formalisme "si ... alors ... sinon..." prsent ci-dessus, on peut alors crire le texte Pascal correspondant selon la forme prsente ci-dessous.

Texte en Pascal

Dans la structure alternative complexe, un seul sparateur d'instruction ";" doit tre introduit: tout fait la fin.

  • Recopie, compile et excute l'exemple.
  • Vrifie qu'il fonctionne correctement dans tous les cas possibles.

Serait-il possible de reconstruire compltement l'arbre binaire ou la structure " si... alors... sinon..." , pour l'exemple de l'anne bissextile, en commenant par le test " le millsime est un multiple de 400 "?

On commencerait donc par:

Si <Millsime multiple de 400>
Alors
.......
  • Reconstitue l'ensemble de la structure puis modifie le programme Delphi afin qu'il corresponde cette nouvelle analyse.
  • Compile, excute et vrifie le bon fonctionnement du programme.

Quand ton programme fonctionne correctement, passe la page suivante.


Dernière modification 18/08/2016 Test dans /info ...