Atariware Wiki: Logo Atari

https://www.atariware.cl/wiki     Versión: 34 (10/09/2025 19:19)

Logo Atari



Desarrollado por: Logo Computer Systems, Inc.
Publicado en: 1983
Traducido por: MultiSoft
Distribuido por: Coelsa
Medio: Cartucho y Disco

1. Introducción


Logo es un lenguaje de programación de alto nivel, de muy fácil aprendizaje, razón por la cual suele ser el lenguaje de programación preferido para trabajar con niños y jóvenes. Fue diseñado con fines didácticos por Danny Bobrow, Wally Feurzeig y Seymour Papert. A pesar de que Logo no fue creado con la finalidad de usarlo para enseñar programación, puede usarse para enseñar la mayoría de los principales conceptos de la programación, ya que proporciona soporte para manejo de listas, archivos y entrada/salida. Logo es uno de los pocos lenguajes de programación con instrucciones en español en algunas de sus versiones.

El Logo Atari que comprende:

2. Equipamiento


El equipamiento mínimo para comenzar es un computador ATARI 600 XL o superior. Puede grabar y cargar archivos en casete usando la ATARI 1010 o también puede usar la disquetera ATARI 1050.

3. Forma de Trabajar


En el lenguaje Logo existen dos formas de trabajar para lograr los resultados deseados, es decir, para lograr que la tortuga haga lo que deseamos:

La primera es ingresar las primitivas o instrucciones a través de la línea de comandos.

La segunda es crear un procedimiento o pequeño programa en donde digitamos las instrucciones necesarias.

4. Instrucciones


A continuación un listado con los comandos en español y su símil en ingles con la descripción de que función realiza :

