Biblioteca
Todo está disponible sin importar nada. Los nombres con acento también se aceptan sin él. Esta página se genera desde el catálogo del intérprete y sus ejemplos se prueban en cada cambio.
Entrada y salida
imprimir(valor?: cualquiera, …) → nulo
Nivel principiante
Escribe los valores separados por un espacio y termina la línea. Los textos se escriben sin comillas.
imprimir("Hola,", "Ana", 16)imprime "Hola, Ana 16"
leer() → texto | nulo
Nivel principiante
Lee la siguiente línea de entrada como texto. Si ya no hay más entrada, regresa nulo.
leer()→ nulo
leer_número() → número
Nivel principianteTambién: leer_numero
Lee la siguiente línea de entrada y la convierte en número. Si no es un número, es un error.
variable edad = 0
si (falso) { edad = leer_número() }
edad→ 0
Tipos
longitud(x: texto | lista | diccionario) → número
Nivel principiante
Cuántos caracteres tiene un texto, cuántos elementos una lista o cuántas claves un diccionario.
longitud("año")→ 3
longitud([1, 2, 3])→ 3
número(x: texto | número) → número
Nivel principianteTambién: numero
Convierte un texto en número. Si el texto no es un número, es un error.
número("3.5") * 2→ 7
texto(x: cualquiera) → texto
Nivel principiante
Convierte cualquier valor en texto, como lo escribiría imprimir.
texto(42) + "!"→ "42!"
tipo(x: cualquiera) → texto
Nivel principiante
El nombre del tipo de un valor: "número", "texto", "lógico", "nulo", "lista", "diccionario", "dominio" o "procedimiento".
tipo(3.5)→ "número"
tipo([1, 2])→ "lista"
Verificación
afirmar(condición: lógico, mensaje?: texto) → nulo
Nivel principiante
Detiene el programa con un error si la condición es falsa. Sirve para escribir lo que esperas que sea cierto y comprobarlo.
variable total = 2 + 2
afirmar(total es_igual_a 4, "la suma está mal")
total→ 4
Matemáticas
absoluto(x: número) → número
Nivel principiante
El valor absoluto: la distancia del número al 0.
absoluto(-3)→ 3
aleatorio(mínimo: número, máximo: número) → número
Nivel principiante
Un entero al azar entre mínimo y máximo, los dos incluidos. Con la misma semilla da los mismos números.
variable dado = aleatorio(1, 6)
dado >= 1 y dado <= 6→ verdadero
entero(x: número) → número
Nivel principiante
Quita los decimales, sin redondear.
entero(-2.7)→ -2
máximo(números: número | lista, …) → número
Nivel principianteTambién: maximo
El mayor de varios números, o de los números de una lista.
máximo(3, 9, 2)→ 9
máximo([4, 1])→ 4
mínimo(números: número | lista, …) → número
Nivel principianteTambién: minimo
El menor de varios números, o de los números de una lista.
mínimo(3, 9, 2)→ 2
piso(x: número) → número
Nivel principiante
Redondea hacia abajo.
piso(2.7)→ 2
piso(-2.1)→ -3
raíz(x: número) → número
Nivel principianteTambién: raiz
La raíz cuadrada. De un número negativo es un error.
raíz(16)→ 4
redondear(x: número, decimales?: número) → número
Nivel principiante
Redondea al entero más cercano, o a cierta cantidad de decimales. Los .5 se alejan del cero.
redondear(2.5)→ 3
redondear(3.14159, 2)→ 3.14
techo(x: número) → número
Nivel principiante
Redondea hacia arriba.
techo(2.1)→ 3
Texto
carácter_de(n: número) → texto
Nivel intermedioTambién: caracter_de
El carácter que tiene ese código Unicode.
carácter_de(241)→ "ñ"
caracteres(t: texto) → lista
Nivel intermedio
Una lista con cada carácter del texto.
caracteres("año")→ ["a", "ñ", "o"]
código_de(c: texto) → número
Nivel intermedioTambién: codigo_de
El código Unicode de un carácter.
código_de("A")→ 65
contiene(t: texto | lista, x: cualquiera) → lógico
Nivel intermedio
En un texto, si aparece la parte buscada; en una lista, si está el valor (comparando por valor).
contiene("murciélago", "cié")→ verdadero
contiene([1, 2], 3)→ falso
dividir(t: texto, separador: texto) → lista
Nivel intermedio
Parte el texto en cada aparición del separador.
dividir("a,b,c", ",")→ ["a", "b", "c"]
empieza_con(t: texto, inicio: texto) → lógico
Nivel intermedio
verdadero si el texto empieza con inicio.
empieza_con("Codexivo", "Code")→ verdadero
mayúsculas(t: texto) → texto
Nivel intermedioTambién: mayusculas
El mismo texto en mayúsculas.
mayúsculas("Ñandú")→ "ÑANDÚ"
minúsculas(t: texto) → texto
Nivel intermedioTambién: minusculas
El mismo texto en minúsculas.
minúsculas("ÁRBOL")→ "árbol"
posición_de(t: texto | lista, x: cualquiera) → número
Nivel intermedioTambién: posicion_de
Dónde aparece por primera vez la parte o el valor buscado, o -1 si no está.
posición_de("banana", "na")→ 2
posición_de([5, 6], 7)→ -1
recortar(t: texto) → texto
Nivel intermedio
El texto sin espacios ni saltos de línea al principio y al final.
recortar(" hola ")→ "hola"
reemplazar(t: texto, buscar: texto, poner: texto) → texto
Nivel intermedio
Cambia cada aparición de buscar por poner.
reemplazar("la casa", "a", "o")→ "lo coso"
subtexto(t: texto, inicio: número, fin: número) → texto
Nivel intermedio
Los caracteres desde inicio hasta antes de fin.
subtexto("hola", 1, 3)→ "ol"
termina_con(t: texto, final: texto) → lógico
Nivel intermedio
verdadero si el texto termina con final.
termina_con("Codexivo", "vo")→ verdadero
unir(lista: lista, separador: texto) → texto
Nivel intermedio
Une los elementos de la lista en un texto, con el separador entre cada uno.
unir(["a", "b", "c"], "-")→ "a-b-c"
Listas
agregar(lista: lista, x: cualquiera) → nulo
Nivel principianteCambia su primer argumento
Agrega x al final de la lista.
variable l = [1]
agregar(l, 2)
l→ [1, 2]
copiar(lista: lista | diccionario) → lista | diccionario
Nivel intermedio
Una lista o diccionario nuevo con los mismos elementos. Los elementos que son listas se siguen compartiendo.
variable a = [1]
variable b = copiar(a)
agregar(b, 2)
[a, b]→ [[1], [1, 2]]
índices(lista: lista | texto) → lista
Nivel intermedioTambién: indices
Las posiciones válidas de una lista o texto, de 0 a longitud - 1.
índices(["a", "b", "c"])→ [0, 1, 2]
insertar(lista: lista, posición: número, x: cualquiera) → nulo
Nivel intermedioCambia su primer argumento
Pone x en esa posición y recorre los demás elementos.
variable l = [1, 3]
insertar(l, 1, 2)
l→ [1, 2, 3]
invertir(lista: lista | texto) → lista | texto
Nivel intermedio
Una lista (o un texto) nueva al revés.
invertir([1, 2, 3])→ [3, 2, 1]
invertir("hola")→ "aloh"
lista_de(n: número, valor: cualquiera) → lista
Nivel intermedio
Una lista con n copias de valor. Si el valor es una lista, cada casilla tiene su propia copia.
lista_de(3, 0)→ [0, 0, 0]
matriz(filas: número, columnas: número, valor: cualquiera) → lista
Nivel intermedio
Una lista de filas, cada una con columnas copias de valor.
matriz(2, 3, 0)→ [[0, 0, 0], [0, 0, 0]]
ordenar(lista: lista, va_antes?: procedimiento) → lista
Nivel intermedio
Una lista nueva ordenada. Sin comparador, todos tienen que ser números o todos textos; va_antes(a, b) responde «¿va a antes que b?». Es estable.
ordenar([3, 1, 2])→ [1, 2, 3]
ordenar([3, 1, 2], procedimiento(a, b) { regresa a > b })→ [3, 2, 1]
primero(lista: lista) → cualquiera
Nivel principiante
El primer elemento de la lista.
primero([7, 8, 9])→ 7
quitar(lista: lista | diccionario, posición: número | texto) → cualquiera
Nivel intermedioCambia su primer argumento
Quita el elemento en esa posición de una lista, o esa clave de un diccionario, y regresa lo que quitó.
variable l = [1, 2, 3]
[quitar(l, 0), l]→ [1, [2, 3]]
variable d = { "a": 1 }
[quitar(d, "a"), d]→ [1, {}]
quitar_primero(lista: lista) → cualquiera
Nivel intermedioCambia su primer argumento
Quita el primer elemento y lo regresa.
variable l = [1, 2]
[quitar_primero(l), l]→ [1, [2]]
quitar_último(lista: lista) → cualquiera
Nivel intermedioCambia su primer argumentoTambién: quitar_ultimo
Quita el último elemento y lo regresa.
variable l = [1, 2]
[quitar_último(l), l]→ [2, [1]]
rango(inicio: número, fin: número, paso?: número) → lista
Nivel intermedio
Lista de números de inicio a fin, incluyendo fin. Con un paso negativo cuenta hacia abajo.
rango(1, 5)→ [1, 2, 3, 4, 5]
rango(10, 0, -5)→ [10, 5, 0]
rebanar(lista: lista, inicio: número, fin: número) → lista
Nivel intermedio
Una lista nueva con los elementos desde inicio hasta antes de fin.
rebanar([1, 2, 3, 4], 1, 3)→ [2, 3]
sumar(lista: lista) → número
Nivel intermedio
La suma de los números de la lista.
sumar([1, 2, 3.5])→ 6.5
último(lista: lista) → cualquiera
Nivel principianteTambién: ultimo
El último elemento de la lista.
último([7, 8, 9])→ 9
vaciar(lista: lista | diccionario) → nulo
Nivel intermedioCambia su primer argumento
Quita todos los elementos de una lista (o todas las claves de un diccionario).
variable l = [1, 2]
vaciar(l)
l→ []
Diccionarios
claves(d: diccionario) → lista
Nivel intermedio
Una lista nueva con las claves del diccionario, en el orden en que se agregaron.
claves({ "a": 1, "b": 2 })→ ["a", "b"]
tiene(d: diccionario, clave: texto | número) → lógico
Nivel intermedio
verdadero si el diccionario tiene esa clave.
tiene({ "a": 1 }, "a")→ verdadero
tiene({ "a": 1 }, "b")→ falso
valores(d: diccionario) → lista
Nivel intermedio
Una lista nueva con los valores del diccionario, en el orden de sus claves.
valores({ "a": 1, "b": 2 })→ [1, 2]
Procedimientos
alguno(lista: lista, f: procedimiento) → lógico
Nivel avanzado
verdadero si f(x) es verdadero para al menos un elemento.
alguno([1, 5], procedimiento(x) { regresa x > 3 })→ verdadero
buscar(lista: lista, f: procedimiento) → cualquiera
Nivel avanzado
El primer elemento para el que f(x) es verdadero, o nulo si no hay.
buscar([1, 5, 7], procedimiento(x) { regresa x > 3 })→ 5
filtrar(lista: lista, f: procedimiento) → lista
Nivel avanzado
Una lista nueva con los elementos para los que f(x) es verdadero.
filtrar([1, 2, 3, 4], procedimiento(x) { regresa x mod 2 == 0 })→ [2, 4]
mapear(lista: lista, f: procedimiento) → lista
Nivel avanzado
Una lista nueva con el resultado de f(x) para cada elemento.
mapear([1, 2, 3], procedimiento(x) { regresa x * 2 })→ [2, 4, 6]
reducir(lista: lista, f: procedimiento, inicial: cualquiera) → cualquiera
Nivel avanzado
Junta la lista en un solo valor: empieza con inicial y en cada elemento hace f(acumulado, x).
reducir([1, 2, 3], procedimiento(total, x) { regresa total + x }, 0)→ 6
todos(lista: lista, f: procedimiento) → lógico
Nivel avanzado
verdadero si f(x) es verdadero para todos los elementos.
todos([1, 5], procedimiento(x) { regresa x > 3 })→ falso
Estructuras
apilar(pila: lista, x: cualquiera) → nulo
Nivel avanzadoCambia su primer argumento
Pone x encima de la pila.
variable p = []
apilar(p, 1)
apilar(p, 2)
p→ [1, 2]
desapilar(pila: lista) → cualquiera
Nivel avanzadoCambia su primer argumento
Quita el elemento de encima de la pila y lo regresa.
variable p = [1, 2]
[desapilar(p), p]→ [2, [1]]
desencolar(cola: lista) → cualquiera
Nivel avanzadoCambia su primer argumento
Quita el primer elemento de la cola y lo regresa.
variable c = [1, 2]
[desencolar(c), c]→ [1, [2]]
encolar(cola: lista, x: cualquiera) → nulo
Nivel avanzadoCambia su primer argumento
Pone x al final de la cola.
variable c = []
encolar(c, 1)
encolar(c, 2)
c→ [1, 2]
frente(cola: lista) → cualquiera
Nivel avanzado
El primer elemento de la cola, sin quitarlo.
frente([1, 2])→ 1
tope(pila: lista) → cualquiera
Nivel avanzado
El elemento de encima de la pila, sin quitarlo.
tope([1, 2])→ 2
Mundo
Solo existen cuando el programa corre en un mundo.
apagar() → nulo
Nivel principiante
Apaga el robot. Después ya no puede hacer ninguna acción.
apagar()
frente_libre()→ verdadero
avanzar() → nulo
Nivel principiante
Avanza una casilla hacia donde mira el robot. Chocar con una pared es un error.
avanzar()
mirando_al_norte()→ verdadero
dejar_zumbador() → nulo
Nivel principiante
Deja un zumbador de la mochila en la casilla.
dejar_zumbador()
tengo_zumbadores()→ falso
derecha_libre() → lógico
Nivel principiante
verdadero si no hay pared a la derecha del robot.
derecha_libre()→ falso
frente_libre() → lógico
Nivel principiante
verdadero si no hay pared enfrente del robot.
frente_libre()→ verdadero
girar_izquierda() → nulo
Nivel principiante
Gira 90° a la izquierda.
girar_izquierda()
mirando_al_oeste()→ verdadero
hay_zumbador() → lógico
Nivel principiante
verdadero si hay al menos un zumbador en la casilla del robot.
hay_zumbador()→ verdadero
izquierda_libre() → lógico
Nivel principiante
verdadero si no hay pared a la izquierda del robot.
izquierda_libre()→ falso
mirando_al_este() → lógico
Nivel principiante
verdadero si el robot mira al este.
mirando_al_este()→ falso
mirando_al_norte() → lógico
Nivel principiante
verdadero si el robot mira al norte.
mirando_al_norte()→ verdadero
mirando_al_oeste() → lógico
Nivel principiante
verdadero si el robot mira al oeste.
mirando_al_oeste()→ falso
mirando_al_sur() → lógico
Nivel principiante
verdadero si el robot mira al sur.
mirando_al_sur()→ falso
recoger_zumbador() → nulo
Nivel principiante
Toma un zumbador de la casilla y lo guarda en la mochila.
recoger_zumbador()
hay_zumbador()→ verdadero
tengo_zumbadores() → lógico
Nivel principiante
verdadero si hay al menos un zumbador en la mochila.
tengo_zumbadores()→ verdadero
Constantes
PI= 3.141592653589793. La razón entre el perímetro de un círculo y su diámetro: 3.14159…