if-then
VARIABLE
ENTIER a
DEBUT
a <-- LIRE
SI a == 0 ALORS
ECRIRE "a est nul"
FIN SI FIN
Noter 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"
fi
if-then-else
VARIABLE
ENTIER a
DEBUT
a <-- LIRE
SI a == 0 ALORS
ECRIRE "a est nul"
SINON
ECRIRE "a est différent de zéro"
FIN SI FIN
read -p 'Saisir un nombre: ' reponse
if [[ $reponse -eq 0 ]]
then
echo "a est nul"
else
echo "a est différent de zéro"
fi
Faire 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 Fin
Et 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 Fin
Observons 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 Fin
Représenter sous la forme d’un logigramme (ou algorigramme) ces trois versions.
Observer les différences
switch
ou selon
VARIABLE
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 FIN
Exé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