Alt+d fait apparaître l’écran dessin tortue, de positionner la tortue au pixel de coordonnées [100,100], de la diriger selon le cap 0 et de travailler en degrés pour toutes les commandes concernant la tortue et cela même si on a coché radian dans la configuration du cas (bouton qui rappelle la cofiguration choisie Config : exact...).
Le point [0,0] se trouve en bas à gauche, l’axe des y est dirigé vers le
haut et le cap 0 est dirigé selon l’axe des x.
Les unités sont les pixels et la dimension de l’écran dépend de
votre ordinateur (en plein écran le mien est de 270 × 240).
Le cap de la tortue est exprimé en degrés et ses valeurs sont celles du
cercle trigonométrique : ces valeurs sont interprétées modulo 360.
On tape :
On obtient :
On utilise ensuite les primitives qui permettent de déplacer la tortue et qui gérent son crayon.
Après chaque commande la position d’arrivée de la tortue est représentée par un petit triangle isocèle de base 10 et de hauteur 17. Ce petit triangle ne fait pas partie du dessin, il bouge selon les instructions et peut être caché avec la commande cache_tortue ou rendu visible avec la commande montre_tortue. Si on veut dessiner la tortue pour montrer les positions intermédiaires ocupées par la tortue sur le dessin on tape :
des_tor():={ cache_tortue; tourne_gauche; avance 5; tourne_droite(180-180/pi*atan(3.4)); avance(sqrt(25+17^2)); tourne_droite(180-2*180/pi*atan(1/3.4)); avance(sqrt(25+17^2)); tourne_droite(180-180/pi*atan(3.4)); avance 5;tourne_droite; montre_tortue; }:;
montre_tortue n’a pas d’argument.
montre_tortue montre la tortue.
On tape :
Ou on tape :
On obtient :
cache_tortue n’a pas d’argument.
cache_tortue cache la tortue.
On tape :
Ou on tape :
On obtient :
dessine_tortue a comme argument 0 ou 1 (par défaut 1).
dessine_tortue 0 permet de dessiner le petit triangle représentant la
tortue.
dessine_tortue ou dessine_tortue 1 permet de dessiner le petit triangle représentant la
tortue en forme pleine.
dessine_tortue peut permettre de matérialiser les positions
intermédiaires ocupées par la tortue, en particulier de marquer sur le
dessin la position de départ de la tortue avec dessine_tortue 1 et sa
position d’arrivée avec dessine_tortue 0.
En effet lorsqu’on écrit une procédure qui réalise un dessin tortue,
il est important de noter sur le dessin la position de départ et la position
d’arrivée de la tortue pour pouvoir réutiliser correctement cette
procédure. C’est pourquoi lorsqu’on traduit par un dessin ce que fait une
procédure graphique, on
représente la position de départ de la tortue par un triangle plein et
la position d’arrivée de la tortue par un triangle non plein.
On tape :
Ou on tape :
On obtient :
On tape :
On obtient :
Remarque
Les dessins associés à une procédure seront faits en utilisant un
dessine_tortue au départ : ainsi le triangle plein représente la
position de la tortue au départ et
le triangle "vide" représente la tortue à l’arrivée.
Si la tortue revient à son point de départ, on dit que la procédure est
transparente : sur le dessin on ne verra donc que le triangle plein
représentant la position de la tortue au départ et à l’arrivée.
On trouve dans la barre de boutons de l’écran Tortue les principales
primitives existantes de la tortue et un Menu M.
Il faut aussi savoir que la touche tabulation de votre clavier
(⇆) permet de compléter ce qui se trouve dans la
ligne de commandes en les différentes instructions de Xcas.
Par exemple on tape :
On obtient :
Les commandes de cette section permettent de manipuler la tortue et son crayon.
avance a comme argument un réel a
(ou aucun argument).
avance a fait avancer la tortue de a pas (par défaut
a=10).
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Remarque
avance -30 est identique à recule 30.
recule a comme argument un réel a (ou aucun argument).
recule a fait reculer la tortue de a pas (par défaut a=10).
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Remarque
recule -30 est identique à avance 30.
efface admet un ou aucun argument.
Lorsque efface n’a pas d’argument.
efface efface l’écran et remet la tortue dans la position qu’elle avait
lorsque on a démarré :la tortue a un crayon noir baissé est au pixel de
coordonnées [100,100], avec un cap 0.
On tape :
Ou on tape :
On obtient :
Lorsque efface a un argument, efface fait reculer la tortue en effaçant, puis remet le crayon en noir. On tape :
Ou on tape :
On obtient :
Remarque
efface(a) réalise la suite d’instructions :
crayon(gomme);recule(a);crayon(noir)
tourne_droite a comme argument un réel a (ou aucun
argument).
tourne_droite a fait tourner (sans déplacement) la tortue à droite
de a degrés (par défaut a=90).
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Remarque
tourne_droite -30 est identique à tourne_gauche 30.
tourne_gauche a comme argument un réel a
(ou aucun argument).
tourne_gauche a fait tourner (sans déplacement) la tortue à gauche
de a degrés (par défaut a=90).
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Remarque
tourne_gauche -30 est identique à tourne_droite 30.
saute a comme argument un réel a (ou aucun argument).
saute a fait avancer la tortue de a pas, sans laisser de traces et
sans changer de cap (par défaut a=10).
Si a est négatif la tortue recule de -a pas, sans laisser de
traces.
saute 20 est identique à :
leve_crayon,avance 20; baisse_crayon;.
saute -20 est identique à :
leve_crayon,recule 20; baisse_crayon;.
Remarque
Après un saute on est en baisse_crayon.
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Attention
saute 20; saute 20; saute 20; n’est pas identique à saute 60 car
à chaque saut la tortue laisse une trace !
pas_de_cote a comme argument un réel a
(ou aucun argument).
Si a est positif pas_de_cote a fait faire un bond de a pas
à gauche de la tortue sans laisser de traces et sans changer de cap
(par défaut a=10).
Si a est négatif pas_de_cote a fait faire un bond de -a
pas à droite de la tortue sans laisser de traces et sans changer de cap.
pas_de_cote 20 est identique à :
leve_crayon,tourne_gauche,avance 20,baisse_crayon,tourne_droite.
Remarque
Après un pas_de_cote on est en baisse_crayon.
On tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Attention
pas_de_cote 20; pas_de_cote 20; pas_de_cote 20; n’est pas identique
à pas_de_cote 60 car à chaque bond la tortue laisse une trace !
Il n’y a pas de commande spécifique pour faire un point,
il suffit d’être en baisse_crayon.
Ainsi, baisse_crayon dessine un point là où se trouve la tortue.
rond a comme argument 1,2 ou 3 arguments.
Si rond a 1 argument : un nombre réel r (+/- le rayon).
rond r dessine le cercle de rayon |r| tangent à la tortue :
la tortue trace le cercle :
si r>0 en le parcourant dans le sens direct et
si r<0 en le parcourant dans le sens indirect.
La position d’arrivée de la tortue est la même que sa postion de départ.
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Si rond a 2 arguments : un nombre réel r (+/- le rayon) et la
mesure d’un angle en degrés a.
rond(r,a) dessine l’arc de cercle tangent à la tortue, de rayon
|r| et de mesure signe(r)*a modulo 360 degrés compris entre la
postion de départ et la position d’arrivée de la tortue.
À l’arrivée :
si r>0 la tortue a tourné à gauche de a modulo 360
degrés c’est à dire : si
360>a>0 la tortue a tourné à gauche de a degrés ou à gauche
de a+360 degrés si -360<a<0 par
rapport à sa postion de départ et
si r<0, la tortue a tourné à droite de a modulo 360
degrés c’est à dire :
si 360>a>0 la tortue a tourné à droite de a degrés ou a
tourné à droite de a+360 degrés si -360<a<0 par rapport à
sa postion de départ.
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Si rond a 3 arguments : un nombre réel r (+/- le rayon) et les
mesures de 2 angles en degrés a1 et a2.
rond(r,a1,a2) dessine l’arc de cercle A1A2 tangent à la tortue,
de rayon |r| et de mesure a2-a1 modulo 360. Le point A1 (resp A2) est le point défini à partir de la postion de départ de la tortue, par
rond(r,a1); (resp rond(r,a2);) :
pour définir A1 (resp A2) la tortue a tourné à gauche si
r>0 (ou à droite si r<0 ) de a1 modulo 360 (resp a2
modulo 360) degrés par rapport à sa postion de départ.
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
Remarque
rond(20,10,100) est équivalent à :
leve_crayon;rond(20,10);baisse_crayon;rond(20,(100-10))
Les commandes de cette section permettent de manipuler le crayon.
Les couleurs sont codées par un entier allant de 0 à 255 (au delà de 255
la couleur est noire) mais cela peut dépendre de votre configuration...
Les principales couleurs se trouvent dans le sous_menu Crayon,
par exemple crayon rouge.
Les codes des différentes couleurs sont :
noir a pour code 0,
rouge a pour code 1,
vert a pour code 2,
jaune a pour code 3,
bleu a pour code 4,
magenta a pour code 5,
cyan a pour code 6,
blanc a pour code 7,
puis on a les dégradés des couleurs précédentes.
Il faut savoir que le fond de l’écran graphique est blanc de code 7 et que
cette couleur est appelée gomme. Donc gomme (la couleur du le
fond de l’écran) a pour code 7.
On peut voir les différentes couleurs disponibles en appuyant sur cr de
la barre des boutons, il suffit alors cliquer sur la couleur desirée de code
n pour que crayon n s’inscrive dans la ligne de commande.
Ou bien on tape :
efface; cache_tortue; pour n de 0 jusque 88 faire rectangle_plein(3,10); avance(3); crayon(n); fpour; saute(-267);pas_de_cote(-20); pour n de 89 jusque 177 faire rectangle_plein(3,10); avance(3); crayon(n); fpour; saute(-267);pas_de_cote(-20); pour n de 178 jusque 255 faire rectangle_plein(3,10); avance(3); crayon(n); fpour;
ou encore en une seule ligne avec un pour :
efface; cache\_tortue; pour n de 0 jusque 256 faire rectangle_plein(1,10); avance(1); crayon(n); fpour;
On obtient ainsi la palette des couleurs.
crayon a comme argument une couleur ou un entier représentant
cette couleur ou aucun argument.
Quand crayon n’a pas d’argument, crayon renvoie la couleur du
crayon (cf 1.6.1).
Quand crayon a un argument, crayon change la couleur du crayon.
On tape :
Ou on tape :
Ou on tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
leve_crayon n’a pas d’argument.
leve_crayon permet de faire bouger la tortue sans qu’elle laisse des
traces lors de ses déplacements.
On tape :
Ou on tape :
On obtient :
baisse_crayon n’a pas d’argument.
baisse_crayon permet de faire bouger la tortue pour qu’elle laisse des
traces lors de ses déplacements.
On tape :
Ou on tape :
On obtient :
crayon n’a pas d’argument ou a comme argument une couleur.
Lorsque crayon a un argument, crayon fixe la couleur du crayon de la tortue selon l’argument (cf 1.5.2).
Lorsque crayon n’a pas d’argument, crayon renvoie la
couleur du crayon même si celui-ci est levé.
On tape :
On obtient :
position n’a pas d’argument ou a comme argument un vecteur de
coordonnées.
Lorsque position a un argument, position fixe la position de la
tortue selon l’argument (cf 1.7.1).
Lorsque position n’a pas d’argument, position renvoie la position
de la tortue.
On tape :
Ou on tape :
On obtient par exemple comme réponse :
cap n’a pas d’argument ou a comme argument un réel.
Lorsque cap a un argument, cap fixe le cap de la tortue selon
l’argument (cf 1.7.2).
Lorsque cap n’a pas d’argument, cap renvoie le cap de la tortue
c’est à dire la mesure en degrés de de l’angle
Ox,MA (la tortue est sous la forme d’un petit
triangle ABC isocèle de sommet A et M est le milieu de BC).
On tape :
On obtient par exemple comme réponse :
Les commandes de cette section permettent de mettre la tortue selon des
coordonnées et un cap.
L’origine [0,0] du système de coordonnées cartésiennes se trouve en bas
et à gauche de l’écran, et l’axe des y est dirigé vers le haut.
L’unité est le pixel et la dimension de l’écran dépend de votre
ordinateur.
Le cap de la tortue est exprimé en degrés et ses valeurs sont celles du
cercle trigonométrique : ces valeurs sont interprétées modulo 360.
Le cap 0 est dirigé selon l’axe des x.
position n’a pas d’argument ou a comme argument un vecteur de
coordonnées.
Lorsque position n’a pas d’argument, position renvoie la position
de la tortue (cf 1.6.2).
Lorsque position a un argument, position fixe la position de la tortue selon l’argument.
On tape :
Ou on tape :
On obtient :
cap n’a pas d’argument ou a comme argument un réel.
Lorsque cap n’a pas d’argument, cap renvoie le cap de la tortue
(cf 1.6.3).
Lorsque cap a un argument, cap fixe le cap de la tortue selon
l’argument.
On tape :
Ou on tape :
On obtient :
vers a 1 argument qui est la liste formée par les
coordonnées du point ou 2 arguments qui sont les coordonnées du point.
vers fixe le cap de la tortue selon la direction donnée par
l’argument.
On tape :
Ou on tape :
Ou on tape :
On obtient :
Les commandes de cette section permettent de dessiner des figures pleines.
disque a 1,2 ou 3 arguments.
disque a les mêmes arguments que rond mais dessine le cercle
plein.
Si disque a comme argument un nombre réel r.
disque(r) dessine un disque tangent à la position de la tortue, de
rayon |r| et de couleur la couleur du crayon. La tortue indique le
sens de parcours du bord du disque : ce sens est positif si r>0 et
négatif si r<0.
On tape :
Ou on tape :
On obtient :
Si disque a 2 arguments un nombre réel r et la
mesure d’un angle en degrés a.
disque(r,a) dessine de la couleur du crayon, un secteur angulaire
tangent à la position de la tortue, de rayon |r|, d’angle a,
compris entre la postion de départ et la position d’arrivée de la tortue.
La tortue au départ indique le
sens de parcours du bord du disque : ce sens est positif si r>0 et
négatif si r<0.
À l’arrivée la tortue a tourné de a degrés par rapport à sa
postion de départ, à gauche, si r>0 et, à droite, si r<0.
On tape :
On obtient :
On tape :
On obtient :
Si disque a 3 arguments un nombre réel r (le rayon) et les
mesures a1 et a2 de 2 angles en degrés .
disque(r,a1,a2) dessine un secteur angulaire tangent à la
tortue, de rayon |r| et d’angle a2-a1 commençant à a1
degrés par rapport à la position de la tortue.
La tortue au départ indique le
sens de parcours du bord du disque : ce sens est positif si r>0 et
négatif si r<0.
À l’arrivée la tortue a tourné de a2 degrés par rapport à sa
postion de départ, à gauche, si r>0 et, à droite, si r<0.
On tape :
On obtient :
Remarque
Pour dessiner un disque de rayon r et de centre la tortue on peut définir :
disque_centre(r):=
avance(r);tourne_gauche; disque(r);tourne_droite; recule(r)
Pour dessiner un secteur d’angle a de rayon r et de centre la tortue on peut définir :
secteur_centre(r,a):=
avance(r);tourne_gauche; disque(r,a);tourne_droite; recule(r)
Pour dessiner un secteur d’angle a1 et a2, de rayon r et
de centre la tortue on peut définir :
secteurs_centre(r,a1,a2):=
avance(r);tourne_gauche; disque(r,a1,a2);tourne_droite; recule(r)
rectangle_plein a comme argument 1 ou 2 nombres réels.
Si il n’y a qu’un argument a rectangle_plein(a) dessine un carré
plein de coté a et si il y a 2 arguments a et b,
rectangle_plein(a,b)
dessine un rectangle plein de cotés a et b.
Le carré ou le rectangle sont situés à gauche de la tortue : la tortue
décrit le contour dans le sens direct et remplit la figure décrite.
On tape :
Ou on tape :
On obtient :
On tape :
On obtient :
On tape :
On obtient :
On tape :
On obtient :
triangle_plein a comme argument 1 2 ou 3 nombres réels.
Si il y a un seul argument a, triangle_plein dessine un triangle
équilatéral plein de coté a.
Si il y a deux arguments a et b, triangle_plein dessine
un triangle rectangle plein de cotés a et b.
Si il y a trois arguments a, b et t, triangle_plein
dessine un triangle plein de cotés a et b et formant un angle
de t degrés.
On tape :
Ou on tape :
On obtient :
On tape :
On obtient :
On tape :
On obtient :
On tape :
On obtient :
polygone_rempli a comme argument un entier négatif -n
strictement inférieur à -1.
polygone_rempli -n recherche les n positions précédentes de
la tortue qui doivent former un polygone qui sera ensuite rempli.
Dans la pratique, on fait tracer à la tortue un polygone puis on compte le
nombre d’instructions n utilisées pour faire ce polygone, puis on tape :
polygone_rempli -n.
Attention
tourne_droite ou tourne_gauche compte pour une position.
On tape :
On obtient :
Attention La tortue ici n’est pas revenue à sa position initiale.
On tape :
On obtient :
Attention La tortue ici est revenue à sa position initiale.
ecris a 1,2 ou 4 arguments qui sont :
une chaîne de caractères, la taille de la fonte (par défaut 14), et
les coordonnées du point où l’on veut écrire (par défaut ce sera là
où se trouve la tortue).
Il faut noter que la chaîne de caractères peut s’écrire avec ou sans
les ".
Attention
La commande ecris ne change pas la position de la tortue.
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
On tape :
Ou on tape :
On obtient :
signe a un argument qui une chaîne de caractères.
signe écris la chaîne de caractères à la place du point
[10,10] avec la fonte 20.
Il faut noter que la chaîne de caractères peut s’écrire avec ou sans
les ".
On a donc :
signe("Thomas")=ecris("Thomas",20,10,10).
On tape :
Ou on tape
On obtient :