Corrección de la Tarea 2 2024 - S1
Corrección de la Tarea 2 2024 - S1
Resultado
El resultado de la corrección puede consultarse en Calificaciones. Deben mirar el ítem de calificación de nombre Entrega de la Segunda Tarea. En el campo de retroalimentación aparece el resultado de la evaluación, que consiste en la evaluación de los casos de prueba y una lista (posiblemente vacía) de errores encontrados. Tienen tiempo hasta las 20:00 del 3 de julio para realizar modificaciones que resuelvan todos los casos y otros errores que puedan y hacer la re-entrega.
Casos de prueba
La tarea fue corregida usando los casos de prueba que se publicaron previamente. En orden, los casos de prueba se identifican como: 11
, 12
, 13
, 14
, 20
, 31
, 32
, 33
, 34
, 40
, 50
y 60
.
Los resultados posibles para cada caso son:
m
: El test falló. La salida no es correcta.b
: El test tuvo éxito. La salida es correcta.---
: El programa no compila.
Por ejemplo, si la retroalimentación es: b
b
m
b
b
b
b
m
b
b
b
b
entonces el programa resuelve mal los casos 13
y 33
y bien los demás.
Correcciones adicionales
Además de los casos de prueba, se realizó una inspección automática (simple) de los códigos, analizando si se utilizan las estructuras correctas y si se aplican buenas prácticas de programación en el código Pascal
entregado.
Si no se encontraron errores, aparecerá algo así:
Análisis del código:
(sin texto adicional).
Si aparece algo como por ejemplo:
Análisis del código:
todosTienenFormatoEnLinea:FOR,aplicarFormatoEnLinea:LLAMADA
significa que se encontraron los errores indicados por esos códigos.
Explicación de los códigos
Utiliza características no contempladas
El programa es sintácticamente incorrecto o utiliza características de Free Pascal que no forman parte del estándar y no se dan en el curso.
Los siguientes errores tienen el formato <nombre de procedimiento>: <nombre de error>
. El nombre de procedimiento indica en qué procedimiento se detectó el error.
Se detallan los
Literales FP
En el procedimiento correspondiente se utilizaron literales que no forman parte del estándar (ej. #10
).
FOR
En el procedimiento correspondiente se itera utilizando una instrucción FOR
cuando lo adecuado es utilizar repetición condicional.
ITERACOND
(en aplicarFormatoEnLinea
)
En el procedimiento correspondiente se utiliza iteración condicional (while o repeat) cuando lo adecuado es utilizar for.
ITERA
(en insertarCadenaEnLinea
)
En el procedimiento correspondiente se utiliza iteración condicional (while o repeat) cuando lo adecuado es utilizar for.
ITERACOND
(en insertarLineaEnTexto
)
En el procedimiento correspondiente se utiliza iteración (for, while o repeat) cuando no es necesario.
PROHIBIDAS
En el procedimiento correspondiente se utilizan palabras reservadas que no están permitidas (break, exit, etc).
CONSTANTES
En el procedimiento correspondiente, en lugar de utilizar las constantes definidas en definiciones.pas
, se utilizan sus valores.
INPUT
, OUTPUT
En el procedimiento correspondiente se lee de la entrada o se escribe en la salida (usando read
, readln
, write
, writeln
, etc).
LLAMADA(<nombre>)
En el procedimiento correspondiente no se invoca al procedimiento
NEW
, DISPOSE
En el procedimiento correspondiente se utilizan llamadas a new
o dispose
, cuando no se debería.
NONEW
En el procedimiento correspondiente no se reserva memoria, cuando se debería.