> ## Documentation Index
> Fetch the complete documentation index at: https://docs.primastem.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PrimaSTEM et LOGO

> PrimaSTEM, c'est la géométrie tortue de LOGO, dans les mains et sans écran. Chaque notion sur la télécommande et son équivalent en LOGO.

PrimaSTEM repose sur l'idée de [LOGO](https://fr.wikipedia.org/wiki/Logo_\(langage\)). Seymour Papert et ses collègues ont créé ce langage pour les enfants en 1967. En LOGO, l'enfant tape des commandes et une tortue dessine à l'écran. Avec PrimaSTEM, l'enfant pose des jetons sur la télécommande, et un robot en bois muni d'un feutre dessine sur le papier. Sans clavier, sans écran, sans texte.

Cette page s'adresse aux enseignants qui connaissent LOGO ou Scratch, et à tous ceux qui veulent comprendre ce que font vraiment les jetons.

## Les notions sur la télécommande

| Notion | Sur la télécommande PrimaSTEM | En LOGO |
| - | - | - |
| Séquence | Les jetons s'exécutent de gauche à droite sur la rangée supérieure. La LED de la paire en cours clignote, puis s'éteint | une commande après l'autre |
| Commande | Avancer, Reculer, Gauche, Droite, Pause, Mouvement aléatoire | `forward`, `back`, `left`, `right`, `wait` |
| Paramètre | Un jeton nombre dans la même paire : Avancer + 200 | `forward 200` |
| Valeur par défaut | Avancer sans nombre = 150 mm, Gauche/Droite sans nombre = 90° | |
| Boucle | Un jeton de répétition dans la paire : Avancer + répéter 4 | `repeat 4 [forward 150]` |
| Procédure | La rangée inférieure (5 paires) est la Fonction. Le jeton « Fonction » l'appelle | `to shape ... end`, puis `shape` |
| Procédure dans une boucle | Le jeton « Fonction » et un jeton de répétition dans la même paire : Fonction + répéter 5 | `repeat 5 [shape]` |
| Passer une valeur à une procédure | Avancer 100 avance de 100 mm et mémorise 100. Si vous appelez ensuite une Fonction qui contient Avancer sans nombre, elle avance aussi de 100. Changez Avancer avant l'appel suivant, et la même Fonction dessine la figure à une autre taille | proche de `shape 100`, `shape 50` |
| Récursivité | Un jeton « Fonction » dans la rangée inférieure : la fonction s'appelle elle-même jusqu'à ce que vous appuyiez de nouveau sur ▶ Start | une procédure qui s'appelle elle-même |
| Variables | Chaque commande retient sa dernière valeur : Avancer, Reculer, Gauche, Droite et Pause sont cinq variables indépendantes. Avancer sans nombre avance autant que le dernier Avancer | `make "step 200`, puis `forward :step` |
| Arithmétique sur une variable | Avancer + « +30 » : ajouter 30 à la valeur mémorisée, puis avancer | `make "step :step + 30 forward :step` |
| Opérations | + − × ÷ √ ^ sur la valeur mémorisée, de −5000 à 5000, nombres entiers | `sum`, `difference`, `product`, `quotient`, `sqrt`, `power` |
| Valeurs négatives | Un résultat négatif inverse le mouvement : Avancer −50 recule de 50 mm, Gauche −30 tourne de 30° à droite | `forward -50` |
| Hasard | Le jeton de répétition avec le dé (de 1 à 6 fois) et le jeton « Mouvement aléatoire » | `random 6` |
| Crayon | Un feutre au centre du robot | `pendown` |
| Débogage | On regarde le robot, on trouve le mauvais jeton, on le remplace | corriger la ligne |

Chaque commande a sa propre valeur mémorisée : si vous changez Avancer, Gauche ne change pas. Quand on éteint la télécommande, toutes les valeurs reviennent aux valeurs par défaut : 150 mm, 90°, 1 s pour la Pause. Pour changer le pas par défaut durablement, utilisez le jeton de service « Définir la longueur de pas par défaut » (voir [Appareil et réglages](https://docs.primastem.com/fr/usermanual.md)).

C'est l'enfant qui calcule. Le robot exécute le programme avec précision.

## Exemples : le même programme sur la télécommande et en LOGO

Chaque exemple a un lien. Il ouvre le [simulateur](https://simulator.primastem.com) avec ce programme sur la télécommande et le lance.

### Carré

Télécommande : rangée supérieure Fonction × 4. Rangée inférieure : Avancer 300, Droite.

```
repeat 4 [forward 300 right 90]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=cfun.r004\&fn=cfor.n300,crig\&s=l1047602\&r=300-600-0\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/square-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=79cc88bf5f7b5d4db9bb88061625c4ee)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/square-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=80dafb4920340e178692e358dd60a7e8)

Ce que dessine le robot

Pour les enfants de 4 à 6 ans, on peut se passer des nombres : Avancer et Droite sans nombres dessinent un carré de 15 cm de côté.

### Triangle équilatéral

Télécommande : rangée supérieure Fonction × 3. Rangée inférieure : Avancer 400, Droite 120.

```
repeat 3 [forward 400 right 120]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=cfun.r003\&fn=cfor.n400,crig.n120\&s=l1047602\&r=250-623-30\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/triangle-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=e1a7c4eacf55cfa091359c276b48cf8e)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/triangle-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=b5f7f7a0e9200b4d766917fd10826ee7)

Ce que dessine le robot

Pourquoi 120 et pas 60 ? Le robot tourne de l'angle extérieur. Les trois rotations ensemble doivent faire un tour complet : 3 × 120 = 360.

### Étoile à cinq branches

Télécommande : rangée supérieure Fonction × 5. Rangée inférieure : Avancer 400, Droite 144.

```
repeat 5 [forward 400 right 144]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=cfun.r005\&fn=cfor.n400,crig.n144\&s=l1047602\&r=250-405-90\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/star-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=638a6cc4135538f1276327c727318a6e)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/star-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=ce0af54eb82b2fcda4555ea98890cce7)

Ce que dessine le robot

5 × 144 = 720 : le robot fait deux tours sur lui-même, et la ligne se referme en étoile.

### Cercle

Télécommande : rangée supérieure Fonction × 36. Rangée inférieure : Avancer 25, Droite 10.

```
repeat 36 [forward 25 right 10]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=cfun.r036\&fn=cfor.n025,crig.n010\&s=l1047602\&r=438-307-90\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/circle-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=d2e2fb9200c7e1741fc8e48c85c8f803)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/circle-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=14e18317e2c052773793cf82140b5340)

Ce que dessine le robot

Un cercle est un polygone avec beaucoup de petits côtés : 36 × 10° = 360°.

### Spirale carrée (variable et arithmétique)

Télécommande : rangée supérieure Avancer 30, Fonction × 20. Rangée inférieure : Droite, Avancer +30.

```
make "side 30
forward :side
repeat 20 [
  right 90
  make "side :side + 30
  forward :side
]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=cfor.n030,cfun.r020\&fn=crig,cfor.a030\&s=l1047602\&r=450-465-0\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/spiral-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=1bedc4d6ad929e9edeffd61c84a62a7c)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/spiral-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=c02f85a2d5a0c8efa2c11a9a850bca1c)

Ce que dessine le robot

Avancer 30 fixe la valeur mémorisée. À chaque exécution de la fonction, « +30 » allonge le côté de 30 mm : 60, 90, 120 et ainsi de suite. Le premier Avancer 30 réinitialise la valeur. Si vous appuyez de nouveau sur ▶ Start, vous obtenez donc la même spirale.

### Hexagone (angle par division)

Télécommande : rangée supérieure Droite 360, Droite ÷6, Fonction × 6. Rangée inférieure : Avancer 200, Droite.

```
make "angle 360 / 6
repeat 6 [forward 200 right :angle]
```

[Lancer dans le simulateur](https://simulator.primastem.com/#top=crig.n360,crig.d006,cfun.r006\&fn=cfor.n200,crig\&s=l1047602\&r=350-232-39\&run)

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/hexagon-board.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=e22c8101803d42d659e8cf7654bf9a0c)

Programme sur la télécommande

![](https://mintcdn.com/primastem/JJYOYv4iGRFfXM5x/images/logo/hexagon-field.svg?fit=max\&auto=format\&n=JJYOYv4iGRFfXM5x\&q=85\&s=fd10410c3cecd4ea9360633b81bdeeee)

Ce que dessine le robot

Droite 360 fait un tour complet et mémorise 360. Droite ÷6 divise la valeur mémorisée et tourne de 60°. Dans la fonction, Droite sans nombre reprend 60°. Les deux rotations du début changent seulement la direction du robot avant le dessin ; la figure reste un hexagone.

La télécommande fait une division entière et laisse tomber le reste. Pour que la figure se referme, divisez 360 par un nombre sans reste : 3, 4, 5, 6, 8, 9, 10, 12. Par exemple, 360 ÷ 7 donne 51°, et il manque 3° pour que l'heptagone se referme.

Plus de dessins : [Exemples de dessins](https://docs.primastem.com/fr/mathdrawings.md).

## Ce qui distingue PrimaSTEM de LOGO

PrimaSTEM couvre les bases de la géométrie tortue de LOGO. Certaines choses fonctionnent autrement, et c'est voulu :

* **Une paire, une commande et une valeur.** Une paire de cellules contient une commande et au plus une valeur : un nombre, une répétition ou une opération. C'est pourquoi même un enfant de quatre ans peut lire le programme.
* **Pas de conditions (`if`).** Le programme s'exécute chaque fois de la même façon. Seuls le dé et le Mouvement aléatoire apportent du hasard.
* **La Fonction n'a pas de paramètres nommés.** On l'appelle avec une répétition, et elle prend les valeurs définies avant l'appel (voir le tableau ci-dessus).
* **Longueur du programme :** 6 paires dans la rangée principale, 5 dans la Fonction.
* **On met le feutre à la main** quand l'enfant veut que le robot dessine.

Quand l'enfant a fait le tour de la télécommande, le même robot fonctionne avec [Scratch](https://scratch.primastem.com).

## Pour aller plus loin

* [Seymour Papert](https://en.wikipedia.org/wiki/Seymour_Papert), *Mindstorms: Children, Computers, and Powerful Ideas*, 1980.
* [Guide de l'enseignant](https://docs.primastem.com/fr/teachersguide.md) : des leçons, du premier programme jusqu'à l'arithmétique.
* [Guide d'apprentissage. Livre 1](https://docs.primastem.com/fr/book-1/book-1.md) : 12 leçons pour les enfants dès 4 ans.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.