Fonction et procedure en pascal

salut,je voudrais savoir si c'est possible de déclarer une procédure dans une fonction.Exemple:j'ai une fonction de recherche alors je voudrais ecrire une procédure me permettant d'afficher d'afficher toutes les informations concernant l'élément recherche si sa existe biensur

2 réponses

  1. oui vous pouvez le faire après la déclaration de la fonction mais vous ne pouvez pas l'executer dans la fonction tu peux la declarer et après la fin de fontion tu peux declarer la procedure et l'executer
    0
    1. Modérateur
      Bonjour,

      Pascal autorise ce genre d'écriture, il faut alors l'écrire après la déclaration des variables, ce qui permet d'y accéder dans la fonction/procédure.

      Exemple :

      program SansTitre;
      
      procedure boucler(a:integer; b:integer);
      
          var i:integer;
      
          procedure afficher();
          begin
             writeln(i);
          end;
      
      begin
      
          for i:=a to b do
              afficher();
      
      end;
      
      begin
          boucler(1,5);
      end.

      Cependant je te déconseille ce genre d'écriture, il vaut mieux faire deux procédures/fonctions bien distinctes (non imbriquées), quitte à passer en paramètres les différentes variables.

      program SansTitre;
      
      procedure afficher(n:integer);
      begin
          writeln(n);
      end;
      
      procedure boucler(a:integer; b:integer);
      
          var i:integer;
      
      begin
      
          for i:=a to b do
              afficher(i);
      
      end;
      
      begin
          boucler(1,5);
      end.

      La confiance n'exclut pas le contrôle
      0