👤

Bonjour pouvez-vous m’aider s’il vous plaît merci beaucoup d’avance !

Pour chacun des programmes suivants, dire quelle valeur prend la
variable a, b, c et d après exécution du programme.

Bonjour Pouvezvous Maider Sil Vous Plaît Merci Beaucoup Davance Pour Chacun Des Programmes Suivants Dire Quelle Valeur Prend Lavariable A B C Et D Après Exécuti class=

Sagot :

Réponse :

Explications :

Bonjour,

il suffit de faire tourner le programme à la main :

for k in range(2): cela signifie que k va prendre la valeur 0 puis la valeur 1

si K = 0 : on a :

a = a*b+k = 1 *0 + 0 = 0

b= b-a = 0 - 0 = 0

c= c*(b-1) = 2 * ( 0 - 1) = -2

d= d+c = -1 -2 = -3

si K = 1 : on a :

a = a*b*k = 1 *0 + 1 = 1

b= b-a = 0 - 1 = -1

c= c*(b-1) = -2 * ( -1 - 1) = 4

d= d+c = -3 +4 = 1

while d <3: la vérification de la condition se fait après l'instruction donc cela signifie que la boucle se fait jusqu'à ce que d >= 3 après l'instruction

au départ k=0

1ere boucle :

a = a*b+k = 1 *0 + 0 = 0

b= b-a = 0 - 0 = 0

c= c*(b-1) = 2 * ( 0 - 1) = -2

d= d+c = -1 -2 = -3

k=k+1 = 0+1 =1

2ieme boucle :

a = a*b+k = 1 *0 + 1 = 1

b= b-a = 0 - 1 = -1

c= c*(b-1) = -2 * ( -1 - 1) = 4

d= d+c = -3 + 4 = 1

k=k+1 = 1 + 1 = 2

3ieme boucle :

a = a*b+k = 1 *- 1  + 2 = 1

b= b-a = -1 - 1 = -2

c= c*(b-1) = 4 * ( -2 - 1) = -12

d= d+c = 1 -12 = -11

k=k+1 = 2 + 1 = 3

4ieme boucle :  

normalement c'est la dernière et je vous laisse faire les calculs !!?

Remarque :

les 2 boucles sont identiques puisque le compteur k de "for" se retrouve dans le "while"

donc si vous faites "for k in range(5): c'est dire pour k=0 a k = 4 inclus" vous retrouvez les mêmes résultats.

© 2024 IDNLearn. All rights reserved.