Vous êtes sur la page 1sur 2

Introduction lalgorithmique

Lorsque l'algorithme devient trop compliqu, il faut le dcouper, de manire ce que chaque partie soit plus simple et donc plus lisible. De mme, lorsqu'une partie de code doit tre excute plusieurs fois des endroits diffrents ou rutilise ultrieurement on pourra ne l'crire qu'une fois et lui donner un nom en en faisant une fonction ou une procdure. 1. Procdures 2. Fonction

Chapitre III : Procdures et fonctions

Une fonction est une procdure dont le but est de dterminer une valeur et de la retourner au programme appelant. Elle se dclare de la manire suivante :

Une procdure est une suite d'instructions servant raliser une tche prcise en fonction d'un certain nombre de paramtres. Ce lot d'instructions est crit une fois dans la procdure mais peut tre excute autant de fois que voulu en appelant la procdure : on aura donc une ligne de code pour excuter plusieurs instructions. De plus une procdure peut fonctionner avec des paramtres qui sont indiqus au moment de l'appel et pris en compte dans l'excution de la procdure. En LDA, une procdure est dfinie selon la syntaxe: Procdure <nom_procdure>([<liste de paramtres>]) Dbut <Dclarations des variables locales> <Instructions> Fin procdure Les paramtres sont des variables utilises par la procdure dont la valeur ne sera connue qu' l'excution du programme. Les variables dclares l'intrieur de procdure ne sont connues que dans cette procdure. Elles sont d'ailleurs nommes variables locales. Exemple : la procdure affiche n caractres 'car'. Procdure Affiche (car : Caractre, n: Entier) Dbut i est un entier Pour i de 1 n faire crire (car) fpour fproc Cette procdure attend en entre, deux paramtres pour fonctionner. Le premier de type caractre, le second de type entier. Elle sera appele par : Affiche ('*', 5) par exemple Observons que les paramtres doivent tre transmis dans l'ordre et doivent respecter le type dfini dans la procdure. Note On peut, l'intrieur d'une procdure, faire rfrence des variables qui ont t dclares avant la procdure, variables dites globales.

Exemple de fonction Fonction Max (p: Entier, q : Entier) : Entier Dbut m : Entier Si (p < q) alors mq Sinon mp ss+i Fin si Retourner m Fin fonction Cette fonction attend en entre, deux paramtres de type entier pour fonctionner. Cette fonction serait appele dans le corps d'un algorithme, par : m Max(12, 45) par exemple. Dans le langage de description d'algorithme, on peut crire les procdures et fonctions soit avant soit aprs le bloc proprement dit. 3. Passages de paramtres

Il existe deux types principaux de passages de paramtres qui permettent des usages diffrents. - Le passage par valeur VAL - Le passage par rfrence1 VAR 3.1. le passage par valeur La procdure ou la fonction ne travaille que sur une copie de la variable qui a t fournie par le programme principal, elle est incapable de modifier la valeur de celle-ci. On dit qu'un paramtre pass par valeur est un paramtre en entre. Le paramtre peut donc tre utilis qu'en lecture (en entre). 3.2.
1

On emploie parfois aussi le terme passage par adresse

http://perso.menara.ma/~abdel-ikama

A. IKAMA

Page 8

Introduction lalgorithmique 4.
le passage par rfrence La procdure ou la fonction ne recopie pas les informations envoyes par la procdure appelante, mais utilise directement la variable, puisqu'elle a accs l'adresse de la variable. Ainsi, toute modification de la valeur du paramtre par la procdure ou la fonction aura pour effet de modifier la variable correspondante dans la procdure appelante. Le paramtre peut donc tre utiliser tant en lecture (en entre) qu'en criture (en sortie). Exemple

Chapitre III : Procdures et fonctions

Lorsque le type de passage des paramtres n'est pas spcifi, nous considrons que le passage se fait par valeur.

http://perso.menara.ma/~abdel-ikama

A. IKAMA

Page 9