Leçons de niveau 15

Langage Pascal/Définition de fonctions

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
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
Icon falscher Titel.svg
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[modifier | modifier le wikicode]

Définition[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Définition d’une procédure[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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