• Aucun résultat trouvé

algo-prog Prepa INSA 1: Exercices du cours (boucles et autres) corrigé

N/A
N/A
Protected

Academic year: 2022

Partager "algo-prog Prepa INSA 1: Exercices du cours (boucles et autres) corrigé"

Copied!
29
0
0

Texte intégral

(1)

InterrogationEcrite

3 dec 2019 - CM

(2)

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, " ")

(3)

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, " :-)")

(4)

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

(5)

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, " :-)")

(6)

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

(7)

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, " :-)")

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

Exercice rapide

• Qu'affiche cette boucle ?

Exercice

pour i de 0 à 9 faire

afficher (i," modulo 3 = ", i MOD 3) fin pour

(16)

Exercice rapide

Cette boucle affiche cela :

Exercice

pour i de 0 à 9 faire

afficher (i," % 3 = ", i MOD 3) fin pour

(17)

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

(18)

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 ?

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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 !")

(25)

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 !")

(26)

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

(27)

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)

(28)

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)

(29)

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)

Notation (sur 1)

(entouré en rouge)

correct : 1 point, sinon 0

Références

Documents relatifs

En d'autres termes, pour une quantité de chaleur Q vapeur donnée, il est probable que la température atteinte par la vapeur dans la boîte rigide sera plus élevée que dans la

Voici un algorithme qui, lorsque l’on saisit un nombre N non nul de jours écoulés, calcule et affiche la masse de gaz restant dans le système.. Recopier et compléter la

- valeur d'une variable - valeur d'une expression même nombre de paramètres (*). même ordre des paramètres (*) même type

FONCTION longSuiteTcheque(n:entier)  entier FONCTION estBissextile(an:entier)  booléen FONCTION pourcentPairTcheq(n:entier)  réel... Entêtes

Ecrire une fonction booléenne qui retourne vrai si la position (xJoueur,yJoueur) d'un joueur se situe à l'intérieur d'un terrain rectangle de largeur et longueur données en

En Python, l'instruction &#34;for&#34; répète un bloc d'instructions pour chaque valeur dans une liste donnée, dans l'ordre où elles apparaissent Exemple :. La fonction

print accepte plusieurs paramètres contenant les éléments à afficher (séparés par des virgules) ....

 var est une variable compteur de type entier (ou caractère). Elle doit être déclarée.  Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être mentionné,