0% ont trouvé ce document utile (0 vote)
53 vues31 pages

CH 5

Ce document présente le chapitre 5 d'un cours sur l'algorithmique et la programmation en Python, axé sur les procédures et les fonctions. Il explique la nécessité de décomposer les algorithmes complexes en sous-algorithmes, ainsi que la déclaration, l'appel et le passage de paramètres pour les procédures et les fonctions. Des exemples pratiques illustrent la déclaration et l'utilisation de ces concepts dans des algorithmes.

Transféré par

hafsasidsolutions
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
53 vues31 pages

CH 5

Ce document présente le chapitre 5 d'un cours sur l'algorithmique et la programmation en Python, axé sur les procédures et les fonctions. Il explique la nécessité de décomposer les algorithmes complexes en sous-algorithmes, ainsi que la déclaration, l'appel et le passage de paramètres pour les procédures et les fonctions. Des exemples pratiques illustrent la déclaration et l'utilisation de ces concepts dans des algorithmes.

Transféré par

hafsasidsolutions
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours d’Algorithmique et programmation en Python 1 / 31

Chapitre 5 : Procédures et fonctions

Prof. Assma Azeroual

Faculté des Sciences Agadir


Université Ibnou Zohr

2024 / 2025
Cours d’Algorithmique et programmation en Python 2 / 31
Introduction

Summary

1 Introduction

2 Les procédures

3 Les fonctions
Cours d’Algorithmique et programmation en Python 3 / 31
Introduction

Introduction

Lorsque l’on progresse dans la conception d’un


algorithme, ce dernier peut prendre une taille et une
complexité croissante. De même des séquences
d’instructions peuvent se répéter à plusieurs endroits.
Un algorithme écrit d’un seul tenant devient difficile à
comprendre et à gérer dès qu’il dépasse deux pages.
La solution consiste alors à découper l’algorithme en
plusieurs parties plus petites. Ces parties sont appellées
des sous-algorithmes.
Cours d’Algorithmique et programmation en Python 4 / 31
Introduction

Introduction

Le sous-algorithme est écrit séparément du corps de


l’algorithme principal et sera appelé par celui-ci quand ceci
sera nécessaire.
Il existe deux sortes de sous-algorithmes : les procédures
et les fonctions.
Cours d’Algorithmique et programmation en Python 5 / 31
Les procédures

Summary

1 Introduction

2 Les procédures
Déclaration d’une procédure
L’appel d’une procédure
Passage de paramètres
Passage par référence ou par adresse

3 Les fonctions
Cours d’Algorithmique et programmation en Python 6 / 31
Les procédures

Les procédures

Une procédure est une série d’instructions regroupées


sous un nom, qui permet d’effectuer des actions par un
simple appel de la procédure dans un algorithme ou dans
un autre sous-algorithme.
Une procédure renvoie plusieurs valeurs ou aucune valeur.
Cours d’Algorithmique et programmation en Python 7 / 31
Les procédures
Déclaration d’une procédure

Déclaration d’une procédure

Syntaxe :
PROCÉDURE nom_proc(liste de paramètres)
VARIABLES identificateurs : type
DÉBUT
Instruction(s)
FINPROC

Après le nom de la procédure, il faut donner la liste des


paramètres (s’il y en a) avec leur type respectif. Ces
paramètres sont appelés paramètres formels. Leur valeur
n’est pas connue lors de la création de la procédure.
Cours d’Algorithmique et programmation en Python 8 / 31
Les procédures
Déclaration d’une procédure

Exemple

Exemple :
Ecrire une procédure qui affiche à l’écran une ligne de 15
étoiles puis passe à la ligne suivante.
Cours d’Algorithmique et programmation en Python 9 / 31
Les procédures
Déclaration d’une procédure

Solution

PROCÉDURE Etoiles()
VARIABLES i : ENTIER
DÉBUT
POUR i DE 1 À 15 FAIRE
ÉCRIRE("*")
FINPOUR
ÉCRIRE("\n")
FINPROC
Cours d’Algorithmique et programmation en Python 10 / 31
Les procédures
L’appel d’une procédure

L’appel d’une procédure

Pour déclencher l’exécution d’une procédure dans un


