La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.

Présentations similaires


Présentation au sujet: "1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation."— Transcription de la présentation:

1 1 Deust @mrl Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation

2 2 Procédures rappel : les procédures générées automatiquement exécutées sur évènement ou sur appel explicite pourquoi définir des procédures répartir les tâches diviser la difficulté regrouper les instructions d’une même étape

3 3 Définition de procédure en-tête; déclarations internes; begin instructions end; en-tête : Procedure nomprocédure(paramètres);

4 4 Paramètres ils représentent les données et/ou résultats on dit aussi arguments formels les types doivent déjà exister 3 catégories de transmission : a) valeur b) adresse c) constante

5 5 Déclarations internes déclaration de constantes, types et variables, comme déclarations déjà rencontrées ce sont des noms utilisables uniquement par la procédure : locaux si un nom identique est défini en dehors, il est invisible par la procédure

6 6 Instructions les mêmes qu’ailleurs : affectation, si, boucles,... le nom de la procédure ne contient pas de valeur par contre, l’utilisation de son nom à l’intérieur d’une procédure la relance ! c’est la récursivité

7 7 Utilisation d’une procédure une instruction complète pour faire appel : nomprocédure(paramètres)... les paramètres fournis sont appelés arguments effectifs ce sont les valeurs transmises à la procédure constantes ou variables ou expressions et/ou les résultats renvoyés par la procédure variables uniquement (adresse transmise)

8 8 Exemple complet clic sur bouton Traitement : Calculs de 2 suite de valeurs (abscisses et ordonnées de points) Extrêmes des abscisses, Extrêmes des ordonnées

9 9 Déclarations globales const NbMax=200; type TValeurs=array[1..NbMax] of real; On pourra “remplir” jusqu’à 200 éléments dans les variables de type TValeurs éventuellement moins, pas plus, numérotés de 1 à 200 on peut utiliser NbMax pour limiter plus loin…

10 10 procedure Calculs(Var V1,V2 :Tvaleurs ; Nb :integer) ; var n :integer ; begin for n :=1 to Nb do begin V1[n] :={expression de calcul pour chaque valeur de V1} V2[n] :={expression de calcul pour chaque valeur de V2} end ; procedure Tform1.bnTraitementClick(Sender : Tobject) ; var X,Y :Tvaleurs ; Xmin,Xmax,Ymin,Ymax :real ; begin Calculs(X,Y,200) ;

11 11 Scénario d’exécution de bnTraitementClick Lancement de Calculs L'adresse de X est transmise pour que V1 soit logé au même endroit que X Idem pour Y : V2 occupe la même zone que Y Par contre Nb occupe une nouvelle zone qui lui est propre

12 12 procedure MinMax(Const V :Tvaleurs ;Nb :Integer ; Var Vmin,Vmax :real) ; var n :integer ; begin Vmin :=V[1] ; Vmax :=V[1] ; for n :=2 to Nb do if V[n]<Vmin then Vmin :=V[n] else if V[n]>Vmax then Vmax :=V[n] ; end ; procedure Tform1.bnTraitementClick(Sender : Tobject) ;... begin... MinMax(X,200,Xmin,Xmax) ;

13 13 Lancement de MinMax pour X L’adresse de X est transmise pour que V occupe la même zone de mémoire que X mais const interdit les modifs de V Nb occupe lui aussi une nouvelle zone L'adresse de XMin est transmise pour que VMin soit logé au même endroit que Xmin Idem pour Xmax : Vmax occupe la même zone que XMax

14 14 Lancement de MinMax pour Y L’adresse de X est transmise pour que V occupe la même zone de mémoire que X mais const interdit les modifs de V Nb occupe lui aussi une nouvelle zone L'adresse de YMin est transmise pour que VMin soit logé au même endroit que Ymin Idem pour Ymax : Vmax occupe la même zone que YMax

15 15 Paramètres (2) a) on ne met rien devant un paramètre “donnée” b) on met var devant les paramètres “résultats” c) on met const devant les paramètres “données” si on ne veut pas utiliser une nouvelle zone de mémoire

16 16 Positions des déclarations et des sous-programmes dès le début de la partie implementation ils sont alors utilisables dans tout ce qui suit

17 17 Déclarations globales et locales const, type, var et sous-programmes globales : en dehors de tout sous- programme locales : internes à un sous-programme

18 18 Visibilité des éléments déclarés globaux : de partout sauf redéclaration interne locaux : à l’intérieur mais pas à l’extérieur

19 19 Cas de sous-programmes déclarés dans un autre ils sont visibles par le parent ils peuvent accéder aux éléments du parent mais le parent ne peut accéder aux éléments déclarés dans ses enfants

20 20 Interface et implementation interface : ce qui est visible en dehors de l’unité implementation : définitions des éléments propres à l’unité ces définitions sont invisibles en dehors


Télécharger ppt "1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation."

Présentations similaires


Annonces Google