IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Cours de Turbo Pascal 7


précédentsommairesuivant

Chapitre 5 - Structures conditionnelles

If .. then … else …

Cette instruction se traduit par : Si … alors … sinon ….

 
Sélectionnez
Program Exemple3a;

Var Nombre : Integer;

Begin
  Write('Entrez un entier pas trop grand : ');
  Readln(Nombre);
  if Nombre < 100 then WriteLn(Nombre, ' est inférieur à cent.') else
  WriteLn(Nombre, ' est supérieur ou égal à cent.');
End.

Ce programme Exemple3a compare un nombre entré par l'utilisateur au scalaire 100. Si le nombre est inférieur à 100, alors il affiche cette information à l'écran, sinon il affiche que le nombre entré est supérieur ou égal à 100.

 
Sélectionnez
Program Exemple3b;

Var Nombre : Integer;

Begin
  Write('Entrez un entier pas trop grand : ');
  Readln(Nombre) ;
  if Nombre < 100 then
    begin
      WriteLn(Nombre, ' est inférieur à cent.');
    end
  else
    begin
      WriteLn(Nombre, ' est supérieur ou égal à 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 n'est pas suivi d'un point-virgule, car, si c'était le cas, 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 blocs if dans un else, comme l'illustre l'exemple qui suit :

 
Sélectionnez
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 supérieur ou égal à 50, et inférieur à 73.')
  else WriteLn ( i, ' est supérieur ou égal à 73.')
End.

Case … of … end

Cette instruction compare la valeur d'une variable de type scalaire à tout un tas d'autres valeurs constantes.

Attention, car Case of ne permet de comparer une variable qu'avec des constantes.

 
Sélectionnez
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 laissent 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 la valeur est entrée 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'omettre le point-virgule avant un else.

Note : On peut effectuer un test de plusieurs valeurs en une seule ligne par séparation avec une virgule si on souhaite un même traitement pour plusieurs valeurs différentes. Ainsi la ligne :

 
Sélectionnez
0..17 : writeln('Venez à moi, les petits enfants…');

peut devenir :

 
Sélectionnez
0..10, 11..17 : writeln('Venez à moi, les petits enfants…');

ou encore :

 
Sélectionnez
0..9, 10, 11..17 : writeln('Venez à moi, les petits enfants…');

ou même :

 
Sélectionnez
0..17, 5..10 : writeln('Venez à moi, les petits enfants…');

(cette dernière ligne est stupide, mais syntaxiquement correcte !).


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2001-2013 Hugo Etievant. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.