« Programmation LSE » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Présentation : L'or, taux, graph
Aucun résumé des modifications
Ligne 126 :
 
'''STRUCTURE''' <montype> '''EST''' <declarations>FIN STRUCTURE(LSE2000)
<blockquote>Permet de déclarer un type structure nommé <montype> comme équivalent de sa déclaration.<br>
 
<code> '''STRUCTURE''' ''MASTRUCT'' '''EST''' \ <br/>
&nbsp;&nbsp;'''CHAINE'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iChaine \ <br/>
'''CHAINE''' iChaine \
&nbsp;&nbsp; '''ENTIER NATUREL'''&nbsp;&nbsp; iTableau[32] \ <br/>
'''FIN STRUCTURE'''</code></blockquote>
</blockquote>
 
=== Constantes ===
Ligne 282 ⟶ 284 :
</blockquote>
 
'''Attention''' : Ne confondez pas l'instruction de contrôle avec l'opérateur SI-ALORS-[SINON]. Consultez la section sur les opérateurs pour de plus amples informations sur ce sujet.
 
'''EVALUER''' <expression1> [['''QUAND''' <expression1> <bloc>]...] '''QUAND AUTRE''' <bloc> '''FIN EVALUER'''<br/>
 
<blockquote>Compare la ou les expressions à la droite de EVALUER avec celle ou celles à la droite des QUAND et exécute le bloc d'instruction du premier QUAND dont les expression correspondent à celles du EVALUER. Si aucune correspondance n'est trouvée alors c'est le bloc du QUAND AUTRE qui est exécuté.
 
<code> '''EVALUER''' X <br/>
&nbsp;&nbsp; '''QUAND''' 255<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND 255 255'<br/>
&nbsp;&nbsp; '''QUAND TOUS'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND TOUS 255'<br/>
&nbsp;&nbsp; '''QUAND''' 255 '''TOUS'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND 255 TOUS'<br/>
&nbsp;&nbsp; '''QUAND AUTRE'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND AUTRE'<br/>
'''FIN EVALUER'''</code>
 
Pour évaluer si des conditions sont vraies ou fausses, il faut mettre en paramètre du '''ÉVALUER''' l'une des constantes booléennes ('''.VRAI.''' ou '''.FAUX.''') ainsi les expressions des instructions QUAND seront comparé avec cette valeur. Par exemple :<br/><br/>
 
<code> '''EVALUER''' .VRAI.<br/>
&nbsp;&nbsp; '''QUAND COND0'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND COND0 est vrai'<br/>
&nbsp;&nbsp; '''QUAND COND1'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND COND1 est vrai'<br/>
&nbsp;&nbsp; '''QUAND COND2'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND COND3 est vrai'<br/>
&nbsp;&nbsp; '''QUAND AUTRE'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'QUAND aucune des condition n<nowiki>''</nowiki>est vrai'<br/>
'''FIN EVALUER'''</code><br/><br/>
 
Pour évaluer l'une après l'autre si une suite de conditions sont vraies ou fausses, il faut mettre '''EN CHAÎNE''' suite au '''ÉVALUER'''. Quand une expression est vrai alors le bloc QUAND est exécuté avant d'évaluer le QUAND suivant. Par exemple :<br/><br/>
 
<code> '''EVALUER EN CHAINE'''<br/>
&nbsp;&nbsp; '''QUAND COND0'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''AFFICHER''' 'COND0 est vrai'<br/>
&nbsp;&nbsp; '''QUAND COND1'''<br/>
'''SI''' COND1 '''ALORS''' '''AFFICHER''' 'COND1 est vrai'<br/>
&nbsp;&nbsp; '''QUAND COND2'''<br/>
'''SI''' COND2 '''ALORS''' '''AFFICHER''' 'COND2 est vrai'
'''FIN EVALUER'''</code><br/><br/>
 
Ce code exprimé sous la forme d'une suite de '''SI-ALORS''' correspond à la séquence d'instructions suivante :<br/><br/>
 
<code> '''SI''' COND0 '''ALORS''' '''AFFICHER''' 'COND0 est vrai'<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''SI''' COND1 '''ALORS''' '''AFFICHER''' 'COND1 est vrai'<br/>
&nbsp;&nbsp;&nbsp;&nbsp; '''SI''' COND2 '''ALORS''' '''AFFICHER''' 'COND2 est vrai'<br/>
 
