Salut à tous
Voilà, j'ai un petit problème : je n'arrive pas à comprendre l'utilité des fonctions et procédures et je n'arrive pas à comprendre comment elles fonctionnent...
J'espère que vous pourrez m'aider...
Merci infiniment.
Salut à tous
Voilà, j'ai un petit problème : je n'arrive pas à comprendre l'utilité des fonctions et procédures et je n'arrive pas à comprendre comment elles fonctionnent...
J'espère que vous pourrez m'aider...
Merci infiniment.
On ne vient ici que pour chercher de l'aide et si on a un problème que ce soit grand ou petit.voila j'ai un petit probleme......
Il vaudrait mieux éviter ce genre d'introduction inutile.
Le forum doit être utilisé selon certaines conditions dont l'une est d'éviter le langage sms et d'utiliser un français correct et bien orthographié.
Concernant le problème pour lequel tu cherches de l'aide, vas sur cette PAGE et tu y trouveras pratiquement tout ce qu'il te faut pour comprendre et avancer.
Les les utilisateurs et les responsables du forum ne peuvent en aucun cas donner un cours à ceux qui n'ont aucune notion sur un thème donné. Ils n'ont pas de baguette magique et pas le temps de dispenser un cours(magique) vu leurs occupations.
Si tu as toujours un problème après avoir consulté les tutos et cours indiqués plus, reviens poser ta(tes) question(s) accompagnée(s ) du bout de code que tu aurais produit. Dans ce cas, on pourrait t'aider.
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Bonjour,
Ce cours complet devrait t'aider à y voir plus clair :
http://lazarus.developpez.com/cours/...on/?page=pg_02
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
C'est probablement un peu tardif comme réponse mais bon. Au pire ça servira a d'autres.
si t'as pas trouvé ton bonheur, et si t'es pas pressé je peux t'accorder du temps. je suis un viel utilisateur de turbo pascal, pas un pro mais pour ta question ca suffira..
Mais tu code avec quoi ? Turbo pascal ou un IDE? c'est pas tout a fait pareil.
Je vais rester simple.... tres simple...
Un peu d'histoire avec Le vieux basic:
Dans un même fichier "program" tu peux si ca te chante créer un code liste, les instructions bêtement les unes derrière les autres.
tu peux noter que les opérations sont simples et les lignes de codes sont nombreuses. allons jusqu' a Z et on se retrouve avec des instructions répétitives et ca rends très vite le code illisible. ont notera aussi au passage la possibilité de sauter d'une instruction a l'autre au sein de se code en ligne. ( le vieux basic hein..)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 0:a=1 1:b=2 2:c=a+b 3:print c 4:d=c+a 5:print d 6:e=c+b 7:print e 8: if getkey=chr(13) then goto 10 9: goto 0 10:end
Le Goto lui fait simplement se déplacer le curseur d’interprétation du code d'un endroit à un autre bêtement.
Turbo pascal:
Ahh! que du bonheur, pascal nous apporte des structures que l'on appel PROCEDURE et FONCTION. La différence notable entre les deux est que la FONCTION Renvoi une variable
La fonction avait pour unique but de pouvoir renvoyer un résultat concocté par le code qu'elle contient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 program test; Uses CRT; FUNCTION ADDME(a,b:integer):integer; var result:integer; begin result:=a+b; addme:=result; ( a l'epoque je crois que c'était result:=variable; mais bon évitons de trops noyer le poisson) end; VAR a,b,c,d,e: integer; BEGIN repeat a:=1; b:=2; c:=ADDME(a,b); d:=ADDME(a,c); e:=ADDME(b,c); until keypressed; END.
Tu peux noter qu'une fonction déclaré une foi est plus simple a modifier que trente-six foi la même dans son code source.
Tu remarque aussi que au finale ton code est plus lisible et plus concis.
à contrario, la PROCEDURE , elle, ne renvoie pas de donnée, elle les consomment.. miam!!!
La PROCÉDURE permet comme la FONCTION de pouvoir réutiliser quelques lignes de code récurrente, de faciliter le débogage, et d’améliorer la clarté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 program test; Uses CRT; FUNCTION ADDME(a,b:integer):integer; var result:integer; begin result:=a+b; addme:=result; end; PROCEDURE SHOWME(a:integer); begin writeln(intToStr(a)); end; VAR a,b,c,d,e: integer; BEGIN repeat a:=1; b:=2; c:=ADDME(a,b); SHOWME(c); d:=ADDME(a,c); SHOWME(d); e:=ADDME(b,c); SHOWME(e); until keypressed; END.
Aujourd'hui la procédure peut aussi renvoyer des variable modifiés par le biais des variables passé en paramètres, mais c'est une autre histoire.
Toutes les variables créés aux sein d'une PROCEDURE ou d'une FONCTION ne vivent uniquement que la durée de l'appel de procédure et uniquement au sein de celle ci.
Tu peux noter aussi la disparition des Goto pourris qui ne passe pas de paramètres...Les sauts quantiques de début et de fin de procédure, et le passage de paramètres par la pile sont automatiquement gérer par le compilateur.
voilà très simplement a la base a quoi ça sert, une procédure et une fonction et quelle sont, à la base, leurs différences notoires.
Leur utilisation:
1- la structure d'un programme
voilà, comme les variables, les procédures doivent être "déclarés" au compilateur avant leur première utilisation(appel) par le programme principal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Program [nomDeTonMagnifiqueprogramme; Uses [Mesunitéesindispenssable]; CONST [Mes constantes globales] TYPE [Mes type de données] // je déclare ici mes procédures et fonctions pour pouvoir les utiliser après // L'ordre des déclaration des procedure était me semble t'il important, car pour les vieux compilateurs // pour intégrer une procedure dans une autre procédure il fallait qu'elle soit déclaré avant celle qui l'utilise) PROCEDURE [maproc]( paramètres1,paramètre2,...: le type de mes paramètres; parametre3,parametres4,...:type de mes paramètres); VAR [mes variables locales] BEGIN [debut de ma procedure] ... [fin de ma procedure] END; FUNCTION [mafonction](paramètres1,paramètre2,...: le type de mes paramètres; parametre3,parametres4,...:type de mes paramètres): [TYPE du résultat à renvoyer]; VAR [mes variables locales] BEGIN [debut de ma procedure] ... mafonction:=monrésultatàtransmettre; [fin de ma procédure] END; VAR [mes variables globales]:Type de mes variables globales; BEGIN [début de mon programme principale] [appels de mes procedures et fonctions;] [fin de mon programme principale] END.
jespere avoir répondu a tes premieres attentes.
si ton manque d'info persiste : http://mfritz.perso.sfr.fr/SectionEC...rbo-pascal.pdf
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager