exemple procedure

2
 Maple_PCSI - page 1 - On rappelle la syntaxe d'une procédure (chapitre 10) : > nom  proc:= proc (  par 1 , par 2 , … , par n ) local var 1 , … , var  p  ; # variables locales options; liste d'instructions ; # instructions séparées par des ; ou : RETURN(résultat de la procédure) end; Appel de la procédure : > nom  proc( par 1 , par 2 , … , par n ) ; nom_proc est le nom de la procédure, choisi par celui qui l'écrit; par contre "p roc" est un mot réservé de Maple.  Bien noter qu'il ne faut pas mettre de ";" à la fin de cette ligne et ne pas oublier le " := " devant proc. On peut voir une pr océdure comme une application de plusieurs variables. Les variables  par 1 , par 2 , … , par n  sont appelées paramètres de la procédure. On ne peut pas les modifier à l'intérieur de la procédure. La liste des paramètres peut être vide. On appelle une procédure comme une fonction, par son nom, en donnant des valeurs aux paramètres. Les variables locales sont internes à la procédure et peuvent avoir le même nom que des variables utilisées ailleurs sur la feuille de calcul. Ce sont tous les noms de variables utilisés dans le corps de la procédure, à l'exception des paramètres. Le mot "end" termine la pr océdure. On valide normalement après ce "end". Avant, on va à la ligne par SHIFT ENTER. Le résultat de la procédure est le dernier résultat évalué par Maple. On peut contrôler ce qui est retourné par la commande RETURN. Voici un exemple de procédure r encontré dans une épreuve écrite de mathématiques de l'école Centrale (PSI 2007). Etudier sa structure et dire ce qu'elle fait. f:= proc(a , b) local i , j , k : i:=1: j:=a : k:=b : while k > 0 do if type(k , odd) then i:=i*j ; k:= k  1 : else j:= j^2 ; k:= k/2 ; fi; od; i; end; On pourra "faire tourner l'algorithme à la main" en remplissant le tableau suivant : Valeur des variables i  j k Après initialisation

Upload: anis-souissi

Post on 06-Oct-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

  • Maple_PCSI

    - page 1 -

    On rappelle la syntaxe d'une procdure (chapitre 10) :

    > nom_proc:= proc (par1, par2, , parn) local var1, , varp ; # variables locales options;

    liste d'instructions ; # instructions spares par des ; ou :

    RETURN(rsultat de la procdure) end;

    Appel de la procdure : > nom_proc( par1, par2, , parn) ;

    nom_proc est le nom de la procdure, choisi par celui qui l'crit; par contre "proc" est un mot rserv de Maple. Bien noter qu'il ne faut pas mettre de ";" la fin de cette ligne et ne pas oublier le " := " devant proc.

    On peut voir une procdure comme une application de plusieurs variables. Les variables par1, par2, , parn sont appeles paramtres de la procdure. On ne peut pas les modifier l'intrieur de la procdure. La liste des paramtres peut tre vide. On appelle une procdure comme une fonction, par son nom, en donnant des valeurs aux paramtres.

    Les variables locales sont internes la procdure et peuvent avoir le mme nom que des variables utilises ailleurs sur la feuille de calcul. Ce sont tous les noms de variables utiliss dans le corps de la procdure, l'exception des paramtres. Le mot "end" termine la procdure. On valide normalement aprs ce "end". Avant, on va la ligne par SHIFT ENTER.

    Le rsultat de la procdure est le dernier rsultat valu par Maple. On peut contrler ce qui est retourn par la commande RETURN.

    Voici un exemple de procdure rencontr dans une preuve crite de mathmatiques de l'cole Centrale (PSI 2007). Etudier sa structure et dire ce qu'elle fait.

    f:= proc(a , b) local i , j , k : i:=1: j:=a : k:=b : while k > 0 do if type(k , odd) then i:=i*j ; k:= k 1 :

    else j:= j^2 ; k:= k/2 ; fi; od; i; end;

    On pourra "faire tourner l'algorithme la main" en remplissant le tableau suivant :

    Valeur des variables i j k Aprs initialisation

  • Maple_PCSI

    - page 2 -

    Aprs le premier passage dans la boucle Aprs le second passage dans la boucle

    ...

    A la fin de l'algorithme