• 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

- 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) ....

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

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

 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é,