les sous-programmes (chap N°2)
-
Upload
moez-bouazra -
Category
Documents
-
view
215 -
download
0
Transcript of les sous-programmes (chap N°2)
-
8/2/2019 les sous-programmes (chap N2)
1/3
I. Introduction :1. Activit 1
Soit la liste des modules appliquer sur les chanes : VALEUR, SOUCHAINE, EFFACE,
CONVCH, CONCAT, POSITION, INSERE, LONG.Question : Sur combien de catgories on peut classer les lments de cette liste ?
Rponse : Les modules appliqus sur les chanes sont classs en deux catgories :
Fonctions Procdures
Souschaine Valeur
Concat Efface
Position Insre
Long Convch
2. Dfinition :
Un sous-programme est un module qui peut tre soit une fonction ou une procdure.
Un sous programme est un module contenant un ensemble dinstructions destin a
effectu une tche bien dtermine.II. les fonctions :
1. Activit 1
Ecrire un programme intitul moyenne qui calcule et affiche la moyenne de trois
notes N1, N2, N3 des coefficients respectifs 1, 2 et 2.2. Dfinition :
Une fonction est un sous-programme qui permet de retourner un seul rsultat de typesimple (entier, rel, caractre, chane, boolen).
Une fonction ne retourne jamais un tableau.3. Syntaxe :
a) Analyse:
DEF FNNom_ fonction (liste_paramtres_formels : types) : type_fonction
RsultatRsultat == Nom _fonction rsultat
actionN
actionN-1
action2
action1
b) Dans lalgorithme
0) DEF FNNom_ fonction (liste_paramtres_formels : types) : type_fonction
1) action1
2) action2
3)
n) action_n
n+1) Nom_fonction rsultat
n+2 ) fin Nom_ fonction.
c) En pascal
Function Nom_fonction (liste_paramtres_formels : types ) : type_fonction
Page 1
L.S.jemmel Anne Scolaire 2010/2011
-
8/2/2019 les sous-programmes (chap N2)
2/3
Var listes_objets_locaux : leurs types ;
Begin
action1 ;
action2 ;
.
action n-1 ;
action n ;Nom_ fonction := rsultat ;
End ;
4. Appel
Une fonction peut tre appel par trois mthodes :
- Par affectation : l Long ( ch )
- Dans une procdure Ecrire : Ecrire (la longueur de ch est : , Long (ch ) )
- Dans une expression : Si long ( ch ) = 0 Alors Ecrire ( ch est une chaine vide )
Finsi
X Y + 2* Long ( ch )5. Application :
Ecrire un programme qui permet de calculer et afficher la somme des chiffres dun entier
N trois chiffres.
III. les Procdures :1. Activit :
on veut faire un programme qui permet de concatiner deux nombres entiers N1 et N2 enon veut faire un programme qui permet de concatiner deux nombres entiers N1 et N2 en
un troisime N3.un troisime N3.
exempleexemple : N1 = 345 et N2 = 98 en aura alors N3 = 34598: N1 = 345 et N2 = 98 en aura alors N3 = 34598
2. Dfinition :
Une procdure est un sous-programme qui permet de retourner zro, un ou plusieurs
rsultats de type simple ou de type compos.
3. Syntaxe :
a) Analyse:
DEF PROCNom_ Procedure (liste_paramtres_formels : types)RsultatRsultat == parametres_ rsultatss
actionN
actionN-1
action2
action1
b) Algorithme0) DEF PROCNom_ Procedure(liste_paramtres_formels : types)1) action1
2) action2
Page 2
-
8/2/2019 les sous-programmes (chap N2)
3/3
3)
n) action_n
n+1 ) fin Nom_ Procedure.
c) PascalProcedureNom_ Procedure (liste_paramtres_formels : types ) ;
Var listes_objets_locaux : leurs types ;
Begin
action1 ;action2 ;
.
action n-1 ;
action n ;
End ;
4. Application :
Ecrire un programme qui permet dinvereser les lments dun tableau (T) de 5 entiers,Ecrire un programme qui permet dinvereser les lments dun tableau (T) de 5 entiers,
puis de lafficher.puis de lafficher.
5. Passage des paramtres :Lors dun appel dune procdure, il y a un transfert des donnes entre les paramtres effectifs et les
paramtres formels, ce transfert sappelle passage des paramtres
On a deux modes de passage :
a) Passage par variable :
Le transfert des donnes se fait dans les deux sens : paramtres effectifs paramtres formels
Dans a cas, le paramtre formel est prcd par le mot rserv varToute modification des paramtres formels entrane automatiquement la modification des paramtres
effectifs correspondant
b) Passage par valeur :
Le transfert des donnes se fait dans un seul sens : paramtres effectifs paramtre formel
Toute modification des paramtres formels nentrane pas la modification des paramtres effectifs.
Page 3