i- introduction ii- les procédures 1- activité 2- syntaxe 3- remarques 4- types de paramètres 5-...

10
I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe 3- Remarques

Upload: evariste-joly

Post on 03-Apr-2015

102 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

I- Introduction II- Les procédures

1- Activité2- Syntaxe3- Remarques4- Types de paramètres5- Types de passage

III- Les Fonctions1- Activité2- Syntaxe3- Remarques

Page 2: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

I- Introduction

Un programme complexe est souvent composé

d’un ensemble de tâches distinctes. Il est donc

préférable de présenter ces tâches en plusieurs

modules ou sous programmes, c’est l’analyse

modulaire.

Un sous programme peut être une procédure ou

une fonction.

Page 3: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

II- Les procédures

1-Activité :

Ecrire une analyse d’un programme qui permet

de multiplier tous les éléments d’un tableau T

de N entiers ( N compris entre 0 et 50) par

l’élément d’indice K du même tableau T

(K<=N). N,T et K seront saisie par l’utilisateur.

Page 4: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

Analyse :

Nom = MULTIPLICATION

S L.D.E O.U

5

4

3

2

1

6

Résultat = AffAff = [] pour i de 1 à N répéter écrire (t[i]) Fin pour************************************************T= [nb T[k]] pour i de 1 à N répéter T[i] t[i]*nb Fin pour************************************************T= [] pour i de 1 à n répéter t[i]=donnée Fin PourK=[] répéter k= donnée (« saisir l’indice k ») jusqu’à ( k dans [1..N])N = []répéter N= donnée (« saisir la dimension du tableau : ») jusqu’à (N dans [1..50])Fin MULTIPLICATION

N, i, T

K, nb

Page 5: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

T.D.ON, K, nb, i : entiersT:tableau de 50 entiers

Remarque : On peut diviser notre programme en trois modules : Lecture, Calcul et affichage

2- Définition :

Les procédures sont des modules ou sous programmes qui peuvent avoir plusieurs résultats

Page 6: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

Nom = Multiplication

S L.D.E O.U

3214

Résultat = affAff = Proc Affichage (N,T)Proc calcul (N,K,T)Proc lecture (N,K,T)Fin Multiplication

AffichageNT

CalculK, Lecture

Grille d’analyse du programme principal

Tableau de déclaration des objets GlobauxN,K :EntiersT : tabAffichage, Calcul, Lecture : Procédure

Page 7: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

Analyse des modules

DEF PROC Lecture (var n, k : entier ; var T: tab)

S L.D.E O.U

3

2

1

4

Résultat = lecLec = T= [] pour i de 1 à n répéter t[i]=donnée Fin PourK=[] répéter k= donnée (« saisir l’indice k ») jusqu’à ( k dans [1..N])N = []répéter N= donnée (« saisir la dimension du tableau : ») jusqu’à (N dans [1..50])Fin Lecture

i

Tableau de déclaration des objets locaux : i : entier

Page 8: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

DEF Proc Calcul (n , K :entier ; var T :Tab)

S L.D.E O.U

1

2

Résultat = calcCalc = T= [nb T[k]] pour i de 1 à N répéter T[i] t[i]*nb Fin pourFin Calcul

Nb, i

Tableau de déclaration des objets locaux : nb, i : entier

DEF Proc Affichage ( n :entier; T:tab)

S L.D.E O.U

1

2

Résultat = affAff = [] pour i de 1 à N répéter écrire (t[i]) Fin pourFin affichage

i

Tableau de déclaration des objets locaux : i : entier

Page 9: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

3- Syntaxe : Au niveau de l’algorithme :

0) Def Proc Nom_proc(paramètres formels)

1)……………..

…………..

N) Fin Nom_procAu Niveau du Pascal :

Procedure nom_proc (paramétres formels)

Var ……….{déclaration des variables locales}

Begin……….

End;

4- Remarques : Tout objet déclaré au niveau du programme principal est appelé objet

global. Tout objet déclaré au niveau des sous programmes est appelé objet

Local Les objets globaux sont reconnus par tous les modules, contrairement

aux objets locaux, ils ne sont reconnus qu’au niveau du sous programme qu’il les contient

Les procédures Lecture, Affichage et Calcul sont dites appelées. Le programme Principal est dit appelant.

Page 10: I- Introduction II- Les procédures 1- Activité 2- Syntaxe 3- Remarques 4- Types de paramètres 5- Types de passage III- Les Fonctions 1- Activité 2- Syntaxe

L’entête d’une procédure contient son nom suivi de la liste des paramètres. Pour

chaqu’un on doit définir son type et son mode de passage.

5- Les types de paramètres : Il existe deux types de paramètres : paramètres formels définis dans l’entête de la

procédure, et les paramètres effectifs définis lors de son appel.

Déclaration : def proc Affichage (n: entier; T:tab)

Appel : Proc affichage(n, T)

Lors de l’appel les paramètres formels seront remplacés par les paramètres

effectifs

Les paramètres effectifs et les paramètres formels doivent s’accorder au point de

vue type, ordre et nombre.

6- Types de passage :

Un paramètre formel peut être passer par valeur ou par variable .

Un paramètre formel est passé par valeur lorsque le module appelant envoie des

informations à la procédure. Programme appelant procédure

Un paramètre formel est passé par variable lorsque le module appelant envoie des

informations à la procédure et inversement. Programme appelant procédure