Explicaciones de los mensajes de error
Cuando usted submite una solucion para un problema, puede ser que la solucion no funcione inmediatamente en nuestro servidor, aun si parece funcionar perfectamente en su computadora. He aqui una lista de errores que usted puede encontrar.
- Error de compilacion
- Error en el resulado
- Error en la ejecucion
- Error en el acceso a memoria o limite de memoria excedido
- Limite de tiempo excedido
- Ejecucion de funcion prohibida
Si usted no comprende totalmente o el error persiste despues de leer esta pagina y aplicar los consejos, no duden en contactarnos para asistirlo.
Error de compilacion. |
Este mensaje indica que el servidor no ha podido compilar su programa y generar un ejecutable. No se le restaran puntos. Si el programa compila en su computadora, verifique que ha seleccionado correctamente el lenguaje, y que no este utilizando bibliotecas no standard.
Error en el resultado. Su programa ha retornado: |
El numero es: 50 |
El resultado esperado era: |
50 |
Este error es el mas comun: su programa ejecuto sin error, pero el resultado no es correcto: no corresponde con lo que se solicito en la tarea. El evaluaador muestra el resultado entregado por su programa y la solucion esperada.
Atencion: el evaluador compara textualmente su solucion con la esperada. Si usted agrego mas textoque el solicitado, su solucion sera considerada como error, aun si el calculo es correcto. Respete escrupulosamente el formato de salida indicado en la tarea.
Si su solucion es efectivamente diferente de la esperada, se trata de un error en su algoritmo. que no responde correctamente a la pregunta planteada. Relea bien la tarea y verifique su algoritmo con otros ejemplos, para tratar de encontrar que es lo que no funciona.
Nota: si su programa ha informado muchos datos, por aspectos de legibilidad y carga del servidor, no seran mostrados y se reportara un mensaje Resultado demasiado grande para ser mostrado.
si votre programme a affiché beaucoup de données, pour des questions de lisibilité et de charge du serveur, celles-ci ne seront pas affichées, et un simple message Résultat trop gros pour etre affiché sera fourni. Existe un error en su programa que usted debe encontrar.
Erreur d'exécution.
Su programa ha terminado indicando error. En los lenguajes C++, Caml o Java, se puede tratar de una excepcion originada por su programa, que no la ha interceptado.
Por ejemplo en en Caml:
-
Fatal error: exception End_of_file Su programa a querido leer datos en la entrada estandar cuando no hay mas para leer.
-
Fatal error: exception Failure(\"int_of_string\") Su programa ha intentado leer un enter y no ha tenido exito, probablemente porque ha leido un espacio en lugar de un entero. Para corregir este problema, agregue en su codigo la linea siguiente :
let read_int() = Scanf.scanf \" %d\" (fun x -> x);;
sin omitir el espacion con el simbolo %.
El error puede tambien corresponder a un codigo de salida diferente de 0. Por ejemplo, si usted ha escrito un programa C que se termine con 'return 42', aparecera el mensaje siguiente:
-
Salida de error de su programa RUNPROG: Executable returned non-zero exit status: 42 Error de ejecucion En C y C++, su programa debe terminar siempre con la instruccion 'return 0;'.
Su programa ha intentado acceder a zonas de memorias reservadas, o ha pasado el limite de memoria. |
Como indica el mensaje, dos tipos de erroes, puede generar este mensaje:
- Exceso en el limite de memoria.
Este error indica que su programa utiliza mas memoria que el limite indicado en la tarea. Uste puede haber creado una tabla muy granda, alocado muchos objetos de memoria, o haber hecho demasiadas llamadas recursivas anidadas (exceso en la pila). Calcule la memoria maxima utilizada por su programa, y verifique que si el total pasa el limite autorizado.
- Acceso de memoria a zonas reservadas.
Este error se produce por ejemplo si usted accede mas alla de los limites de una tabla, como el indice -1 o 10, en una tabla de 10 celdas. Tambien se produce si utiliza un puntero e intenta leer o escribir en esta direccion antes de haberla inicializado, o cuando este puntero corresponde a una zona de memoria reservada.
Limite de tiempo excedido |
Su programa no ha terminado en el limite de tiempo indicado en la tarea. Se puede tratar de un bug en su programa, que genera una iteracion infinita, o simplemente de un algoritmo que no es suficientemente eficaz. Trate de estimar el tiempo que toma su programa en el peor caso, y compare con el limite de tiempo de la tarea. Si sobrepasa por mucho este limite, es preciso encontrar un mejor algoritmo.
Cuando el limite de tiempo de su programa se supera, su programa es interrumpido antes de entregar un resultado. No se indica si el resultado es correcto o no.
Salida de error de su programa |
RUNPROG: Program executed an unsafe function fork |
Su programa ha llamado una funcion de sistema no autorizada en nuestro servidor. |
Su programa ha llamado una funcion que no autorizamos en nuestro servidor, por razones de seguridad. Se puede tratar por ejemplo de una llamada a la funcion System(\"PAUSE\"), o una funcion de manipulacion de archivos