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 (
) 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" fixe la mise en page sur 2 pages pour l'édition du programme, étend et convertit en majuscules les commandes Logo minuscules abrégées dans le document Writer. Changez la langue du document (
) et cliquez sur cette icône pour traduire le programme Logo dans la langue sélectionnéeLigne 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 |