Compilador online

Compilador COBOL online

Escribe tu código en COBOL (GnuCOBOL 3.2) aquí abajo y ejecútalo gratis, con entrada, en un sandbox en nuestros servidores. Sin registro y sin anuncios.

Por el equipo de OnlineCompiler.io. Actualizado el .

Also in EnglishTambém em português

IDENTIFICATION DIVISION.
PROGRAM-ID. CUADRADOS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NOMBRE    PIC X(64).
01 N         PIC 9(4).
01 I         PIC 9(4).
01 I-TEXTO   PIC Z(3)9.
01 CUADRADO  PIC Z(7)9.
PROCEDURE DIVISION.
    *> Lee el nombre y un número de la pestaña Entrada
    ACCEPT NOMBRE
    ACCEPT N

    DISPLAY "¡Hola, " FUNCTION TRIM(NOMBRE) "!"
    PERFORM VARYING I FROM 1 BY 1 UNTIL I > N
        MOVE I TO I-TEXTO
        COMPUTE CUADRADO = I * I
        DISPLAY FUNCTION TRIM(I-TEXTO) " al cuadrado es " FUNCTION TRIM(CUADRADO)
    END-PERFORM
    STOP RUN.
Compartir genera un enlace, sin necesidad de cuenta. Guardar conserva el código en tu cuenta.

¿Quieres revisar una solución contra varias entradas? El compilador COBOL con casos de prueba las ejecuta todas a la vez y marca cada una como aprobada o reprobada.

Cómo dar la entrada (stdin)

Antes de presionar Ejecutar, escribe en la pestaña Entrada todo lo que el programa va a leer. El programa recibe ese texto por la entrada estándar (stdin). En COBOL se ve así:

ACCEPT NOMBRE            *> una línea completa (NOMBRE PIC X(64))
ACCEPT N                 *> una línea con un número (N PIC 9(4))
ACCEPT LINEA             *> dos números en la misma línea, que UNSTRING separa:
UNSTRING LINEA DELIMITED BY ALL SPACE INTO A B

La entrada completa se envía cuando presionas Ejecutar, así que el programa no puede pedir nada más mientras corre. Pon cada valor en una línea, o sepáralos con espacios, según cómo los lea el programa.

Versión y límites

VersiónCOBOL GnuCOBOL 3.2
Se compila concobc -x -free -Wno-missing-newline -A -w code.cob -o code.out
Se ejecuta con./code.out
Límites30 segundos, 512 MB de memoria, 2 CPU, 64 KB de salida por flujo, sin red
Ejecución típica1.05 s, y 1.35 s para la más lenta de cada 20 (cómo lo medimos, en inglés)

Lo que conviene saber

  • Compila con GnuCOBOL 3.2 (cobc -x) en formato libre, así que el código puede empezar en la columna 1.
  • Para código en formato fijo, con comentarios * en la columna 7, pon >>SOURCE FORMAT IS FIXED en la primera línea.
  • ACCEPT lee la siguiente línea de la pestaña Entrada, y STOP RUN RETURNING 3 termina con el código de salida 3.
  • Un campo numérico como PIC 9(4) se muestra con ceros a la izquierda (0007). Para mostrar solo 7, mueve el valor a un campo editado, como PIC Z(3)9, y usa FUNCTION TRIM, como en el programa del editor.

Ejecutar COBOL desde tu app

Para ejecutar COBOL desde tu propia app, envía el código y la entrada al endpoint síncrono con una clave de API, y la salida vuelve en la respuesta. Es gratis hasta 100,000 ejecuciones al mes. Documentación de la API (en inglés).

El editor de arriba es un widget que puedes poner en tu sitio, blog o curso. Con el atributo data-locale="es", los botones aparecen en español. Cómo insertar el editor (en inglés).

Otras páginas

Preguntas frecuentes

¿El compilador COBOL online es gratis?

Sí. Ejecutar COBOL en esta página no requiere cuenta y no tiene anuncios. Para ejecutar COBOL desde tu propia app o sitio, la API y el widget son gratis hasta 100,000 ejecuciones al mes, uso comercial incluido.

¿Mi programa en COBOL puede leer entrada?

Sí. Escribe la entrada en la pestaña Entrada antes de ejecutar, y el programa la lee por la entrada estándar (stdin). La entrada completa se envía cuando presionas Ejecutar, así que el programa no puede pedir nada más mientras corre.

¿Puedo usar bibliotecas en COBOL?

El runtime de GnuCOBOL y las funciones intrínsecas, como FUNCTION TRIM y FUNCTION NUMVAL. No se pueden instalar otras bibliotecas, y los programas no tienen acceso a la red.

¿Cuánto tiempo puede correr un programa?

Hasta 30 segundos, con 512 MB de memoria y 2 CPU. Un programa que sigue corriendo a los 30 segundos se detiene con el código de salida 124, y la salida de más de 64 KB por flujo se corta.

¿Dónde se ejecuta mi código?

En nuestros servidores, en un sandbox gVisor nuevo y sin acceso a la red, que se borra cuando termina la ejecución. Cada ejecución se guarda en el historial con su salida; la página de seguridad (en inglés) explica qué se almacena.

¿Hay una API para COBOL?

Sí. Envía el código, el id del compilador gnucobol-3.2 y la entrada a https://api.onlinecompiler.io/api/run-code-sync/ con una clave de API, y la respuesta trae la salida, los errores, el código de salida, el tiempo y la memoria. Es gratis hasta 100,000 ejecuciones al mes, y la misma clave sirve para los otros 45 lenguajes. La documentación está en inglés.