Lyc´ee Benjamin Franklin PTSI 2012-2013
D. Blotti`ere Algorithmique
TD n˚3
Instruction conditionnelle
1. Un premier exemple d’algorithme utilisant une instruction conditionnelle
On se donne un nombre r´eel xet on consid`ere l’algorithme suivant.
Algorithme 1
1 Si ( ( x > 1 ) et ( x < 1 ) ) Alors
2 Afficher ( ”Bonjour !” )
3 Fin de Si
Question 1
1. On suppose que x=0,7. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 1.
2. On suppose que x= 3. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 1.
3. Expliquer le r´esultat obtenu lorsque l’on ex´ecute l’algorithme 1, lorsque xest un r´eel quelconque.
4. Par quelle chaˆıne de caract`eres serait-il plus pertinent de remplacer la chaˆıne de caract`eres ”Bonjour !”
dans l’algorithme 1 ?
2. Un deuxi`eme exemple d’algorithme utilisant une instruction conditionnelle
On se donne trois nombres : aR,bRet cR.
On d´efinit une variable Delta destin´ee `a contenir des nombres r´eels et on consid`ere l’algorithme suivant.
Algorithme 2
1Delta b24ac
2
3 Si ( Delta < 0 ) Alors
4 Afficher ( ”Neptune” )
5 Sinon
6 Afficher ( ”Saturne” )
7 Fin de Si
Question 2
1. On suppose que (a, b, c) = (2,3,1). Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 2.
2. On suppose que (a, b, c) = (1,1,1). Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 2.
3. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 2 pour un triplet (a, b, c)R×R×Rquelconque.
4. Par quelles chaˆınes de caract`eres serait-il pertinent de remplacer les chaˆınes de caract`eres ”Neptune” et
”Saturne” dans l’algorithme 2 ?
1
3. Un exemple d’algorithme utilisant deux instructions conditionnelles imbriqu´ees
On se donne un nombre r´eel xet on consid`ere l’algorithme suivant.
Algorithme 3
1 Si ( x23x+ 2 = 0 ) Alors
2 Afficher ( ”Zeus” )
3 Sinon
4 Si ( x27x+ 12 = 0 ) Alors
5 Afficher ( ”H´era”)
6 Sinon
7 Afficher ( ”Pos´eidon”)
8 Fin de Si
9 Fin de Si
Question 3
1. On suppose que x= 2. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 3.
2. On suppose que x= 3. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 3.
3. On suppose que x= 0. Expliquer, ligne apr`es ligne, l’ex´ecution de l’algorithme 3.
3. Expliquer le r´esultat obtenu lorsque l’on ex´ecute l’algorithme 3, lorsque xest un r´eel quelconque.
4. Par quelles chaˆınes de caract`eres serait-il pertinent de remplacer les chaˆınes de caract`eres ”Zeus”, ”H´era”
et ”Pos´eidon” dans l’algorithme 3 ?
On utilisera le mot ”racine” dans chacune des trois nouvelles chaˆınes de caract`eres propos´ees.
4. Qu’est-ce qu’une instruction conditionnelle ?
De fa¸con grossi`ere , une instruction conditionnelle est une instruction qui est ex´ecut´ee si une certaine condi-
tion est satisfaite.
Par exemple, dans l’algorithme 1 l’instruction
Afficher ( ”Bonjour !” )
est ex´ecut´ee, si le nombre xv´erifie la condition
( ( x > 1 ) et ( x < 1 ) )
est v´erifi´ee.
De fa¸con plus pr´ecise une instruction conditionnelle a la structure (plus riche) suivante
Structure d’une instruction conditionnelle
Si ( condition ) Alors
bloc d’instructions n˚1
Sinon
bloc d’instructions n˚2
Fin de Si
2
o`u
condition est une expression de type bool´een (i.e. ayant la valeur 1 (vrai) ou 0 (faux) ) ;
bloc d’instructions n˚1 est un bloc d’instructions qui sera ex´ecut´e si la condition est vraie (i.e. vaut 1) ;
bloc d’instructions n˚2 est un bloc d’instructions qui sera ex´ecut´e si la condition est fausse (i.e. vaut 0).
L’algorithme 2 fournit un exemple d’une telle structure.
Remarque
1. La partie de l’instruction conditionnelle
Sinon
bloc d’instructions n˚2
est optionnelle. On peut donc l’omettre. Dans ce cas l’instruction conditionnelle a la structure suivante.
Structure d’une instruction conditionnelle sans partie Sinon
Si ( condition ) Alors
bloc d’instructions n˚1
Fin de Si
Le bloc d’instructions n˚1 est toujours ex´ecut´e si la condition est vraie, mais dans le cas contraire, le bloc
d’instructions n˚1 est simplement ignor´e et l’ex´ecution de l’algorithme reprend apr`es Fin de Si.
Cette structure all´eg´ee de l’instruction conditionnelle co¨ıncide avec la d´efinition grossi`ere donn´ee au
d´ebut de la partie 4. (cf. aussi algorithme 1).
2. On peut imbriquer l’une dans l’autre des instructions conditionnelles, comme dans la structure suivante.
Une structure avec des instructions conditionnelles imbriqu´ees
Si ( condition A ) Alors
bloc d’instructions n˚1
Sinon
Si ( condition B ) Alors
bloc d’instructions n˚2
Sinon
bloc d’instructions n˚3
Fin de Si
Fin de Si
Nous avons vu un tel exemple de structure dans l’algorithme 3.
3
5. Exercices
Exercice 12
Soit x0un nombre r´eel. ´
Ecrire un algorithme qui affiche ”racine” si x0est solution de l’´equation
x3x24x+ 4 = 0
d’inconnue xR.
Exercice 13
On consid`ere le relev´e de notes d’un examen
Mati`eres Math´ematiques Physique Chimie SI ou SVT LV1 LV2 Philosophie EPS
Coefficients 7 6 6 3 2 3 2
Notes sur 20 m pc s l1l2p e
o`u les lettres m,pc,s,l1,l2,p,ed´esignent les diff´erentes notes d’un ´el`eve donn´e. Un ´el`eve est re¸cu s’il obtient
au moins une moyenne de 10. ´
Ecrire un algorithme qui affiche ”re¸cu” si l’´el`eve est re¸cu et ”ajourn´e” sinon.
Exercice 14
Soit nun nombre entier repr´esentant l’ˆage d’un homme. ´
Ecrire un algorithme qui affiche ”majeur” si l’homme
est majeur et ”mineur” si l’homme est mineur.
Exercice 15
Soient (a, b, c)R×R×R.
´
Ecrire un algorithme qui affiche le nombre de solution(s) de l’´equation :
ax2+bx +c= 0
d’inconnue xR.On pourra modifier l’agorithme 2.
Exercice 16
Soient (a, b, c)R3.
´
Ecrire un algorithme qui affiche le nombre de solution(s) de l’´equation :
ax +b=c
d’inconnue xR.
On commencera par faire une analyse math´ematique du probl`eme.
Exercice 17
On se place `a nouveau dans la situation d´ecrite dans l’exercice 13. ´
Ecrire un algorithme qui affiche :
”ajourn´e” si la moyenne est inf´erieure strictement `a 10 ;
”re¸cu avec la mention P” si la moyenne est sup´erieure `a 10 et inf´erieure strictement `a 12 ;
”re¸cu avec la mention AB” si la moyenne est sup´erieure `a 12 et inf´erieure strictement `a 14 ;
”re¸cu avec la mention B” si la moyenne est sup´erieure `a 14 et inf´erieure strictement `a 16 ;
”re¸cu avec la mention TB” si la moyenne est sup´erieure `a 16 et inf´erieure strictement `a 18 ;
”re¸cu avec la mention F´elicitations du Jury” si la moyenne est sup´erieure `a 18.
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !