
FONCTIONNEL
UNE "SESSION" SCHEME EST UN
CECI DONNE BEAUCOUP DE
SOUPLESSE POUR TESTER DES
FRAGMENTS DE PROGRAMME.
LANCEMENT DE DRSCHEME :
--> ON VOIT APPARAÎTRE LA FENÊTRE DE DRSCHEME :
REMARQUES :
SHOW : CHOISIR "HIDE DEFINITIONS" =>POUR NE GARDER QUE LA FENÊTRE DE DIALOGUE "INTERACTIONS"
(<OP> <ARG1> <ARG2> ... <ARGN>)
"EVALUATION": LORSQU'ON APPUIE
SUR "RETURN", L'EXPRESSION EST
"EVALUÉE", ET LE RÉSULTAT EST
LA VALEUR RENDUE PAR SCHEME.
NOTATION "PRÉFIXÉE" :
L'OPÉRATION EST EN TÊTE.
(+ 1 (* 2 3))
S'ÉCRIRAIT EN MATHÉMATIQUE:
1 + 2*3
LES ARGUMENTS DE L'OPÉRATION
(+ 1
(* 2
(/ 3
(- 4 5))))
L'EMBOÎTEMENT D'EXPRESSIONS COMPOSÉES LES UNES DANS LES AUTRES PEUT SE RÉPÉTER INDÉFINIMENT!!!
=> EMBOÎTEMENT "RÉCURSIF"
RÉCAPITULATION: JUSQU'A CE
ON A LA POSSIBILITÉ DE
--> CALCULETTE A MÉMOIRES
(DEFINE <VARIABLE> <VALEUR>)
CECI CRÉE QUELQUE PART DANS LA
(DEFINE X 3)
MÉMOIRE DE L'ORDINATEUR, UNE
"LIAISON :
"EVALUATION": LORSQU'ON TAPE UNE VARIABLE,
PUIS "RETURN", ON OBTIENT LA VALEUR DE LA VARIABLE.
> X
3
L'"ENVIRONNEMENT" EST
L'ENSEMBLE DE TOUTES LES
LIAISONS
(* (+ X 1) (- X 1))=> C'EST UNE EXPRESSION COMPOSÉE,
PROBLÈME : ON VEUT LA CALCULER POUR PLUSIEURS VALEURS DE X
=> ON DÉFINIT UNE FONCTION:
X --> (X+1) * (X-1)
-> EN SCHEME, ON ENCAPSULE L'EXPRESSION DANS UNE DÉFINITION DE FONCTION:
(DEFINE (F X)
|
INFORMATIQUEMENT, UNE FONCTION
REPRÉSENTE UN "MODULE" DE
CALCUL :
EXEMPLE : CALCUL DE F POUR LA VALEUR X=3
=> DANS SCHEME, ON "ÉVALUE" L'EXPRESSION :
(F 3)... EXACTEMENT COMME ON ÉVALUE :
(SQRT 3) (+ 3 4)
UNE LIAISON DÉFINIE PAR DEFINE
QUE FAIRE POUR MÉMORISER UN
CALCUL INTERMÉDIAIRE, SANS
DÉFINIR UNE LIAISON PERMANENTE ?
EXEMPLE: CALCULER
X + 1
X - 1
AVEC X = RACINE CARRÉE DE 2
EN SCHEME, CECI S'ÉCRIT :
(/ (+ X 1) (- X 1)))
(LET (X (SQRT 2))
--> X VARIABLE "LOCALE"