Español Ingles Descripción
⋕YL pred1 pred2 ⋕AND Las salidas son verdaderas si todas sus entradas son verdaderas
COD? car ASCII Responde con el código ASCII del caracter
PI ntortuga lista ASK Pide el número de tortuga para que ejecute las instrucciones en la lista
RT distancia BACK, BK Mueve la distancia de la tortuga hacia atrás
FD BG Muestra un número que representa el color de fondo
SINPRIME, SP obj BUTFIRST, BF Envía todos los elementos de obj menos el primero
SINULTI obj BUTLAST, BL Envía todos los elementos de obj menos el último
LLAMA n .CALL Transfiere el control a una subrutina de lenguaje de máquina que comienza en la dirección n (decimal)
CATA unidad: CATALOG Muestra los nombres de todos los archivos en el disquete. En el casete, imprime las definiciones de los procedimientos y los nombres del archivo
CAR? n CHAR Da salida al carácter cuyo código ASCII es n
BORRA CLEAN Elimina la pantalla de gráficos sin afectar el estado de la tortuga
COLOR COLOR Muestra un número que representa el color de la tortuga
COND ncond COND Da como resultado verdadero si la condición condnumber está ocurriendo
COS n COS Da como resultado el coseno de n grados
CUENT obj COUNT Muestra el número de elementos en objecto
LM CS Borra la pantalla, mueve la tortuga a la posición [0 0]. Establece el rumbo a 0
LT CT Borra la pantalla de texto
COLOCA n byte .DEPOSIT Escribe un byte en la dirección n (decimal)
CADA lista EACH Hace que cada tortuga ejecute por separado los comandos de la lista
ED nombre(s) EDIT, ED Inicia el logo editor con procedimientos nombrados
EMON EDNS Inicia el logo editor con todas las variables del área de trabajo
EFOR número de forma EDSH Inicia el editor de formas del logo, mostrando el número de la forma.
NADA? obj EMPTYP Da como resultado verdadero si obj está vacío
FIN END Termina la definición del procedimiento iniciado por CR
IGUAL? obj1 obj2 EQUALP Da como resultado verdadero si sus entradas son iguales
ELTOD ERALL Borra todo del espacio de trabajo
EL nombre(s) ERASE, ER Borra todos los procedimientos nombrados
DES unidad:archivo ERF Borra el nombre del archivo del dispositivo
ELN nombre(s) ERN Borra todas las variables con nombre
ELNS ERNS Borra las variables del espacio de trabajo
ELTA ERPS Borra todos los procedimientos del área de trabajo
EXAMINA n .EXAMINE Muesta el contenido de la dirección n (decimal)
FALSO FALSE Entrada especial para y, si, no y o
PRIM obj FIRST obj Da salida al primer elemento de objecto
AV distancia FORWARD, FD Mueve a la tortuga pasos de distancia hacia adelante
POMP obj lista FPUT Sale una lista formada por la colocación de obj en el frente de la lista
GR (CTRL+F) FS Dedica toda la pantalla a los gráficos
LEFF número de forma GETSH Devuelve una lista de 16 números; estos números corresponden a los bits de la forma
RUMBO? HEADING Muestra el rumbo de la tortuga
CON HOME Mueve la tortuga a [0 0] y establece el rumbo a 0
ST HT Hace que la tortuga sea invisible
SI pred lista1 (lista2) IF Si pred es verdadero, ejecuta lista1, de lo contrario lista2
ENT n INT Pone la parte entera de n
BA? njoy JOY Muestra la posición actual del número del joystick
BBA? bjoy JOYB Da como resultado verdadero si se pulsa el botón del número del joystick
TEC? KEYP Da como resultado verdadero si una tecla ha sido tecleada pero aún no ha sido leída
ULTI LAST Obj Da salida al último elemento del objeto
IZ grados LEFT, LT Gira la tortuga grados a la izquierda (en sentido contrario a las agujas del reloj)
LIST obj1 obj2 LIST Sale la lista de sus entradas
LISTP obj LISTP Da como resultado verdadero si obj es una lista
CARG unidad:archivo LOAD Carga el archivo llamado filename desde el dispositivo en el ordenador
PONU obj lista LPUT Sale una lista formada por la colocación de obj al final de la lista.
HAZ nombre obj MAKE Hace que el nombre se refiera al objeto
ELEM? obj lista MEMBERP Da como resultado verdadero si el objeto está incluido en la lista
VAL? nombre NAMEP Da como resultado verdadero si el nombre tiene un valor
NUDOS NODES Muestra el número de nodos libres
NOT pred NOT Da como resultado verdadero si pred es FALSE
NUMERO? obj NUMBERP Da como resultado verdadero si el objeto es un número
⋕OL predl pred2 #OR Da como resultado TRUE si alguna de sus entradas es verdadera
SALIDA obj OUTPUT, OP Devuelve el control a la persona que llama, con el objeto como salida
SOB? ntorguta npen OVER Muestra un número que simboliza la colisión entre el número de la tortuga y el número del lápiz
PER? npaddle PADDLE Da salida a la rotación en el dial del número de paddle
BPER? bpaddle PADDLEB Emite verdadero si se presiona el botón en el número de paddle
CL npen PC Muestra un número que representa el color de la pluma del número del lápiz
LG PE Deja el borrador del bolígrafo
LA? PEN Salidas del estado del lápiz (LA, SL, LG o PI)
LAPIZ, LA PENDOWN, PD Baja el lápiz a la tortuga
SINLA, SL PENUP, PU Levanta el lápiz de la tortuga
LN PN Muestra el número del lápiz (0, 1 o 2) que se está utilizando
LI nombre PO Imprime las definiciones de los procedimientos con nombre
LITO POALL Imprime las definiciones de los procedimientos y los nombres (variables)
LID ncond POD Imprime cuando el demonio ncond actualmente en acción
LIDS PODS Imprime todos los activos cuando los demonios
LNS PONS Imprime los nombres y valores de todas las variables
LITA POPS Imprime las definiciones de todos los procedimientos
POS POS Muestra las coordenadas de la posición de la tortuga
LITI POTS Imprime las líneas de título de los procedimientos
PRIMITIVAS .PRIMITIVES Imprime la lista de primitivas de Logo
⋕IM obj ⋕PRINT, PR Imprime objeto seguido de retorno de carro (elimina los paréntesis exteriores de las listas)
⋕PRODUC a b ⋕PRODUCT Salidas producto de sus entradas
HAZF nshape sshape PUTSH Da a nshape la forma de sshape, la red de bits
LO PX Deja el lapiz reversible
AZAR n RANDOM Produce un número entero aleatorio entre 0 y n -1
LC RC Pemite el carácter leído por el dispositivo actual (por defecto es el teclado). Espera si es necesario
RECICLA RECYCLE Realiza una recogida de basura
REMANENTE d b REMAINDER Muestra el resto de a dividido por b
REPITE n lista REPEAT Ejecuta la lista n veces
REAZAR RERANDOM Maker random se comportan de forma reproducible
DE grados RIGHT, RT Gira la tortuga grados a la derecha (en el sentido de las agujas del reloj)
LL RL Da salida a la línea leída por el dispositivo actual (por defecto es el teclado). Espera si es necesario
REDOM n ROUND La salida de n se redondea al número entero más cercano
EJE lista RUN Ejecuta la lista, produce lo que produce la lista
GRA unidad:archivo SAVE Guarda el espacio de trabajo en el dispositivo
⋕FR obj1 obj2 ⋕SE Sale la lista de sus entradas
PONFD ncolor SETBG Establece el fondo como un número de color
PONC ncolor SETC Establece el número de color de la tortuga
PONCURSOR pos SETCURSOR Pone el cursor en la posición
REDUCE voz duracion SETENV Establece la envolvente de la voz para el toot de modo que el volumen se reduce en una unidad cada duración
PONR grados SETH Establece el rumbo de la tortuga en grados
PONLC npen ncolor SETPC Establece el número de lápiz (0, 1 o 2) en el número de columna
PONNL npen SETPN Establece la lápiz como número de lápiz (0,1 o 2)
PONXY pos SETPOS Mueve la tortuga a su posición
PARALE unidad:archivo SETREAD Establece el nombre del dispositivo del que se leerá la salida de LC y LL
PARALE [ ] SETREAD Cierra el archivo que se abrió con PARALE
PONFAC m .SETSCR Establece la relación de aspecto a n
PONFR nshape SETSH Establece la forma de la tortuga en el número de forma
PONV speed SETSP Establece la velocidad de la tortuga
PARAES unidad:archivo SETWRITE Inicia el proceso de envío de una copia de todos los caracteres mostrados en la pantalla a unidad:archivo
PARAES [ ] SETWRITE Cierra el archivo que se abrió con PARAES
PONX x SETX Mueve la tortuga horizontalmente a la coordenada x en x
PONY y SETY Mueve la tortuga verticalmente a la coordenada y en y
FORMA SHAPE Muestra un número que representa la forma de la tortuga actual
MUES obj SHOW Imprime el objeto seguido de un retorno con paréntesis para la lista
TG? SHOWNP Da como resultado verdadero si se muestra la tortuga
SEN n SIN Produce un seno de n grados
VELOC SPEED Muestra la velocidad actual de la tortuga
RAIZ n SORT Produce la raíz cuadrada de n
MX (CTRL+S) SS Divide la pantalla: arriba para los gráficos, abajo para el texto
TG ST Hace que la(s) tortuga(s) sea(n) visible(s).
PARA STOP Detiene el procedimiento y devuelve el control a la persona que llama
SUM a b SUM Hace la suma de sus entradas.
DILE ntortuga TELL Dirige todos los comandos siguientes al número de tortuga
VALOR nombre THING Muesta el objeto referido por el nombre
CR nombre TO Comienza a definir el nombre del procedimiento
SON voz freq vol duración TOOT Produce sonido en la voz de la frecuencia y el volumen de la duración
TOCA? ntortuga1 ntortuga2 TOUCHING Muestra un número que simboliza la colisión entre el número de tortuga 1 y el número de tortuga 2
VER TRUE Entrada especial para y, si, no y o
TE (CTRL+T) TS Dedica toda la pantalla al texto
⋕ES obj ⋕TYPE Imprime el objeto dejando el cursor al final de la línea impresa
ALTO n WAIT Hace una pausa de n/60 de segundo
CUAN ncond lista WHEN Establece cuando el demonio para que cada vez que la condición ncond ocurre, la lista se ejecuta
CUAN ncord [ ] WHEN Se borra (se detiene) cuando el demonio para el ncond
QT? WHO Muestra el número de la tortuga actual.
SALE WINDOW Hace que la pantalla de gráficos sea una ventana de un campo de tortuga expandido. Borra la pantalla
⋕PLBR palabra1 palabra2 ⋕WORD La palabra de salida se compone de sus entradas
PLBR? obj WORDP Da como resultado verdadero si el objeto es una palabra
VUEL WRAP Hace que el campo de la tortuga envuelva los bordes de la pantalla. Borra la pantalla
XCO? XCOR Muestra la coordenada x de la posición de la tortuga
XYO? YCOR Muestra la coordenada y de la posición de la tortuga

