L’instruction alternative est une structure de contrôle permettant de rendre conditionnelle l’exécution d’une suite d’instructions. En algorithmique, elle permet de modifier l’enchainement en séquence des instructions d’un algorithme.
Contrairement au traitement séquentiel, elle exécute ou non une séquence d’instructions si une condition donnée est vérifiée, ou une autre séquence d’instructions dans le cas contraire.
L’instruction alternative est une instruction qui commence par le mot réservé Si, dont la sémantique est liée à deux notions importantes que sont la Condition et la Comparaison.
Comparaison
La comparaison est une notion de mathématiques qui organise un ensemble d’éléments selon une relation d’ordre, afin de permettre la comparaison de ces éléments entre eux de manière cohérente. On appelle expression comparative une expression comprenant 2 éléments reliés par un opérateur de comparaison
Les opérateurs de comparaison définis dans le langage algorithmique Schema.
- = est l’opérateur d’égalité.
- != est l’opérateur de différence.
- > est l’opérateur « strictement supérieur à ».
- >= est l’opérateur « supérieur ou égal à ».
- < est l’opérateur « strictement inférieur à ».
- <= est l’opérateur « inférieur ou égal à ».
Condition
La condition est une expression mathématique dite booléenne dont l’évaluation renvoi une element booléen Vraie ou Faux.
- Un booléen est un élément qui ne peut prendre que deux valeurs : Vrai ou Faux .
- Une expression booléenne est une expression qui relie une ou plusieurs expression comparative à l’aide d’un opérateur booléen, dont le résultat est un booléen.
- Une condition est une expression booléenne.
En Schema , les 3 opérateurs booléens sont le ET, OU ,NON .
- NON: il produit Vrai si l’opérande est Faux. Il produit Faux si l’opérande est Vrai :
- ET: Le résultat de Condition_1 ET Condition_2 est Vrai si Condition_1 et Condition_2 prennent la valeur Vrai. Sinon, le résultat est Faux.
- OU: Le résultat de Condition_1 OU Condition_2 est Vrai si Condition_1 donne Vrai et Condition_2 donne Faux, ou Condition_1 donne Faux et Condition_2 donne Vrai. Sinon, le résultat est Faux
Syntaxe
On écrit une instruction alternative sur une seule ligne de la façon suivante:
Si condition instruction Si condition instruction Sinon instruction
Cette forme d’écriture simplifiée est utilisée quand le condition n’implique qu’une seule instruction
On écrit une instruction alternative sur plusieurs lignes de la façon suivante:
Si condition séquence d’intructions Fin Si condition séquence d'instructions Sinon séquence d'instructions Fin
Exemple d’un algorithme de comparaison de nombre entier
comparaison nombre Entier
Si nombre > 5 Afficher le nombre #nombre est plus grand que 5
Fin
comparaison nombre Entier Si nombre > 5 Afficher le nombre #nombre est comparé à 5 Afficher le nombre #nombre est plus grand que 5 Fin Fin
La deuxième forme permettant d’exécuter une séquence d’instructions quand la condition est fausse, est:
Si condition séquence d'instructions Sinon séquence d'instructions Fin
La clause Sinon est facultative, si elle est absente, le choix ne porte que sur l’exécution d’un seul bloc d’instructions
comparaison nombre Entier Si nombre > 5 Afficher le nombre #nombre est plus grand que 5 Sinon Afficher le nombre #nombre est inférieur ou égal à 5 Fin Fin
comparaison nombre Entier Si nombre > 5 Afficher le nombre #nombre est comparé à 5 Afficher le nombre #nombre est plus grand que 5 Sinon Afficher le nombre #nombre est comparé à 5 Afficher le nombre #nombre est inférieur ou égal à 5 Fin Fin
Instruction avec conditions multiples
En respectant la syntaxe de Si comme vu précédemment Lorsque l’on doit exécuter plusieurs instructions Si Sinon on est amené à écrire
Si condition1
instruction1
Si condition2
instruction2
Si condition3
Instruction3
Sinon
instruction4
Fin
Fin
Fin
Fin
La syntaxe de langage algorithmique Schema permet une écriture plus simple
Si condition1
instruction1
condition2
instruction2
condition3
instruction3
Sinon
instruction4
Fin
Supposons que l’on veuille écrire un algorithme attribuant une appréciation à un élève en fonction de ses notes
Appréciation note entier Si note <= 5 Afficher travail Inexistant Si note > 5 ET note >= 10 Afficher travail insuffisant Si note >10 ET note <= 14 Afficher peut mieux faire Si note > 14 Et note > 16 Afficher bon travail Si note >=16 ET note < 18 Afficher très bon travail Sinon Afficher excellent travail Fin Fin Fin Fin Fin Fin
Schema en propose une autre forme, équivalente mais plus simple dont la syntaxe est:(instruction(s) signifie une ou plusieurs instruction Schema)
Si condition séquence de conditions Fin Si condition séquence de conditions Sinon séquence de conditions Fin
ou la séquence de conditions s’écrit
instruction(s) condition-1 instruction(s) condition-2 instruction(s) ... condition-n instruction(s) voir exemple Appréciation ci-dessous
Exemple
Comparaison d’un nombre Entier Si
Schema
comparaison nombre Entier Si nombre > 5 Afficher le nombre #nombre est comparé à 5 Afficher le nombre #nombre est plus grand que 5 Fin Fin
Swift
func comparaison(_ nombre: Int) {
if nombre > 5 {
print("le nombre \(nombre) est comparé à 5")
print("ke nombre \(nombre) est plus grand aue 5")
}
}
Python
def comparaison(nombre):
if nombre > 5:
print("Le nombre", nombre, "est comparé à 5")
print("Le nombre", nombre, "est plus grand que 5")
Comparaison Si Sinon nombre Entier Si
Schema
comparaison nombre Entier
Si nombre > 5
Afficher le nombre #nombre est comparé à 5
Afficher le nombre #nombre est plus grand que 5
Sinon
Afficher le nombre #nombre est comparé à 5
Afficher le nombre #nombre est inférieur ou égal à 5
Fin
Fin
Swift
func comparaison(_ nombre: Int) {
if nombre > 5 {
print("le nombre \(nombre) est comparé à 5")
print("le nombre \(nombre) est plus grand que 5")
} else {
print("le nombre \(nombre) est comparé à 5")
print("le nombre \(nombre) est inférieur ou égal à 5")
}
}
Python
def compraraison(nombre):
if nombre > 5:
print("Le nombre", nombre, "est comparé à 5")
print("Le nombre", nombre, "est plus grand que 5")
else:
print("Le nombre", nombre, "est comparé à 5")
print("Le nombre", nombre, "est inférieur ou égal à 5")
Appréciation de note
Si la note est inférieure ou égale à 5, le message « Travail inexistant » est affiché. Si la note est supérieure à 5 et inférieure ou égale à 10, le message « Travail insuffisant » est affiché. Si la note est supérieure à 10 et inférieure ou égale à 14, le message « Peut mieux faire » est affiché. Si la note est supérieure à 14 et inférieure ou égale à 16, le message « Bon travail » est affiché. Si la note est supérieure ou égale à 16 et inférieure à 18, le message « Très bon travail » est affiché. Si la note est supérieure ou égale à 18, le message « Excellent travail » est affiché.
Schema
appréciation note Entier Si note <= 5 Afficher travail Inexistant note > 5 ET note <= 10 Afficher travail insuffisant note > 10 ET note <= 14 Afficher peut mieux faire note > 14 ET note <= 16 Afficher bon travail note > 16 ET note <= 18 Afficher très bon travail Sinon Afficher excellent travail Fin Fin
Swift
func appréciation(_ note: Int) {
if note <= 5 {
print("travail Inexistant ")
} else if note > 5 && note <= 10 {
print("travail. insuffisant")
} else if note > 10 && note <= 14 {
print("peut mieux faire ")
} else if note > 14 && note <= 16 {
print("bon travail")
} else if note > 16 && note <= 18 {
print("très bon travail")
} else {
print("excellent travail")
}
}
Python
def appréciation(note):
if note <= 5:
print("Travail inexistant")
elif note > 5 and note <= 10:
print("Travail insuffisant")
elif note > 10 and note <= 14:
print("Peut mieux faire")
elif note > 14 and note <= 16:
print("Bon travail")
elif note > 16 and note <= 18:
print("Très bon travail")
else:
print("Excellent travail")
copyright A rchitectures A pplicatives A vancées A3-Soft