Vous êtes sur la page 1sur 13

SOUS-PROGRAMMES

PARTIE 1 : CONCEPTS
- Introduction
- Notion d’un sous programme
- Déclaration, Appel, Paramètres …
- Procédures : déclaration et appel
- Fonctions : déclaration et appel
- Paramètres formelles et effectifs.
- Passage/Transmission de paramètres

Réalisé par : OUZEGGANE Redouane


Département de Technologie
Faculté de Technologie – Université A.Mira, Bejaia
Année Universitaire 2015/2016
INTRODUCTION
Cnk = n! / (k! * (n-k)!)
Program Calcul_Combinaisons;
Uses wincrt; {Calculer n!}
Var n, k, c : integer; nf, kf, nkf : integer; nf := 1;
Begin For i:=2 to n do
{Entrées} nf := nf * i;
Lire(n, k)
{Traitement} {Calculer k!}
kf := 1;
{Trt 1}
For i:=2 to k do
{Trt 2} kf := kf * i;
{Trt 3}
c := nf / (kf * nkf); {Calculer (n-k)!}
nkf := 1;
{Sorties}
For i:=2 to (n-k) do
Ecrire(c);
nkf := nkf * i;
End.

1ère Année Technologie Année Universitaire


01/12 : 2015/2016
PROBLÈME
Presque le même code a été répété 3 fois : calcul du factoriel
(Les données uniquement qui changent)
{Calculer n!} {Calculer k!} {Calculer (n-k)!}
nf := 1; kf := 1; nkf := 1;
For i:=2 to n do For i:=2 to k do For i:=2 to (n-k) do
nf := nf * i; kf := kf * i; nkf := nkf * i;

Comment écrire le code du factoriel une seul fois et l’exécuter


autant de fois qu’on veut ?

Sous-programme

1ère Année Technologie Année Universitaire


02/12 : 2015/2016
SOUS-PROGRAMME
Données d’Entrée
(Paramètres) Défini dans un programme
plus grand (Souvent c’est le
programme Principal)

Séquence Déclaration
Sous-
d’instructions Appel
programme (Traitement)

En PASCAL :
- Procédures
Données de sortie
- Fonctions
(Paramètres)

1ère Année Technologie Année Universitaire


03/12 : 2015/2016
STRUCTURE DU PROGRAMME
PRINCIPAL
Entête
Nom du programme, bibliothèques.

Déclaration
- Constantes
- Types
Programme - Variables
- Etiquètes
Principal - Sous-programmes

Corps du programme (Instruction)


- Lecture, Ecriture
- Affectation
- Structures de contrôle (if, for, while,
repeat, goto, case)
- Appel au sous programme

1ère Année Technologie Année Universitaire


04/12 : 2015/2016
STRUCTURE D’UN SOUS-PROGRAMME
Entête
Nom, paramètres (formels).

Déclaration
- Constantes
- Types
- Variables
Sous-programme - Etiquètes
- Sous-programmes (à éviter)

Corps du sous-programme(Instruction)
- Lecture, Ecriture (à éviter)
- Affectation
- Structures de contrôle (if, for, while,
repeat, goto, case)
- Appel au sous programme

1ère Année Technologie Année Universitaire


05/12 : 2015/2016
APPEL À UN SOUS-PROGRAMME
Programme
principal
Données
-Constantes Données Sous-programme
-Variables Globales
Données
Instructions -Paramètres Paramètres
&
Instruction-01 -Constantes Données
Instruction-02 -Variables Locales
Instruction-03 sion de
Transmis (s) Instructions
e
… paramètr
)
… (Effectifs Instruction-01
Instruction-i
Appel à SP Instruction-02
… …
Retour de Instruction-M
… ré sultat(s)

Instruction-N

1ère Année Technologie Année Universitaire


06/12 : 2015/2016
APPEL À UN SOUS-PROGRAMME
Remarques

 Lors d’appel à un sous-programme, c’est possible de transmettre


des données : paramètres en entrée.

 Lorsque l’exécution du sous-programme est terminée, c’est


possible de retourner des données (résultats) : paramètres en
sortie.

 Le programme principal attend la fin d’exécution du sous-


programme.

1ère Année Technologie Année Universitaire


07/12 : 2015/2016
APPEL À UN SOUS-PROGRAMME
Remarques

 Le sous-programme possède, éventuellement, des données


locales.

 Les sous-programme peut accéder aux données du programme


principal (données globales – Pratique déconseillée et à éviter
 Autonomie du S.P.)

 Le sous-programme, dans une bonne pratique, utilise uniquement


les données locales ainsi que ses paramètres (entrée/sortie) 
S.P. Autonome.

1ère Année Technologie Année Universitaire


08/12 : 2015/2016
APPEL À UN SOUS-PROGRAMME
Remarques

 Les paramètres utilisés lors de la définition (déclaration) d’un


sous-programmes sont dits : paramètres formels.

 Les paramètres utilisés lors de l’appel à un programme sont dits :


paramètres effectifs.

 Il y a deux types de paramètres : paramètres d’entrées (les valeurs


à transmettre au S.P.) et paramètres de sorties (les résultats à
récupérer).

1ère Année Technologie Année Universitaire


09/12 : 2015/2016
DÉCOMPOSITION - MODULARITÉ

Problème
So
lu ti o
n

Décomposition
Programme
Principal

Petit-Problème 1 Petit-Problème 2 Petit-Problème 3


Solution

Solution

Solution
Sous-programme 1 Sous-programme 2 Sous-programme 3

1ère Année Technologie Année Universitaire


10/12 : 2015/2016
DÉCOMPOSITION - MODULARITÉ

Transm
iss
param ion de
Programme ètre(s)

Principal
Sous-programme 1
Résultat
Tr aram
an
p
sm ètre
ta t

iss (s)
su l

io n

de

Transmission de
paramètre(s)
Sous-programme 2
Sous-programme 3
Résultat

1ère Année Technologie Année Universitaire


11/12 : 2015/2016
RÉSUMÉ

 Un Sous-programme est une suite d’instructions, possédant un


nom unique (identificateur), et qui réalisent un traitement
spécifique et qui utilisent des données locales ainsi que des
paramètres.
 Pour communiquer avec un sous-programme, des paramètres
sont définis pour ce dernier. Ce sont les paramètres formels
 Lors de l’appel à un sous-programme, des paramètres sont
transmis : paramètres effectifs.
 Lors de l’appel à un sous-programme, il y a deux types de
paramètres : paramètres d’entrées et les paramètres de sortie.

1ère Année Technologie Année Universitaire


12/12 : 2015/2016