les structures conditionnelles en Scilab
1. Opérateurs de comparaison.
2. Structure conditionnelle IF
L’instruction if permet d’exécuter une instruction si une condition est satisfaite. If utilise une variable booléenne pour effectuer son choix : si le booléen est vrai, alors l’instruction est exécutée.
Une condition est fermée lorsque le mot clé end est rencontré.
if ( %t ) then
disp("Hello !")
end
Si la condition n’est pas satisfaite, l’instruction else permet d’exécuter une instruction alternative, comme dans le script suivant.
if ( %f ) then
disp("Hello !")
else
disp("Goodbye !")
end
Lorsque nous devons combiner plusieurs conditions, l’instruction elseif est utile.
i=input("saisir un nombre")
if ( i == 1 ) then
disp("Hello !")
elseif ( i == 2 ) then
disp("Goodbye !")
elseif ( i == 3 ) then
disp("Tchao !")
else
disp("Au Revoir !")
end
a. Exemple 1
Ecrire un programme qui permet d’afficher le message « non admis » si la note de l’étudiant et inférieure a 10 et admis dans le cas ou la note supérieure à 10
note=input("saisir une note")
if (note<10)then
disp("non admis")
else
disp("admis")
end
b. Exemple 2
Ecrire un programme qui permet de tester le signe d’un nombre ;
nb=input("saisir un nombre")
if (nb<0)then
disp("nombre est négatif")
elseif (nb>0) then
disp("nombre est positif")
else
disp("nombre est nul")
end
c. Exemple 3
Écrire un programme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
- « Poussin » de 6 à 7 ans
- « Pupille » de 8 à 9 ans
- « Minime » de 10 à 11 ans
- « Cadet » après 12 ans
solution 1
age=input("saisir l'age de ")
if(age>=6 & age <=7)then
disp("Poussin")
elseif (age>=8 & age <=9)then
disp("Pupille")
elseif (age>=10 & age <=11)then
disp("Minime")
elseif (age>=12) then
disp("Cadet")
else
disp("age n'appartient a aucune catégorie")
end
solution 2
age=input("saisir l'age de ")
if(age<6)then
disp("age n'appartient a aucune catégorie")
elseif (age <=7)then
disp("Poussin")
elseif (age <=9)then
disp("Pupille")
elseif (age<=11) then
disp("minime")
else
disp("cadet")
end
d. Exemple 4
Ecrivez un programme qui lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une minute plus tard.
Par exemple, si l'utilisateur tape 21 puis 32, l'algorithme doit répondre : "Dans une minute, il sera 21 heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la vérifier.
h=input("saisir l'heure")
m=input("saisir la minute")
if(h==23) then
if(h=59) then
h=0
m=0
else
m = m+1
end
else
if (m==59) then
h=h+1
m= 0
else
m=m+1
end
end
disp("Dans une minute, il sera",h,' heure(s)',m)
3. SELECT
L'instruction select permet de combiner plusieurs branches de manière claire et simple.
En fonction de la valeur d'une variable, cela permet d'effectuer l'instruction correspondant au mot clé case. Il peut y avoir autant de branches que nécessaire.
i=input("saisir un nombre")
select i
case 1
disp("One")
case 2
disp("Two")
case 3
disp("Three")
else
disp("Other")
end
Exemple
Écrire un programme qui à partir d’un nombre compris entre 1 et 7 affiche le jour correspondant ?
i=input("saisir un nombre")
select i
case 1
disp("Lundi")
case 2
disp("Mardi")
case 3
disp("Mercredi")
case 3
disp("Jeudi")
case 3
disp("Vendredi")
case 3
disp("Samedi")
case 3
disp("Dimanche")
else
disp("numéro invalid")
end