programme, il suffit de l’appeler.
L’appel de procédure s’écrit en mettant le nom de la
procédure, puis la liste des paramètres, séparés par des
virgules.
A l’appel d’une procédure, le programme interrompt son
déroulement normal, exécute les instructions de la
procédure, puis retourne au programme appelant et
exécute l’instruction suivante.
Cours d’Algorithmique et programmation en Python 11 / 31
Les procédures
L’appel d’une procédure

L’appel d’une procédure

Syntaxe:
Nom_proc(liste de paramètres)
Les paramètres utilisées lors de l’appel d’une procédure sont
appelés paramètres effectifs. Ces paramètres donneront
leurs valeurs aux paramètres formels.
Cours d’Algorithmique et programmation en Python 12 / 31
Les procédures
L’appel d’une procédure

Exemple

En utilisant la procédure Etoiles déclarée dans l’exemple


précédent, écrire un algorithme permettant de dessiner un
carré d’étoiles de 15 lignes et de 15 colonnes.
Solution
ALGORITHME Carré_Etoile
VARIABLES j : ENTIER

PROCÉDURE Etoiles()
VARIABLES i : ENTIER
DÉBUT
POUR i DE 1 À 15 FAIRE
ÉCRIRE("*")
FINPOUR
ÉCRIRE("\n")
FINPROC

DÉBUT
POUR j DE 1 À 15 FAIRE
Etoiles()
FINPOUR
FIN
Cours d’Algorithmique et programmation en Python 14 / 31
Les procédures
L’appel d’une procédure

Remarques

Pour exécuter un algorithme qui contient des procédures


et des fonctions, il faut commencer l’exécution à partir de
la partie principale (algorithme principal).
Lors de la conception d’un algorithme deux aspects
apparaissent :
la définition (déclaration) de la procédure ou fonction;
l’appel de la procédure ou fonction au sein de l’algorithme
principal.
Cours d’Algorithmique et programmation en Python 15 / 31
Les procédures
Passage de paramètres

Les échanges d’informations entre une procédure et le


sous algorithme appelant se font par l’intermédiaire de
paramètres.
Il existe deux principaux types de passages de paramètres
qui permettent des usages différents :
Passage par valeur;
Passage par référence ou par adresse.
Cours d’Algorithmique et programmation en Python 16 / 31
Les procédures
Passage de paramètres

Passage par valeurs

Dans ce type de passage, le paramètre formel reçoit


uniquement une copie de la valeur du paramètre effectif. La
valeur du paramètre effectif ne sera jamais modifiée.
Cours d’Algorithmique et programmation en Python 17 / 31
Les procédures
Passage de paramètres

Exemple
ALGORITHME Passage_par_valeur
VARIABLES N : ENTIER

PROCÉDURE P1(A : ENTIER)


DÉBUT
A ← A * 2
ÉCRIRE(A)
FINPROC

DÉBUT
N ← 5
P1(N)
ECRIRE(N)
FIN
Cours d’Algorithmique et programmation en Python 18 / 31
Les procédures
Passage de paramètres

Exemple

Cet algorithme définit une procédure P1 pour laquelle on


utilise le passage de paramètres par valeur.
Lors de l’appel de la procédure, la valeur du paramètre
effectif N est recopiée dans le paramètre formel A. La
procédure effectue alors le traitement et affiche la valeur
de la variable A, dans ce cas 10.
Après l’appel de la procédure, l’algorithme affiche la valeur
de la variable N dans ce cas 5.
La procédure ne modifie pas le paramètre qui est passé par
valeur.
Cours d’Algorithmique et programmation en Python 19 / 31
Les procédures
Passage par référence ou par adresse

Passage par référence ou par adresse

Dans ce type de passage, la procédure utilise l’adresse du


paramètre effectif. Lorsqu’on utilise l’adresse du paramètre, on
accède directement à son contenu. La valeur de la variable
effectif sera donc modifiée.

Les paramètres passés par adresse sont précédés du mot clé


VAR.
Cours d’Algorithmique et programmation en Python 20 / 31
Les procédures
Passage par référence ou par adresse

Exemple
ALGORITHME Passage_par_référence
VARIABLES N : ENTIER

PROCÉDURE P1(VAR A : ENTIER)


DÉBUT
A ← A * 2
ÉCRIRE(A)
FINPROC

