ESTRUCTURAS DE DATOS

» CONSTRUCTORES » PALABRA


palabra PALABRA palabra1 palabra2
palabra (PALABRA palabra1 palabra2 palabra3 ...)

Devuelve una palabra formada por la unión de las entradas.

palabra:(PALABRA) Concatenación de entradas.
palabra1:(PALABRA) Primera palabra para unir.
palabra2:(PALABRA) Segunda palabra para unir.

Ejemplo:

muestra palabra "o "k
ok
muestra (palabra "a "o "k "to)
aokto


» CONSTRUCTORES » LISTA


lista LISTA cosa1 cosa2
lista (LISTA cosa1 cosa2 cosa3 ...)

Devuelve una lista cuyos miembros son las entradas, que pueden ser cualquier objeto de Logo (palabra, lista, o arreglo).

lista:(LISTA) Lista formada con entradas.
cosa1:(COSA) El primer miembro de la lista.
cosa2:(COSA) El segundo miembro de la lista.

Ejemplo:

muestra (lista "Esto "es "una "Lista)
[Esto es una Lista]
muestra lista [1 2 3] [a b c]
[[1 2 3] [a b c]]

Ejemplo 2:

haz "rojo 100
haz "verde 100
haz "azul 100
muestra (lista :rojo :verde :azul)
[100 100 100]


» CONSTRUCTORES » FRASE


lista FRASE objeto1 objeto2
lista FR objeto1 objeto2

lista (FRASE objeto1 objeto2 objeto3 ...)
lista (FR objeto1 objeto2 objeto3 ...)

Devuelve una lista cuyos miembros son sus entradas, si las entradas no son listas.
Si las entradas son listas, devuelve una lista cuyos miembros son los miembros de sus entradas.
Para más de dos objetos se debe utilizar la segunda forma (entre paréntesis).

lista:(LISTA) Frase formada por entradas.
objeto1:(OBJETO) Objeto que será el primer miembro de la frase resultante.
objeto2:(OBJETO) Objeto que será el segundo miembro de la frase resultante.

Ejemplo:

muestra (fr "Una "frase "es "simplemente "una "lista "de "palabras)
[Una frase es simplemente una lista de palabras]


» CONSTRUCTORES » PONPRIMERO


nuevalista PONPRIMERO objeto lista
nuevalista PP objeto lista

Toma como argumento un objeto y una lista y devuelve otra lista (nuevalista) igual, pero con un nuevo miembro, el primer argumento, que será el primer miembro de la nueva lista.

nuevalista:(LISTA) Nueva lista formada con los dos argumentos.
objeto:(OBJETO) Objeto que será añadido como primer miembro de la nueva lista.
lista:(LISTA) Lista a partir de la que se formará la nueva.

Ejemplo:

muestra ponprimero 1 [2 3 4]
[1 2 3 4]


» CONSTRUCTORES » PONULTIMO


nuevalista PONULTIMO objeto lista
nuevalista PU objeto lista

Toma como argumento un objeto y una lista y devuelve otra lista (nuevalista) igual, pero con un nuevo miembro, el primer argumento, que será el último miembro de la nueva lista.

nuevalista:(LISTA) Nueva lista formada con los dos argumentos.
objeto:(OBJETO) Objeto que será añadido al final de la nueva lista.
lista:(LISTA) Lista existente con la que se formará la nueva.

Ejemplo:

muestra ponultimo 5 [1 2 3 4]
[1 2 3 4 5]


» CONSTRUCTORES » ARREGLO


arreglo ARREGLO tamaño
arreglo (ARREGLO tamaño origen)

Devuelve un arreglo con tantos elementos enteros positivos como indique tamaño. Cada elemento es inicialmente una lista vacía. Los elementos del arreglo pueden seleccionarse con y cambiarse con . El primer elemento del arreglo es el elemento número 1, a menos que la entrada origen (un número entero) indique que el primer elemento del arreglo tenga otro índice (a veces se usa el 0 como origen.) Los arreglos se escriben con , y pueden teclearse, dentro de llaves; indicando un origen con {a b c}@0.

Matriz :(ARREGLO) Nuevo arreglo.
Tamaño :(ENTERO) Tamaño del nuevo arreglo.
origen:(ENTERO) Donde comienza el primer índice.

Ejemplo:

