sc2mosta
LE LANGAGE DE PROGRAMATION PASCAL .
 
AccueilPortailGalerieFAQRechercherS’enregistrerConnexion
Derniers sujets
» NOTES EMD2 SUITE
Lun 1 Sep - 20:03 par Anonymous

» Notes EMD2
Lun 1 Sep - 19:59 par Anonymous

» TD NO 04
Ven 30 Mai - 2:23 par Anonymous

» SUJET EMD2 ET CORRECTIONS + NOTES
Mar 27 Mai - 14:48 par Admin

» cours numéro 12
Lun 26 Mai - 20:46 par Anonymous

» NOTES EMD1
Lun 26 Mai - 12:36 par Anonymous

» TD NO 03
Ven 16 Mai - 22:54 par Anonymous

» cours numéro 04
Jeu 1 Mai - 13:36 par Anonymous

» cours numéro 06
Mar 29 Avr - 12:49 par Anonymous

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Partenaires
Rechercher
 


 Résultats par :
 
Rechercher Recherche avancée
cours numéro 10
Dim 16 Mar - 18:09 par Admin
Quatrième pas dans Pascal: Les Procédures et Les Fonctions

1) Introduction:


Pascal, ainsi que la majorité des langages de programmation, donne la possibi1ité de découper un programme en plusieurs parties (nommées souvent «modules »). Cette «programmation modulaire» se justifie pour différentes raisons :

*Dès qu'un programme dépasse une ou deux pages de texte, il devient difficile de le comprendre, et ainsi d'assurer sa maintenance (correction d'erreurs, modification, mise à jour).
Une écriture modulaire permet de diviser le programme en plusieurs parties fonctionnelles et de regrouper dans le «programme principal» les instructions qui décrivent l'enchaînement. Cette notion de découpage peut ensuite être appliqué à chacune des parties (modules) du Programme
ce qui permet d'avoir affaire toujours à des modules très simples qu'il est facile d’isoler et de réutiliser .

*La programmation modulaire permet d'éviter des Séquences d'instructions répétitives. En particulier, la notion d'argument permet de « paramétrer » les modules.

2) Notion de Procédure et de fonction :

Pascal permet la manipulation de deux types de modules: les procédures et les fonctions. Nous avons déjà eu l'occasion d'utiliser des « fonctions prédéfinies» telle que «ord, pred, succ, sqr ». Cette notion de fonction est très proche de la notion de fonction mathématique. Une fonction possède généralement un ou plusieurs arguments et elle fournit un résultat. Le corps d'une fonction à la même structure que le corps de tout programme Pascal.

La procédure peut être considéré comme une généralisation de la notion de fonction. Elle possède généralement des arguments et peut retourner un ou plusieurs résultats, ou même aucun. Pascal intègre un nombre très important de procédures, nous pouvons citer « read, write ».
Nous pouvons dire qu'en général une fonction permet de réaliser un calcul et une procédure permet de réaliser une action.

3) Une première procédure :

Pour illustrer cette notion de procédure nous allons traiter un premier exemple dans lequel il s’agit de réduire une fraction A/B (A et B sont des entiers). Rappelons que cette réduction consiste à calculer le plus grand diviseur commun des entiers A et B puis de les diviser par ce diviseur. Pour cela nous allons écrire une procédure réduction qui se chargera de la réduction.

Le programme principal se chargera de la lecture des données et de l’affichage des résultats.

Remarque :
*Le corps de la procédure est écrit dans la section de déclaration de procédures et fonctions
(après la section de déclaration de variables).
*L'exécution du programme débute toujours à la première instruction exécutable du programme principal.
*L'appel d'une procédure consiste à écrire sont nom au début d'une instruction.
*L'exécution de la procédure « Reduction » (ou d’une fonction) n'a lieu que lors de l'appel de celle-ci dans le programme principal.
*Après l'exécution d'une procédure, l'exécution reprend à l'instruction qui suit de la procédure.

Program PremiereProcedure;
Var
A, B, X, y : Integer ; (*Variables globales*)
Procedure Reduction;
Var
D: Integer; (*Variable locale à la procédure Reduction *)
Begin
(*Copie de A et B dans X et Y*)
X:=A;
Y:=B;
(* Calcul du PGCD de X et Y )
Repeat
D:=X mod Y;
X:=Y;
Y:=D
Until D=0;
(* Réduction de la fraction A/B*)
A := A div X;
B := B div X
End; (* Fin de la procédure Réduction *)
Begin (*Début du programme principal*)
Writeln (‘Donner la fraction A/B :') ;
Readln (A, B) ; (* Appel de la procédure Reduction*)
Reduction ;
(* Affichage du résultat *)
Writeln(‘La réduction de la fraction A/B a donné : ‘, A, '/’, B) ;
End. (* Fin du programme principal *)

4) Notion de variable locale et de variable globale :

Une procédure (ou une fonction) a la même structure qu'un programme Pascal. En particulier, elle contient, généralement, sa propre section de déclaration de variables. Dans cet exemple, les variables « A, B, X, y » sont des variables globales et la variable «D» est une variable locale à la procédure « Reduction ». D’une manière générale, les variables (locales et g1obales) obéissent aux règles suivantes :
* Une procédure ou fonction peut utiliser toutes les variables déclarées dans le programme
Principal (variables globales) et peut aussi contenir ses propres déclarations de variables (variables locales).
* La durée de vie d'une variable locale débute à l'instant où la procédure (ou fonction) est appelée et se termine quand l'exécution du corps de la procédure est achevée, alors que la durée de vie d'une variable globale commence au début de l'exécution du programme et se termine quand l'exécution du programme est totalement achevée.
* Une variable locale est une variable propre au bloc (procédure ou fonction) dan laquelle est définie et il est incorrect de l’utiliser en dehors de ce bloc. Ce bloc constitue la « portée » de cette variable.
* Lorsqu’une variable locale porte le même nom qu’une variable globale l'utilisation de ce nom de variable à l’intérieur de la procédure implique qu’il s’agit de la variable locale.

Commentaires: 0
Sondage
Forum
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Utilisateurs enregistrés : Aucun


[ Voir toute la liste ]

Le record du nombre d’utilisateurs en ligne est de 5 le Lun 26 Mai - 20:41
Statistiques
Nous avons 16 membres enregistrés
L’utilisateur enregistré le plus récent est HAKIKI MUSTAPHA YACINE

Nos membres ont posté un total de 58 messages dans 21 sujets