'''EVALUER''' <expression1> [['''QUAND''' <expression1> <bloc>]...] '''QUAND AUTRE''' <bloc> '''FIN EVALUER'''<br/>
<blockquote>Compare la ou les expressions à la droite de EVALUER avec celle ou celles à la droite des QUAND et exécute le
bloc d'instruction du premier QUAND dont les expression correspondent à celles du EVALUER. Si aucune correspondance n'est
trouvées alors c'est le bloc du QUAND AUTRE qui est exécuté.<br/><br/>
<code>'''EVALUER''' X <br/>
&nbsp;&nbsp;'''QUAND''' 255<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND 255 255'<br/>
&nbsp;&nbsp;'''QUAND TOUS'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND TOUS 255'<br/>
&nbsp;&nbsp;'''QUAND''' 255 '''TOUS'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND 255 TOUS'<br/>
&nbsp;&nbsp;'''QUAND AUTRE'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND AUTRE'<br/>
'''FIN EVALUER'''</code><br/><br/>
Pour évaluer si des conditions sont vraies ou fausses, il faut mettre en paramètre du '''ÉVALUER''' l'une des constantes booléennes ('''.VRAI.''' ou '''.FAUX.''') ainsi les expressions des instructions QUAND seront comparé avec cette valeur.Par exemple:<br/><br/>
<code>'''EVALUER''' .VRAI.<br/>
&nbsp;&nbsp;'''QUAND COND0'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND COND0 est vrai'<br/>
&nbsp;&nbsp;'''QUAND COND1'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND COND1 est vrai'<br/>
&nbsp;&nbsp;'''QUAND COND2'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND COND3 est vrai'<br/>
&nbsp;&nbsp;'''QUAND AUTRE'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'QUAND aucune des condition n<nowiki>''</nowiki>est vrai'<br/>
'''FIN EVALUER'''</code>
<br/><br/>
Pour évaluer l'une après l'autre si une suite de conditions sont vraies ou fausses, il faut mettre '''EN CHAÎNE''' suite au '''ÉVALUER'''. Quand une expression est vrai alors le bloc QUAND est exécuté avant d'évaluer le QUAND suivant. Par exemple:<br/><br/>
<code>'''EVALUER EN CHAINE'''<br/>
&nbsp;&nbsp;'''QUAND COND0'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'COND0 est vrai'<br/>
&nbsp;&nbsp;'''QUAND COND1'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'COND1 est vrai'<br/>
&nbsp;&nbsp;'''QUAND COND2'''<br/>
&nbsp;&nbsp;&nbsp;&nbsp;'''AFFICHER''' 'COND2 est vrai'<br/>
'''FIN EVALUER'''</code><br/><br/>
Ce code exprimé sous la forme d'une suite de '''SI-ALORS''' correspond à la séquence d'instructions suivante:<br/><br/>
<code>'''SI''' COND0 '''ALORS''' '''AFFICHER''' 'COND0 est vrai'<br/>
'''SI''' COND1 '''ALORS''' '''AFFICHER''' 'COND1 est vrai'<br/>
'''SI''' COND2 '''ALORS''' '''AFFICHER''' 'COND2 est vrai'
</code>
<br/><br/>
Dans le cas d'un '''EVALUER EN CHAINE''' la présence d'un QUAND AUTRE produira une erreur de syntaxe.
</blockquote>
Ligne 422 ⟶ 428 :
Voici un exemple d'utilisation d'une variable de type PROCEDURE:
 
<blockquote><code>* DECLARATION VARIABLE ET PROCEDURE<br>PROCEDURE @VARPROC(ENTIER PARAM):NOMBRE LOCAL PARAM<br><br>PROCEDURE &PROCVAR(ENTIER PARAM):NOMBRE LOCAL PARAM<br>     RESULTAT .PI. * PARAM<br>FIN<br><br>* ASSIGNATION<br>VARPROC ← PROCVAR<br>* INVOCATION<br>AFFICHER[/,'APPEL PAR LA VARIABLE TYPE PROCEDURE',/]
AFFICHER[4X,'RESULTAT = ',U,/] &VARPROC( 255 )</code></blockquote>