Programmez un Tetris en Java 360 pages PDF pour apprendre à votre rythme. Développez des jeux vidéo en Java. www.jdevmaker.com |
Ce document est sous un contrat Creative Commons.
Les opérations dans leur forme traditionnelle seront écrits en noir, celles en Scheme en rose, les résultats en vert.
Faites <toolbox> Exts > Script-fu > Console Script-fu.
Cette console nous permettra de tester (en Scheme) diverses choses. Pour l'instant nous allons apprendre comment effectuer les 4 opérations arithmétiques de base.
Dans la commande courante tapez :
(+ 2 4)
et appuyez sur Entrée.
Dans la fenêtre de la console une ligne reformule votre demande précédé de =>, et la suivante le résultat, soit 6 :
=> (+ 2 4)
6
Revenons un peu en arrière. Tout d'abord la syntaxe du Scheme exige que l'on spécifie tout entre parenthèse (un peu comme en Html avec les < et >), c'est comme ça, et on s'y habitue assez vite (tout ce qui est à l'intérieur des parenthèses s'appelle une s-expression). On indique ensuite en premier, le type d'opération (l'opérateur) que l'on désire faire ; ici une addition symbolisé par le signe +, ensuite viennent les chiffres a additionner (les opérandes). Le tout doit-être séparé par un espace (ou plusieurs).
Ainsi (+ 2 4) revient a lui dire (fait une addition avec 2 et 4).
En Scheme (+ 2 4) équivaut à la forme que nous avons l'habitude de manier 2 + 4.
Suivant le même principe, nous trouvons,
=> (- 2 4)
-2
équivaut à 2 - 4.
=> (* 2 4)
8
équivaut à 2 * 4.
=> (/ 2 4)
0.5
équivaut à 2 / 4.
Vous n'êtes pas limité a 2 opérandes. Ainsi si vous désirez faire l'addition de 2,7,11 et 1,
soit 2 + 7 + 11 + 1, tapez :
(+ 2 7 11 1)
=> (+ 2 7 11 1)
21
Il en va de même pour les autres types d'opérations.
Il suffit de placer le chiffre négatif entre parenthèses.
Si vous désirez faire l'addition de 8 et -4,
soit 8 + -4, tapez :
(+ 8 (- 4))
=> (+ 8 (- 4))
4
pour 2 * -4, tapez :
(* 2 (- 4))
=> (* 2 (- 4))
-8
Ce que l'on a fait est vraiment simple, et concrètement, on a souvent besoin de faire des opérations un peu plus complexe.
Nous voulons faire 2 + 4 * 2, rappelons nous que certains opérateurs ont "priorités" sur d'autre, aussi indiquerais-je la forme traditionnelle avec des parenthèses, de manière a n'embrouiller personne.
Donc 2 + (4 * 2), en Scheme ça donne quoi :
=> (+ 2 (* 4 2))
10
C'est toujours le même principe !
pour 4 - ((10 / 5) * 2),
=> (- 4 (* (/ 10 5) 2))
0
Vous voici présenté une des caractéristiques du Scheme : l'emboîtement des parenthèses.