Dans le langage Ada, la façon d'écrire une procédure et une fonction est vraiment différente. En Ada on pense à la manière d'un algorithme, la syntaxe est très explicite.
Procédure
Voici tout d'abord la syntaxe d'une procédure :
Procedure nomdeprocédure(paramètres) is Definition de constante; Definition de variable; Begin instruction_exécuté1; instruction_exécuté2; instruction_exécuté3; ... End nomdeprocédure; |
Exemple
Voici un exemple d'une utilisation typique de cette instruction :
on obtiendra le résultat suivant :
Fonction sans retour de valeur !Fonction
La fonction de son côté, utilise le nom de la fonction pour retourner la valeur de retour et ne fait pas sortir de la fonction après avoir insérer une valeur. Il n'y a pas de position obligatoire n'y de nombre limite d'utilisation d'une valeur de retour. Voici sa syntaxe :
Function nomdefonction(paramètres) Return typedefinition is Definition de constante; Definition de variable; Begin instruction_exécuté1; ...; Return valeurderetour; End; |
Exemple
Voici un exemple permettant d'afficher le logarithme inférieurs à 2 en utilisant le mot réservé «FUNCTION» :
- WITH TEXT_IO;
- WITH Ada.Numerics.Generic_Elementary_Functions;
- USE TEXT_IO;
-
- PROCEDURE FunctionSamples IS
- I:Float;
-
- FUNCTION Ln(X:Float) RETURN Float IS
- PACKAGE Math IS NEW Ada.Numerics.Generic_Elementary_Functions (Float);
- BEGIN
- RETURN Math.Log(X);
- END Ln;
-
- BEGIN
- I:=0.1;
- WHILE I <= 2.0 LOOP
- PUT_LINE("Ln(" & FLOAT'IMAGE(I) & ")=" & FLOAT'IMAGE(Ln(I)));
- I := I + 0.1;
- END LOOP;
- END FunctionSamples;
on obtiendra le résultat suivant :
LOG(0.100000)=-2.302585LOG(0.200000)=-1.609438
LOG(0.300000)=-1.203973
LOG(0.400000)=-0.916291
LOG(0.500000)=-0.693147
LOG(0.600000)=-0.510826
LOG(0.700000)=-0.356675
LOG(0.800000)=-0.223143
LOG(0.900000)=-0.105360
LOG(1.000000)=0.000000
LOG(1.100000)=0.095310
LOG(1.200000)=0.182322
LOG(1.300000)=0.262364
LOG(1.400000)=0.336472
LOG(1.500000)=0.405465
LOG(1.600000)=0.470004
LOG(1.700000)=0.530628
LOG(1.800000)=0.587787
LOG(1.900000)=0.641854
Dernière mise à jour : Samedi, le 25 août 2012