🐷Catto← Volver al inicio

🐢 La tortuga de Logo

El lenguaje con el que muchos aprendimos a programar: una tortuga con un lápiz que obedece órdenes como avanza 100 o giraderecha 90. Con repeticiones y procedimientos que se llaman a sí mismos se llega a los fractales. Acepta las órdenes en castellano, como en LogoWriter, y también en inglés.

Programa

El botón Dibujar borra la pantalla y corre el programa. El centro de mando sigue desde donde quedó la tortuga y conoce los procedimientos del programa.
x 0y 0rumbo 0°lápiz abajo

Ejemplos resueltos

Ordenados de lo más simple a lo más difícil. Cada uno explica la idea nueva que aparece; el botón lo carga en el programa y lo dibuja. Después conviene cambiar los números y ver qué pasa: así se aprende Logo.

Las órdenes

La pantalla mide 600 pasos de lado, con el origen en el centro. El rumbo 0 apunta hacia arriba y crece en el sentido de las agujas del reloj. Las órdenes se pueden escribir con o sin tildes, en minúscula o mayúscula, y separadas por espacios o en renglones distintos.

OrdenAbreviaturaEn inglésQué hace
avanza 50avforward · fdCamina 50 pasos hacia donde mira; si el lápiz está abajo, deja la marca.
retrocede 50reback · bkCamina hacia atrás sin darse vuelta.
giraderecha 90gdright · rtGira 90° en el sentido de las agujas del reloj, sin moverse del lugar.
giraizquierda 90gileft · ltGira en el sentido contrario.
subelapiz · bajalapizsl · blpu · pdLevanta o apoya el lápiz: con el lápiz arriba camina sin dibujar.
gomapeneraseLo que recorre lo borra. Se vuelve a dibujar con bajalapiz.
repite 4 [ … ]repeatRepite las órdenes del corchete. cuentarepite dice en qué vuelta va (1, 2, 3…).
para cuadrado :lado … finto … endDefine un procedimiento nuevo con sus datos (:lado). Después se usa como cualquier orden: cuadrado 80.
si :n < 5 [ … ]ifHace lo del corchete solo si la condición se cumple. sisino cond [ … ] [ … ] elige entre dos.
altostopTermina el procedimiento en el que está. Es lo que frena una recursión.
haz "lado 40makeGuarda un valor en una variable; después se lo usa como :lado.
poncolor "rojoponclsetpcColor del lápiz: blanco, rojo, verde, azul, amarillo, naranja, violeta, celeste, rosa, gris, marron… o un número de 0 a 15.
ponfondo "azulpfsetbgColor de fondo (borra la pantalla).
grosor 3setpensizeAncho del trazo.
borrapantallabpcsBorra todo y lleva la tortuga al centro mirando hacia arriba.
centrohomeVuelve al centro (dibujando, si el lápiz está abajo).
ponpos 100 50 · ponrumbo 45prsetxy · sethVa a un punto, o apunta a un rumbo, sin pasar por giros.
ocultatortuga · muestratortugaot · mtht · stEsconde o muestra la tortuga.
escribe :nesprintMuestra un valor debajo del programa.
azar 10 · raizcuadrada 2 · sen 30 · cos 30rcrandom · sqrt · sin · cosFunciones: un entero al azar de 0 a 9, la raíz cuadrada, seno y coseno en grados.

Las cuentas se escriben como en matemática: :lado / 2, :n - 1, 360 / :lados. Un menos pegado al número y separado de lo anterior, como en dragon :n -1, es un número negativo, no una resta. Lo que sigue a un ; es un comentario.