Muchos ejercicios de Karel utilizan un Autograder general que aplica un conjunto de casos de prueba a cada programa de Karel. Cada caso de prueba busca un aspecto específico del programa, desde su salida y sintaxis hasta si llama a una función específica un número específico de veces.
Aunque algunas tareas de Karel pueden tener casos de prueba personalizados, la mayoría de los ejercicios de Karel aplican un conjunto general de condiciones de prueba.
A continuación se muestran los mensajes más comunes del Autograder de Karel si falla un caso de prueba específico:
Categoría | Mensaje de error del Autograder | Explicación |
General |
| Esta prueba ejecuta el código y comprueba el mundo final con cada Mundo Resultado. Si todos los aspectos son iguales en ambos mundos (ubicación de Karel, número de pelotas de tenis, color de las casillas), entonces el programa pasa. |
General |
| Esta prueba comprueba si hay al menos un comando. Si un programa no tiene al menos un comando, incluso si hay un esquema de función o un esquema de estructura de control, el programa falla la prueba. |
Sintaxis y Sangría |
| Esta prueba comprueba si todos los comandos terminan con punto y coma. |
Sintaxis y Sangría |
| Esta prueba comprueba la sangría. |
For Loop |
| Esta prueba comprueba si el programa utiliza un For Loop (bucle for). |
Functions |
| Esta prueba comprueba todas las definiciones de función en un programa. Si una definición de función no tiene ningún comando dentro de ella, el programa falla la prueba. |
Functions |
| Esta función busca una definición de función específica por su nombre. Si existe una función con ese nombre exacto, el programa pasará la prueba. |
Functions |
| Esta prueba comprueba si una función específica se llama el número correcto de veces. Si la función no se llama o no se llama suficientes veces, el programa falla esta prueba. |
Functions |
| Esta prueba comprueba la convención de nomenclatura adecuada para los nombres de las funciones. Si una función no comienza con una letra minúscula, el programa fallará esta prueba. |
Functions |
| Esta prueba comprueba la convención de nomenclatura adecuada para los nombres de función. Si una función comienza con mayúscula, el programa fallará esta prueba. |
Functions |
| Esta prueba comprueba si hay funciones anidadas. Si hay una función escrita dentro de otra función, el programa no pasará esta prueba |
SuperKarel and UltraKarel |
| Esta es una prueba específica para SuperKarel y UltraKarel. Esta prueba comprueba si existe una función llamada turnRight() o turnAround(). Como SuperKarel y UltraKarel conocen estos comandos, no son necesarios y el programa falla la prueba. |
¿Aún tienes dudas? ¡Pregunta a tu profesor para saber más!