Saisir un mot clé:
 
 

Logo_(langage)

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel =""; google_color_border = "f9f9f9"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; //-->

Un article de Wikipedia.y-project.com.

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 - Python
Ruby - Scriptol - Simula
Smalltalk - Visual Basic
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Perl - PHP
Langages fonctionnels
Haskell | ML/OCaml
Lisp/Common Lisp
Scheme
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Java
Langages balisés
HTML - SGML - XML
Dialectes XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

Le Logo est un langage de programmation réflexif et fonctionnel. Il a été adapté du Lisp dans les années 60 au MIT par Wally Feurzeig et Seymour Papert, mais est plus lisible, ce qui lui a valu le surnom de « Lisp sans parenthèses ». Le logo est aujourd'hui surtout connu pour la fameuse tortue graphique, mais est également capable de manipuler des listes, des fichiers et des entrées/sorties, ce qui en fait un langage adapté à l'enseignement des concepts de l'algorithmique, ce dont on pourra trouver un exemple dans les ouvrages Computer Science Logo Style de Brian Harvey, professeur à l'université de Berkeley.

Bon langage d'initiation, le Logo a été paradoxalement victime de sa tortue qui l'a cantonée à une image puérile, alors que ses fonctionnalités de base étaient supérieures aux divers Basic des années 1980. Il était, à l'époque, un bon marchepied vers la programmation structurée et modulaire, ainsi que l'intelligence artificielle.

Sommaire

[] Histoire du Logo

Le Logo a été conçu en 1966 dans un laboratoire privé de Cambridge, le BBN, par Wally Feurzeig et Seymour Papert. Ses bases théoriques sont l'intelligence artificielle, la logique mathématique et la psychologie du développement (voir à ce sujet l'article micromonde).

À l'issue des quatre années de recherche nécessaires aux chercheurs du BBN pour concevoir le Logo, la première version est sortie, sur un PDP-1, en Lisp. Il était alors appelé Ghost, et était destiné à la résolution de problèmes de base : les bugs pouvaient être mis en valeur immédiatement grâce à la tortue. Le langage n'était pas particulièrement puissant, et la conception avait plutôt été axée sur la simplicité d'utilisation pour des débutants en informatique (qui devaient alors utiliser un Teletype). La possibilité de fournir un commentaire détaillé des erreurs était également déterminante.

Il a reçu de nombreuses interfaces de simulation différentes, dont la tortue graphique, qui apparut cependant relativement tard par rapport à la première version du Logo. La première d'entre elles fut une tortue téléguidée baptisée Irving, qui pouvait avancer, reculer, tourner et émettre un son.

Les premiers utilisateurs en milieu scolaire l'ont testée à Muzzy Jr High, Lexington MA.

[] Implémentations

Il existe plus de 130 implémentations du Logo, aux caractéristiques variées.

  • UCBLogo semble être l'implémentation multi-platformes la plus utilisée.
  • MSWLogo, sa version Windows gratuite, est beaucoup utilisée dans les écoles britanniques.
  • Comenius Logo, une autre bonne implémentation, est disponible en hollandais, allemand, tchèque, etc.
  • SOLI Logo était une version française largement utilisée dans les écoles primaires dans les années 1980.
  • Lego/Logo était un système de contrôle de moteurs et capteurs Lego, beaucoup utilisée dans les écoles dans les années 1990.

Quelques autres versions ne sont pas à ignorer. Celle des éditions Profil, P_Logo, hélas abandonnée. Il existe aussi le jLogo et le XLogo, deux interpréteurs écrit en Java. Le JFLogo a fait ses preuves tout comme une version, du même auteur, permettant de créer des paysages virtuels ; Logo3d. Retour aux logiciels libres avec Logo.Net venant de Belgique. Enfin, on ne peut ignorer la toute nouvelle mouture de LCSI (MicroWorlds, plate-forme multimédia).

Une récente évolution du langage permet de faire évoluer des milliers de tortues indépendamment. Il en existe deux implémentations : StarLogo et NetLogo. Ces versions permettent d'expérimenter des théories concernant les phénomènes émergents, ce qui est particulièrement intéressant en sciences sociales, biologie, physique, ainsi que dans de nombreuses autres sciences. Même si ces langages se concentrent sur l'interaction d'un grand nombre d'agents indépendants, il parviennent à conserver la philosophie du Logo.

Il n'existe aucune norme de Logo, mais uniquement une tradition. Ainsi, on constate des différences importantes entre les différentes évolutions du Logo. Les exemples de code donnés ci-dessous sont censés fonctionner dans la plupart des dialectes du Logo.

[] Principe

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 SOMME 10 3 ==> préfixe : l'opérateur est devant.
  • EC 10 + 3 ==> infixe  : l'opérateur est entre les nombres.

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

Remarque : avancer de 90 pas pour une figure dont l'angle est aussi de 90° n'est peut-être pas un très bon choix ; car, en effet, alors, on ne peut être certain que l'enfant fait, réalise, conceptualise bien la différence entre les deux actions.

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,

  • «AV n» signifie «AVance la tortue du nombre de pas n»
  • «TD n», «Tourne à Droite de n degrés (ici de 90 degrés)»

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éfaut)
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


[] Voir aussi

[] Liens externes

 
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/Logo (langage)
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Septembre 2008
L
M
M
J
V
S
D
1234567
891011121314
15161718192021
22232425262728
2930
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com