DÉBUT
N ← 5
P1(N)
ECRIRE(N)
FIN
Cours d’Algorithmique et programmation en Python 21 / 31
Les procédures
Passage par référence ou par adresse

Exemple

A l’exécution de la procédure, l’instruction Ecrire (A)


permet d’afficher à l’écran 10. Au retour dans l’algorithme
principal, l’instruction Ecrire (N) affiche également 10.
Dans cet algorithme le paramètre passé correspond à la
référence (adresse) de la variable N. Elle est donc
modifiée par l’instruction :
A ← A*2
Remarque
Lorsqu’il y a plusieurs paramètres dans la définition d’une
procédure, il faut absolument qu’il y en ait le même nombre à
l’appel et que l’ordre soit respecté.
Cours d’Algorithmique et programmation en Python 22 / 31
Les fonctions

Summary

1 Introduction

2 Les procédures

3 Les fonctions
Déclaration d’une fonction
L’appel d’une fonction
Cours d’Algorithmique et programmation en Python 23 / 31
Les fonctions

Les fonctions

Les fonctions sont des sous algorithmes admettant des


paramètres et retournant un seul résultat (une seule valeur) de
type simple qui peut apparaître dans une expression, dans une
comparaison, à la droite d’une affectation, etc.
Cours d’Algorithmique et programmation en Python 24 / 31
Les fonctions
Déclaration d’une fonction

Déclaration d’une fonction

Syntaxe
FONCTION nom_Fonct(liste de paramètres) :
type
VARIABLES identificateurs : type
DÉBUT
Instruction(s)
RETOURNER Expression
FINFONCT
Cours d’Algorithmique et programmation en Python 25 / 31
Les fonctions
Déclaration d’une fonction

La syntaxe de la déclaration d’une fonction est assez


proche de celle d’une procédure à laquelle on ajoute un
type qui représente le type de la valeur retournée par la
fonction et une instruction RETOURNER Expression.
Cette dernière instruction renvoie au programme appelant
le résultat de l’expression placée à la suite du mot clé
Retourner.
Remarque
Les paramètres sont facultatifs, mais s’il n’y a pas de
paramètres, les parenthèses doivent rester présentes.
Cours d’Algorithmique et programmation en Python 26 / 31
Les fonctions
Déclaration d’une fonction

Exemple

Définir une fonction qui renvoie le plus grand de deux nombres


différents.
Cours d’Algorithmique et programmation en Python 27 / 31
Les fonctions
Déclaration d’une fonction

Solution

FONCTION Max( X : RÉEL, Y : RÉEL) : RÉEL


DÉBUT
SI ( X > Y ) ALORS
RETOURNER X
SINON
RETOURNER Y
FINSI
FINFONCT
Cours d’Algorithmique et programmation en Python 28 / 31
Les fonctions
L’appel d’une fonction

L’appel d’une fonction

Pour exécuter une fonction, il suffit de faire appel à elle en


écrivant son nom suivie des paramètres effectifs. C’est la
même syntaxe qu’une procédure.
A la différence d’une procédure, la fonction retourne une
valeur. L’appel d’une fonction pourra donc être utilisé dans
une instruction (affichage, affectation, ...) qui utilise sa
valeur.
Cours d’Algorithmique et programmation en Python 29 / 31
Les fonctions
L’appel d’une fonction

Syntaxe

Nom_Fonc(liste de paramètres)

Exemple
Ecrire un algorithme appelant, utilisant la fonction Max de
l’exemple précédent.
Solution
ALGORITHME Appel_fonction_Max
VARIABLES A, B, M : RÉEL
FONCTION Max( X : RÉEL, Y : RÉEL) : RÉEL
DÉBUT
SI ( X > Y ) ALORS
RETOURNER X
SINON
RETOURNER Y
FINSI
FINFONCT
DÉBUT
ÉCRIRE("Donnez la valeur de A")
LIRE(A)
ÉCRIRE("Donnez la valeur de B")
LIRE(B)
M ← Max(A,B)
ÉCRIRE("Le plus grand des deux nombres est:", M)
FIN
Cours d’Algorithmique et programmation en Python 31 / 31
Les fonctions
L’appel d’une fonction

Chapitre 06 : Procédures et fonctions. Prof. Omar El kharki et Mme


Jamila Mechbouh

Vous aimerez peut-être aussi