Algoid - Tutoriel 1.1

Qu'est-ce qu'un programme

Yann Caron

Dans ce tutoriel nous allons découvrir comment la tortue d'Algoid peut voyager au travers son environnement.
Il couvre les déplacements et rotations de la petite tortue qui va pouvoir effectuer d'amusantes formes géométriques.

- Titre : Algoid - Tutoriel 1.1

- Auteur : Yann Caron

- Parution : 17 avril 2013

- Mise à jour : 17 avril 2013

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2013 Yann Caron. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Prérequis

- II. Notions de base

- III. Déplacement et environnement

- IV. Rotation

- IV-A. Relativité

- V. Exercices

- V-A. Ex. 1 : un carré

- V-B. Ex. 2 : un escalier

- V-C. Ex. 3 : une pyramide

- V-D. Ex. 4 : une autre pyramide

- VI. Sommaire

- VI-A. Connaissances

- VI-B. Fonctions utilisées :

- VI-C. Colophon

I - Prérequis

Aucun prérequis n'est nécessaire pour lire ce tutoriel à part l'application Algoid ;-)

II - Notions de base

Qu'est-ce qu'un programme ?
Eh bien, un programme d'ordinateur, c'est une suite d'instructions écrites pour demander à un ordinateur de faire des choses pour nous.
Quand j'étais petit, je pensais qu'il suffisait de parler à l'ordinateur pour qu'il fasse ce que je lui demande.
Beaucoup de gens aimeraient bien que ça se passe ainsi et beaucoup de travaux sont faits dans ce sens.
Mais pour le moment il va falloir se contenter d'utiliser un langage que l'ordinateur comprend.
Un programme, c'est donc une séquence d'instructions compréhensibles par la machine. Cette séquence s'appelle un code source.
Programmer c'est donc le fait d'imaginer et d'écrire le code source d'un programme.
Après écriture, le programme est exécuté par la machine qui fait ce que nous lui avons demandé (du moins la plupart du temps).
En AL, les lignes sont séparées par un point-virgule « ; », mais ce n'est pas obligatoire. Une bonne pratique consiste à les utiliser et de séparer les lignes avec un retour chariot en plus.

Voici un exemple de programme écrit en AL :

algo.go (100);
algo.turnRight (90);
algo.go (100);

Note : Pour exécuter le programme, il faut utiliser menu/run.
Nous pouvons également supprimer le mode pas à pas en décochant menu/paramètres/pas à pas.Qu'est-ce que ça nous donne ?

III - Déplacement et environnement

La tortue d'Algoid peut bouger en mode relatif ; sa position est déterminée par sa position précédente et son orientation.
Dans l'exemple précédent, la tortue était orientée vers le haut de l'écran à la position 0, 0 (le centre).
Nous avons bougé la tortue en avant avec l'instruction algo.go (100) et la tortue l'a exécuté en se déplaçant à la position 0, 100.

IV - Rotation

La tortue peut s'orienter dans un mode relatif également. Son orientation est déterminée par sa précédente orientation en ajoutant la nouvelle.
Dans l'exemple précédent, la tortue était initialement orientée de 0 ° et a été tournée sur la droite de 90 °.
Les angles se mesurent de 0 ° à 360 °. 360 représente un tour complet, c'est-à-dire qu'il correspond à 0 °.
Pour faire tourner la tortue à droite, nous devons utiliser l'instruction algo.turnRight() :

Pour faire tourner la tortue à gauche, il faut utiliser l'instruction algo.turnLeft() :

La solution la plus simple est d'utiliser ces deux fonctions de 0 à 180 °.

IV-A - Relativité

Eurêka ! Tout est relatif !
La façon relative de déterminer la position d'un point dans l'espace s'appelle l'espace euclidien.
Chaque fois que la tortue est bougée et tournée, sa référence change et cela va influencer la position future.
Par exemple, si la tortue a déjà été tournée de 45 ° avec l'instruction algo.turnRight(), son nouveau référentiel va être :

V - Exercices

V-A - Ex. 1 : un carré

Dessinons un petit carré maintenant. Il faut écrire un script pour dessiner la figure suivante :

Solution

// gauche
algo.go (100);
algo.turnRight (90);
// haut
algo.go (100);
algo.turnRight (90);
// droite
algo.go (100);
algo.turnRight (90);
// bas
algo.go (100);
algo.turnRight (90);

V-B - Ex. 2 : un escalier

Dessinons un petit escalier. Il faut écrire un script pour dessiner la figure suivante :

solution

// sol
algo.turnLeft (90);
algo.go (200);
// marche 1
algo.turnRight (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 2
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 3
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 4
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// fermeture
algo.turnRight (90);
algo.go (200);

V-C - Ex. 3 : une pyramide

Il faut écrire un script pour dessiner la figure suivante :

solution

// sol
algo.turnLeft (90);
algo.go (200);
// marche 1
algo.turnRight (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 2
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 3
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 4
algo.turnLeft (90);
algo.go (50);
algo.turnRight (90);
algo.go (50);
// marche 5
algo.go (50);
algo.turnRight (90);
algo.go (50);
algo.turnLeft (90);
// marche 6
algo.go (50);
algo.turnRight (90);
algo.go (50);
algo.turnLeft (90);
// marche 7
algo.go (50);
algo.turnRight (90);
algo.go (50);
algo.turnLeft (90);
// marche 8
algo.go (50);
algo.turnRight (90);
algo.go (50);
// sol
algo.turnRight (90);
algo.go (200);

V-D - Ex. 4 : une autre pyramide

Il faut écrire un script pour dessiner la figure suivante :

indice : l'angle d'un triangle est de 360 ° divisé par 3 = 120 °.

solution

// initialisation de la position de la tortue
algo.turnLeft (90);
// le début du côté du bas
algo.go (100);
algo.turnRight (120); // 360 / 3
// côté 2
algo.go (200);
algo.turnRight (120);
// côté 3
algo.go (200);
algo.turnRight (120);
// fin du côté du bas
algo.go (100);

VI - Sommaire

VI-A - Connaissances

Dans ce tutoriel nous avons appris :

- Qu'est-ce qu'un programme ?

- Comment effectuer quelques dessins amusants avec des instructions très simples ?

VI-B - Fonctions utilisées :

Fonction

Description

algo.go (longueur)

Fait avancer la tortue en dessinant une ligne.

algo.turnLeft (angle)

Tourne la tortue à gauche.

algo.turnRight (angle)

Tourne la tortue à droite.

VI-C - Colophon

Retrouvez tout l'univers d'Algoid, la référence, les tutoriels et bien d'autres sur http://caron.yann.free.fr/algoid.