Vous êtes sur la page 1sur 47

CORRECTION

CORRECTION
CORRECTION

# PROGRAMME

# Déclaration des fonctions

def first(n):
if (n%2 == 0):
return 2*n
else:
return 3*n-1

def second(L):
for i in range(len(L)):
L[i] = first(L[i])
https://pythontutor.com/ return L

# Programme principal

print(second([3,0,2]))
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟐

Python créé un « object »


correspondant à la fonction first(n)
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟑

Python créé un « object »


correspondant à la fonction second(L)
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟒

Python appelle la fonction second(L)


avec la liste [3,0,2]comme argument
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟓
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟔

Python exécute la fonction


second(L)et la première itération de la
boucle i=0
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟕

Tout en continuant à exécuter la fonction


second(L), Python appelle la fonction
first(n) avec comme argument 3 qui
correspond à L[0], l’élément d’indice 0
de la liste L, comme programmé dans
second(L)
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟖
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟗
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟎

Après avoir exécuté la fonction first(3), on


obtient Return Value de 8 , ce qui correspond
à la valeur retourné par la fonction first(3)
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟏

8, la valeur retourné par la fonction


first(3) est affectée dans la liste L
à la place de l’élément d’indice 0
précédent.

Première remarque :
Le programme va sélectionner chaque
élément de la liste L, à partir de la
fonction second(L), et les modifier
comme le propose la fonction
first(n)
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟐

Reproduction de la première phase de


programmation :
On exécute la seconde itération de la
boucle (i=1) pour poursuivre les
modification de chaque élément de la
liste
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝐗

Finalement le programme est


entièrement exécuté

Résultat :
[8, 0, 4]
CORRECTION

https://pythontutor.com/
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏

Faite vos propres commentaires


de chaque étape d’exécution de
ce programme
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟐
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟑
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟒
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟓
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟔
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟕
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟖

x : variable
globale

x : variable
locale
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟗
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟎
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟏
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟐
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟑
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟒
CORRECTION

𝐄𝐭𝐚𝐩𝐞 #𝟏𝟓
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION

n = 10 
n = 100 
n = 1 000 
n = 10 000 
n = 100 000  Convergence
n = 1 000 000 
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION
CORRECTION

Vous aimerez peut-être aussi