» REPITE
REPITE número listainstrucción
Ejecuta una lista de instrucciones (listainstrucción) tantas veces como indique la primera entrada (número). Vea también .
número:(ENTERO) Número de veces que se ejecuta una lista de instrucciones.
Listainstrucción:(LISTA) Lista de instrucciones Logo a ejecutar repetidamente.
Ejemplo:
repite 3 [escribe (lista "Es "la "vuelta cuentarepite)]
Es la vuelta 1
Es la vuelta 2
Es la vuelta 3
» CUENTAREPITE
contador CUENTAREPITE
Sólo puede usarse dentro de un . Devuelve el número de repeticiones finalizadas, incluyendo la actual. Esto es, devuelve la primera vez 1; 2, la segunda vez, y así sucesivamente.
contador:(ENTERO) Valor actual del contador de REPITE.
Ejemplo:
repite 3 [escribe (lista "Es "la "vuelta cuentarepite)]
Es la vuelta 1
Es la vuelta 2
Es la vuelta 3
» SI
objeto SI prueba listainstrucción
objeto (SI prueba listainstrucción1 listainstrucción2)
Primitiva condicional con dos formas:
Primera forma:
Si la condición (prueba) tiene el valor CIERTO, entonces SI ejecuta una lista de instrucciones (listainstrucción).
Si prueba tiene como valor FALSO, entonces SI no ejecuta nada. Vea también .
Se produce un error si la condición no tiene un valor CIERTO o FALSO.
Segunda forma:
Funciona igual que SISINO. Si se cumple la condición se ejecuta la primera lista; si no se cumple, se ejecuta la segunda. Observe que la sintaxis requiere el uso de los paréntesis y que si se omiten, por compatibilidad con anteriores versiones de Logo, si una instrucción SI no está entre paréntesis, se trata SI como si fuera , pero se envía un mensaje de advertencia.
objeto:(OBJETO)
prueba:(BOOLEANO) Expresión a probar.
listainstrucción:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es CIERTO.
listainstrucción1:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es CIERTO.
listainstrucción2:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es FALSO.
Ejemplo:
si 1=1 [escribe [Si, es cierto]]
Si, es cierto
Ejemplo (donde funciona igual que SISINO):
para max :a :b
devuelve (si :a > :b [:a] [:b])
fin
muestra max 1 2
2
» SISINO
objeto SISINO prueba listainstrucción1 listainstrucción2
Primitiva condicional. Si la condición prueba tiene el valor CIERTO, entonces SISINO ejecuta istaainstrucción1.
Si la condición prueba tiene como valor FALSO, entonces SISINO ejecuta listainstrucción2.
SISINO puede devolver un valor.
objeto:(OBJETO)
prueba:(BOOLEANO) Expresión que es una prueba de verdad.
listainstrucción:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es CIERTO.
listainstrucción1:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es CIERTO.
listainstrucción2:(LISTA) Lista de instrucciones Logo a ejecutar si prueba es FALSO.
Ejemplo:
sisino 1=1 [escribe [Si, es cierto]] [escribe [No, es falso]]
Si, es cierto
sisino 1=0 [escribe [Si, es cierto]] [escribe [No, es falso]]
No, es falso
Ejemplo (donde sisino devuelve un valor)
para max :a :b
devuelve sisino :a > :b [:a] [:b]
fin
muestra max 1 2
2
» CIERTO
CIERTO
Es una palabra especial que indica el resultado positivo de una condición.
Ejemplo:
muestra 1=1
CIERTO
si "cierto [escribe [cierto es siempre cierto]]
cierto es siempre cierto
» FALSO
FALSO
Es una palabra especial que indica el resultado negativo de una condición.
Ejemplo:
muestra 1=0
falso
sisino "falso [escribe [No puede entrar aquí]] [escribe [Falso es siempre falso]]
Falso es siempre falso
» DEVUELVE
DEVUELVE valor
DEV valor
Termina la ejecución del procedimiento en que aparece y devuelve un valor.
valor:(OBJETO).
Ejemplo:
para miprograma
devuelve [Lo que devuelve es esto]
fin
muestra miprograma
[Lo que devuelve es esto]
» ALTO
ALTO
Termina la ejecución del procedimiento en que aparece. Devuelve el control al contexto en el que se llamó el procedimiento. El procedimiento no devuelve ningún valor.
Ejemplo:
para myprog :arg
escribe [Antes de Alto]
si 1=:arg [alto]
escribe [Después de Alto]
fin
myprog 1
Antes de Alto
myprog 2
Antes de Alto
Después de Alto
» ESPERA
ESPERA tiempo
Retrasa la ejecución durante un tiempo 1/60 de segundo
tiempo:(ENTERO).
Ejemplo:
espera 60
» MIENTRAS
MIENTRAS pruebalista listainstrucción
Ejecuta una lista de instrucciones (listainstrucción) mientras se cumpla la condición pruebalista. Observe que la condición es el primer argumento.
.
pruebalista:(BOOLEANO): La condición dentro de una lista.
listainstrucción:(LISTA): Lista con las instrucciones a ejecutar.
Ejemplo:
haz "i 0
mientras [:i < 3] [haz "i :i+1 escribe :i]
1
2
3
» HASTA
HASTA pruebalista listainstrucción
Ejecuta una lista de instrucciones hasta que una condición tenga el valor FALSO. La condición es el primer argumento.
listainstrucción:(LISTA) Lista de instrucciones a ejecutar.
pruebalista :(BOOLEANO) Condición dentro de una lista.
Ejemplo:
haz "i 0
hasta [:i > 3] [haz "i :i+1 escribe :i]
1
2
3
4
» HAZ.MIENTRAS
HAZ.MIENTRAS listainstrucción pruebalista
Ejecuta una lista de instrucciones (listainstrucción) mientras se cumpla la condición pruebalista. Observe que la condición es el segundo argumento.
listainstrucción:(LISTA) Lista de instrucciones Logo a ejecutar mientras la cumpla la condición.
pruebalista:(BOOLEANO) Condición dentro de una lista.
Ejemplo:
haz "i 0
haz.mientras [haz "i :i+1 escribe :i] [:i < 3]
1
2
3
» HAZ.HASTA
HAZ.HASTA listainstrucción pruebalista
Ejecuta una lista de instrucciones hasta que una condición tenga el valor FALSO. La condición es el segundo argumento.
listainstrucción:(LISTA) Lista de instrucciones a ejecutar.
pruebalista:(BOOLEANO) Condición dentro de una lista.
Ejemplo:
haz "i 0
haz.hasta [haz "i :i+1 escribe :i] [:i > 3]
1
2
3
4
» EJECUTA
EJECUTA listainstrucción
Ejecuta las instrucciones Logo que contiene la entrada (listainstrucción).
Listainstrucción:(LISTA) Lista de instrucciones Logo a ejecutar.
Ejemplo:
haz "cosasporhacer [escribe]
haz "cosasporhacer ponultimo "\"Hola :cosasporhacer
ejecuta :cosasporhacer
Hola
» ADIOS
ADIOS
Sale de Logo y vuelve al sistema operativo.
Ejemplo:
adios
» DESDE
DESDE desdecontrol listainstrucción
Tiene como primera entrada una lista con tres o cuatro miembros: (1) una palabra que es el nombre de una variable local; (2) una palabra o lista que contiene el valor inicial de la variable; (3) una palabra o lista que indica el valor límite de la variable; (4) y una palabra o lista que determina el incremento opcional. Si falta el cuarto miembro tendrá el valor 1 o –1, dependiendo de que el valor límite sea mayor o menor que el inicial.
La segunda entrada es una lista de instrucciones. DESDE ejecuta repetidamente las instrucciones contenidas en listainstrucción, y asigna un nuevo valor a la variable de control. Primero asigna el valor a la variable de control y compara ese valor con el valor límite. Si la variable es mayor que el valor límite, la ejecución continua en la línea siguiente; en otro caso, se ejecutan las instrucciones contenidas en listainstrucción y se incrementa la variable en el valor del incremento.
desdecontrol:(LISTA).
listainstrucción:(LISTA).
Ejemplo:
desde [i 2 7 1.5] [escribe :i]
2
3.5
5
6.5
» SALTOA
SALTOA etiqueta
Busca un comando con la misma etiqueta en el mismo procedimiento, y continúa ejecutando el procedimiento desde la ubicación de esa ETIQUETA. SALTOA no funciona fuera de un procedimiento.
etiqueta:(PALABRA).
Ejemplo:
para procedimiento
etiqueta "inicio
escribe [otra vez!]
saltoa "inicio
fin
» ETIQUETA
ETIQUETA etiqueta
Las etiquetas son usadas por el comando . La etiqueta debe ser una palabra precedida por comillas dobles, no puede ser el resultado de una expresión.
Ejemplo:
para procedimiento
etiqueta "inicio
escribe [otra vez!]
saltoa "inicio
fin
» PAUSA
valor PAUSA
PAUSA
Introduce una pausa interactiva. El usuario recibe instrucciones en las que aparece el nombre del procedimiento en que se invocó PAUSA. Las variables locales de este procedimiento están disponibles durante la pausa. Cuando termina PAUSA devuelve con una entrada.
valor:(OBJETO) Ejemplo:
para miprograma
repite 180 [gd 2 si 90=cuentarepite [pausa]]
escribe "Hecho
fin
miprograma
Poniendo pausa...miprograma
Hecho
» CONTINUA
CONTINUA valor
CO valor
(CONTINUA)
(CO)
Termina la pausa interactiva, volviendo al contexto desde el que se llamó a . Si se le da una entrada a CONTINUA, devuelve ese valor. Si no, no devuelve nada.
valor:(OBJETO) Valor que enviado a PAUSA que lo devuelve.
Excepcionalmente, CONTINUA se puede usar sin su entrada y sin paréntesis con tal que esté en una línea de instrucciones.
Ejemplo:
para miprograma
repite 180 [gd 2 si 90=cuentarepite [pausa]]
escribe "Hecho
fin
miprograma
Pausando... miprograma
180
Hecho