Logo (langage)

Image manquante
Langage_progr.png
image:Langage_progr.png

Cet article fait partie de la série
Langages de programmation
Langages à objets
Ada 95 - C++ - C#
Common Lisp
Delphi - Eiffel - Java
Nice - Oz - Python
Simula - Smalltalk
Visual Basic
Langages impératifs
APL - ASP - Assembleur
BASIC - C - COBOL
Forth - FORTRAN - Logo
Pascal - Perl - PHP
Langages fonctionnels
Erlang - Haskell
ML/OCaml - Oz
Lisp/Common Lisp
Scheme
Langages déclaratifs
Clips - Oz - Prolog
Langages concurrents
Ada 95 - Erlang
Java - Oz
Langages balisés
HTML - SGML - XML
Dialectes XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

LOGO est un langage de programmation issu du langage Lisp, créé par Seymour Papert et Marvin Minsky du MIT à la fin des années 1960. C'est un langage interprété, évolutif, procédural et récursif.

Il a reçu de nombreuses interfaces de simulation. La plus connue est la tortue graphique. Mais il y eut aussi les tortues de planchers (robotique pédagogique), la composition musicale, les environnements de tortues newtoniennes (physique) et bien d'autres encore.


Dans un grand nombre d'interfaces de LOGO, l'écran est divisé en 2 parties :

L'une pour l'objet graphique appelé TORTUE,
l'autre pour la commande de la TORTUE.

Les définitions de mots nouveaux sont écrites dans l'éditeur ED.


Les mots définis sont appelés PRIMITIVES du langage. Les procédures exploitent les PRIMITIVES.

Notation mathématique : préfixe ou infixe.

Exemple :

EC => ECrit le résultat dans la zone commande

Il existe 2 types d'objets : les MOTS et les LISTES.

Les MOTS sont aussi bien des nombres que des chaînes de caractères. Les LISTES sont des suites ordonnées d'objets.

Exemple de définition de procédure : la procédure CARRE devra tracer un carré à l'écran. Le texte est tapé dans l'éditeur du LOGO, puis sauvé.

 POUR CARRE
 AV 90 TD 90 AV 90 TD 90 AV 90 TD 90 AV 90 TD 90
 FIN
 

ou plus simplement

 POUR CARRE
 REPETE 4[AV 90 TD 90]
 FIN
 

Emploi de CARRE dans une autre procédure :

 POUR PLCARRE
 REPETE 36[CARRE TD 10]
 FIN
 

Dans cet exemple,

Pour employer PLCARRE, il suffit de taper dans la zone de commande PLCARRE.

Le passage de paramètres à une procédure est possible.

 POUR CARRE :LG
 REPETE 4[AV :LG TD 90]
 FIN
 

Utilisation : CARRE 50 trace un carré de 50 pas de TORTUE.


PRIMITIVES LOGO
Français Anglais Définition

Primitives graphiques

AV n ou AVANCE n FD n ou Forward n la tortue avance de n pas
RE n ou RECULE n BK n ou Back n la tortue recule de n pas
TD n ou TOURNEDROITE n RT n ou RIGHT n la tortue tourne de n degrés d'angle vers la droite
TG n ou TOURNEGAUCHE n LT n ou LEFT n la tortue tourne de n degrés d'angle vers la gauche
LC PU or PENUP La tortue ne laisse pas de trace
BC PD or PENDOWN La tortue laisse sa trace (par défault)
CT HT ou HIDETURTLE la tortue n'est plus visible sur l'écran graphique
MT ST ou SHOWTURTLE La tortue est visible sur l'écran graphique
ENR ou ENROULE WRAP Enroule l'écran graphique
FEN WINDOWS La tortue peut sortir du jardin et disparaitre de l'écran graphique
CLOS FENCE La tortue ne peut pas sortir du jardin
ORIGINE HOME Retour au milieu du carré de salade
VE CS ou CLEARSCREEN Efface toutes les traces et restaure l'état initial
NETTOIE CLEAN Efface toutes traces de l'écran graphique
VT CT or CLEARTEXT Efface l'écran de commande
FCC n SETPC n Change la couleur du crayon, n est un entier positif
FCFG n SETBG n Change la couleur du fond, n est un entier positif
FCB n ***** Change la couleur des bords, n est un entier positif
FCAP n SETH ou SETHEADING Fixe le CAP de maniere ABSOLUE de la tortue, suivant l'angle n en degrés
0 CAP vers le haut de l'écran, 90 vers la droite, 180 en bas, 270 à gauche
FPOS [X Y] SETPOS [X Y] Fixe la POSITION de la tortue avec une LISTE de 2 nombres entiers.
Ex : LC FPOS [50 35] BC ou avec des variables DONNE "X 50 DONNE "Y 35 FPOS PH :X :Y

Primitives mathématiques

n1 + n2 n1 + n2 Addition de nombres réels - Ex : EC 45.124 + 11 ou EC (+ 45 10 78 23)
n1 - n2 n1 - n2 Soustraction de nombres réels - Ex :EC 5 - 1.09
n1 * n2 n1 * n2 Multiplication de nombres réels - Ex :EC 5 * 9
n1 / n2 n1 / n2 Division de deux nombres réels - Ex :EC 45 / 9
SOMME n1 n2 SUM n1 n2 Addition de nombres réels - Ex : EC SOMME 45 11
DIFF n1 n2 - n1 n2 Soustraction de nombres réels - Ex :EC DIFF 5 1
PROD ou PRODUIT n1 n2 PRODUCT n1 n2 Multiplication de nombres réels - Ex :EC PROD 5 9.45
DIV n1 n2 QUOTIENT n1 n2 Division de deux nombres réels - Ex :EC DIV 45 11
QUOTIENT n1 n2 QUOTIENT n1 n2 Division de deux nombres réels - Ex :EC DIV 45 11
RESTE n1 n2 REMAINDER n1 n2 Reste de la division
ENT n INT n Renvoie la partie entière du nombre réel - Ex :EC ENT 55.75 -> 55
ARRONDI n ROUND n Arrondi un nombre réel - Ex :EC ARRONDI 55.75 -> 56
ABS n ABS n Renvoie la valeur un nombre réel - Ex :EC ABS -55 -> 55
HASARD n RANDOM n Renvoie un nombre entier entre 0 et n-1
RC n SQR n Renvoie la racine carré d'un nombre réel - Ex :EC RC 25 -> 5
LOG n LOG n Renvoie le logarithme naturel d'un réel
LOG10 n LOG10 n Renvoie le logarithme de base 10 d'un réel
EXP n EXP n Renvoie l'exponentielle d'un réel
SIN n SIN n Renvoie le sinus d'un réel n en degrés - Ex :SIN 30
COS n COS n Renvoie le cosinus d'un réel n en degrés
TAN n TAN n Renvoie la tangente d'un réel n en degrés
ATAN n ATAN n Renvoie tangente d'arc d'un réel n en degrés
PI PI 3.141592...
RADIANS n RADIANS n Converti un angle en radians n en degrés
DEGRES n DEGRES n Converti un angle en degrés n en radians

Remarques :

Image manquante
Wikibooks_without_text.png


Wikilivres possède un ou plusieurs livres sur le langage de programmation Logo.

See also: Logo (langage), APL (langage), Active server pages, Ada (langage), Années 1960, Assembleur (langage), Basic