Discussion verrouillée 
Tutoriel 11 : structure d'un programme Python
28-06-2017, 11:48 PM
Message : #1
Rainbow Tutoriel 11 : structure d'un programme Python
<< Tutoriel précédent QCM >>

Nous avons vu qu'on peut importer un module (c'est-à-dire un ensemble de fonctions prédéfinies (déjà écrites))
par exemple le module math qui contient la fonction sqrt
(ces fonctions n'apparaissent pas dans nos programmes car en important un module, ces fonctions sont reconnues par Python)

Nous avons vu aussi qu'on peut définir des fonctions
à l'intérieur d'un programme


L'utilisation de fonctions permet :
• de faciliter la lecture des programmes

(et donc de déceler plus facilement les bugs d'un programme surtout quand celui-ci contient beaucoup d'instructions...)
• d'éviter de recopier plusieurs fois un groupe d'instructions semblables

Voilà le même programme :
> sans utiliser de fonction
[Image: pytuto500.png]

> en utilisant une fonction roll
[Image: pytuto503.png]

> On pourrait aussi inclure l'affichage de "l'image de ... est" dans la fonction..! :cool:
[Image: pytuto501.png]

> Ou écrire une fonction (qui ne renvoie rien)
mais se contente d'afficher les résultats...
[Image: pytuto504.png]

> même affichage
[Image: pytuto502.png]

On voit maintenant apparaître la structure d'un programme Python hoho
Importation des modules
Définition des fonctions
Programme principal

Que fait donc Python quand on exécute ce programme ?
Il exécute les instructions dans l'ordre en commençant au début

Voilà les 14 instructions exécutées
début du programme
ligne 8 : rien à faire (un commentaire)
ligne 9 (importation du module math)
ligne 10 : rien à faire
ligne 11 : rien à faire (un commentaire)
ligne 12 : rien à faire (une définition de fonction)
ligne 13 : rien à faire (une définition de fonction)
ligne 14 : rien à faire (une définition de fonction)
ligne 15 : rien à faire
ligne 16 : rien à faire (un commentaire)

ligne 17 (affichage de texte)
ligne 18 (affichage de texte et appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 5)
ligne 13 (y prend la valeur 2sqrt(5) + 1 = = 5.47213595499958 )
ligne 14 (5.47213595499958 est renvoyé et s'affiche)

ligne 19 (affichage de texte et appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 6)
ligne 13 (y prend la valeur 2sqrt(6) + 1 = 5.898979485566356)
ligne 14 (5.898979485566356 est renvoyé et s'affiche)

ligne 20 (affichage de texte et appel de la fonction fct)
ligne 12 (exécution de la fonction fct en remplaçant son paramètre x par 7)
ligne 13 (y prend la valeur 2sqrt(7) + 1 = 6.291502622129181)
ligne 14 (6.291502622129181 est renvoyé et s'affiche)

fin du programme

Les instructions lignes 12, 13 et 14 sont exécutées 3 fois

Au début, la machine n'exécute pas les lignes 12, 13 et 14
Python n'exécute les fonctions que quand elles sont appelées dans le programme principal

Finalement, nous faisons exactement la même chose.. devant un exercice de maths..!
Exemple
# définition de la fonction
Soit f la fonction définie par f(x) = 2 √x + 1

# questions
1) calculer f(5)
2) calculer f(6)
3) calculer f(7)

Que fait-on..?
On lit l'énoncé (rien à faire)
On répond à la question 1) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 5 (en écrivant les calculs et le résultat)
On répond à la question 2) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 6 (en écrivant les calculs et le résultat)
On répond à la question 3) (en écrivant sur le cahier ce qu'il faut faire)
On exécute la fonction f en remplaçant x par 7 (en écrivant les calculs et le résultat)

hoho


Une fonction peut être vue comme un sous-programme
qui s'exécute quand le programme principal l'appelle


Et comme une fonction est indépendante du programme principal
on pourra l'utiliser (si besoin) dans un futur programme
good

D'ailleurs, on représente graphiquement les programmes principaux et les fonctions par des algorigrammes séparés..!
Exemple roll

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
28-06-2017, 11:48 PM
Message : #2
Tutoriel 11 : structure d'un programme Python
<< Tutoriel précédent QCM >>

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Return to top
Discussion verrouillée