haz "mi_arreglo (arreglo 3 0)
ponelemento 2 :mi_arreglo 1
ponelemento 1 :mi_arreglo 2
ponelemento 0 :mi_arreglo 3
muestra :mi_arreglo
{3 2 1}


» CONSTRUCTORES » LISTA_ARREGLO


arreglo LISTA_ARREGLO lista
arreglo (LISTA_ARREGLO lista origen)

Convierte una lista en arreglo, ya que devuelve un arreglo del mismo tamaño que la entrada lista, cuyos elementos son los miembros de la lista entrada.

arreglo:(ARREGLO) Lista convertida en arreglo.
lista:(LISTA) Lista que será convertida en arreglo.
origen:(ENTERO) Donde comienza el índice de la nueva arreglo.

Ejemplo:

muestra listaa_rreglo [1 2 3]
{1 2 3}


» CONSTRUCTORES » ARREGLO_LISTA


lista ARREGLO_LISTA arreglo

Convierte un arreglo en lista, ya que devuelve una lista cuyos miembros son los elementos del arreglo de entrada. El primer miembro de la lista es el primer elemento del arreglo, independientemente del origen del arreglo.

lista:(LISTA) Recientemente convertida en lista.
arreglo:(ARREGLO) Arreglo existente que será convertido en una lista.

Ejemplo:

muestra arreglo_lista {1 2 3}
[1 2 3]


» CONSTRUCTORES » GENSIMBOLO


palabra GENSIMBOLO

Devuelve una única palabra. Las palabras tienen la forma G1, G2, etc.

palabra:(PALABRA) Símbolo recientemente formado.

Ejemplo:

haz gensimbolo 1
muestra :g1
1
haz gensimbolo "Hola
muestra :g2
Hola


» CONSTRUCTORES » SECENT


secuencia SECENT desde hasta

Devuelve una lista de enteros consecutivos ordenados que comienzan con desde y finalizan con hasta. Vea también .

secuencia:(LISTA) Lista de enteros cuyo rango va de desde hasta hasta.

desde:(ENTERO) Rango inicial de la secuencia de salida.

hasta:(ENTERO) Rango final de la secuencia de salida.

Ejemplo:

muestra SECENT 3 7
[3 4 5 6 7]
muestra SECENT 7 3
[7 6 5 4 3]


» CONSTRUCTORES » SECRAC


SECRAC

secuencia SECRAC desde hasta cuantos

Devuelve una lista ordenada con cuantos valores, que son números racionales igualmente espaciados, comenzando con desde y finalizando con hasta. Vea también .

secuencia:(LISTA) Lista de enteros cuyo rango va de desde hasta hasta.

desde:(ENTERO) Rango inicial de la secuencia de salida.
hasta:(ENTERO) Rango final de la secuencia de salida.
cuantos:(ENTERO) Número de elementos en la secuencia.

Ejemplo:

muestra SECRAC 3 5 9
[3 3.25 3.5 3.75 4 4.25 4.5 4.75 5]
muestra SECRAC 3 5 5
[3 3.5 4 4.5 5]


» MUTADORES » ENCOLA


ENCOLA nombrecola objeto

Añade un objeto a una cola. Una cola es una lista inicialmente vacía, en la que los nuevos miembros se encolan al final de la lista. Después, con el primer objeto sale de la cola.

nombrecola:(PALABRA) Palabra con el nombre de una cola.
objeto:(OBJETO) Objeto que saldrá de la cola.

Ejemplo:

haz "micola []
encola "micola 1
encola "micola 2
muestra :micola
[1 2]
muestra descola "micola
1
muestra descola "micola
2


» MUTADORES » DESCOLA


objeto DESCOLA nombrecola

Devuelve el objeto que entró primero en la cola, usando , y que saldrá de la cola.

objeto:(OBJETO) Objeto que saldrá de la cola.
nombre:(PALABRA) Palabra que indica el nombre de la cola.

Ejemplo:

haz "micola []
cola "micola 1
cola "micola 2
muestra :micola
[1 2]
muestra descola "micola
1
muestra descola "micola
2


» MUTADORES » APILA


APILA nombrepila objeto

Este procedimiento apila un objeto a la pila (nombrepila). El primer argumento es el nombre de una lista, inicialmente vacía. Los nuevos miembros se apilan al principio de la lista. Después, con se pueden sacar los objetos de la pila nombrepila.

