1 : $$$$ DEBP NOTICE OF166741 25/09/02 21:15:03 12347 2 : DATE 25/09/02 3 : 4 : Directive DEBPROC Voir aussi : FINP ARGU 5 : ----------------- RESP QUIT 6 : DEBPROC PROC1 (OBJ1?TYP1 ... OBJi?TYPi ... ) ; 7 : 8 : 9 : Objet : 10 : ------- 11 : 12 : La directive DEBPROC cree un objet de type PROCEDUR qui contient une 13 : suite d'instructions elementaires, dont la premiere est DEBPROC et la 14 : derniere est FINPROC. 15 : 16 : 17 : Commentaire : 18 : ------------- 19 : 20 : La procedure peut avoir une liste d'arguments types (OBJ1,OBJ2,...). 21 : 22 : ? peut prendre deux valeurs : 23 : 24 : * qui rend la donnee de l'argument obligatoire au 25 : moment de l'appel de la procedure, 26 : 27 : / qui la rend facultative. 28 : 29 : Les types d'objet possibles sont: 30 : 31 : 'ENTIER ' 'MOT ' 'FLOTTANT' 'LOGIQUE ' 32 : 'LISTENTI' 'LISTMOTS' 'LISTREEL' 'LISTOBJE' 33 : 'LISTCHPO' 'EVOLUTIO' 'NUAGE ' 'TABLE ' 34 : 'MAILLAGE' 'POINT ' 'CONFIGUR' 'DEFORME ' 35 : 'TEXTE ' 'PROCEDUR' 'RIGIDITE' 'SUPERELE' 36 : 'CHPOINT ' 'MMODEL ' 'MCHAML ' 'CHARGEME' 37 : 'VECTEUR ' 'MATRIK ' 'SOLUTION' 'BASEMODA' 38 : 'ATTACHE ' 'BLOQSTRU' 'ELEMSTRU' 'STRUCTUR' 39 : 40 : Il faut bien noter qu'en presence de plusieurs arguments de meme type 41 : seul l'ordre permet de les differencier. 42 : 43 : L'ensemble ?TYPi est facultatif. S'il est omis, DEBP essaie de recuperer 44 : un objet de n'importe quel type. Les objets de type inconnu doivent etre places 45 : a la fin de la liste des arguments a lire. 46 : 47 : 48 : Remarques : 49 : ----------- 50 : 51 : Une procedure a acces a tous les objets existants avant son appel mais ne 52 : peut pas les modifier. Tout objet dont le nom commence par ! ne sera pas 53 : initialise par un objet de meme nom defini en dehors de la procedure. 54 : 55 : Les objets crees lors de l'execution d'une procedure ne sont pas accessibles 56 : a l'exterieur de la procedure, excepte ceux retournes par les instructions 57 : RESPRO et/ou FINPRO. 58 : 59 : 60 : Exemple de procedure de calcul de la fonction MODULO : 61 : ------------------------------------------------------ 62 : 63 : DEBPROC MODULO I*ENTIER J*ENTIER ; 64 : MODERR='$$$$$'; 65 : SI (J EGA 0) : 66 : MESSAGE ' ON NE PEUT FAIRE I MODULO ZERO '; 67 : RESPRO MODERR; 68 : QUITTER MODULO; 69 : FINSI; 70 : K*ENTIER = I / J ; 71 : MOD = I - ( K * J ) ; 72 : FINPROC MOD; 73 : 74 : Exemple d'emploi de la procedure MODULO : 75 : ----------------------------------------- 76 : 77 : K = 8 MODULO 3 ; 78 : SI ( K NEG 2 ) ; 79 : MESSAGE ' ERREUR DANS LA RECOPIE DE L EXEMPLE |' ; 80 : FINSI; 81 : 82 : $$$$ 83 : 84 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales