Listas
Comando LIST (LISTA)
Esta función crea una lista indexada de números o texto. El índice cuenta desde 0. (en otros lenguajes comom java, javasript, o php, ruby, etc, se les llama "array"/ arreglo.
La forma correcta nombrar a las listas es llamarles "array" o vectores.
El patrón de una lista se ve así:
:miLista = LIST [elemento1, elemento2, etc.]
donde los elementos son números o texto.
El texto debe escribirse entre comillas. Obtienes el mismo resultado si escribes:
:miLista = [elemento1, elemento2, elementon]
(es decir, sin la palabra LIST.)
Los elementos se obtienen luego, de la lista utilizando el índice:
:n = miLista [2]
;Una lista de ángulos
:lista_angul = LIST [15, 30, 45, 60, 90, 180]
REPEAT 40 [
:var_x = INT RANDOM 7
;Genera entero aleatorio desde 0 a 6
BACK 50
LEFT :lista_angul[:var_x]
;elige un ángulo de la lista
MIN/MAX
Devuelven el elemento más pequeño (MIN) o el más grande (MAX) de una lista. La lista puede ser números, letras o cadenas.
En las cadenas, se devolverá el carácter más pequeño o más grande, según el valor del código que tenga en el código de carácter que esté utilizando.
(Para los comandos que están listados aquí abajo consulte a la ayuda de LibreLogo).
Ejemplos explicados:
2-https://cafecito.app/andremichellemessi/post/ejercicio-avanzado-librelogo--listas-a9Ji18MQc8
SEARCH (buscar)
Busca la primer letra "t" que encuentre
:miTexto = 'Un texto tan largo como un tren'
SEARCH ('t', :miTexto)
FINDALL (buscar todos)
Busca todas las letras "t" si las hay
:miFrase = 'Texto y mas texto'
FINDALL ('e', :miFrase)
Las listas en Logo son similares a los array de Javascript y otros lenguajes de alto nivel.
Usaremos el comando: LIST
1-Declaramos un nombre a nuestra lista (es igual que declarar el nombre a una variable.)
2- Esribimos la asignación: = y Luego, la palabra clave LIST
Luego escribimos corchetes y los valores qu equeremos tener en cada item de la lsita.
Luego usamos un Loop/Ciclo, para recorrer todos los valores de la lista o para recorrerlos aleatoriamente,. como en éste caso.
Hay que tener cuidado de no dejar espacios entre los corchetes en las listas y de dejarlos espacios adecuados o saltos de línea, en su defecto, en los corchetes de los Ciclos y los números, y ese tipo de convenciones que vimos a lo largo de todo el curso. -POr ello antes de ver listas, es bueno aprender bien todo lo anterior.- Saber manejar variables, ciclos, palabrasReservadas/palabrasClaves del lenuaje...las comillas, corchetes, comas y los signos de asignacón: = .
Programa:
;__Dibujo con lista de ángulos__;
HOME CLEARSCREEN HIDETURTLE
;___Declara lista de 6 elem.___;
lista_Angulos = LIST [35, 135, 75, 60, 25, 90]
;__Dibuja usando lista y loop__;
REPEAT 100 [
variableX = INT RANDOM 6
BACK 50
LEFT lista_Angulos[variableX]
Ejercicio avanzado trabajado sobre Listas (encontrar valores claves)
A veces necesitamos realizar listas para luego encontrar sus valores claves:
Las palabras reservadas que suaremos son:
MIN ;busca el valor mínimo
MAX ;busca el valor máximo
Y las notaciones de corchetes ue sueen usarse para arrays. [0], [3], [6],
PRINT seguido de: "nombre de tu lista", te muestra todos los datos de la lista en el órden de aparición.
tuLista [0] ; te muestra el primer elemento.
tuLista [6] ; te muestra el último elemento de una lista de 7 elementos.
(antguamente logo guardaba los elementos del 1 en adelante... pero apra hacerlo similar a los lenguajes mas usados hoy día, en Lire Logo usamos. el sistema mas comú que es empezar las listas y arrays desde el número cero.)
Programa:
HOME CLEARSCREEN HIDETURTLE
;Lista estática - 7 elementos
;(del 0 al 6 como Javasript o Python)
miLista = LIST [10,30,20,40,100,15,5]
PRINT miLista ;muestra todo
PRINT miLista [0] ;muestra primero
PRINT miLista [1] ;muestra último
PRINT MAX miLista ;muestra Mayor
PRINT MIN miLista ;muestra Menor