⬅️ Volver al programa · 📚 Índice completo · 📊 Rúbrica de laboratorio
En este programa el laboratorio es la equivalencia demostrada. Cada clase construida trae sus
implementaciones/<lenguaje>/ y un casos.json; el laboratorio consiste en ejecutar todas las
implementaciones y comprobar que producen la misma salida.
# Verificar una clase
python scripts/verificar_equivalencia.py 041
# Verificar todas las clases construidas
python scripts/verificar_equivalencia.py --all
Esto es lo que verifica la CI en cada push: no que un texto sea correcto, sino que las implementaciones son realmente equivalentes. Los lenguajes sin toolchain instalado se omiten e informan; SQL, declarativo, se marca como ilustrativo.
Ejecutar el verificador es el paso mínimo. El laboratorio completo, tal como lo evalúa la rúbrica, es:
casos.json o una implementación y observa cómo falla:
entender el mensaje de error es la mitad del aprendizaje.Cada clase de código trae además un primos.md
con el mismo programa resuelto en los lenguajes primos de su familia. Ese material nació como
ilustrativo —nadie lo ejecutaba—, y ahora Ruby, Perl y Lua sí se ejecutan contra el mismo
casos.json que el núcleo:
python scripts/verificar_primos.py 041 # una clase
python scripts/verificar_primos.py --all --lang perl # un primo, todas las clases
python scripts/verificar_primos.py --all --estricto # falla si alguno falla (lo que hace CI)
Mereció la pena a la primera pasada: al ejecutarlos aparecieron 19 clases cuyo Perl no hacía
chomp, de modo que el salto de línea se colaba en el dato y "Ada" medía 4 caracteres. Un
material que nadie ejecuta acumula ese tipo de defecto sin que se note.
Los otros 17 primos (Zig, Prolog, Objective-C, ActionScript…) siguen siendo material de lectura: verificar tres de veinte no es verificarlos todos, y cada página lo declara.
El texto de las clases, las comparaciones y el Atlas están escritos a mano y no se ejecutan en CI. Son material de lectura. El badge verde garantiza la equivalencia de las implementaciones, no la prosa.