muestra serie [1 1 10]
[1 2 3 4 5 6 7 8 9 10]
muestra cambiasigno 1
-1
muestra cambiasigno 2
-2
muestra cambiasigno 3
-3
muestra impon "cambiasigno serie [1 1 10]
[-1 -2 -3 -4 -5 -6 -7 -8 -9 -10]
muestra impon "inc serie [1 1 10]
[2 3 4 5 6 7 8 9 10 11]
muestra impon [junta refleja] [ab cde fghi jklm]
[ba edc ihgf mlkj]
muestra impon "multi [[0 1] [2 3] [4 5] [6 7] [8 9]]
[0 6 20 42 72]
muestra impon [cambiasigno multi] [[0 1] [2 3] [4 5] [6 7] [8 9]]
[0 -6 -20 -42 -72]
muestra suma [8 2]
10
muestra resta [8 2]
6
muestra multi [8 2]
16
muestra divid [8 2]
4
muestra expon [suma resta multi divid] [8 2]
[10 6 16 4]
Otro ejemplo:
muestra expon [mismo inv comp cambiasigno] 4
[4 0.25 -3 -4]
Otro ejemplo:
muestra expon [mismo refleja izrota derota] [0 1 2 3]
[[0 1 2 3] [3 2 1 0] [1 2 3 0] [3 0 1 2]]
Otro ejemplo:
muestra expon [primero [primero menosprimero] [menosprimero menosprimero]] [0 1 2 3 4]
[0 1 [2 3 4]]
muestra expon [mismo mismo] 3
[3 3]
muestra expon [mismo mismo mismo] 3
[3 3 3]
muestra multi expon [mismo mismo] 3
9
muestra multi expon [mismo mismo] 4
16
muestra suma [2 3 3 1 2 3 1 1 2]
18
muestra cuenta [2 3 3 1 2 3 1 1 2]
9
muestra expon [suma cuenta] [2 3 3 1 2 3 1 1 2]
[18 9]
muestra divid expon [suma cuenta] [2 3 3 1 2 3 1 1 2]
2
muestra media [2 3 3 1 2 3 1 1 2]
2
muestra menos 1
-1
muestra signo 2
1
muestra cos 3
0.998629534754574
muestra dispon [menos signo cos] [1 2 3]
[-1 1 0.998629534754574]
transpon F L aplica F a cada lista del resultado de transponer L, como si cada elemento de estas listas fuesen pasados como entradas a F:
muestra transpon "lista [[1 2 3] [5 4 3]]
[[1 5] [2 4] [3 3]]
muestra transpon "adicion [[1 2 3] [5 4 3]]
[6 6 6]
muestra adicion 1 5
6
muestra adicion 2 4
6
muestra adicion 3 3
6
Otro ejemplo:
muestra transpon [clona lista] [[2 3 4] [a b c]]
[[a a] [b b b] [c c c c]]
muestra clona lista 2 "a
[a a]
muestra clona lista 3 "b
[b b b]
muestra clona lista 4 "c
[c c c c]
Otro ejemplo:
muestra transpon "serie: [[2 20 200] [1 1 2] [3 4 5]]
[[2 3 4] [20 21 22 23] [200 202 204 206 208]]
muestra serie: 2 1 3
[2 3 4]
muestra serie: 20 1 4
[20 21 22 23]
muestra serie: 200 2 5
[200 202 204 206 208]
diz F [IZ DE] distribuye IZ en DE y luego aplica F. Distribuye lo que está a la izquierda entre lo que está a la derecha y luego aplica F.
muestra diz "lista [A [1 2 3]]
[[A 1] [A 2] [A 3]]
muestra diz "palabra [A [1 2 3]]
[A1 A2 A3]
Otro ejemplo:
muestra iota 5
[0 1 2 3 4]
muestra impon [adicion 3] iota 5
[3 4 5 6 7]
Lo anterior puede también escribirse como sigue:
muestra diz "adicion lista 3 [0 1 2 3 4]
[3 4 5 6 7]
Otro ejemplo:
muestra diz "lista [[A B C] [1 2 3]]
[[[A B C] 1] [[A B C] 2] [[A B C] 3]]
muestra diz "frase [[A B C] [1 2 3]]
[[A B C 1] [A B C 2] [A B C 3]]
muestra diz [junta frase] [[A B C] [1 2 3]]
[ABC1 ABC2 ABC3]
des F [IZ DE] distritribuye DE en IZ y luego aplica F. Distribuye lo que está a la derecha entre lo que está a la izquierda y luego aplica F.
muestra des "lista [[0 1 2 3 4 5] 2]
[[0 2] [1 2] [2 2] [3 2] [4 2] [5 2]]
muestra des "diferencia [[0 1 2 3 4 5] 2]
[-2 -1 0 1 2 3]
muestra des [cambiasigno diferencia] [[0 1 2 3 4 5] 2]
[2 1 0 -1 -2 -3]
Otro ejemplo:
muestra des "lista [[0 1 2 3 4 5] 0]
[[0 0] [1 0] [2 0] [3 0] [4 0] [5 0]]
muestra des "clona: [[0 1 2 3 4 5] 0]
[[] [0] [0 0] [0 0 0] [0 0 0 0] [0 0 0 0 0]]
Otro ejemplo:
muestra des "lista [[A B C] [1 2 3]]
[[A [1 2 3]] [B [1 2 3]] [C [1 2 3]]]
muestra des "frase [[A B C] [1 2 3]]
[[A 1 2 3] [B 1 2 3] [C 1 2 3]]
muestra des [junta frase] [[A B C] [1 2 3]]
[A123 B123 C123]
escribe html tabla "lista [[1 2 3 4 5] [A B C]]
|
|
| ||||||
|
|
| ||||||
|
|
| ||||||
|
|
| ||||||
|
|
|
escribe html tabla "palabra [[1 2 3 4 5] [A B C]]
1A | 1B | 1C |
2A | 2B | 2C |
3A | 3B | 3C |
4A | 4B | 4C |
5A | 5B | 5C |
escribe html tabla "palabra [[A B C] [1 2 3 4 5]]
A1 | A2 | A3 | A4 | A5 |
B1 | B2 | B3 | B4 | B5 |
C1 | C2 | C3 | C4 | C5 |
tabla es equivalente a:
escribe html des [diz: "palabra] [[1 2 3 4 5] [A B C]]
1A | 1B | 1C |
2A | 2B | 2C |
3A | 3B | 3C |
4A | 4B | 4C |
5A | 5B | 5C |
escribe html des [diz: "palabra] [[A B C] [1 2 3 4 5]]
A1 | A2 | A3 | A4 | A5 |
B1 | B2 | B3 | B4 | B5 |
C1 | C2 | C3 | C4 | C5 |
» Tabla » frecuencias absolutas
muestra expon [esencia mismo] [10 30 20 20 10 30 20]
[[10 30 20] [10 30 20 20 10 30 20]]
muestra tabla [esigual lista] expon [esencia mismo] [10 30 20 20 10 30 20]
[[1 0 0 0 1 0 0] [0 1 0 0 0 1 0] [0 0 1 1 0 0 1]]
escribe html tabla [esigual lista] expon [esencia mismo] [10 30 20 20 10 30 20]
1 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 1 |
Sumando por filas:
muestra impon "suma tabla [esigual lista] expon [esencia mismo] [10 30 20 20 10 30 20]
[2 2 3]
es decir hay 2 números 10, 2 números 30 y 3 números 20.
muestra expon [primero [impon "suma tabla [esigual lista]]] expon [esencia mismo] [10 30 20 20 10 30 20]
[[10 30 20] [2 2 3]]
escribe html trans expon [primero [impon "suma tabla [esigual lista]]] expon [esencia mismo] [10 30 20 20 10 30 20]
10 | 2 |
30 | 2 |
20 | 3 |
interpon N F L aplica la función F sobre los dos primeros elementos de una lista L, luego aplica la función sobre el resultado y el tercer elemento, luego sobre el resultado de esto y el cuarto elemento, etc. Si L tiene un único elemento entonces interpon devuelve ese elemento. Si L es una lista vacía, interpon devuelve N.
Las funciones fundamentales suma, multi y max, que reciben una lista de varios números, podrían definirse a partir de las funciones adicion, producto y max:, que reciben únicamente dos números, utilizando interpon, así:
muestra suma [1 2 3 4]
10
muestra adicion 1 2
3
muestra adicion 3 3
6
muestra adicion 6 4
10
muestra interpon 0 "adicion [1 2 3 4]
10
muestra impon [interpon 0 "adicion] [[] [1] [1 1] [1 1 1] [1 1 1 1]]
[0 1 2 3 4]
Ejemplo con producto:
muestra multi [1 2 3 4]
24
muestra producto 1 2
2
muestra producto 2 3
6
muestra producto 6 4
24
muestra interpon 0 "producto [1 2 3 4]
24
Ejemplo con max:
muestra max [1 2 3 0]
3
muestra max: 1 2
2
muestra max: 2 3
3
muestra max: 3 0
3
muestra interpon 100 "max: [1 3 2 0]
3
Ejemplo con lista:
muestra interpon [] "lista [a b c d]
[[[a b] c] d]
Ejemplo con diferencia:
muestra interpon 0 "diferencia [10 4 3 2 1]
0
muestra iota 5
[0 1 2 3 4]
muestra progresa "enlista "frase iota 5
[[0] [1 0] [2 1 0] [3 2 1 0] [4 3 2 1 0]]
muestra progresa "enlista "ponultimo iota 5
[[0] [0 1] [0 1 2] [0 1 2 3] [0 1 2 3 4]]
muestra progresa "mismo "adicion iota 5
[0 1 3 6 10]
Otro ejemplo:
muestra serie [1 1 10]
[1 2 3 4 5 6 7 8 9 10]
muestra progresa "mismo "producto serie [1 1 10]
[1 2 6 24 120 720 5040 40320 362880 3628800]
muestra factorial 3
6
muestra factorial 4
24
muestra factorial 5
120
muestra factorial 10
3628800
muestra iota 5
[0 1 2 3 4]
muestra regresa "enlista "frase iota 5
[[0 1 2 3 4] [1 2 3 4] [2 3 4] [3 4] [4]]
muestra regresa "mismo "adicion iota 5
[10 10 9 7 4]
muestra serie [1 1 10]
[1 2 3 4 5 6 7 8 9 10]
muestra regresa "mismo "producto serie [1 1 10]
[3628800 3628800 1814400 604800 151200 30240 5040 720 90 10]
muestra 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10
3628800
muestra 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10
3628800
muestra 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10
1814400
muestra ingresa "mismo [2 [0 1 2 3 4]]
[[0 1] [1 2] [2 3] [3 4]]
muestra ingresa "mismo [3 [0 1 2 3 4]]
[[0 1 2] [1 2 3] [2 3 4]]
muestra ingresa "mismo [4 [0 1 2 3 4]]
[[0 1 2 3] [1 2 3 4]]
muestra ingresa "mismo [5 [0 1 2 3 4]]
[[0 1 2 3 4]]
muestra ingresa "mismo [6 [0 1 2 3 4]]
[[0 1 2 3 4]]
muestra ingresa "mismo [1 [0 1 2 3 4]]
[[0] [1] [2] [3] [4]]
muestra ingresa "mismo [0 [0 1 2 3 4]]
[[] [] [] [] [] []]
» Ingresa » verificación de orden
Esta es una lista de números en desorden:
muestra baraja iota 10
[1 7 9 6 2 3 0 8 5 4]
Esta lista contiene los números agrupados de 2 en dos:
muestra ingresa "mismo lista 2 [1 7 9 6 2 3 0 8 5 4]
[[1 7] [7 9] [9 6] [6 2] [2 3] [3 0] [0 8] [8 5] [5 4]]
Al aplicar "esmenor" a cada grupo vemos que 1 es menor que 7, y 7 es menor que 9 pero 9 no es menor que 6.
muestra ingresa "esmenor lista 2 [1 7 9 6 2 3 0 8 5 4]
[1 1 0 0 1 0 1 0 0]
Para que la lista este ordenada cada número debe ser menor que el siguiente, como en el caso a continuación:
muestra ordena [1 7 9 6 2 3 0 8 5 4]
[0 1 2 3 4 5 6 7 8 9]
muestra ingresa "mismo lista 2 ordena [1 7 9 6 2 3 0 8 5 4]
[[0 1] [1 2] [2 3] [3 4] [4 5] [5 6] [6 7] [7 8] [8 9]]
muestra ingresa "esmenor lista 2 ordena [1 7 9 6 2 3 0 8 5 4]
[1 1 1 1 1 1 1 1 1]
Si multiplicamos esta lista de 1's el resultado será 1:
muestra multi ingresa "esmenor lista 2 ordena [1 7 9 6 2 3 0 8 5 4]
1
Porque cada elemento de la lista es 1. Pero si algún elemento fuese 0, entonces:
muestra multi [1 1 0 0 1 0 1 0 0]
0
Por lo tanto, es posible verificar que una lista está ordenada con la siguiente expresión:
muestra multi ingresa "esmenor lista 2 [1 7 9 6 2 3 0 8 5 4]
0
muestra multi ingresa "esmenor lista 2 [0 1 2 3 4 5 6 7 8 9]
1
A veces es útil modificar una función para que reciba sus entradas en orden reflejo (reverso).
Por ejemplo, si deseo restar 5 a cada uno de los elementos de una lista, lo siguiente no es lo correcto:
muestra serie [10 1 10]
[10 11 12 13 14 15 16 17 18 19]
muestra impon [diferencia 5] serie [10 1 10]
[-5 -6 -7 -8 -9 -10 -11 -12 -13 -14]
esto es debido a que:
muestra diferencia 5 10
-5
Lo correcto es:
muestra impon [ref "diferencia 5] serie [10 1 10]
[5 6 7 8 9 10 11 12 13 14]
Otro ejemplo, si queremos colocar el sufijo "resto" a los prefijos "ar" y "p" para obtener "arresto" y "presto", podríamos decir:
muestra impon [ref "palabra "resto] [ar p]
[arresto presto]
muestra palabra "ar "resto
arresto
muestra palabra "p "resto
presto
Diferentes funciones reciben diferente número de entradas. Unas funciones reciben una sola entrada, como suma (suma únicamente recibe una lista). Otras funciones reciben dos entradas, como adicion (adicion recibe dos números). A veces se desea que una función que recibe varias entradas trabaje con los elementos de una lista, tal que el primer elemento de la lista sea la primera entrada, y el segundo elemento sea la segunda entrada.
endosa nos permite utilizar una función que recibe dos entradas con una lista de dos elementos:
muestra palabra "para "rayos
pararayos
muestra palabra [para rayos]
palabra necesita recibir más cosas
muestra endosa "palabra [para rayos]
pararayos
muestra ponprimero [1 2 3] [4 5 6]
[[1 2 3] 4 5 6]
muestra endosa "ponprimero [[1 2 3] [4 5 6]]
[[1 2 3] 4 5 6]