Aller au contenu

Langage Pascal/Définition de fonctions

Leçons de niveau 15
Une page de Wikiversité, la communauté pédagogique libre.
Version datée du 1 mai 2020 à 14:53 par Crochet.david.bot (discussion | contributions) (Robot : Remplacement de texte automatisé (-(<\/?)source +\1syntaxhighlight))
Début de la boite de navigation du chapitre
Définition de fonctions
Icône de la faculté
Chapitre no 8
Leçon : Langage Pascal
Chap. préc. :Définition de procédure
Chap. suiv. :Structure d’un programme
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Langage Pascal : Définition de fonctions
Langage Pascal/Définition de fonctions
 », n'a pu être restituée correctement ci-dessus.

Fonctions

Définition

La fonction est un résultat qui nécessite plusieurs étapes pour être défini. Pour le néophyte, on clarifiera en donnant tout simplement la syntaxe.

Syntaxe

Function NOM(Variable1 : TYPE, ...) : TYPE;
Begin
  { instructions }
  NOM := VALEUR; { affectation de la valeur de retour }
End;

Vous pouvez inclure cette définition de fonction dans un programme, une unité, ou bien à l'intérieur d’une autre procédure/fonction.

Exemples

Définition d’une procédure

Cette procédure affiche "allo" suivi du texte passé en paramètre.

Procedure allo(vartexte : string);
Begin
  Writeln('allo');
  Writeln(vartexte);
End;

Définition de fonction

La fonction suivante attend des lignes de texte de l'utilisateur.

Function AttendreTexte(nblignes : byte) : string;
var i: integer; s: string;
Begin
  result := ''; { cette variable est définie automatiquement }
  for i := 1 to nblignes do
  begin
    { On attend une ligne de texte de l’utilisateur }
    readln(s);
    { On passe à la ligne si besoin }
    if result <> '' then result := result +  #13 + #10; 
    { On concatène au résultat }
    result := result + s;
  end;
End;

Définition du contenu principal

var qui: string;
Begin
  allo('qui est à l''appareil ?'); { on écrit deux fois la guillemet pour indiquer qu’il ne s'agit pas de la fin de la chaine de caractère }
  qui := AttendreTexte(1);
  writeln('Bonjour ', qui);
End.

Notes

  • Writeln vient de Write et LN. Write signifie Écrire, et LN signifie Ligne.
  • Readln vient de Read et LN. Read signifie Lire.