nombrepila:(PALABRA) Palabra que indica el nombre de la pila.
objeto:(OBJETO) Objeto colocado en la pila.

Ejemplo:

haz "mipila []
apila "mipila 1
apila "mipila 2
muestra :mipila
[2 1]
muestra desapila "mipila
2
muestra desapila "mipila
1


» MUTADORES » DESAPILA


objeto DESAPILA nombrepila

Devuelve el último objeto que entró en la pila, usando , y que sale fuera de la pila.

objeto:(OBJETO) Objeto que saldrá de la pila.
nombrepila:(PALABRA) Palabra que indica el nombre de la pila.

Ejemplo:

haz "mipila []
apila "mipila 1
apila "mipila 2
muestra :mipila
[2 1]
muestra desapila "mipila
2
muestra desapila "mipila
1


» MUTADORES » PONELEMENTO


PONELEMENTO índice arreglo valor

Cambia el valor del elemento número índice de un arreglo por un nuevo valor.

arreglo:(ARREGLO) Arreglo en la que se pondrá un elemento.
índice:(ENTERO) Índice del elemento que se pondrá en el arreglo.
valor:(OBJETO) Valor del elemento.

Ejemplo:

haz "mi_arreglo (arreglo 3 0)
ponelemento 2 :mi_arreglo 1
ponelemento 1 :mi_arreglo [2]
ponelemento 0 :mi_arreglo 3
muestra :mi_matriz
{3 [2] 1}


» PREDICADOS » IGUALES?


verdad IGUALES? objeto1 objeto2

Devuelve CIERTO si las entradas objeto1 y objeto2 son iguales, FALSO si no lo son. Dos números son iguales si tienen el mismo valor numérico. Dos palabras son iguales si contienen los mismos caracteres en el mismo orden. Dos listas son iguales si sus miembros son iguales. Una matriz sólo es igual a sí misma; dos matrices creadas separadamente nunca son iguales, aunque sus elementos sean iguales.

verdad:(BOOLEANO).
objeto1:(OBJETO).
objeto2:(OBJETO).

Ejemplo:

muestra iguales? 1 1
cierto
muestra iguales? 1 2
falso
muestra iguales? [1 2 3] [1 2 3]
cierto
muestra iguales? [1 2 3] [3 2 1]
falso


» PREDICADOS » PALABRA?


verdad PALABRA? objeto

Devuelve CIERTO si la entrada objeto es una palabra, FALSO si no lo es.

verdad:(BOOLEANO) Prueba de verdad sobre si se trata de una palabra.
objeto:(OBJETO) Objeto del que se comprobará si es una palabra.

Ejemplo:

muestra palabra? "Hola
cierto
muestra palabra? [Hola]
falso
muestra palabra? {Hola}
falso


» PREDICADOS » LISTA?


verdad LISTA? objeto

Devuelve CIERTO si la entrada es una lista; FALSO, si no lo es.

verdad:(BOOLEANO) Prueba de verdad sobre si se trata de una lista.
objeto:(OBJETO) Objeto del que se comprobará si es una lista.

Ejemplo:

muestra lista? "Hola
falso
muestra lista? [Hola]
cierto
muestra lista? {Hola}
falso


» PREDICADOS » ARREGLO?


verdad ARREGLO? objeto

Devuelve CIERTO si la entrada es una arreglo, FALSO si no lo es.

verdad:(BOOLEANO) Prueba de verdad sobre si se trata de una arreglo.
objeto:(OBJETO) Objeto del que se comprobará si es una arreglo.

Ejemplo:

muestra arreglo? "Hola
falso
muestra arreglo? [Hola]
falso
muestra arreglo? {Hola}
cierto


» PREDICADOS » VACIO?


verdad VACIO? objeto

Devuelve CIERTO si la entrada es una palabra o lista vacía, FALSO si no lo es.

verdad:(BOOLEANO) Prueba de verdad sobre si la entrada es una palabra o lista vacía.
objeto:(OBJETO) Objeto del que se comprobará si está vacío.

Ejemplo:

muestra vacio? [1 2 3]
falso
muestra vacio? []
cierto


» PREDICADOS » ANTERIOR?


verdad ANTERIOR? palabra1 palabra2

