Toutes les commandes
Référence exhaustive des commandes de GoLogo, classées par catégorie
Chaque fiche indique son type (C commande qui produit un effet, O opération qui retourne une valeur, P prédicat qui retourne VRAI/FAUX) et son origine : Logo SOLI (le Logo d'origine), Extension (ajout moderne) ou Compatibilité (matériel d'époque sans effet).
La tortue : déplacements
Avance la tortue de n pas (max 32767). La 1re décimale est prise en compte.
AV 100Tourne à droite (sens horaire) de n degrés. n entre -360 et 360.
TD 90Tourne à gauche de n degrés. n entre -360 et 360.
TG 45Retourne le cap courant, entre 0 et 359.9 (boussole, Nord = 0 = haut).
ECRIS CAP
-> 0Fixe le cap absolu (boussole). n entre -360 et 360.
FCAP 90Trace un arc de cercle de rayon r centré sur la tortue, compris entre les caps boussole cap1 et cap2 (0 = haut, sens horaire). La tortue ne bouge pas.
ARC 50 0 90La tortue : le champ graphique
Cache la tortue (le tracé est plus rapide).
CTDéfinit la forme 16×16 numéro n (de 3 à 255), ensuite sélectionnable par SPRITE n. La liste donne jusqu'à 16 lignes de 16 caractères : « . » = vide, tout autre caractère (« X » par exemple) = plein. La forme est dessinée dans la couleur du crayon et pivote avec le cap. Conservée par VE, effacée par RAZ.
DEFSPRITE 3 [ .XXXX. XXXXXX XXXXXX .XXXX. ]Efface le champ sans changer l'état de la tortue ni du crayon.
NETTOIERetourne le code couleur du fond graphique.
ECRIS CF
-> 4Fixe la couleur du bord de l'écran graphique : code 0-15, ou [ rouge vert bleu ] (0-255).
FCB 7
FCB [ 80 80 80 ]Retourne les échelles [horizontale verticale] en pourcentage.
ECRIS ECH
-> 100 100Fixe les échelles horizontale et verticale (2 nombres de 0 a 200, en %). Étire le tracé de la tortue.
FECH [ 50 100 ]Allume une suite de points (couleur du crayon) sans bouger la tortue.
POINT [ 0 0 50 50 ]Dessine instr dans un tampon caché puis l'affiche d'un seul coup (double tampon). Évite le clignotement des animations qui font NETTOIE puis redessinent à chaque image. À utiliser autour du dessin d'une image dans une boucle.
SCENE [ NETTOIE CARRE ]Plusieurs tortues
Retourne le numéro de la tortue active.
ECRIS TORTUE
-> 0Retourne le nombre de tortues existantes.
ECRIS NBTORTUES
-> 1Exécute liste sur la tortue n (ou sur chaque tortue d'une liste de numéros) puis revient à la tortue active précédente.
DEMANDE 1 [ AV 50 ]
DEMANDE [ 0 1 ] [ TD 90 ]Supprime toutes les tortues sauf la première (n°0) et la sélectionne.
DISTORTUERetourne VRAI si les deux tortues de la liste [ a b ] existent, sont visibles et se chevauchent (boîtes englobantes ajustées à la taille de chaque sprite). Sinon FAUX.
ECRIS COLLISION? [ 0 1 ]
-> FAUXAnimer les tortues
Déplace automatiquement la tortue id vers le point (x,y), de `vitesse` pas Logo à chaque image, en parallèle du programme. mode est un mot : "UNEFOIS (va à la cible puis s'arrête), "BOUCLE (revient au départ et recommence), "PINGPONG (aller-retour continu). La cadence se règle avec CADENCE. Une commande manuelle (AV, FXY...) sur la tortue arrête son animation.
ANIME 0 200 100 5 "PINGPONGArrête l'animation (ANIME) de la tortue id. Entre parenthèses et sans argument, (STOPANIME) arrête toutes les animations. Ctrl+C arrête aussi les animations.
STOPANIME 1
( STOPANIME )Fixe la cadence du moteur d'animation à n images par seconde (1 à 240, défaut 30). La vitesse d'un ANIME (pas par image) est indépendante de la cadence.
CADENCE 60La tortue : le crayon
Baisse le crayon : la tortue trace en se déplaçant.
BCLève le crayon : la tortue ne trace plus.
LCRetourne le code couleur du crayon.
ECRIS CC
-> 6Fixe la couleur de remplissage utilisée par REMPLIS, distincte de la couleur du crayon : code palette 0-15, ou [ rouge vert bleu ] (3 valeurs 0-255). Tant qu'elle n'est pas fixée, REMPLIS prend la couleur du crayon. (Compat FMSLogo : FILL se base sur cette couleur.)
FCR 1
FCR [ 255 128 0 ]Mots et listes : examiner
Retourne VRAI si obj1 et obj2 sont égaux. Opérateur infixe : =. La comparaison de mots ignore la casse (EGAL? "a "A rend VRAI) ; quand la casse compte, comparer les codes : EGAL? ASCII :c1 ASCII :c2.
ECRIS EGAL? 2 2
-> VRAIRetourne VRAI si obj est le mot vide ou la liste vide.
ECRIS VIDE? [ ]
-> VRAIRetourne VRAI si obj est une liste.
ECRIS LISTE? [ A B ]
-> VRAIRetourne VRAI si obj est un mot.
ECRIS MOT? "BONJOUR
-> VRAIRetourne VRAI si obj est un nombre.
ECRIS NOMBRE? 42
-> VRAIRetourne VRAI si obj est un membre de liste.
ECRIS MEMBRE? "A [ A B C ]
-> VRAIRetourne le nombre de membres d'une liste, de caractères d'un mot, ou de cases d'un tableau.
ECRIS COMPTE [ A B C ]
-> 3Retourne le code ASCII du 1er caractère de mot (mot vide -> 0).
ECRIS ASCII "A
-> 65Retourne le caractère de code n (modulo 256 ; 0 -> mot vide).
ECRIS CAR 65
-> AMots et listes : démonter
Retourne le n-ième membre d'une liste, le n-ième caractère d'un mot, ou la case n d'un tableau (n entier ; pour un tableau on tient compte de l'origine).
ECRIS ITEM 2 [ A B C ]
-> B
ECRIS ITEM 2 "CHAT
-> HMots et listes : construire et transformer
Ajoute obj en tête de liste.
ECRIS MP "A [ B C ]
-> A B CAjoute obj en queue de liste.
ECRIS MD "C [ A B ]
-> A B CRetourne la liste (ou le mot) avec ses éléments en ordre inverse.
ECRIS INVERSE [ A B C ]
-> C B AChaînes : recherche, découpe, nettoyage
Retourne la portion de chose2 (mot ou liste) depuis la première occurrence de chose1 jusqu'à la fin, ou le vide si chose1 est absent. Sur un mot, chose1 est un seul caractère.
ECRIS MEMBRE "C "ABCDE
-> CDE
ECRIS MEMBRE "B [ A B C ]
-> B CRetourne le rang (à partir de 1) de la première occurrence de chose dans chaine, ou 0 si absent. Dans un mot, chose peut être une sous-chaîne ; dans une liste, un élément. Casse ignorée. Extension gologo.
ECRIS POSITION "n "bonjour
-> 3
ECRIS POSITION "B [ A B C ]
-> 2Découpe mot sur le separateur et retourne la liste des morceaux (les morceaux vides sont gardés). Le separateur peut être un seul caractère ou une chaîne entière. Extension gologo.
ECRIS DECOUPE "1-2-3 "-
-> 1 2 3
ECRIS DECOUPE "a::b::c "::
-> a b cRetourne chaine où toutes les occurrences de la sous-chaîne ancien sont remplacées par nouveau. Entre parenthèses, (SUBSTITUE ancien nouveau chaine n) en remplace au plus n. ancien vide est une erreur. Extension gologo.
ECRIS SUBSTITUE "an "AN "banane
-> bANANe
ECRIS ( SUBSTITUE "a "o "ananas 1 )
-> onanasRetourne mot sans les blancs (espaces, tabulations) de début et de fin. Utile sur une ligne lue au clavier. Extension gologo.
ECRIS ROGNE "bonjour
-> bonjourRetourne mot sans les blancs de fin. Extension gologo.
ECRIS ROGNEFIN "bonjour
-> bonjourRetourne elements (liste ou mot) privé de tous les membres égaux à chose. Sur un mot, chose est un seul caractère.
ECRIS OTETOUT "A [ A B A C ]
-> B CRetourne sequence (mot ou liste) privée de longueur éléments à partir de debut (indices à partir de 1). Retire par position (≠ OTETOUT qui retire par valeur). Extension gologo.
ECRIS OTE "bonjour 2 3
-> bour
ECRIS OTE [ A B C D ] 2 2
-> A DRetourne sequence (mot ou liste) où l'élément n° n est remplacé par arg (n à partir de 1). Version non destructive (rend une nouvelle valeur). Repris de XLogo.
ECRIS REMPLACE [ A B C ] 2 8
-> A 8 C
ECRIS REMPLACE "chat 1 "r
-> rhatRetourne la sous-séquence de debut à fin inclus (indices à partir de 1, comme ITEM) ; le type suit l'entrée (mot ou liste). (TRANCHE sequence debut) va jusqu'au bout. Bornes hors limites ramenées proprement. Extension gologo.
ECRIS TRANCHE "bonjour 2 4
-> onj
ECRIS ( TRANCHE "bonjour 4 )
-> jour
ECRIS TRANCHE [ A B C D ] 2 3
-> B CTableaux, piles et files
Retourne un tableau de taille cases, chacune initialisée à la liste vide (et non 0 : pensez à initialiser les cases avant de vous en servir comme compteurs ou drapeaux). (TABLEAU taille origine) fixe l'indice de la 1re case (1 par défaut). Un tableau est mutable et partagé par référence. Repris de FMSLogo.
MONTRE TABLEAU 3
-> { }
DONNE "T ( TABLEAU 3 0 )Retourne un tableau multi-dimensionnel : une dimension par taille de la liste (tailles positives). (TABLEAUMD listetailles origine) fixe l'origine. Repris de FMSLogo.
MONTRE TABLEAUMD [ 2 2 ]
-> {{ } { }}Retourne un tableau ayant les mêmes éléments que liste. (LISTEVERSTABLEAU liste origine) fixe l'origine. Repris de FMSLogo.
MONTRE LISTEVERSTABLEAU [ 1 2 3 ]
-> {1 2 3}Retourne la liste des cases du tableau (1re case en tête, quelle que soit l'origine). Pratique pour traiter un tableau avec APPLIQUE/FILTRE. Repris de FMSLogo.
MONTRE TABLEAUVERSLISTE LISTEVERSTABLEAU [ 1 2 3 ]
-> [1 2 3]Retourne la case d'un tableau multi-dimensionnel, repérée par une liste d'indices. Repris de FMSLogo.
ECRIS ITEMMD [ 1 ] LISTEVERSTABLEAU [ 7 8 9 ]
-> 7Remplace la case indice du tableau par valeur (modifie le tableau en place). Refuse de créer un cycle (valeur ne doit pas contenir le tableau modifié). Repris de FMSLogo.
DONNE "T TABLEAU 3 FIXEITEM 2 :T 9 ECRIS ITEM 2 :T
-> 9Retourne une copie PROFONDE du tableau (récursive sur les sous-tableaux, partage préservé), pour modifier la copie sans toucher l'original. Extension gologo.
DONNE "T TABLEAU 3 DONNE "C COPIETABLEAU :T ECRIS TABLEAU? :C
-> VRAITrie les cases du tableau sur place (nombres par valeur croissante, sinon ordre alphabétique). Modifie le tableau, comme FIXEITEM ; tri stable. Plus rapide que TRIE sur de gros volumes.
DONNE "T LISTEVERSTABLEAU [ 3 1 2 ] ORDONNE :T MONTRE :T
-> {1 2 3}Valeurs logiques
Retourne VRAI si n1 < n2. Opérateur infixe : <.
ECRIS PLP? 3 5
-> VRAIRetourne VRAI si n1 > n2. Opérateur infixe : >.
ECRIS PLG? 5 3
-> VRAIArithmétique
Différence n1 - n2. Opérateur infixe : -.
ECRIS DIFF 10 4
-> 6Retourne n1 élevé à la puissance n2.
ECRIS PUISSANCE 2 10
-> 1024Racine carrée de n (n >= 0).
ECRIS RC 16
-> 4Retourne l'opposé de n (-n).
ECRIS MOINS 5
-> -5Retourne un entier aléatoire entre 0 et n-1 (n >= 1). Entre parenthèses, (HASARD debut fin) tire entre debut et fin inclus.
ECRIS HASARD 6
-> 5
ECRIS ( HASARD 1 6 )
-> 6Retourne la constante pi (3.14159...).
ECRIS PI
-> 3.141592653589793Écrit l'entier n dans la base donnée (2 à 36), en majuscules : VERSBASE 255 16 donne FF. Voir HEXA et BINAIRE pour les cas courants.
ECRIS VERSBASE 255 16
-> FFMontre l'entier n en hexadécimal (base 16). Raccourci de VERSBASE n 16.
ECRIS HEXA 255
-> FFMontre l'entier n en binaire (base 2). Raccourci de VERSBASE n 2.
ECRIS BINAIRE 10
-> 1010Les noms (variables)
Retourne la chose (valeur) désignée par mot. :mot est l'abréviation de CHOSE "mot.
DONNE "AGE 10 ECRIS CHOSE "AGE
-> 10Retourne VRAI si mot désigne une chose (variable définie).
ECRIS NOM? "AGE
-> FAUXProcédures
Termine une définition de procédure (POUR ... FIN).
POUR CARRE AV 50 FINTermine la procédure courante en retournant obj (en fait une opération). Alias : RETOURNE, RET.
RENDS :N * 2Retourne VRAI si mot est le nom d'une procédure utilisateur.
ECRIS PROC? "CARRE
-> FAUXRetourne VRAI si mot est le nom d'une primitive.
ECRIS PRIM? "AVANCE
-> VRAIDéfinit la procédure nom à partir de données (procédures vues comme données, façon Logo étendu). Deux formes acceptées : imbriquée façon UCBLogo, DEFINIS "nom [ [paramètres] [corps] ] ; ou à 3 arguments façon XLogo, DEFINIS "nom [paramètres] [corps]. Inverse de TEXTE.
DEFINIS "CARRE [ [ ] [ REPETE 4 [ AV 50 TD 90 ] ] ]
DEFINIS "POLY [ NB LG ] [ REPETE :NB [ AV :LG TD 360 / :NB ] ]Contrôle d'exécution
Répète l'exécution de liste n fois (n entre 0 et 65535).
REPETE 4 [ AV 50 TD 90 ]
REPETE 36 [ AV 20 TD 10 ]Retourne le numéro de l'itération en cours de REPETE (1 à n), ou -1 hors d'une boucle.
REPETE 3 [ ECRIS COMPTEUR ]
-> 1 2 3Boucle pour : var va de debut a fin (par pas, defaut 1) ; instr execute a chaque tour.
REPETEPOUR [ I 1 4 ] [ AV 50 TD 90 ]Exécute liste ; retourne son résultat si c'est une opération. Brique des structures de contrôle.
EXEC [ AV 50 ]Exécute liste comme EXEC, mais emballe le résultat : rend [valeur] si c'était une opération, [ ] (liste vide) si c'était une commande. Permet de tester si quelque chose a été rendu.
MONTRE EXECRESULTAT [ SOMME 2 3 ]
-> [5]
MONTRE EXECRESULTAT [ AV 50 ]
-> []Arrêt total : retour au niveau supérieur.
LOGOFait une pause de n soixantièmes de seconde (ATTENDS 60 = 1 seconde). Interruptible par Ctrl+C.
ATTENDS 30Après confirmation (O/N), remet tout à zéro comme au démarrage : efface procédures et variables, réinitialise la tortue et l'écran.
RAZExécute instr pour chaque élément de liste (ou caractère d'un mot). Deux formes : notre forme POURCHAQUE liste [instr] avec l'élément courant dans :? ; ou la forme XLogo POURCHAQUE "var liste-ou-mot [instr] avec une variable nommée (:var).
POURCHAQUE [ 1 2 3 ] [ ECRIS :? ]
-> 1 2 3
POURCHAQUE "I [ 1 2 3 ] [ ECRIS :I ]
-> 1 2 3Retourne la liste des résultats du gabarit appliqué à chaque élément (:? = élément).
ECRIS APPLIQUE [ 1 2 3 ] [ :? * :? ]
-> 1 4 9Retourne les éléments de liste pour lesquels le prédicat (:?) est VRAI.
ECRIS FILTRE [ 1 2 3 4 ] [ :? > 2 ]
-> 3 4Exécute instr ; attrape un LANCE de même étiquette. Étiquette ERREUR : attrape aussi les erreurs d'exécution.
PIEGE "FIN [ LANCE "FIN ]Interrompt l'exécution et saute jusqu'au PIEGE de même étiquette.
PIEGE "FIN [ LANCE "FIN ]Listes de propriétés
Sortie texte
Écrit obj dans la zone de texte, puis passe à la ligne. Entre parenthèses, écrit plusieurs objets séparés par une espace : (ECRIS a b c).
ECRIS 5 + 7
-> 12
ECRIS [ BONJOUR LE MONDE ]
-> BONJOUR LE MONDE
( ECRIS "VALEUR 42 )
-> VALEUR 42Fixe la couleur de fond du texte : code 0-15, ou [ rouge vert bleu ] (0-255).
FCFT 4
FCFT [ 20 20 20 ]Clavier
Souris
Retourne la position de la souris [x y] si le pointeur est dans le champ, sinon la liste vide. (Alias POSOPT : crayon optique d'origine.)
ECRIS SOURISPOSRetourne VRAI si un bouton de la souris est enfoncé. (Alias CONTACT? : crayon optique d'origine.)
SI SOURISPRESSEE [ ECRIS "CLIC ]Manettes de jeu
Retourne la direction de la manette n (0-8) : 0 = repos, 1 = haut, puis dans le sens horaire (3 = droite, 5 = bas, 7 = gauche, et les diagonales). Émulée au clavier par les flèches (manette 0).
SI ( MANETTE 0 ) = 1 [ AV 10 ]Retourne VRAI si le bouton de tir de la manette n est enfoncé. Émulé au clavier par la barre d'espace (manette 0).
SI BOUTON? 0 [ ECRIS "FEU ]Musique
Joue une note seule ou une liste de notes jouées l'une après l'autre. Notes : DO RE MI FA SO(L) LA SI, et PA pour un silence. Dièse : # (ou <#), bémol : b (ou <b) ; ex. FA# ou MIb. Chaque note utilise OCTAVE/DUREE/TEMPO/TIMBRE en cours. Interruptible par Ctrl+C.
JOUE "DO
JOUE [ DO RE MI FA SOL LA SI ]
JOUE [ DO RE# MI ]Fixe le timbre, c'est-à-dire la forme du son (0-63 carré, 64-127 dent de scie, 128-191 triangle, 192-255 sinus).
TIMBRE 0
TIMBRE 200Espace de travail
Retourne la liste de tous les mots connus (procédures et noms).
ECRIS CONTENU
-> .CHB .DEP .EFT .EXA .RES .ROUT .SER AIDE AJOUTE ANGLAIS ANIME APPLIQUE ARC ARCTAN ARRONDI ASCII ATAN ATTENDS AV AVANCE AVANT? BC BC? BINAIRE BOUTON? CADENCE CAP CAR CATALOGUE CATALOGUEEX CC CERCLE CF CHARGE CHARGEEX CHOSE CLOS COLLISION? COMPTE COMPTEUR CONTACT CONTACT? CONTENU COPIE COPIETABLEAU COS COSINUS CR CT DECOUPE DEF DEFILE DEFINIS DEFSPRITE DEMANDE DEPILE DEPUISBASE DER DERNIER DETRUIS DIF DIFF DISTANCE DISTORTUE DIV DIVISE DONNE DONNEPROP DUREE EC ECH ECRIS ED EFN EFP EFPROP EGAL? EMPILE ENFILE ENR ENT ENTREE ET ETIQUETTE EXEC EXECRESULTAT EXP FAUX FCAP FCB FCC FCFG FCFT FCR FCT FCURS FECH FEN FERME FERMETOUT FICHIERVERSTABLEAU FILTRE FIN FINFICHIER? FINLIGNE FIXE FIXEECRITURE FIXEFINLIGNE FIXEITEM FIXEITEMMD FIXELECTURE FIXEPOSECRITURE FIXEPOSLECTURE FIXETAILLECRAYON FIXETORTUE FLECTEUR FLI FLUXECRITURE FLUXLECTURE FORMATE FPOS FR FRANCAIS FXY HASARD HEXA IM IMNS IMTOUT IMTS INIT INVERSE ITEM ITEMMD JOUE LANCE LC LECTEUR LIS LISCAR LISCARS LISLIGNE LISMOT LISTE LISTE? LISTEPROP LISTEVERSTABLEAU LL LN LOCAL LOG10 LOGO MAJUSCULE MANETTE MD ME MEMBRE MEMBRE? METSDERNIER METSPREMIER MINUSCULE MODULO MOINS MONTRE MOT MOT? MP MT NBTORTUES NETTOIE NOM? NOMBRE? NON OCTAVE ORDONNE ORIGINE OTE OTETOUT OU OUEX OUVREAJOUT OUVREECRITURE OUVRELECTURE OUVREMAJ PH PHRASE PI PIEGE PIOCHE PLACE PLG? PLP? POINT POS POSECRITURE POSITION POSLECTURE POSOPT POUR POURCHAQUE PREM PREMIER PRIM? PROC? PROD PRODUIT PROP PUISSANCE QUITTE QUITTER QUOT RAC RACINE RAMENE RAMENEEX RAZ RC RE RECULE RECYCLE REDUIS REGLE REMPLACE REMPLIS RENDS REPETE REPETEPOUR RESTE RET RETOURNE ROGNE ROGNEDEBUT ROGNEFIN SANSDOUBLONS SAUFDERNIER SAUFPREMIER SAUVE SAUVED SAUVEPNG SCENE SD SI SIFAUX SIN SINUS SISINON SIVRAI SOMME SORTIE SOURISPOS SOURISPRESSEE SOUSCHAINE? SP SPRITE STOP STOPANIME STOPTOUT SUBSTITUE TABLEAU TABLEAU? TABLEAUMD TABLEAUVERSLISTE TAN TANGENTE TANTQUE TAPE TD TEMPO TESTE TEXTE TG TIMBRE TORTUE TOUCHE? TOURNEDROITE TOURNEGAUCHE TOUSOUVERTS TRANCHE TRIE TRONQUE VALABS VE VERSBASE VERSCAP VIDE? VISIBLE? VRAI VT XCOR YCORImprime les titres (ligne POUR) de toutes les procédures.
IMTSRetourne le nombre de cellules mémoire disponibles.
ECRIS PLACE
-> 60000Récupère la mémoire inutilisée (sans effet : Go gère la mémoire).
RECYCLEFichiers
Relit le fichier mot et DEFINIT son contenu directement DANS L'ESPACE DE TRAVAIL : ses procédures et variables redeviennent aussitôt utilisables (chaque procédure affiche "VOUS VENEZ DE DEFINIR"). Rien d'autre à faire. --- Différence avec CHARGE : RAMENE définit tout de suite (pour SE SERVIR d'un programme), tandis que CHARGE place seulement le fichier dans l'éditeur sans l'exécuter (pour le RETRAVAILLER).
RAMENE "DESSINCharge le fichier mot DANS L'ÉDITEUR, SANS l'interpréter : son texte devient le contenu de l'éditeur (ED sans argument le rouvre). Il faut ouvrir ED puis valider par Ctrl+S pour qu'il soit exécuté. --- Différence avec RAMENE : CHARGE sert à RELIRE ou MODIFIER un programme avant de le valider, tandis que RAMENE définit directement son contenu dans l'espace de travail (utilisable tout de suite).
CHARGE "DESSINComme RAMENE, mais va chercher le fichier dans le dossier des exemples : relit le fichier et DÉFINIT son contenu dans l'espace de travail (utilisable tout de suite). Erreur si le dossier d'exemples ou le fichier est absent ou illisible.
RAMENEEX "DESSINComme CHARGE, mais va chercher le fichier dans le dossier des exemples : place son texte dans l'éditeur SANS l'interpréter (ED le rouvre, à valider par Ctrl+S). Erreur si le dossier d'exemples ou le fichier est absent ou illisible.
CHARGEEX "DESSIN« Imprime » l'écran : enregistre une copie d'écran PNG numérotée (PAGE_1.PNG, PAGE_2.PNG...) dans le sous-dossier PRINTER du dossier de travail.
COPIEFormatait une disquette (matériel d'époque). Sans effet ici.
FORMATE 0Retournait le lecteur de disquette courant. Sans objet ici (rend 1).
ECRIS LECTEUR
-> 1Choisissait le lecteur de disquette. Sans effet ici.
FLECTEUR 0Fichiers de données (flux)
Ouvre le fichier en lecture (position au début). Erreur si le fichier est introuvable ou déjà ouvert. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FERME "DESSIN.GLGOuvre le fichier en écriture, en écrasant son contenu existant SANS demander confirmation (fidélité FMSLogo). Le crée s'il n'existe pas. Repris de FMSLogo.
OUVREECRITURE "SORTIE.TXT FERME "SORTIE.TXTOuvre le fichier en écriture, position à la fin (ajout). Le crée s'il n'existe pas. Repris de FMSLogo.
OUVREAJOUT "JOURNAL.TXT FERME "JOURNAL.TXTOuvre le fichier en lecture ET écriture (une seule position, partagée). Le crée s'il n'existe pas. Repris de FMSLogo.
OUVREMAJ "DESSIN.GLG FERME "DESSIN.GLGFerme le fichier. S'il était le flux de lecture/écriture courant, on repasse au clavier/à la console. Erreur si le fichier n'est pas ouvert. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FERME "DESSIN.GLGFerme tous les fichiers ouverts. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FERMETOUTChoisit le flux de lecture courant : LISCAR/LISMOT/LL/LISLIGNE liront dans ce fichier. Une liste vide [ ] revient au clavier. Erreur si le fichier n'est pas ouvert en lecture. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FIXELECTURE "DESSIN.GLG FIXELECTURE [ ] FERME "DESSIN.GLGChoisit le flux d'écriture courant : ECRIS/MONTRE/TAPE écriront dans ce fichier. Une liste vide [ ] revient à la console. Erreur si le fichier n'est pas ouvert en écriture. Repris de FMSLogo.
OUVREECRITURE "SORTIE.TXT FIXEECRITURE "SORTIE.TXT FIXEECRITURE [ ] FERME "SORTIE.TXTRetourne le nom du flux de lecture courant, ou [ ] si c'est le clavier. Repris de FMSLogo.
MONTRE FLUXLECTURE
-> []Retourne le nom du flux d'écriture courant, ou [ ] si c'est la console. Repris de FMSLogo.
MONTRE FLUXECRITURE
-> []Retourne VRAI s'il n'y a plus rien à lire dans le flux de lecture courant. Au clavier, retourne toujours FAUX. Repris de FMSLogo.
ECRIS FINFICHIER?
-> FAUXRetourne la position d'octet courante en lecture, ou -1 si le flux est le clavier. Repris de FMSLogo.
ECRIS POSLECTURE
-> -1Retourne la position d'octet courante en écriture, ou -1 si le flux est la console. Repris de FMSLogo.
ECRIS POSECRITURE
-> -1Déplace le pointeur de lecture du flux courant à la position octet (à partir de 0). Erreur si la position est hors fichier ou au milieu d'un caractère. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FIXELECTURE "DESSIN.GLG FIXEPOSLECTURE 0 FERME "DESSIN.GLGDéplace le pointeur d'écriture du flux courant à la position octet (à partir de 0). Repris de FMSLogo.
OUVREECRITURE "SORTIE.TXT FIXEECRITURE "SORTIE.TXT FIXEPOSECRITURE 0 FERME "SORTIE.TXTLit une ligne brute du flux de lecture courant et la retourne comme un seul mot (aucune interprétation). C'est LE bon récepteur pour parcourir un fichier ligne par ligne. [ ] en fin de fichier. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FIXELECTURE "DESSIN.GLG ECRIS LISLIGNE FIXELECTURE [ ] FERME "DESSIN.GLGLit n caractères du flux de lecture courant et les retourne comme un mot. [ ] en fin de fichier. Repris de FMSLogo.
OUVRELECTURE "DESSIN.GLG FIXELECTURE "DESSIN.GLG ECRIS LISCARS 4 FIXELECTURE [ ] FERME "DESSIN.GLGCharge tout un fichier texte d'un coup et retourne un tableau dont chaque case est une ligne (1re ligne en case 1). COMPTE donne le nombre de lignes, pour itérer facilement. Ouvre, lit et ferme le fichier tout seul. Refuse un fichier binaire (FICHIER BINAIRE). Extension gologo.
MONTRE FICHIERVERSTABLEAU "DESSIN.GLG
DONNE "L FICHIERVERSTABLEAU "DESSIN.GLG ECRIS COMPTE :LChoisit la fin de ligne écrite dans les fichiers : "LF (défaut, façon Unix) ou "CRLF (façon Windows). La lecture accepte toujours les deux. Extension gologo.
FIXEFINLIGNE "CRLFRetourne le réglage courant de fin de ligne : "LF ou "CRLF. Extension gologo.
ECRIS FINLIGNE
-> LFMatériel d'origine (compatibilité)
Crayon optique d'origine. Compatibilité : sans effet.
REGLEChoisissait le canal d'entrée. Compatibilité : sans effet.
ENTREE 1Choisissait le canal de sortie (console, imprimante...). Compatibilité : sans effet.
SORTIE 2Fond de ligne d'origine. Compatibilité : sans effet.
FLI 1Port série (inexistant sur MO5). Compatibilité : sans effet.
.SER 1 2Chargement binaire en mémoire. Compatibilité : sans effet.
.CHB "PROG 0Réservait de la mémoire. Compatibilité : sans effet.
.RES 0Déposait un octet en mémoire. Compatibilité : sans effet.
.DEP 100 0Exécutait une routine machine. Compatibilité : sans effet.
.ROUT 100Lisait un octet en mémoire. Compatibilité : rend toujours 0.
ECRIS .EXA 0
-> 0Divers
Sans argument, liste toutes les commandes. Avec un nom (ex. AIDE AVANCE), affiche sa description, ses paramètres et ses alias.
AIDE REPETEBascule l'aide et les messages en français. Alias : FR.
FRANCAISBascule l'aide et les messages en anglais. Alias anglais : ENGLISH, EN.
ANGLAISQuitte GoLogo.
QUITTE