Un langage de programmation qui
vous permet d'automatiser le travail !!!
Leçon no. 2
- Une fonction AutoLisp est toujours entre parenthèses.Donc aussitôt que l'on ouvre une parenthèse, il faut indiquerquelle fonction Lisp on utilise, suivit des arguments s'il y a
lieu.(fonction argument1 argument2 ...)
Il est très important, même impératif,de donner le bon nombre d'arguments à une fonction. Certaines fonctionspeuvent avoir un nombre variable d'arguments, tandis que d'autres peuventavoir des arguments facultatifs.
Prenons, par exemple, lafonction d'addition. On doit lui donner au moins deux arguments:(+ nombre1 nombre2 [nombre3 nombre4....])
Ici, les arguments entre [] sont facultatifs,mais les argument "nombre1" et "nombre2" sont essentiels.
(+ 23 34) ® 57
(+ 23 34 154 -22) ®189Il faut faire trèsattention aux espaces lorsqu'on écrit un programme. Dans certainscas il n'est pas nécessaire d'en mettre, dans d'autres cas il fauten mettre et finalement dans un troisième cas il ne faut jamaisen mettre. Alors pour simplifier le tout, respectez ces deux règlessimples:
1- JAMAIS d'espace après une parenthèseouverte
2- TOUJOURS un espace dans tous les autrescas
- Avec les fonctions mathématiques, le résultatpeut être un entier ou un réel. Si le calcul ne contient quedes entiers, le résultat sera un entier. Par contre, aussitôtqu'il y a un réel dans le calcul, le résultat sera un réel.Soyez attentifs...ça peut jouer des tours.
(+ 23 34) ® 57®entier
(+ 23 34.0) ® 57.0®réel
(/ 3 4) ® 0®entier(mais en réalité la réponse est fausse)
(/ 3 4.0) ® 0.75®réel(ahhh c'est beaucoup mieux)Vous pouvez tapez ces exemples directementdans AutoCAD
COMMAND: (+ 23 34)
57
COMMAND:Voici les fonctions mathématiques disponibles:
FONCTION SYNTAXE EXEMPLE RÉSULTAT ADDITION (+N1 N2 ...) (+ 2 4) 2 + 4 = 6 SOUSTRACTION (- N1 N2 ...) (- 10 2 3) (10 - 2) - 3 = 5 MULTIPLICATION (* N1 N2 ...) (* 3.0 8) 3.0 * 8 = 24.0 DIVISION (/ N1 N2 ...) (/ 48 8 3) (48 ¸ 8) ¸3 = 2 RESTE (REM N1 N2 ...) (REM 10 3) (10 ¸ 3) = 3 RESTE 1 RACINE CARRÉE (SQRTN1) (SQRT 9) Ö 9 = 3 VALEUR ABSOLUE (ABSN1) (ABS -2.5) | -2.5 | = 2.5 EXPONENTIELLE DE N (EXPN1) (EXP 2) e² = 7.38906 X À LA PUISSANCE Y (EXPTN1 N2) (EXPT 4 3) 4³ = 64 LOGARITHME NATUREL (LOGN1) (LOG 7.38906) Ln 7.38906 = 2.71828 + > COMMUN DÉNOMINATEUR (GCDN1 N2) (GCD 25 30) 5 SINUS (SIN N1) (SIN 1.5708) SINUS ( ¶ ¸ 2) = 1.0 COSINUS (COSN1) (COS 0) COSINUS 0 = 1.0 TANGENTE INVERSE (ATANN1 [N2]) (ATAN 1.0) 0.785398 Pour les trois dernières commandes dutableau, les arguments doivent être en radians. Une valeur prédéterminéeexiste....PI = 3.14159....Ex: (* 2 pi) ®6.28319
- N'oubliez pas que l'on peut imbriquer des fonctions....
( 8 + 4 ) / ( 5 - 2) = 4 s'écrira en Lisp ® (/ (+ 8 4 ) (-5 2 ) )On résout les parenthèses lesplus imbriquées en premier
(+ 8 4) ® 12
(- 5 2) ® 3
(/ 12 3) ® 4