Вы находитесь на странице: 1из 7

Programs Algorithms & Pascal

(+216) 98 790 511

Chapitre (4)
LES SOUS-PROGRAMMES
(Fonctions & Procédures)

📌 Avant partir

🤔 chma3neha un sous-programme ?
⇒ howa programme ‫ صغرون‬hhh
3andou nafs structure mta3 programme, ya3ni 3andou:
◾ en-tête feha nom mta3ou
◾ partie déclaration des variables
◾ cœur mta3ou zeda (elli yebda entre début et fin)

⚠️ un sous-programme, ynajem ye5ou des paramètres (variables) ml


programme principale ye5dem bihom, w ynajem ybadal fihom zeda!!! oui
on va le voir après.
selon les cas, najmou na3mlou li n7ebou avec les sous-programmes et
on va voir…

Exemple
ena programme principale 3andi tableau d'entier (initialement feragh)
nab3thou l procédure t3abih.
w ba3d nab3thou l procédure o5ra ta3malli affichage.
w najem nab3thou l fonction n9olha raja3li lmax mta3ou wala moyen,
etc…

💡 Chma3neha procedure?
⇒ procédure howa programme sghir (ensembles des lignes) yetba3
programme kbir, 3andou ‫ خدمة‬ye5demhelna,
kol ma nest7a9ou l5edma hedhika, nkalmou l procédure n9ouloulha
e5dmlna l5edma:
Exemple : procedure affichage tableau

Chapitre_4: Fonctions et Procédures 1


Programs Algorithms & Pascal

(+216) 98 790 511

💡 Chma3neha retour?
⇒ retour howa selon besoin mta3k
Exemple : fonction Moyen
nab3thelha tableau fih des notes, heya te7seb w traja3li lmoyen (lmoyen
howa retour)

🔔 3andna deux types de sous-programmes :


🔘 Les Fonctions : na3tiwhom des paramètres bech ye5dmelna
5edma, w yraj3elna un résultat en RETOUR
🔘 Les Procédures : na3tiwhom des paramètres bch ye5dmelna
5edma, mais sans retour (ma yraj3oulna chay)

💡 w 3leh nesta3mlou les sous-programmes ?


⇒ kif yebda 3andna programme twil w fih des modules yet3awdou (kima
saisie, affichage,…) , n9assmou l5edma:
◾bch yebda l programme bien organisé
◾gagner du temps et éviter les redondances (programmer avec le
minimum de lignes)
◾ki bch tarja3 tbadel fl programme, tbadel ken fl module li 7ajtek bih
ya3ni maghir ma tdour 3la programme kemk

🛡️ Exemple:
pour le remplissage d'un tableau T de taille N par exemple :
pour i de 1 à N faire
écrire(“saisir l élément num°”, i)
lire(T[i])
fin pour

tawa supposons 3andi 3 tableau T1, T2 et T3 kolhom bch n3abihom


⇒ lezemni n3awed l bloc li en bleu pour les 3 tableaux 😭😭😭

💡 Mais, en utilisant un sous-programme (procédure nommé Remplir),


kol ma nest7a9ou n3abiw tableau, n3aytou lel procédure w na3tiwha
esm tableau w nombre d'éléments mta3ou.

Chapitre_4: Fonctions et Procédures 2


Programs Algorithms & Pascal

(+216) 98 790 511

PROCEDURE Remplir(var T:tab, N:entier)


VAR i:entier
DÉBUT
pour i de 1 à N faire
écrire(“saisir l élément num°”, i)
lire(T[i])
fin pour
FIN Remplir
________________________________
{ appel en programme principal }
Remplir(T1, N1)
Remplir(T2, N2)
Remplir(T3, N3)

🛡️ Note
⇒ Le jours n7eb nbadel wala nsalla7 7aja f remplissage, nbadel kounchi
l procédure ya3ni maghir ma neb9a ndour 3lihom les tableaux bl we7d.

⚠️ Remarque
définition mta3 procédure wala fonction lezm tkoun 9bal lprogramme
principal w mouch ba3d

📌 Comment définir un sous-programme et comment faire l'appel


en programme principale ?

Chapitre_4: Fonctions et Procédures 3


Programs Algorithms & Pascal

(+216) 98 790 511

🏷️ Pour les FONCTIONS

{ structure d'une fonction }


FONCTION Nom_Fonction (param1: type, param2: type, … ) : type
retour

VAR

DÉBUT
|
| traitements…
| Nom_Fonction <— …
|
FIN FONCTION

———————————————————
{ appel en programme principal }
x <— Nom_Fonction(param1, param2, … )

Chapitre_4: Fonctions et Procédures 4


Programs Algorithms & Pascal

(+216) 98 790 511

🏷️ Pour les PROCÉDURES

{ structure d'une procédure }


PROCÉDURE Nom_Procédure (param1: type, param2: type, ... )

VAR

DÉBUT
|
| traitements…
|
FIN PROCÉDURE

———————————————————
{ appel en programme principal }
Nom_Procédure(param1, param2, … )

Chapitre_4: Fonctions et Procédures 5


Programs Algorithms & Pascal

(+216) 98 790 511

📌 Passage des paramètres

🛡️ Note
n9oulou paramètres, arguments wala variables li entre parenthèses
⇒ hedhouka des variables yeb3athhom programme principal lel fonction
wala lel procédure y9ollou e5dem bihom

💡 Type de passage des arguments


Famma 2 méthodes de passage des paramètres :

si ena na3ti l sous-programme l7a9 bech ybadel les variable li 3tithomlou


w yraja3homli mbadlin (modifiés)
⇒ wa9tha n9oulou passage par variable
wa9tha nzidou kelmet var 9bal lparam
ya3ni raw l parameter hedha par variable 3aditou

sinon, ken na3tihomlou w n9olou raja3homli kima ena 3tithomlk (ya3ni


sous-programme ma ybadalch fihom les variables)
⇒ wa9tha n9oulou passage par valeur

💡 Les différents types de paramètres

Les paramètres formels: li nal9awhom fi l’entête f déclaration mta3


sous-programme, sont utilisés dans les instructions fi wost sous-
programme seulement. n9oulou zeda variables locales.
Procedure remplir (var T: tab ; N: entier)

Les paramètres effectifs (réels) : li n7ottouhom fl programme


principale kif njiw na3mlou l’appel l sous-programme.
remplir (T1, N1)
remplir (T2, N2)
remplir (T3, N3)

Chapitre_4: Fonctions et Procédures 6


Programs Algorithms & Pascal

(+216) 98 790 511

💡 fil procédure najem nsamy les paramétre formel kima nhyb !!


ba3d il programme ybadelha haseb il hajet li 3andou !?
⇒ oui exactement 👍

fl formel samit T et N, w ba3d fl effectif


3ayetet lel procédure b T1 et N1

l procédure te5ou T=T1 w N=N1 w te5dem 3la rou7ha.

Chapitre_4: Fonctions et Procédures 7

Вам также может понравиться