Informatique

Question

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

1 Réponse

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