5. Aritmética


Operación Descripción
a + b Responde con a más b
a - b Responde con a menos b
a * b Responde con a multiplicado por b
a / b Responde con a dividido por b
a < b Responde con VER si a es menor que b
a > b Responde con VER si a es mayor que b
obj1 = obj2 Responde con un VER si a es igual a b

6. Glosario


Palabra Significado
byte Unidad de datos utilizada por el ordenador. Un número entero de 0 a 255
car Letras del alfabeto, números y signos de puntuación
ncolor Un número entero de 0 a 127
ncond Un número entero de 0 a 21
archivo Un nombre de archivo
grados Grados de un ángulo. Un número real entre -9999.9999 y 9999.9999. Se puede utilizar el comando repetir para superar este límite
unidad Un nombre de dispositivo. "C: es Cassette. "D: es Disco, y "P: es Impresora. Los símbolos " (comillas) y : (dos puntos) son necesarios en todo momento
distancia Un número desde -9999.9999 hasta 9999.9999. Se puede utilizar el comando repetir para superar este límite
duración Un número entero de 0 a 255
freq Un número entero de 14 a 64.000 en Hz
entrada Palabras con dos puntos delante. Se utiliza junto con CR
instlista Una lista de procedimientos que Logo puede ejecutar
njoy Un entero de 0 a 3
lista Información encerrada entre corchetes []
n, a, b, x, y Un número
nombre Una palabra que nombra un procedimiento o una variable
nomlista Una lista de nombres
objecto Un objeto Logo (una palabra, una lista o un número)
npaddle Un número entero de 0 a 7
npen Un número entero de 0 a 2
pos Una lista de dos números que dan las coordenadas de la tortuga o del cursor
pred Un predicado, que es una operación que produce la palabra verdadera o la palabra falsa
nshape Un número entero de 0 a 15
sshape Una lista de 16 números que representan la cuadrícula de la forma
ntortuga Un número entero de 0 a 3
voz Un número entero, ya sea 0 o 1
volume Un número entero de 0 a 15
secuen Una secuencia de caracteres (sin incluir un espacio)

7. Demostraciones


Bandera Chilena
Publicado en revista MundoAtari numero 5 octubre del 1987, página 29.


Atrape la tortuga
Publicado en boletín informativo centro Atari volumen 3 y numero 2, Febrero/Marzo 1985, página 8.


Dragón
Publicado en boletín informativo centro Atari volumen 3, numero 3 de Abril del 1985, página 6.


Carrera de autos
Publicado en el libro Atari LOGO Introduction To Programing Through Turtle Graphics, Apéndice C página 147.
Adaptado por mi usando este artículo.

8. Descarga


Este ATR incluye los archivos fuentes de la demostración que se presentaron :


También compartimos el cartucho para descarga.

9. Agradecimientos