CPGE Informatique MPSI / 1TSI /PCSI
Lydex – neB guerir Algorithmique et Programmation Mr L. BOUHOU
Chap II : Les instructions Alternatives
1.Definition
Un programme est une suite d'instructions exécutées par la machine. Ces instructions peuvent s'exécuter dans certains cas et pas
dans d'autres, on parle alors de structure alternative ;
Il s’agit donc d’une instruction conditionnelle (si…pour l’algorithmique, if …pour python) qui permet d’exécuter une action qui
peut être une ou plusieurs instructions (bloc d’instructions) en fonction de la valeur logique d’une condition.
2. Conditionnel Simple
Dans le cas d'un conditionnel simple, l'action composée d'une seule instruction ou de plusieurs instructions, sera exécutée ou pas
ceci dépondra de la valeur logique de la condition. Le conditionnel simple est représenté :
En algorithmique En python
Syntaxe : Syntaxe :
si (condition) alors « Instruction » ou if (condtion) : « Instruction » ou
si (condition) alors if (condtion) :
debut
…
…
Fin - condition : comparaison entre deux membres dont
- condition : comparaison entre deux membres dont l’un de ces l’un est souvent une variable et l’autre une valeur, une
deux membres, le plus souvent, est une variable et l’autre peut être autre variable u ou une expression en fonction d’autres
une valeur, une autre variable ou une expression en fonction de variables.
variables. - action: elle peut être une instruction ou un bloc
- l’action peut être une ou plusieurs instructions qui peuvent être ou d’instructions qui tiendra compte de l’alignement.
non exécutées en fonction de la condition.
Remarque:
tenir compte d’encadrer par un « debut » et un « fin » le cas
où l’action est composée de plusieurs instructions.
Certains problèmes exigent parfois de formuler des
conditions composées liées entre eux par les opérateurs
logiques suivants : ET, OU, NON, et XOR.
Condition1 ET Condition2 : VRAI, si Condition1
est VRAI et Condition2 est VRAI.
Condition1 OU Condition2 : VRAI, si Condition1
est VRAI ou bien Condition2 est VRAI.
le NON inverse une condition : NON(Condition1)
est VRAI si Condition1 est FAUX, et il sera FAUX
si Condition1 est VRAI.
Le XOR (ou OU exclusif)
- Condition1 XOR Condition2 : VRAI, si Condition1
est VRAI, ou bien Condition2 est VRAI.
- Mais si toutes les deux sont fausses, ou que toutes
les deux sont VRAI, alors le résultat global est
considéré comme FAUX.
1
CPGE Informatique MPSI / 1TSI /PCSI
Lydex – neB guerir Algorithmique et Programmation Mr L. BOUHOU
Exemple
En algorithmique En python
Cas ou l’action est une seule instruction :
Variables : NE=float(input(‘Tapez la note de l’examen Ecrit :’))
NE, NO, NTP : reals ; NO=float(input(‘Tapez la note de l’examen Oral :’))
Debut NTP=float(input(‘Tapez la note de l’examen TP :’))
Lire(NE, NO, NTP) ; M = (NE+NO+NTP)/3
M (NE+NO+NTP)/3 ; print(‘la moyenne est :’,M)
Ecrire(‘la moyenne est :’,M) ; if M>=10 : print(‘Candidat Admis’)
si M>=10 alors ecrire(‘’Candidat Admis’’)
Fin
Remarque : dans cet exemple, cas où la moyenne est inférieur à 10, l’algorithme donne, comme résultat, l’affichage, juste de
cette moyenne par contre si la moyenne est supérieur ou égale à 10, l’algorithme donne, comme résultat, l’affichage de cette
moyenne et l’affichage du commentaire ‘Candidat Admis’.
Cas ou l’action est composée de plus d’une instruction
Variables : NE=float(input(‘Tapez la note de l’examen Ecrit :’))
NE, NO, NTP : reals ; NO=float(input(‘Tapez la note de l’examen Oral :’))
Debut NTP=float(input(‘Tapez la note de l’examen TP :’))
Lire(NE, NO, NTP M = (NE+NO+NTP)/3
M (NE+NO+NTP)/3 print(‘la moyenne est :’,M)
ecrire(‘’Moyenne Generale est :’’,M) if M>=10 :
si M>=10 alors print(‘Candidat Admis’)
debut R=(NE+NO)/2
ecrire(‘’candidat admis’’) print(‘Moyenne entre l’Ecrit et l’Oral est :’,R)
R (NE+NO)/2
ecrire(‘’Moyenne Ecrit et Oral est :’’,R)
fin
Fin.
Remarque : dans cet exemple, cas où la moyenne est inférieur à 10, l’algorithme donne, comme résultat, l’affichage, juste de
cette moyenne par contre si la moyenne est supérieur ou égale à 10, l’algorithme donne, comme résultat, l’affichage de cette
moyenne et l’affichage du bloc composé du message ‘Candidat Admis’ et du commentaire ‘Moyenne entre l’Ecrit et l’Oral
est :’ en affichant la moyenne R après avoir la calculée.
2
CPGE Informatique MPSI / 1TSI /PCSI
Lydex – neB guerir Algorithmique et Programmation Mr L. BOUHOU
3. Conditionnel avec un choix parmi deux
Dans ce cas, l’instruction exécute obligatoirement une action parmi deux, jamais les deux ensembles et jamais aucune.
En algorithmique En python
Cas ou l’action est une seule instruction
Syntaxe : Syntaxe :
si « condtion » alors « Instruction 1 » ; if « condtion » : « Instruction 1 » ;
sinon « Instruction 2 » ; else : « Instruction 2 » ;
Remarque :
Tenir compte du même alignement de’ if’ et de ‘else’
Cas ou l’action est composée de plus d’une instruction
Syntaxe : if « condtion » :
si « condtion » alors
debut
…
… else :
fin
sinon …
debut
Remarque :
… Tenir compte du même alignement des instructions de chaque
bloc d’une part et d’autre part du même alignement de’ if’ et
fin de ‘else’.
Exemple
Cas ou l’action est une seule instruction
Variables : NE=float(input(‘Tapez la note de l’examen Ecrit :’))
NE, NO, NTP : reals ; NO=float(input(‘Tapez la note de l’examen Oral :’))
Debut NTP=float(input(‘Tapez la note de l’examen TP :’))
Lire(NE, NO, NTP) ; M = (NE+NO+NTP)/3
M (NE+NO+NTP)/3 ; print(‘la moyenne est :’,M)
ecrire(‘’ Moyenne Generale est :’’,M) ; if M>=10 : print(‘Candidat Admis’)
Si M>=10 alors ecrire(‘’condidat admis’’) ; else : print(‘Candidat Non Admis’)
Sinon ecrire(‘’condidat Non admis’’) ;
Fin.
3
CPGE Informatique MPSI / 1TSI /PCSI
Lydex – neB guerir Algorithmique et Programmation Mr L. BOUHOU
Cas ou l’action est composée de plus d’une instruction
Variables : NE=float(input(‘Tapez la note de l’examen Ecrit :’))
NE, NO, NTP : reals ; NO=float(input(‘Tapez la note de l’examen Oral :’))
Debut NTP=float(input(‘Tapez la note de l’examen TP :’))
Lire(NE, NO, NTP) ; M = (NE+NO+NTP)/3
M (NE+NO+NTP)/3 ; print(‘la Moyenne est :’,M)
ecrire(‘’ la Moyenne est :’’,M) ; if M>=10 :
Si M>=10 alors print(‘Candidat Admis’)
debut R (NE+NO)/2 :
ecrire(‘’condidat admis’’) ; print(‘’ Moyenne Ecrit et Oral est :’’,R) :
R (NE+NO)/2 : else :
ecrire(‘’ Moyenne Ecrit et Oral est :’’,R) : print(‘Module non validé’)
fin print(Rattrapage sera affiché ultérieurement’)
Sinon
Debut
ecrire(‘Module non validé’) ;
ecrire(‘Rattrapage sera affiché ultérieurement’) ;
fin
Fin.
4. Conditionnel avec un choix parmi Plusieurs
Parmi les instructions des actions du conditionnel avec un choix parmi deux ( vu dans le paragraphe précèdent), une instruction
peut être également une instruction conditionnelle soit dans l’action qui correspond au cas où la condition est vrai, soit dans
l’action qui correspond au cas où la condition est fausse soit dans les deux actions selon la situation à traiter .
En algorithmique En python
Syntaxe if (condtion1) :
si (condtion1) alors
debut
if (condition2) :
si (condition2) alors
debut ……
Else :
…… ……
fin
sinon …… ……
else :
……
if (condition3) :
fin
sinon
debut ……
si (condition3) alors else :
debut ……
4
CPGE Informatique MPSI / 1TSI /PCSI
Lydex – neB guerir Algorithmique et Programmation Mr L. BOUHOU
…… …
fin
sinon ……
Fin
Exemple :
En algorithmique En python
Variables : NE=float(input(‘Tapez la note de l’examen Ecrit :’))
NE, NO, NTP : reals ; NO=float(input(‘Tapez la note de l’examen Oral :’))
Debut NTP=float(input(‘Tapez la note de l’examen TP :’))
Lire(NE, NO, NTP) ; M = (NE+NO+NTP)/3
M (NE+NO+NTP)/3 ; print(‘la moyenne est :’,M)
ecrire(‘’ Moyenne Generale est :’’,M) ; if M<=10 :
si M<=10 alors print (‘’Module non validé’’)
debut if M<=5 :print(‘Module à refaire’)
ecrire(‘’Module non validé’’) ; else :print (‘’rattrapage prochainement’)
si M <=5 alors ecrire(‘Module à refaire’) else :
sinon ecrire(‘’Rattrapage, prochainement, ’’) ; print (‘’Module validé’’) ;
fin if M<12 : print(‘Mention : Passable’) ;
Sinon elif M<14 : print(‘Mention : Assez Bien’) ;
debut else : print(‘Mention : Bien’) ;
ecrire(‘’Module validé’’) ;
si M<12 alors ecrire(‘’Mention : Passable’’) ;
sinon si M<14 alors ecrire(‘’Mention : Assez Bien’’) ;
sinon ecrire(‘’Mention : Bien’’) ;
fin
Fin
Exercice 2 : Etablir un algorithme qui permet la saisi des coefficients réels a,b,c(a#0) de l’équation de la forme
(x inconnu) afin de déterminer et d’afficher la(ou les) solution(s) dans l’ensemble C de cette équation.