sc2mosta

LE LANGAGE DE PROGRAMMATION PASCAL .
 
AccueilPortailCalendrierGalerieFAQRechercherMembresGroupesS'enregistrerConnexion
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Derniers sujets
» NOTE EMD1 + EMD2+ DS + RAT. 2010-2011
Dim 18 Sep - 13:58 par maachou mohamed

» TD NO 02
Mer 14 Sep - 18:12 par BENYAMINA MOHAMED RABEH

» cours numéro 03
Mer 14 Sep - 15:19 par belhocine faycal.g1

» cours numéro 02
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 01
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 06
Mar 13 Sep - 18:19 par BENYAMINA MOHAMED RABEH

» cours numéro 04
Mar 13 Sep - 18:18 par BENYAMINA MOHAMED RABEH

» pascal en arabe
Mar 13 Sep - 18:18 par BENYAMINA MOHAMED RABEH

» cours numéro 08
Mar 13 Sep - 18:17 par BENYAMINA MOHAMED RABEH

Marque-page social
Conservez et partagez l’adresse de sc2mosta sur votre site de social bookmarking
Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Forum
Partenaires
Forum gratuit



Tchat Blablaland
Autopassion.net le site dédié à l'automobile créé par ses utilisateurs
Partagez | 
 

 cours numéro 10

Aller en bas 
Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
AuteurMessage
Admin
Admin
avatar

Messages : 23
Points : 39
Réputation : 16
Date d'inscription : 15/03/2008
Age : 57
Localisation : MOSTAGANEM

MessageSujet: cours numéro 10   Dim 16 Mar - 19:09

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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sc2mosta.forums-actifs.com
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 10   Sam 30 Jan - 16:11

bendref belkacem g2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 10   Sam 30 Jan - 16:12

bendref belkacem g2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 10   Sam 30 Jan - 16:12

bendref belkacem g2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 10   Sam 30 Jan - 16:14

bonne journée!!! silent
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
zoubida



Messages : 33
Points : 39
Réputation : 0
Date d'inscription : 25/11/2009

MessageSujet: HI   Lun 1 Fév - 10:54

bnj prof c bouhkoudmi zoubida G 03
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DJAKMINE ABDELFATEH



Messages : 112
Points : 117
Réputation : 0
Date d'inscription : 05/01/2010
Age : 30
Localisation : mostaganem

MessageSujet: Re: cours numéro 10   Lun 1 Fév - 13:16

BNJ PROF C DJAKMINE ABDELFATEH G 04
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kadri is
Invité



MessageSujet: mostamerci   Lun 1 Fév - 17:53

merci beaucoup prof.kadri G05
Revenir en haut Aller en bas
berrezou
Invité



MessageSujet: Re: cours numéro 10   Mar 2 Fév - 17:10

salut prof je suis de g02.
Revenir en haut Aller en bas
CHERFAOU
Invité



MessageSujet: salam   Mar 2 Fév - 17:47

slt c cherfaoui fouzia G03
Revenir en haut Aller en bas
CHERFAOU
Invité



MessageSujet: slt   Mar 2 Fév - 17:55

cherfaoui fouzia G03
Revenir en haut Aller en bas
b yassin
Invité



MessageSujet: slt   Mar 2 Fév - 18:37

boubegra yassine g03
Revenir en haut Aller en bas
med sekf
Invité



MessageSujet: slt   Mar 2 Fév - 19:09

j suis sekfal mohamed g 07
Revenir en haut Aller en bas
Benalioua Yahya

avatar

Messages : 71
Points : 139
Réputation : 1
Date d'inscription : 28/01/2010

MessageSujet: Re: cours numéro 10   Mar 2 Fév - 19:20

bonne journée cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DJAKMINE ABDELFATEH



Messages : 112
Points : 117
Réputation : 0
Date d'inscription : 05/01/2010
Age : 30
Localisation : mostaganem

MessageSujet: Re: cours numéro 10   Mar 2 Fév - 21:49

SLT PROF C DJAKMINE ABDELFATEH G04
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
*tima*
Invité



MessageSujet: salutation   Mar 2 Fév - 22:02

salut monsieur; c'est Benhalima fatima zahra groupe 2
Revenir en haut Aller en bas
DAOUD HINDA G 4



Messages : 24
Points : 26
Réputation : 0
Date d'inscription : 31/01/2010

MessageSujet: re   Mar 2 Fév - 22:09

bonne révision les amis (daoud hinda g 4) lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bouziane Mohamed

avatar

Messages : 107
Points : 167
Réputation : 0
Date d'inscription : 15/01/2010
Age : 28
Localisation : Oued Rhiou

MessageSujet: Re: cours numéro 10   Mar 2 Fév - 22:17

salut ,merci MONSIEUR
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
b yassin
Invité



MessageSujet: slllllt   Jeu 4 Fév - 17:15

boubegra yassine g03 bom
Revenir en haut Aller en bas
CHERFAOU
Invité



MessageSujet: salam   Jeu 4 Fév - 17:28

salut merci monsieur
cherfaoui fouziade G03
Revenir en haut Aller en bas
CHERFAOU
Invité



MessageSujet: salam   Jeu 4 Fév - 17:32

salut merci monsieur
cherfaoui fouziade G03
Revenir en haut Aller en bas
*tima*
Invité



MessageSujet: slt   Jeu 4 Fév - 19:19

salut att.;
benhalima fatima zahra gn 02
Revenir en haut Aller en bas
kacher

avatar

Messages : 57
Points : 100
Réputation : 0
Date d'inscription : 07/12/2009
Localisation : Mostaganem

MessageSujet: Salut!   Jeu 4 Fév - 19:21

Slt; c'est KACHER de groupe "05"
Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bendref Belkacem



Messages : 41
Points : 58
Réputation : 0
Date d'inscription : 16/11/2009

MessageSujet: Re: cours numéro 10   Sam 6 Fév - 14:04

bendref belkacem g2
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bouzidi
Invité



MessageSujet: slm   Dim 7 Fév - 18:32

je ss de groupe03
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: cours numéro 10   

Revenir en haut Aller en bas
 
cours numéro 10
Revenir en haut 
Page 1 sur 10Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Suivant
 Sujets similaires
-
» Ouvrir un fichier dans Mapsource sans effacer les données en cours?
» Problème sur l'arret en cours
» Cours ImageReady
» Cours par ChatBox - Samedi 19 Janvier 2013
» Des cours de InDesign ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
sc2mosta :: cours-
Sauter vers: