Il faut savoir que :
; termine une instruction,
:= permet d’affecter une variable ou de définir une fonction ou une
procédure.
On tape pour affecter une variable:
On tape pour définir la fonction f(x)=2*x+√x :
On tape pour définir la procédure Carre :
un booléen a comme valeur 0 (faux) ou 1 (vrai),
les booléens (ie les conditions) peuvent être obtenus avec les signes
== qui teste l’égalité (toutefois on admet = pour tester
l’égalité dans les instructions si et tantque),
< > <= >= qui testent les inégalités,
!= qui teste la différence,
les booléens doivent toujours être entourées de
parenthèses () dans les instructions si et tantque,
les opérateurs sur les booléens sont ou et non.
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
On tape :
On obtient :
On tape :
Ou on tape :
On obtient :
si (condition) alors <instructions1;> sinon <instructions2;> fsi
permet d’effectuer les <instructions1;> lorsque la condition est
satisfaite et d’effectuer les <instructions2;> lorsque la condition n’est
pas satisfaite.
On tape :
Ou on tape :
On obtient :
Pour faire plusieurs fois de suite plusieurs instructions on utilise
repete.
repete a comme argument un entier (le nombre de fois) et la suite
d’instructions séparées par une virgule.
On tape :
Ou on tape :
Ou on tape :
Ou on tape :
On obtient :
Attention
Si on veut utiliser un repete dans un autre repete il faut le
parenthéser c’est à dire mettre à l’extérieur de repete soit
() soit [] : (repete....) ou [repete....].
On tape par exemple :
repete(2,(repete(3,avance(20),tourne_gauche(30))),tourne_droite)
ou
repete(2,[repete(3,avance(20),tourne_gauche(30))],tourne_droite)
qui dessine 2 arcs "hexagonaux", ce qui est différent de
repete(2,repete(3,avance(20),tourne_gauche(30)),tourne_droite)
qui équivaut à :
repete(2,repete(3,avance(20),tourne_gauche(30),tourne_droite))
et qui dessine l’hexagone :
repete(6,avance(20),tourne_droite(60))
pour k de k1 jusque k2 pas p faire <instructions;> fpour permet de faire les instructions en faisant varier k de k1 jusqu’à
k2 en faisant des pas de p (si p=1 pas p peut être omis).
Bien sûr k peut être remplacé par un autre nom de variable et en
général les instructions à faire dépendent de cette variable car sinon
on utilise repete
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
tantque (condition) faire <instructions;> ftantque permet de
faire les instructions tant que la condition est satisfaite.
On tape :
Ou on tape :
On obtient :
Une procédure récursive est une procédure qui s’appelle elle-même mais
avec des paramètres différents et comporte un test d’arrêt qui permet d’interrompre cet appel.
On tape :
Ou on tape en utilisant si...alors...fsi au lieu de if...{...} :
Ou on tape une procédure non récursive en utilisant repete :
Puis on tape :
On obtient :
On veut faire une suite de n triangles équilatèraux : le premier a pour
côtés a, le deuxième a pour sommet les milieux des cotés du premier
triangle etc ...
On suppose que la tortue a comme position de départ :
un sommet du premier triangle et est dirigée selon un coté et que
les triangles sont situés sur sa droite (si vous choisissez les triangles
sont situés sur sa gauche, il suffira de changer les tourne_droite en
tourne_gauche et vice-versa). On choisit la même position comme
position d’arrivée.
Voici deux procédures récursives.
On dessine le premier triangle, puis on place la tortue à l’endroit où il
faut être pour faire l’appel récursif, on fait l’appel récursif,
et on ramene la tortue à sa position de départ.
On tape par exemple :
Ou on commence à dessiner le début du premier triangle, puis on place la
tortue à l’endroit où il faut être pour faire l’appel récursif, on
fait l’appel récursif, puis on finit de dessiner le premier triangle et on
ramene la tortue à sa position de départ.
On tape :
Puis on tape :
On obtient :
return a un argument qui est la valeur que l’on veut donner à la fonction.
return permet d’interrompre le programme et de renvoyer l’argument
de return comme étant la valeur de la fonction que l’on définit.
On tape :
Ou on tape :
On obtient :
lis a un argument qui est le nom d’une variable.
lis interrompt le programme et ouvre une petite feneêtre qui permet d’entrer une expression qui sera la valeur de l’argument de lis : si l’expression est une chaîne de caractères il faut mettres les guillemets.
On tape :
Puis on tape :
On obtient :
lis_phrase a un argument qui est le nom d’une variable.
lis_phrase interrompt le programme et ouvre une petite feneêtre qui
permet d’entrer une chaîne de caractères qui sera la valeur de
l’argument de lis_phrase : on tape la chaîne de caractères sans
mettre les guillemets.
On tape :
Puis on tape :
On obtient :
execute a comme argument chaîne de caractères qui est
une suite de commande.
execute exécute cette suite de commande.
On tape :
On obtient :
debut_enregistrement a comme argument un nom de procédure.
debut_enregistrement va permettre d’enregistrer les commandes comprises
entre debut_enregistrement et fin_enregistrement et ainsi
définir une procédure du nom donné en argument de
debut_enregistrement.
On tape :
Puis on tape les instructions pour définir arbre par exemple :
Puis
Puis
Puis on termine l’enregistrement avec :
On obtient :
On tape :
On obtient :
fin_enregistrement a comme argument une chaine de caractères.
fin_enregistrement sauve la procédure définie par les instructions
comprises entre debut_enregistrement et fin_enregistrement
dans le fichier dont le nom est passé en argument de fin_enregistrement.
On tape :
Puis on tape les instructions pour définir arbre, puis on tape :
On obtient :
On peut écrire une procédure dans l’éditeur de programmes.
On tape les instructions pour définir arbre par exemple :
Puis on tape :
On obtient :
On tape les instructions pour définir arbre avec un paramètre :
Puis on tape :
On obtient :
On peut mettre une suite d’instrucrtions dans prg, puis on demande
que l’écran se coupe selon 2 fenêtres (menu Edit sous-menu
Fenêtres puis 2 Fenêtres).
On appuie sur geo pour voir la tortue sur un des écrans et sur
prg pour voir les instructions.
Puis on met en surbrillance la
première ligne de prg et on appuie sur le bouton exec
de la barre de boutons de prg.
À chaque exec les instructions sont exécutées et visualisées
sur l’écran geo.
sauve a comme argument une chaîne de caractères qui est
le nom d’un fichier et le nom des procédures que l’on veut sauver dans ce
fichier.
sauve permet de mettre en mémoire ces procédures dans ce fichier
et donc de pouvoir les réutiliser dans une autre session de travail.
On tape :
On obtient :
On tape :
On obtient :
ramene a comme argument une chaîne de caractères qui
est le nom d’un fichier contenant des procédures agissant sur la tortue.
ramene permet de valider et donc d’utiliser les procédures
se trouvant dans ce fichier.
On tape :
On obtient :