1.1 - Qu'est ce qu'un programme ?

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.

synopsis

  1. prérequis
  2. notions de base
  3. déplacement et environnement
  4. rotation
  5. à vous de jouer
  6. sommaire

  7. << retour aux tu(r)toriaux

prérequis

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

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 AL :
  • 1
  • 2
  • 3
algo.go (100);
algo.turnRight (90);
algo.go (100);

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

Déplacements :
La tortue avance de 100 points
La tortue tourne sur sa droite de 90 degrées.
La tortue avance de 100 points

Quel est le résultat de ces quelques lignes ?

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.

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 °.

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 :

à vous de jouer

ex1: un carré

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

 
Solution: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
// segment gauche
algo.go (100);
algo.turnRight (90);
// segment supérieur
algo.go (100);
algo.turnRight (90);
// segment droit
algo.go (100);
algo.turnRight (90);
// segment inférieur
algo.go (100);
algo.turnRight (90);

ex2: un escalier

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

 
Solution: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
// base
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);

ex3: une pyramide

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

 
Solution: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
// moitié gauche de la base
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);
// moitié gauche de la base
algo.turnRight (90);
algo.go (200);

ex4: une autre pyramide

Ecrit un script pour dessiner la figure suivante :
Indice : Pour faire un tour complet, la tortue doit tourner de 360°. Il faut donc tourner de 360 / 3 = 120° pour chaque segment de droite.
120° c'est l'angle opposé à celui du triangle (120° + 60° = 180°).

 
Solution: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
// moitié gauche de la base
algo.turnLeft (90);
algo.go (100);
// coté gauche
algo.turnRight (120); // 360 / 3
algo.go (200);
// coté droit
algo.turnRight (120);
algo.go (200);
// moitié droite de la base
algo.turnRight (120);
algo.go (100);



sommaire

connaissances

Dans ce tutoriel, vous avez appris :

  • Qu'est ce qu'un programme ?
  • Comment effectuer quelques dessins amusants avec des instructions très simples.

fonctions utilisées :

FonctionDéscription