hou$$am Fondateur
Nombre de messages : 386 Localisation : Tlemcen-Algeria Date d'inscription : 04/01/2007
| Sujet: V : Structures alternatives Lun 15 Jan - 2:23 | |
| 1. If ... Then ... Else
Cette commande est similaire au basic, elle se traduit par : SI … ALORS … SINON …
- Code:
-
Program exemple3a ; Var chiffre:integer ; BEGIN Write('Entrez un entier pas trop grand : ') ; Readln(chiffre) ; If chiffre < 100 then writeln(chiffre, ' est inférieur à cent.') else writeln(chiffre, ' est supérieur ou égale à cent.') ;
END. Ce programme exemple3a compare un chiffre entré par l'utilisateur au scalaire 100. Si le chiffre est inférieur à 100, alors il affiche cette information à l'écran, sinon il affiche que le chiffre entré est supérieur ou égale à 100.
- Code:
-
Program exemple3b ; Var chiffre:integer ; BEGIN Write('Entrez un entier pas trop grand : ') ; Readln(chiffre) ; If chiffre < 100 then
begin writeln(chiffre, ' est inférieur à cent.') ; end else begin writeln(chiffre, ' est supérieur ou égale à cent.') ; end ; END. Ce programme exemple3b fait strictement la même chose que le 3a mais sa structure permet d'insérer plusieurs autres commandes dans les sous-blocs THEN et ELSE. Notez que le END terminant le THEN ne possède pas de point virgule car s'il en possédait un, alors le ELSE n'aurait rien à faire ici et le bloc condition se stopperait avant le ELSE.
Il est également possible d'insérer d'autres bloc IF dans un ELSE, comme l'illustre l'exemple3c qui suit :
- Code:
-
Program exemple3c ; Var i : integer ; BEGIN Randomize ; i := random(100) ; if i < 50 then writeln ( i, ' est inférieur à 50.') else if i < 73 then writeln ( i, ' est inférieur à 73.') else writeln ( i, ' est supérieur ou égale à 73.') END. -------------------------------------------------------------------------------- 2. Case ... Of ... End
Cette instruction compare la valeur d'une variable de type entié ou caractère (et de manière générale de type intervalle, voir Chap Type) à tout un tas d'autres valeurs constantes.
Note : attention car Case Of ne permet de comparer une variable qu'avec des constantes.
- Code:
-
Program exemple4 ; Var age:integer ; BEGIN Write('Entrez votre âge : ') ; Readln(age) ; Case age of
18 : writeln('La majorité, pile-poil !') ; 0..17 : writeln('Venez à moi, les petits enfants…') ; 60..99 : writeln('Les infirmières vous laisse jouer sur l''ordinateur à votre âge ?!!!') Else writeln('Vous êtes d''un autre âge...') ;
End ;
END. Ce programme exemple4a vérifie certaines conditions quant à la valeur de la variable age dont l'a affecté l'utilisateur. Et là, attention : le point-virgule avant le Else est facultatif. Mais pour plus sécurité afin de ne pas faire d'erreur avec le bloc If, choisissez systématiquement d'ommettre le point-virgule avant un Else.
Note : On peut effectuer un test de plusieurs valeurs en une seule ligne par séparartion avec une virgule si on souhaite un même traitement pour plusieurs valeurs différentes. Ainsi la ligne :
- Code:
-
0..17 : writeln('Venez à moi, les petits enfants…') ; peut devenir : 0..10, 11..17 : writeln('Venez à moi, les petits enfants…') ; ou encore : 0..9, 10, 11..17 : writeln('Venez à moi, les petits enfants…') ; ou même : 0..17, 5..10 : writeln('Venez à moi, les petits enfants…') ; | |
|