« Programmation LSE » : différence entre les versions

Contenu supprimé Contenu ajouté
CiceroLSE (discussion | contributions)
Aucun résumé des modifications
CiceroLSE (discussion | contributions)
m Variable type Proc
Ligne 84 :
 
'''PROCEDURE @'''<identificateur>(<liste de params> ) [<type>][ '''LOCAL''' <params locaux>]...(LSE2000)
<blockquote>Ce type permet de déclarer une variable désignant une procédure à ne pas confondre avec une déclaration de procédure à proprement parler. La distinction se fait par le fait que le nom de la variable est précédée par un arobase (@) tandis que dans le cas d'une déclaration le nom de la procédure est précédée par une perluette (&). Pour plus d'information sur les procédures consulter le chapître [[Procédures]].<br>PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM</blockquote>
 
'''REEL'''<var1>,<var2>,...
Ligne 319 :
'''PROCEDURE &'''<identificateur>(<liste de params> ) [<type>][ '''LOCAL''' <params locaux>] (LSE2000)<br/>
 
<blockquote>Un paramètre peut être passé par référence, par valeur ou par descripteur. Le paramètre formel est passé par valeur si il figure dans la liste suivant le mot-clef LOCAL comme dans les versions précédentes de LSE. Mais il est aussi possible de déclarer un paramètre comme local en lui ajoutant # en préfixe. Sinon par défaut les paramètres sont passés par référence.<br><br>On sort d'une procédure en invoquant '''RETOUR''' ou encore '''RESULTAT''' si cette dernière doit retourner une valeur. La valeur de retour est établie selon la syntaxe: '''RESULTAT''' <expression>. Le type de la valeur de retour est spécifié à la suite des paramètres dans la déclaration de la procédure.<br><brcode>
<code>
'''PROCEDURE''' &sontEgaux('''ENTIER''' A, '''ENTIER''' B, '''ENTIER''' C) '''BOOLEEN LOCAL''' A,B<br>
&nbsp;&nbsp;&nbsp;&nbsp;C←A-B<br>
Ligne 341 ⟶ 340 :
=== Variable ===
Comme indiqué dans le châpitre sur les types il existe une type PROCEDURE qui permet de déclarer une variable désignant une procédure. Ce qui permet par exemple, de passer une procédure en paramètre à une autre, par exemple si nous avons la procédure &TRI_PYRAMIDALE on peut lui passer une procédure de comparaison en paramètre ce qui lui permettra de trier n'importe quoi.
La distinction entre une variable et un procédure se fait par le fait que le nom de la variable est précédée par un arobase (@) tandis que dans le cas d'une déclaration le nom de la procédure est précédée par une perluette (&). Pour plus d'information sur les procédures consulter le chapître [[Procédures]].
 
<blockquote><code>* DECLARATION VARIABLE<br>PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM</blockquote><blockquote>PROCEDURE &PROCVAR(ENTIER PARAM):NOMBRE LOCAL PARAM<br>
PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM</blockquote><blockquote><br>
* DECLARATION PROCEDURE<br>
PROCEDURE &PROCVAR(ENTIER PARAM):NOMBRE LOCAL PARAM<br>
    RESULTAT .PI. * PARAM<br>
FIN<br>
<br>
* ASSIGNATION<br>VARPROC <code>←</code> PROCVAR</code></blockquote>
VARPROC <code>←</code> PROCVAR</code></blockquote>
 
<br>PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM
 
== Programmation Orientée Objet ==