Contenu
Index 🔎︎

# LibreLogo

LibreLogo est un environnement de programmation comme Logo, simple, avec des images vectorielles tortue pour l'enseignement de la programmation et du traitement de texte, le DTP et la création graphique. Voir http://www.numbertext.org/logo/librelogo.pdf.

## Barre d'outils LibreLogo

La barre d'outils LibreLogo (Affichage - Barres d'outils - Logo) contient le déplacement de la tortue, l'arrêt et le démarrage du programme, origine et effacer l'écran ainsi que des icônes pour la mise en évidence de la syntaxe/traduction et une barre de saisie (ligne de commande).

## Icônes de déplacement de la tortue

Elles sont équivalentes aux commandes Logo “AVANCE 10”, “RECULE 10”, “GAUCHE 15”, “DROITE 15”. Cliquer sur l'une de ces icônes mettra le focus sur la forme de la tortue en faisant défiler la page à sa position.

## Démarrer le programme Logo

Cliquez sur l'icône "Démarrer le programme Logo" pour exécuter le texte (ou uniquement celui sélectionné) du document Writer comme un programme LibreLogo. Dans un document vide, une programme exemple sera inséré et exécuté.

Cliquez sur l'icône "Arrêter" pour arrêter l'exécution du programme.

## Origine

Cliquez sur l'icône "Origine" pour réinitialiser la position et les paramètres de la tortue.

## Effacer l'écran

Cliquez sur l'icône "Effacer l'écran" pour supprimer les objets de dessin du document.

## Éditeur/Mise en évidence de la syntaxe/Traduction du programme

L'icône «baguette magique» définit une mise en page de 2 pages pour l'édition de programmes, se développe et converti en majuscules des commandes Logo abrégées, en minuscules les commandes Logo dans le document Writer. Modifiez la langue du document dans LibreOffice - Préférences Outils - Options - Paramètres linguistiques - Langues - Occidentales) et cliquez sur l'icône pour traduire le programme Logo dans la langue sélectionnée.

## Ligne de commande

Appuyez sur Entrée dans la ligne de commande pour exécuter son contenu. Pour arrêter le programme, utilisez l'icône "Arrêter".

Maintenez la touche Entrée pour répéter la ligne de commande, par exemple, dans la séquence de commande suivante :

     AVANCE 200 GAUCHE 89

Pour réinitialiser la ligne de commande, cliquez trois fois dedans ou appuyez sur Ctrl+A pour sélectionner les commandes précédentes et saisissez les nouvelles commandes.

## Interface utilisateur graphique des paramètres de bases tortue

La forme de tortue de LibreLogo est un objet de dessin de taille normale fixe. Vous pouvez la positionner et la pivoter de façon standard également en utilisant la souris ou l'icône Pivoter dans la barre d'outils des propriétés de l'objet. Modifiez les paramètres de largeur de ligne, de couleur de ligne et de couleur de remplissage de la forme de la tortue pour définir les attributs TAILLECRAYON, COULEURCRAYON et PEINSCOULEUR de LibreLogo.

## Édition du programme

Les dessins et les programmes LibreLogo utilisent le même document Writer. Le canevas LibreLogo est sur la première page du document Writer. Vous pouvez insérer un saut de page avant les programmes LibreLogo et définir le zoom en utilisant l'icône "baguette magique" de la barre d'outils Logo, également modifier la taille de police pour une mise en page sur confortable sur deux pages pour la programmation LibreLogo : la page gauche (première page) est le canevas, la page droite (seconde page) est pour l'éditeur de programme Logo.

# Langage de programmation LibreLogo

LibreLogo est un langage de programmation facile à traduire, basé sur Logo, traduit en plusieurs langues par les communautés de langue native de LibreOffice. Il est rétro compatible avec les systèmes Logo précédents dans le cas de programmes Logo simples utilisés, par exemple, dans l'éducation.

     A triangle :taille
     REPETE 3 [
       AVANCE :size
       GAUCHE 120
     ]
     FIN

     triangle 10 triangle 100 triangle 200

## Différences avec le langage de programmation Logo

- Les membres de liste sont séparés par des virgules : POSITION [0, 0]

- Les blocs de programme et les listes sont différents

- - Les blocs de programme on besoin d'un espace ou d'une nouvelle ligne entre les parenthèses : REPETE 10 [ AVANCE 10 GAUCHE 36 ]

  - Les listes ont besoin de parenthèses sans espace : POSITION [0, 0] et non POSITION [ 0, 0 ]

