Fonction et procedure en pascal

SORYCHERIF Messages postés 14 Statut Membre -  
ayoubsei Messages postés 3 Statut Membre -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
  2. ayoubsei Messages postés 3 Statut Membre
     
    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