Vous êtes sur la page 1sur 21

FACULTE DES SCIENCES AIN CHOCK ‫عي الشق‬ ‫كلية العلوم ن‬

‫ن‬
UNIVERSITE HASSAN II DE CASABLANCA ‫الثان بالدار البيضاء‬
‫ي‬ ‫جامعة الحسن‬

Algorithmique
INITIATION À L’ALGORITHMIQUE

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 1


Procédures & fonctions

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 2


Les sous-programmes
• En algorithmique, il est possible de décomposer le programme qui résout un problème en des
sous-programmes qui résolvent des sous parties du problème initial.
• Ceci permettra d’améliorer la conception du programme et ainsi sa lisibilité.
• L’utilisation des sous-programmes s’avère utile aussi dans le cas où on constate qu’une suite
d’actions va se répéter plusieurs fois.
• Il existe deux types de sous-programmes les procédures et fonctions.

Les procédures et les fonctions sont des blocs de code réutilisables qui effectuent une
tâche spécifique.
La principale différence entre les deux réside dans le fait que les fonctions renvoient une
valeur, tandis que les procédures n'en renvoient généralement pas.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 3


Les sous-programmes
• Un sous-programme est obligatoirement caractérisé par un nom (un identifiant) unique.
• Le nom d’un sous-programme comme le nom d’une variable doit commencer obligatoirement
par une lettre. Il peut contenir des chiffres à l’intérieur.
• Le programme qui utilise un sous- programme est appelé programme appelant.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 4


Les sous-programmes
Intérêt:
• Ne pas dupliquer du code.
• Offrir une meilleure lisibilité car le lecteur peut comprendre ce que fait un sous-programme,
uniquement à la lecture de son nom, sans avoir à déchiffrer du code.
• Partager le développement entre différentes équipes.
• Construire des bibliothèques de fonctions/procédures pour réutiliser ce qui a déjà été fait.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 5


Les procédures

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 6


Les procédures
• Une procédure est un ensemble d’instructions regroupées sous un nom pour effectuer une
tâche spécifique.
• Elle permet d’effectuer des actions par un simple appel de la procédure dans un algorithme ou
dans un autre sous-algorithme.
• Elle peut être appelée à partir d'autres parties du programme, mais elle ne renvoie
généralement pas de valeur.
• Une procédure est souvent utilisée pour diviser un programme en blocs plus petits et plus
gérables.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 7


Les procédures
Définition de la procédure :
• Une procédure peut être définie n'importe où, à l'extérieur d'un algorithme.
• La définition de la procédure se compose de :
• son en-tête qui comprend :
• son identificateur
• la liste de ses paramètres (paramètres formels) et leur type

• Des déclarations locales (constantes ou variables) : les constantes ou variables locales ne sont
connues que le temps de l'exécution de la procédure.
• Les instructions qui calculent son résultat

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 8


Les procédures
Définition de la procédure :
Liste des paramètres
Syntaxe
procédure nom_proc(par1 : type, … , parN: type)

Variable var1 : type


var2 : type Déclarations locales

Début
Instruction1
Instruction2 Corps de la procédure

Fin Procédure

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 9


Les procédures
Appel de la procédure :
• Pour déclencher l'exécution d'une procédure dans un programme, il suffit de l'appeler.
• La procédure est appelée depuis un algorithme principal, ou depuis une autre procédure, là où
les instructions qu'elle renferme doivent être exécutées.
• 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.
• 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.
Syntaxe

nom_proc(par1, … , parN)

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 10


Les procédures
Exemples : Procédure qui affiche un message

Définition de la procédure Appel de la procédure


procédure afficherMsg() Algorithme ProgPrincipal

DEBUT DEBUT

ecrire("Bonjour tout le monde!") afficherMsg()

FIN Procédure Fin

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 11


Les procédures
Exemples : Procédure qui affiche la somme de 2 entiers

Définition de la procédure
procédure afficheSomme(a: entier, b: entier)
variable s : entier Appel de la procédure
DEBUT Algorithme ProgPrincipal
variable a, b : entier
s <- a+b DEBUT
ecrire("La somme est", s)
ecrire("Entrez le premier nombre")
FIN Procédure lire(a)
ecrire("Entrez le deuxième nombre")
lire(b)
afficheSomme(a, b)

Fin
AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 12
Les procédures
Exercice d’application:
Écrire une procédure qui permet d'afficher si un nombre entier passé en paramètre est pair ou
impair.

procédure parite(nb: entier)


DEBUT
Si nb mod 2 = 0 Alors
ecrire("Pair")
Sinon
ecrire("Impair")
Finsi

FIN Procédure

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 13


Les fonctions

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 14


Les fonctions
• Les fonctions sont des sous algorithmes admettant des paramètres et retournant un seul
résultat (une seule valeur) de type simple.
• La valeur retournée peut apparaître dans une expression, dans une comparaison, à la droite
d’une affectation, etc.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 15


Les fonctions
Définition de la 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.

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 16


Les fonctions
Définition de la fonction : Liste des paramètres

Syntaxe
fonction nom_fonc(par1 : type, … , parN: type): type

Variable var1 : type


var2 : type
Déclarations locales
Début
Instruction1
Instruction2 Corps de la fonction

Retourner Expression

Fin fonction
AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 17
Les fonctions
Appel de la fonction :
• Pour exécuter une fonction, il suffit de faire appel à elle en écrivant son nom suivie des
paramètres effectifs.
• 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.

Syntaxe

nom_fonc(par1, … , parN)

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 18


Les fonctions
Exemples : Fonction qui retourne la somme de 2 entiers

Définition de la fonction
fonction sommeEntiers(a: entier, b: entier): entier
variable s : entier
DEBUT

s <- a+b
retourner s

FIN fonction

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 19


Les fonctions
Exemples : Fonction qui retourne la somme de 2 entiers

Définition de la fonction
fonction sommeEntiers(a: entier, b: entier): entier
variable s : entier
DEBUT Appel de la fonction
Algorithme ProgPrincipal
s <- a+b variable a, b, s : entier
retourner s DEBUT
ecrire("Entrez le premier nombre")
FIN fonction lire(a)
ecrire("Entrez le deuxième nombre")
lire(b)
s <- sommeEntiers(a, b)
ecrire("La somme est:" , s)

Fin
AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 20
Les fonctions
Exercice d’application:
• Écrivez une fonction pour calculer la moyenne de trois nombres.
• La fonction devrait prendre trois paramètres en entrée, effectuer le calcul de la moyenne, et
renvoyer le résultat.

fonction moyenne(n1: entier, n2: entier, n3: entier): entier


variable s,m : entier
DEBUT

s <- n1+n2+n3
m <- s/3
retourner m

FIN fonction

AZBEG KEBIRA - ALGORITHMIQUE - 2023/2024 21

Vous aimerez peut-être aussi