- Les déclarations de fonction sur une ligne ne sont pas prises en charge (A et FIN ont besoin d'une nouvelle ligne).

## Autres fonctions de LibreLogo

- Les deux points sont facultatifs avant les noms de variables.

       A triangle size
         REPETE 3 [ AVANCE taille GAUCHE 120 ]
       FIN

- La notation des chaînes prend en charge la correction orthographique et la syntaxe Python.

       ECRIS "mot ; syntaxe originale Logo
       ECRIS “Texte aléatoire.” ; orthographe, Writer
       ECRIS 'Texte aléatoire.' ; syntaxe Python

- Liste Python et gestion des chaînes

       ECRIS “texte”[2] ; imprime “x”
       ECRIS “texte”[1:3] ; imprime “ex”

- Boucle FOR comme Python

- Déclaration de variables comme Python :

       x = 15
       ECRIS x

- Il n'y a pas de fonctions de requêtes supplémentaires :

       ECRIS PEINSCOULEUR
       p = POSITION
       ECRIS p
       REPETE 10 [ TOUTE POSITION POSITION p ]

- Parenthèses facultatives dans les appels de fonction

       A étoile taille couleur
       PEINSCOULEUR couleur
       REPETE 5 [ GAUCHE 72 AVANCE taille DROITE 144 AVANCE taille ]
       PEINS
       FIN

       étoile 100 “rouge”
       étoile (100, “vert”)
       étoile(100, “bleu”)

# Commandes LibreLogo

## Syntaxe basique

### Sensibilité à la casse

Les commandes, les constantes de couleur sont sensibles à la casse :

     ECRIS “Hello, monde!”
     imprime “Hello, Monde, encore !”

Les noms de variable sont sensibles à la casse :

     a = 5
     A = 7
     ECRIS a
     ECRIS A

### Lignes de programme

Les lignes d'un programme LibreLogo sont des paragraphes d'un document LibreOffice Writer. Une ligne de programme peut contenir plusieurs commandes :

     ECRIS “Hello, Monde!” ECRIS “LibreLogo”

### Commentaires

Les lignes ou les parties de ligne sont des commentaires d'un point-virgule à la fin de la ligne (paragraphe) :

     ; des commentaires
     ECRIS 5 * 5 ; des commentaires

### Couper les lignes de programme en plusieurs paragraphes

Il est possible de couper une ligne de programme en plusieurs paragraphes en utilisant le caractère tilde à la fin de la ligne :

     ECRIS “C'est un très long ” + ~
           “message d'avertissement”

## Déplacement de la tortue

### AVANCE (fd)

     AVANCE 10 ; déplacer en avant de 10pt (1pt = 1/72 inch)
     AVANCE 10pt ; voir ci-dessus
     AVANCE 0.5in ; déplacer en avant de 0.5 inch (1 inch = 2.54 cm)
     AVANCE 1" ; voir ci-dessus
     FD 1mm
     FD 1cm

### RECULE (re)

     RECULE 10 ; déplacer en arrière de 10pt

### GAUCHE (ga)

     GAUCHE 90 ; tourner dans le sens inverse des aiguilles d'une montre de 90 degrés
     GAUCHE 90° ; voir ci-dessus
     GA 3h ; voir ci-dessus (position des aiguilles)
     GA tout ; tourner dans une position aléatoire

### DROITE (dr)

     DROITE 90 ; tourner dans le sens des aiguilles d'une montre de 90 degrés

### LEVECRAYON (lc)

     LEVECRAYON ; la tortue se déplace sans dessiner

### BAISSECRAYON (bc)

     BAISSECRAYON ; la tortue se déplace en dessinant

### POSITION (pos)

     POSITION [0, 0] ; tourner et se déplacer vers le coins supérieur gauche
     POSITION TAILLEPAGE ; tourner et se déplacer vers le coin inférieur droit
     POSITION [TAILLEPAGE[0], 0] ; tourner et se déplacer vers le coin supérieur droit
     POSITION TOUT ; tourner et se déplacer à une position aléatoire

### CAP (fixec)

     CAP 0 ; tourner au nord
     CAP 12h ; voir au-dessus
     CAP [0, 0] ; tourner au coin supérieur gauche
    CAP TOUT ; tourner dans une direction aléatoire

## Autres commandes de la tortue

### CACHETORTUE (ct)

     CACHETORTUE ; masquer la tortue (jusqu'à la commande montretortue)

### MONTRETORTUE (mt)

     MONTRETORTUE ; afficher la tortue

### ORIGINE

     ORIGINE ; ramener la tortue à sa position initiale

### EFFACEECRAN (ve)

     EFFACEECRAN ; supprimer les objets de dessin du document

### PEINS et FERME

     PEINS ; fermer et remplir la ligne ou les points actifs
     FERME ; fermer la forme de ligne active ou joint les points actifs

Exemple : remplir un triangle équilatéral :

     AVANCE 50 GAUCHE 120 AVANCE 50 PEINS

Exemple : dessiner un triangle équilatéral :

     AVANCE 50 GAUCHE 120 AVANCE 50 FERME

## Paramètres du stylo

### TAILLECRAYON (ps)

     TAILLECRAYON 100 ; la largeur de la ligne est de 100 points
     TAILLECRAYON TOUT ; équivalent à TAILLECRAYON ALEATOIRE 10

### COULEURCRAYON/COULEURPLUME (cc)

     COULEURCRAYON “rouge” ; définir la couleur du stylo sur rouge (par nom de couleur, voir constantes de couleur)
     COULEURCRAYON [255, 255, 0] ; définir la couleur sur jaune (liste RGB)
     COULEURCRAYON 0xffff00 ; définir la couleur sur jaune (code hexa)
     COULEURCRAYON 0 ; définir la couleur sur noir (0x000000)
     COULEURCRAYON TOUT ; couleur aléatoire
     COULEURCRAYON [5] ; définir la couleur sur rouge (par identifiant de couleur, voir les constantes de couleur)
     COULEURCRAYON “invisible” ; couleur de stylo invisible pour les formes sans contour visible
     COULEURCRAYON “~rouge” ; définir une couleur rouge aléatoire

### TRANSPARENCECRAYON

     TRANSPARENCECRAYON 80 ; définit la transparence de la couleur actuelle du crayon sur 80 %

### COIFFECRAYON/COIFFELIGNE

     COIFFECRAYON "aucune" ; sans fin de ligne (par défaut)
    COIFFECRAYON "arrondi" ; fin de ligne arrondie
     COIFFECRAYON "carré" ; fin de ligne carrée

### JOINTCRAYON/JOINTLIGNE

     JOINTCRAYON “arrondi” ; jointure de ligne arrondie (par défaut)
     JOINTCRAYON “droit” ; jointure de ligne nette
     JOINTCRAYON “biseau” ; jointure de ligne biseautée
     JOINTCRAYON “aucun” ; sans jointure de ligne

### STYLECRAYON

     STYLECRAYON “plein” ; ligne pleine (par défaut)
     STYLECRAYON “pointillé” ; ligne pointillée
     STYLECRAYON “tiret” ; ligne de tirets

     ; motif personnalisé de points et de tirets spécifié par une liste contenant les arguments suivants :
     ; – nombre de points voisins
     ; – longueur d'un point
     ; – nombre de tirets voisins
     ; – longueur d'un tiret
     ; – distance des points/tirets
     ; – type (facultatif):
     ;   0 = les points sont des rectangles (par défaut)
     ;   2 = les points sont des carrés (les longueurs et les distances sont relatives à la taille du stylo)

     STYLECRAYON [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––

## Paramètres de remplissage

### PEINSCOULEUR/PEINSCOULEUR (pc)

     PEINSCOULEUR "bleu" ; remplit avec la couleur bleu, voir également COULEURCRAYON
     PEINSCOULEUR "invisible " CERCLE 10 ; cercle non rempli
     PEINSCOULEUR [“bleu”, “rouge”] ; dégradé entre rouge et bleu
     PEINSCOULEUR [[255, 255, 255], [255, 128, 0]] ; entre blanc et orange
     PEINSCOULEUR [“bleu”, “rouge”, 1, 0, 0] ; définit l'axe du dégradé (avec la bonne rotation et la définition des bordures), valeurs possibles : 0-5 = dégradé linéaire, axial, radial, elliptique, carré ou rectangulaire
     PEINSCOULEUR  [“rouge”, “bleu”, 0, 90, 20] ; linéaire avec une bordure de 20%, rotation de 90 degrés à partir du titre actuel de la tortue
     PEINSCOULEUR [“rouge”, 'bleu”, 0, 90, 20, 0, 0, 200, 50] ; intensité de 200% à 50%
     PEINCOULEUR [TOUT, TOUT, 2, 0, 0, 50, 50] ; dégradé radial avec des couleurs aléatoires et 50-50% positions horizontale et verticale du centre

### PEINSTRANSPARENCE

     PEINSTRANSPARENCE 80 ; définit la transparence de la couleur de remplissage actuelle sur 80%
     PEINSTRANSPARENCE [80] ; définit le dégradé de transparence linéaire de 80% à 0%
     PEINSTRANSPARENCE [80, 20] ; définit le dégradé de transparence linéaire de 80% à 20%
     PEINSTRANSPARENCE [80, 20, 1, 90] ; définit le dégradé de transparence axial pivoté à 90 degrés à partir du titre actuel de la tortue
     PEINSTRANSPARENCE [80, 20, 2, 0, 20, 50, 50] ; définit le dégradé de transparence radial de l'extérieur de 80% vers l'intérieur de 20% de transparence avec une bordure de 20% et avec 50-50% positions horizontale et verticale du centre

### STYLEPEINS

     STYLEPEINS 0 ; remplir sans hachure (par défaut)
     STYLEPEINS 1 ; hachures simples noires (horizontales)
     STYLEPEINS 2 ; hachures simples noires (45 degrés)
     STYLEPEINS 3 ; hachures simples noires (-45 degrés)
     STYLEPEINS 4 ; hachures simples noires (verticales)
     STYLEPEINS 5 ; hachures croisées rouges (45 degrés)
     STYLEPEINS 6 ; hachures croisées rouges (0 degrés)
     STYLEPEINS 7 ; hachures croisées bleues(45 degrés)
     STYLEPEINS 8 ; hachures croisées bleues (0 degrés)
     STYLEPEINS 9 ; triple croix bleue
     STYLEPEINS 10 ; hachures simples larges noires (45 degré)

     ; hachures personnalisées spécifiées par les arguments suivants :
     ; – style (1 = simple, 2 = double, 3 = triple hachures)
     ; – couleur
     ; – distance
     ; – degré

     STYLEPEINS [2, “green”, 3pt, 15°] ; hachures croisées vertes (15 degrés)

## Objets de dessin

### CERCLE

     CERCLE 100 ; dessiner une forme de cercle (diamètre = 100pt)

### ELLIPSE

     ELLIPSE [50, 100] ; dessiner une ellipse de diamètres 50 et 100
     ELLIPSE [50, 100, 2h, 12h] ; dessiner un secteur d'ellipse (de 2h à 12h)
     ELLIPSE [50, 100, 2h, 12h, 2]  ; dessiner un segment elliptique
     ELLIPSE [50, 100, 2h, 12h, 3]  ; dessiner un arc elliptique

### CARRE

     CARRE 100 ; dessiner une forme carrée (taille = 100pt)

### RECTANGLE

     RECTANGLE [50, 100] ; dessiner une forme de rectangle (50×100 pt)
     RECTANGLE [50, 100, 10] ; dessiner un rectangle avec des angles arrondis

### POINT

     POINT ; dessiner un point ayant la taille et la couleur du stylo

FERME peut joindre les derniers points, PEINS peut remplir la forme définie par les points. Par exemple, il est facile de dessiner une étoile "plate" en partant de son centre :

     LEVECRAYON
    REPETE 5[
     AVANCE 80
     POINT
     RECULE 80
     DROITE 36
     AVANCE 50
     POINT
     RECULE 50
     DROITE120
    ] PEINS

### LABEL

     LABEL “texte” ; imprime le texte à la position de la tortue
     LABEL 'texte' ; voir ci-dessus
     LABEL "texte ; voir ci-dessus (uniquement pour les mots seuls)

### TEXTE

     CERCLE 10 TEXTE “texte” ; définir le texte de l'objet de dessin actif

## Paramètres de police

### COULEURPOLICE/COULEURPOLICE

     COULEURPOLICE “vert” ; définir la couleur de la police

### FAMILLEPOLICE

     FAMILLEPOLICE “Linux Libertine G” ; définir la police (famille)
     FAMILLEPOLICE “Linux Libertine G:smcp=1” ; définir également l'attribut de police (petites majuscules)
     FAMILLEPOLICE “Linux Libertine G:smcp=1&onum=1” ; petites majuscules + anciennes figures

### TAILLEPOLICE

     TAILLEPOLICE 12 ; définir sur 12pt

### LARGEURPOLICE

     LARGEURPOLICE “gras” ; définir la police sur gras
     LARGEURPOLICE “normal” ; définir une épaisseur normale

### STYLEPOLICE

     STYLEPOLICE “italic” ; définir la variante italique
     STYLEPOLICE “normal” ; définir la variante normale

## IMAGE (ima)

IMAGE est pour

- grouper les formes ;

- débuter de nouvelles formes de lignes ;

- enregistement des images SVG et des animations SVG/SMIL;

- garder la cohérence des positions et des formes de lignes à la bordure gauche.

### Grouper les formes

     ; IMAGE [ commandes_LibreLogo ]
     IMAGE [ AVANCE 100 CERCLE 100 ] ; formes groupées en arborescence

Voir également "Groupe" dans l'aide LibreOffice Writer

     A emplacement arbre
       LEVECRAYON POSITION emplacement CAP 0 BAISSECRAYON
       IMAGE [ AVANCE 100 CERCLE 100 ] ; formes groupées en arborescence
     END

     IMAGE [ arbre [230, 400] arbre [300, 400] ] ; formes groupées dans une forme groupée

### Débuter de nouvelles formes de ligne

     IMAGE ; débute une nouvelle forme de ligne
     AVANCE 10 IMAGE AVANCE 10 ; formes sur deux lignes

### Enregistrement des images SVG

     IMAGE "exemple.svg" [ CERCLE 5 ] ; enregistre l'image comme fichier image SVG dans le répertoire de l'utilisateur
     IMAGE "bureau/exemple.sfg [AVANCE 100 CERCLE 5] ; comme ci-dessus avec une chemin relatif
     IMAGE "/home/utilisateur/exemple.svg" [CERCLE 5] ; chemin absolu pour Unix/Linux
     IMAGE "C:\exemple.svg" [ CERCLE 5] ; chemin absolu pour Windows

### Enregistrement des animations SVG/SMIL (dessins avec la commande DORT)

     IMAGE "animation.svg" [ CERCLE 5 DORT 1000 CERCLE 99] ; enregistre comme animation SVG/SMIL (voir également DORT)
     IMAGE "animation2.svg" [CERCLE 5 DORT 1000 CERCLE 99 DORT 2000] ; comme ci-dessus, mais avec l'utilisation de DORT après le dernier objet cela résultera en une boucle : après 2 secondes l'animation SVG redémarre dans les navigateurs compatibles SMIL

### Cohérence à la bordure gauche

Utiliser IMAGE pour garder la cohérence des positions et des formes de ligne à la bordure gauche du document Writer :

     IMAGE [ CERCLE 20 POSITION [-100, 100] CERCLE 20 ]

## Boucles

### REPETE

     ; REPETE nombre [ commandes ]

     REPETE 10 [ AVANCE 10 GAUCHE 45 CERCLE 10 ] ; répéter 10 fois

     ; nombre est facultatif

     REPETE [ POSITION TOUT ] ; boucle sans fin

### REPCOMPTE

variable de boucle (également dans les boucles FOR et WHILE).

     REPETE 100 [ AVANCE REPCOMPTE GAUCHE 90 ]

### POUR EN

Boucle pour les éléments de liste :

     POUR i EN [1, 5, 7, 9, 11] [
       AVANCE i
       GAUCHE 90
     ]

Boucle pour les caractères d'une séquence de caractères :

     POUR i EN “texte” [
       LABEL i
       AVANCE 10
     ]

### ALORS

     ALORS VRAI [ POSITION TOUT ] ; boucle sans fin
     ALORS REPCOMPTE <= 10 [ AVANCE 50 GAUCHE 36 ] ; idem que REPETE 10 [ ... ]

### SAUT

Arrêter la boucle.

     REPETE [ ; boucle sans fin
       POSITION TOUT
       SI REPCOMPTE = 100 [ SAUT ]  ; équivalent à REPETE 100 [ ... ]
     ]

### CONTINUE

Saute à l'itération suivante de la boucle.

     REPETE 100 [
       TOUTE POSITION
       SI REPCOMPTE % 2 = 0 [ CONTINUE ]
       CERCLE 10 ; dessiner des cercles à toutes les secondes positions
     ]

## Conditions

### SI

     ; SI condition [ bloc vrai ]
     ; SI condition [ bloc vrai ] [ faux bloc ]

     SI a < 10 [ ECRIS “Petit” ]
     SI a < 10 [ ECRIS “Petit” ] [ ECRIS “Gros” ]

### ET, OU, NON

Opérateurs logiques.

     SI a < 10 ET NON a = 5 [ ECRIS “0, 1, 2, 3, 4, 6, 7, 8 ou 9” ]
     SI a < 10 ET a  != 5 [ ECRIS “0, 1, 2, 3, 4, 6, 7, 8 or 9” ]  ; comme ci-dessus

## Sous-routines

### A, FIN

Nouveau mot (ou procédure).

     A triangle
       REPETE 2 [ AVANCE 100 DROIT 120 ] PEINS
     FIN

     REPETE 10 [ triangle LEVECRAYON POSITION TOUT BAISSECRAYON ]

### SORTIE

Renvoie la valeur d'une fonction.

     A lettrealéatoire
       SORTIE ALEATOIRE “qwertzuiopasdfghjklyxcvbnm”
     FIN

     ECRIS randomletter + randomletter + randomletter ; imprime une séquence de caractère aléatoire de trois lettres.

### STOP

Renvoie d'une procédure.

     A nombre exemple
       SI nombre < 0 [ STOP ]
       ECRIS RACINE nombre ; imprime la racine carrée
     ]

     exemple 100
     exemple -1 ; sans sortie ni erreur
     exemple 25

## Variables par défaut

### TOUT

Valeur aléatoire par défaut des couleurs, et.

     COULEURCRAYON TOUT ; couleur de stylo aléatoire

### VRAI

Valeur logique.

     ALORS VRAI [ POSITION TOUT ] ; boucle sans fin
     ECRIS VRAI ; imprime vrai

### FAUX

Valeur logique.

     ALORS NON FAUX [ POSITION TOUT ] ; boucle sans fin
     ECRIS FAUX ; imprime faux

### TAILLEPAGE

     ECRIS TAILLEPAGE ; imprime la liste des tailles de page en points, ex. [595.30, 841.89]

### PI/π

     ECRIS PI ; imprime 3.14159265359

## Entrée/Sortie

### ECRIS

     ECRIS “texte” ; imprime “texte” dans une boîte de dialogue
     ECRIS 5 + 10 ; imprime 15

### ENTREE

     ECRIS ENTREE “Valeur d'entrée ?” ; demande et imprime une chaîne à travers une boîte de dialogue de requête
     ECRIS DECIM (ENTREE “Premier nombre ?”) + DECIM (ENTREE “Second nombre ?”) ; simple calculateur

## DORS

     DORS 1000 ; attend 1000 ms (1 sec)

## GLOBAL

Définir les variables globales utilisées dans les procédures.

     GLOBAL à propos
     à propos = “LibreLogo”

     A example
       ECRIS about
       GLOBAL à propos ; lorqu'une nouvelle valeur doit être ajoutée
       à propos = “nouvelle valeur pour la variable global”
     FIN

     exemple
     ECRIS à propos

## Fonctions

### HASARD

     ECRIS HASARD 100 ; nombre à virgule aléatoire (0 <= x < 100)
     ECRIS HASARD “texte” ; lettre aléatoire de “texte”
     ECRIT HASARD [1, 2] ; élément de liste aléatoire (1 or 2)

### ENT

     ECRIS ENT 3,8 ; imprimer 3 (partie entière de 3,8)
     ECRIS ENT HASARD 100 ; nombre entier aléatoire (0 <= x < 100)
     ECRIS ENT “7” ; convertir le paramètre de chaîne en entier

### DECIM

     ; convertir le paramètre de chaîne en nombre à virgule
     ECRIS 2 * DECIM “5.5” ; imprime 11.0

### CHAINE

     ; convertir le paramètre de nombre en chaîne
     ECRIS “Résultat : ” + CHAINE 5 ; écrit “Résultat : 5”
     ECRIS 10 * CHAINE 5 ; écrit 5555555555

### CARRE

     ECRIS CARRE 100 ; imprime 10, racine carrée de 100

### SIN

     ECRIT SIN 90 * PI/180 ; imprime 1,0 (sinus de 90° en radians)

### COS

     ECRIT COS 0 * PI/180 ; imprime 1,0 (le cosinus de 0° en radians)

### LOG10

     ECRIT LOG10 100 ; imprime 2.0 (logarithme commun de 100)

### ARRONDI

     ECRIT ARRONDI 3,8 ; imprimer 4 (arrondi de 3,8)
     ECRIT ARRONDI HASARD 100 ; nombre entier aléatoire (0 <= x <= 100)

### ABS

     ECRIT ABS -10 ; imprime 10, la valeur absolue de -10

### COMPTE

     ECRIT COMPTE “texte” ; imprime 5, nombre de caractères de “texte”
     ECRIT COMPTE [1, 2, 3] ; imprime 3, la taille de la liste

### FIXE

     ; Convertir la liste en un ensemble Python
     ECRIT FIXE [4, 5, 6, 6] ; imprime {4, 5, 6}
     ECRIT FIXE [4, 5, 6, 6] | FIXE [4, 1, 9] ; imprime {1, 4, 5, 6, 9}, l'union
     ECRIT FIXE [4, 5, 6, 6] & FIXE [4, 1, 9] ; imprime {4}, l'intersection
     ECRIT FIXE ([4, 5, 6, 6]) - FIXE [4, 1, 9] ; imprime {5, 6}, la differénce
     ECRIT FIXE [4, 5, 6, 6] ^ FIXE [4, 1, 9] ; imprime {1, 5, 6, 9}, la différence symétrique

### PLAGE

     ; génération de listes comme Python
     ECRIS PLAGE 10 ; imprime [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     ECRIT PLAGE 3 10 ; imprime [3, 4, 5, 6, 7, 8, 9]
     ECRIT PLAGE 3 10 3 ; imprime [3, 6, 9]

     POUR i EN PLAGE 10 50 10 [ ; boucle pour [10, 20, 30, 40]
       AVANCE i
       GAUCHE 90
     ]

### LISTE

     ; supprime les éléments répétitifs d'une liste en utilisant un ensemble et la conversion de liste
     ECRIS LISTE (FIXE [1, 3, 5, 5, 2, 1]) ; imprime [1, 3, 5, 2]

### TUPLE

Conversion en tuple Python (liste non modifiable)

     ECRIS TUPLE [4, 5]

### TRIE

Cela renvoie une liste triée.

     ECRIS TRIE [5, 1, 3, 4] ; imprime [1, 3, 4, 5]

### SUB

Substituer des séquences de caractères en utilisant les motifs d'expressions régulières

     ECRIS SUB (“t”, “T”, “texte”) ; imprime “Texte”, remplaçant “t” avec “T”
     ECRIS SUB (“(.)”, “\\1\\1”, “text”) ; imprime “tteexxtt”, doublant chaque caractère

### CHERCHE

Rechercher des motifs de séquences de caractères en utilisant les motifs d'expressions régulières.

     SI CHERCHE (“\m”, "mot") [ ECRIS “lettre du mot.” ]

### TROUVETOUT

Trouver toutes les séquences de caractères dans la chaîne saisie correspondant au motif d'expression régulière donné

     ECRIS TROUVETOUT(“\m+”, “Chiens, chats.”) ; imprime [“Chiens”, “chats”], la liste des mots.

### MIN

     ECRIS MIN [1, 2, 3] ; imprime 1, l'élément le plus bas de la liste

### MAX

     ECRIS MAX [1, 2, 3] ; imprime 3, l'élément le plus haut de la liste

## Constantes de couleur

     COULEURCRAYON “ARGENT” ; définir par le nom
     COULEURCRAYON [1] ; définir par les identifiants
     COULEURCRAYON “~ARGENT” ; couleur argent aléatoire

Identifiant | Nom
0 | NOIR
1 | ARGENT
2 | GRIS
3 | BLANC
4 | MARRON
5 | ROUGE
6 | VIOLET
7 | FUCHSIA/MAGENTA
8 | VERT
9 | TILLEUL
10 | OLIVE
11 | JAUNE
12 | MARINE
13 | BLEU
14 | TURQUOISE
15 | EAU
16 | ROSE
17 | TOMATE
18 | ORANGE
19 | OR
20 | POURPRE
21 | BLEUCIEL
22 | CHOCOLAT
23 | BRUN
24 | INVISIBLE