Devuelve CIERTO si palabra1 es anterior en orden alfabético a palabra2, según la secuencia ASCII. Observación : si las entradas son números, el resultado no sería igual que con ; por ejemplo, ANTERIOR? 3 12 es FALSO porque 3 no es anterior a 1.

verdad:(BOOLEANO).
palabra1:(PALABRA).
palabra2:(PALABRA).

Ejemplo:

muestra anterior? "ABC "abd
cierto
muestra anterior? "abd "ABC
falso


» PREDICADOS » MIEMBRO?


verdad MIEMBRO? objeto1 objeto2

Permite conocer si un objeto es miembro de otro.

Si objeto2 es una lista o una arreglo, devuelve CIERTO si objeto1 y un miembro o elemento de objeto2 son , FALSO si no lo son.

Si objeto2 es una palabra, devuelve CIERTO si objeto1 y una parte de objeto2 son , FALSO si no lo son.

Observación: Este comportamiento es diferente de otros dialectos en que objeto1 debe ser un sólo carácter del que se comprobará si está incluido en la palabra objeto2.

verdad:(BOOLEANO).
objeto1:(OBJETO).
objeto2:(OBJETO).

Ejemplo:

muestra miembro? 1 [1 2 3]
cierto
muestra miembro? 4 [1 2 3]
falso


» PREDICADOS » CONTIENE?


verdad CONTIENE? objeto1 objeto2

Si objeto1 u objeto2 es una lista o un arreglo, devuelve FALSO.
Si objeto2 es una palabra, devuelve CIERTO si objeto1 es a una parte de objeto2, caso contrario devuelve FALSO.

verdad:(BOOLEANO) Prueba de verdad sobre si la contenencia.
objeto1:(OBJETO) Es esta palabra una parte de objeto2.
objeto2:(OBJETO) Contiene esta palabra a objeto1.

Ejemplo:

muestra contiene? "ab "abc
cierto

muestra contiene? "ac "abc
falso


» PREDICADOS » NUMERO?


verdad NUMERO? objeto

Devuelve CIERTO si la entrada es un número, FALSO si no lo es.

verdad:(BOOLEANO).
objeto:(OBJETO).

Ejemplo:

muestra numero? 1
cierto
muestra numero? [1]
falso


» CONSULTAS » CUENTA


número CUENTA objeto

Si la entrada (objeto) es una palabra, devuelve el número de caracteres.

Si la entrada (objeto) es una lista o un arreglo, devuelve el número de miembros o elementos. (Para un arreglo puede ser el índice del último elemento, depende del índice del primer elemento.)

número:(NUMERO) Cuenta los elementos de un objeto.
objeto:(OBJETO). Palabra, lista o arreglo.

Ejemplo:

muestra cuenta [1 2 3]
3
muestra cuenta "ab
2


» CONSULTAS » MIEMBRO


objeto MIEMBRO objeto1 objeto2

Devuelve parte de una palabra o lista (objeto2) desde la primera aparición de objeto1 hasta el fin. Vea .

Devuelve la palabra o lista vacía, si objeto1 no es una parte de objeto2.

 Se produce un error si objeto2 es un arreglo.

objeto:(OBJETO).
objeto1:(OBJETO).
objeto2:(OBJETO).

Ejemplo:

muestra miembro "b [a b c d]
[b c d]
muestra miembro "c [a b c d]
[c d]


» CONSULTAS » CARACTER


carácter CARACTER número
carácter CAR número

Devuelve el carácter que corresponde a un código ASCII (número), entre 0 y 127.

carácter:(PALABRA).
número:(NUMERO).

Ejemplo:

muestra car 97
a
muestra car 65
A
muestra car 98
b


» CONSULTAS » ASCII


número ASCII carácter

Devuelve un número (en EEUU, entre 0 y 127) que representa la entrada de un carácter en código ASCII.

número:(NUMERO) código ASCII de la entrada.
carácter:(PALABRA) Carácter del que se quiere conocer su código ASCII.

Ejemplo:

muestra ascii "a
97
muestra ascii "A
65
muestra ascii "b
98


» SELECTORES » PRIMERO


primerobjeto PRIMERO objeto
primerobjeto PRI objeto

Si la entrada es una palabra, devuelve el primer carácter de la palabra.
Si la entrada es una lista, devuelve el primer miembro de la lista.
Si la entrada es un arreglo, devuelve el origen del arreglo (esto es, el ÍNDICE del primer elemento del arreglo).

