if-thenVARIABLE
ENTIER a
DEBUT
a <-- LIRE
SI a == 0 ALORS
ECRIRE "a est nul"
FIN SI
FINNoter l’indentation (décalage de la marge gauche avec des espaces/tabulations)
read -p 'Saisir un nombre: ' reponse
if [[ $reponse -eq 0 ]]
then
echo "a est nul"
fiif-then-elseVARIABLE
ENTIER a
DEBUT
a <-- LIRE
SI a == 0 ALORS
ECRIRE "a est nul"
SINON
ECRIRE "a est différent de zéro"
FIN SI
FINread -p 'Saisir un nombre: ' reponse
if [[ $reponse -eq 0 ]]
then
echo "a est nul"
else
echo "a est différent de zéro"
fiFaire l’exercice Positif/Négatif (lien ci-dessous)
Observons cet algorithme:
Variables
ENTIER temp
Début
Ecrire "Entrez la température de l’eau :"
temp <-- Lire
Si Temp <= 0 Alors
Ecrire "C’est de la glace"
FinSi
Si Temp > 0 Et Temp < 100 Alors
Ecrire "C’est du liquide"
Finsi
Si Temp > 100 Alors
Ecrire "C’est de la vapeur"
Finsi
FinEt maintenant celui-ci qui donne a priori le même résultat:
Variables
ENTIER temp
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp <= 0 Alors
Ecrire "C’est de la glace"
Sinon
Si Temp < 100 Alors
Ecrire "C’est du liquide"
Sinon
Ecrire "C’est de la vapeur"
Finsi
Fin SI
FinObservons ce qu’est devenu l’opération logique ET de la
première version
On aurait aussi pu écrire cet algorithme:
Variables
ENTIER temp
Début
Ecrire "Entrez la température de l’eau :"
Lire Temp
Si Temp <= 0 Alors
Ecrire "C’est de la glace"
SinonSi Temp < 100 Alors
Ecrire "C’est du liquide"
Sinon
Ecrire "C’est de la vapeur"
Finsi
FinReprésenter sous la forme d’un logigramme (ou algorigramme) ces trois versions.
Observer les différences
switch ou selonVARIABLE
ENTIER a
DEBUT
ECRIRE "Saisir un nombre"
a <-- LIRE
SELON a
CAS 1:
ECRIRE "a"
ALLER À LA FIN DU SELON
CAS 2:
ECRIRE "b"
ALLER À LA FIN DU SELON
CAS 3:
ECRIRE "c"
ALLER À LA FIN DU SELON
DEFAUT:
ECRIRE "-"
FIN SELON
FINExécution du programme si a vaut 2
Saisir un nombre: 2
b
read -p 'Saisir un nombre: ' reponse
case $reponse in
1)
echo " a"
;;
2)
echo " b"
;;
3)
echo " c"
;;
*)
echo "-"
esac