Saltar al contenido
codexivo
Menú

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…