primerobjeto:(OBJETO) Primer objeto de entrada.
objeto:(OBJETO) Objeto existente del que se extraerá el primer elemento.

Ejemplo:

escribe primero [1 2 3]
1
escribe primero "Hola
H
escribe primero {4 2 3}
1


» SELECTORES » PRIMEROS


primeroslista PRIMEROS lista

Devuelve una lista que contiene los primeros elementos de cada una de las listas de entrada ( ). Se produce un error si algún miembro de la lista de entrada está vacío.

primeroslista:(LISTA) Nueva lista con cada uno de los primeros elementos.
lista:(LISTA) Lista a partir de la cual se hará la extracción.

Ejemplo:

muestra primeros [[1 2 3] [a b c]]
[1 a]

Ejemplo:

para transponer :matriz
si vacio? primero :matriz [devuelve []]
devuelve ponprimero primeros :matriz transponer menosprimeros :matriz
fin

muestra transponer [[1 2 3] [a b c]]
[[1 a] [2 b] [3 c]]


» SELECTORES » ULTIMO


ultimoobjeto ULTIMO objeto
ultimoobjeto UL objeto

Si la entrada es una palabra, devuelve el último carácter de la palabra.
Si la entrada es una lista, devuelve el último miembro de la lista.

ultimoobjeto:(OBJETO) El último objeto de una entrada.
objeto:(OBJETO) Objeto existente, a partir del cual se hará la extracción.

Ejemplo:

escribe ultimo [1 2 3]
3
escribe ultimo "Hola
o


» SELECTORES » MENOSPRIMERO


nuevoobjeto MENOSPRIMERO objeto
nuevoobjeto MP objeto

Si la entrada es una palabra, devuelve una palabra que contiene todos los caracteres de la palabra, menos el primero.

Si la entrada es una lista, devuelve una lista que contiene todos los miembros de la lista de entrada, menos el primero.

nuevoobjeto:(OBJETO)
objeto:(OBJETO)

Ejemplo:

muestra menosprimero [1 2 3]
[2 3]
muestra menosprimero "Hola
ola


» SELECTORES » MENOSPRIMEROS


nuevalista MENOSPRIMEROS lista
nuevalista MPS lista

Toma como entrada una lista formada por varias sublistas y la devuelve con todos los elementos menos los primeros elementos de cada sublista. Vea . Produce un error si algún miembro de la lista está vacío o es una matriz.

nuevalista:(LISTA).
lista:(LISTA).

Ejemplo:

muestra menosprimeros [[1 2 3] [a b c]]
[[2 3 [b c]]


» SELECTORES » MENOSULTIMO


nuevoobjeto MENOSULTIMO objeto
nuevoobjeto MU objeto

Si la entrada es una palabra, devuelve una palabra que contiene todos los caracteres de la entrada, menos el último.

Si la entrada es una lista, devuelve una lista que contiene todos los miembros de la entrada, menos el último.

nuevoobjeto:(OBJETO).
objeto:(OBJETO).

Ejemplo:

muestra menosultimo [1 2 3]
[1 2]
muestra menosultimo "Hola
Hol


» SELECTORES » ELEMENTO


elemento ELEMENTO índice objeto

Si el segundo argumento (objeto) es una palabra, devuelve el carácter número índice de la palabra; si es una lista, devuelve el miembro número índice de la lista y si es un arreglo, devuelve el elemento número índice del arreglo. Un índice comienza en 1 para palabras y listas y para los arreglos se especifica el inicio cuando se crean.

elemento:(OBJETO).
índice:(ENTERO).
objeto:(OBJETO).

Ejemplo:

muestra elemento 2 [a b c]
b
muestra elemento 3 "ABC
C


» SELECTORES » SACAALAZAR


elemento SACAALAZAR objeto

Devuelve un elemento escogido al azar de un objeto de entrada.

elemento:(OBJETO) El elemento extraído.
objeto:(OBJETO) Objeto del que se extraerá el elemento.

Ejemplo:

muestra sacaAlAzar [1 2 3]
2
muestra sacaAlAzar [1 2 3]
1
muestra sacaAlAzar [1 2 3]
3
muestra sacaAlAzar "Hola
o