InterrogationEcrite
3 dec 2019 - CM
Saisie d'un nom "correct"
Le nom est correct s'il comporte au moins deux caractères.
variables : nom : chaine de caractères nomOK : booléen (vrai si nom correct) Programme :
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom svp") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " ")
Combien d'instructions
contient ce programme ?
sans compter le détail des instructions complexes
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom svp") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Combien d'instructions
contient ce programme ?
sans compter le détail des instructions complexes
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Correction : 3
instructions
Notation
(entouré en rouge)
3: 1 point,
sinon 0
Combien d'affectations
contient ce programme ?
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Combien d'affectations
contient ce programme ?
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Correction : 2
affectations
Notation
(entouré en rouge)
2: 1 point,
sinon 0
Combien d'expressions (évaluées)
contient ce programme ?
essayer de les compter toutes …
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Combien d'expressions (évaluées)
contient ce programme ?
essayer de les compter toutes …
nomOK faux
tant que nomOK =? faux
afficher("entrez votre nom") saisir nom
si longueur(nom) < 2 alors afficher ("erreur")
sinon
nomOK vrai finsi
finTantQue
afficher ("Merci ", nom, " :-)")
Correction : 14 … expressions
Notation
(entouré en rouge)
>6: 1 point,
sinon 0
A vous de tester !
Valeurs saisies
a = 2 b = 3
a = 5 b = 3
a = -9 b = 9
a = -9 b = -18 Affichage
obtenu
Exercice
Variables : a, b : entiers Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("D1") Sinon
afficher ("D2") Fin Si
Fin Si
afficher ("D3") Test D
A vous de tester !
Valeurs saisies
a = 2 b = 3
a = 5 b = 3
a = -9 b = 9
a = -9 b = -18 Affichage
obtenu
D1 D3
D2 D3
D3 D3
Exercice
Variables : a, b : entiers Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("D1") Sinon
afficher ("D2") Fin Si
Fin Si
afficher ("D3") Test D
A vous de tester !
Valeurs saisies
a = 2 b = 3
a = 5 b = 3
a = -9 b = 9
a = -9 b = -18 Affichage
obtenu
D1 D3
D2 D3
D3 D3
Exercice
Variables : a, b : entiers Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("D1") Sinon
afficher ("D2") Fin Si
Fin Si
afficher ("D3") Test D
Notation
(entouré en rouge)
tout correct : 1
point, sinon 0
Exercice
saisies a= 2 ,b= 3 a= 5, b= 3 a=-9, b= 9 a= -9, b= -18 Affichage
obtenu
Variables : a, b : réels Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("F1") Sinon
afficher ("F2") Fin Si
Sinon
si a < b Alors
afficher ("F3") Sinon
afficher ("F4") Fin Si
Fin Si
afficher ("F5") Test F
Exercice
saisies a= 2 ,b= 3 a= 5, b= 3 a=-9, b= 9 a= -9, b= -18 Affichage
obtenu
F1 F5
F2 F5
F3 F5
F4 F5
Variables : a, b : réels Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("F1") Sinon
afficher ("F2") Fin Si
Sinon
si a < b Alors
afficher ("F3") Sinon
afficher ("F4") Fin Si
Fin Si
afficher ("F5") Test F
Exercice
saisies a= 2 ,b= 3 a= 5, b= 3 a=-9, b= 9 a= -9, b= -18 Affichage
obtenu
F1 F5
F2 F5
F3 F5
F4 F5
Variables : a, b : réels Saisir(a)
Saisir(b)
Si a > 0 Alors
si a < b Alors
afficher ("F1") Sinon
afficher ("F2") Fin Si
Sinon
si a < b Alors
afficher ("F3") Sinon
afficher ("F4") Fin Si
Fin Si
afficher ("F5") Test F
Notation
(entouré en rouge)
tout correct : 1
point, sinon 0
Exercice rapide
• Qu'affiche cette boucle ?
Exercice
pour i de 0 à 9 faire
afficher (i," modulo 3 = ", i MOD 3) fin pour
Exercice rapide
Cette boucle affiche cela :
Exercice
pour i de 0 à 9 faire
afficher (i," % 3 = ", i MOD 3) fin pour
Exercice rapide
Cette boucle affiche cela :
Exercice
pour i de 0 à 9 faire
afficher (i," % 3 = ", i MOD 3) fin pour
Notation
(entouré en rouge) affichage correct :
1 point, sinon 0
Exercice
Boucle A
afficher ("entrez un nombre svp") saisir a
Tant que a < 5
afficher (" ok !") fin tant que
afficher ("fini !")
• Qu'affiche cette boucle ?
Exercice
afficher ("entrez un nombre svp") saisir a
Tant que a < 5
afficher (" ok !") fin tant que
afficher ("fini !")
Correction :
Aucune instruction dans la boucle ne peut
modifier la valeur de a, donc la valeur de la condition a < 5 ne change jamais :
- si a < 5 est vrai
boucle infinie : affiche ok ! indéfiniment - si a >= 5 (la condition est fausse)
l'affichage de "ok !" n'est jamais exécuté
Boucle A
Exercice
afficher ("entrez un nombre svp") saisir a
Tant que a < 5
afficher (" ok !") fin tant que
afficher ("fini !") afficher ("entrez un nombre svp") je saisis la valeur 3
la condition 3<5 est évaluée à vraie afficher (" ok !")
la condition 3<5 est évaluée à vraie afficher (" ok !")
la condition 3<5 est évaluée à vraie afficher (" ok !")
la condition 3<5 est évaluée à vraie afficher (" ok !")
Cas
d'exécution N° 1 :
Boucle A
Exercice
afficher ("entrez un nombre svp") saisir a
Tant que a < 5
afficher (" ok !") fin tant que
afficher ("fini !") afficher ("entrez un nombre svp") je saisis la valeur 12
la condition 12<5 est évaluée à faux afficher ("fini !")
Cas
d'exécution N° 2 :
Boucle A
Exercice
afficher ("entrez un nombre svp") saisir a
Tant que a < 5
afficher (" ok !") fin tant que
afficher ("fini !")
Boucle A
Notation
(entouré en rouge) vous avez décrit l'un des 2 cas :
(boucle infinie ou bien on n'entre pas dans la boucle)
1 point, sinon 0
Exercice
Boucle A revue
afficher ("entrez des nombres < 5 svp") saisir a
Tant que a < 5
afficher (" ok !")
afficher ("nombre suivant svp") saisir a
fin tant que
afficher ("fini !")
• Qu'affiche cette boucle ?
• Décrivez un cas d'exécution de cette boucle
Exercice
boucle B :
Cette boucle est elle correcte ? si non, expliquez et corrigez
but : saisir un bombre positif programme :
Tant que n >= 0
afficher ("Entrez un nb positif") saisir n
fin tant que
afficher ("Merci !")
Exercice
boucle B
on ne sait pas la valeur de n avant
la condition est inversée :
tant qu'on entre une valeur positive, on redemande de saisir alors qu'on voudrait s'arréter !
Retenez : TANT QUE + condition de poursuite de la boucle
but : saisir un bombre positif programme :
Tant que n >= 0
afficher ("Entrez un nb positif") saisir n
fin tant que
afficher ("Merci !")
Exercice
boucle B
but : saisir un bombre positif programme :
Tant que n >= 0
afficher ("Entrez un nb positif") saisir n
fin tant que
afficher ("Merci !")
Notation (sur 2) (entouré en rouge)
pb 1 : on ne sait pas la valeur de n avant : 1 point, sinon 0
pb 2 : la condition ne correspond
pas au but : 1 point, sinon 0
Exercice
boucle C :
Cette boucle est elle correcte ? si non, expliquez et corrigez
score 0 rep 'o'
Tant que (rep =? 'o') et (score < 10) score score + jouerUnePartie() afficher("veux-tu rejouer (o/n)") saisir rep
fin tant que
afficher ("Voila ton score : ",score)
Exercice
Boucle C
C'est correct
Tant que la réponse vaut 'o'
et que le score est inférieur à 10, on joue une partie
puis on demande à l'utilisateur s'il veut rejouer
score 0 rep 'o'
Tant que (rep =? 'o') et (score < 10) score score + jouerUnePartie() afficher("veux-tu rejouer (o/n)") saisir rep
fin tant que
afficher ("Voila ton score : ",score)
Exercice
Boucle C
score 0 rep 'o'
Tant que (rep =? 'o') et (score < 10) score score + jouerUnePartie() afficher("veux-tu rejouer (o/n)") saisir rep
fin tant que
afficher ("Voila ton score : ",score)