es:manual:items:externosfichero
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
es:manual:items:externosfichero [2023/09/27 11:51] – root | es:manual:items:externosfichero [2023/09/27 12:31] (actual) – [Corrección de la ejecución directa] root | ||
---|---|---|---|
Línea 11: | Línea 11: | ||
El caso mas simple de preguntas de ejecución de ficheros es aquel en el que el fichero enviado como respuesta se procesa y se captura su salida que se pasará a Siette directamente como respuesta. | El caso mas simple de preguntas de ejecución de ficheros es aquel en el que el fichero enviado como respuesta se procesa y se captura su salida que se pasará a Siette directamente como respuesta. | ||
- | Siette reconocerá esta respuesta como cualquier otra respuesta a una pregunta de respuesta libre e intentará reconocer mediante alguno de los patrones si la respuesta (el resultado de la ejecución del script) coincide con alguno de ellos. | + | Siette reconocerá esta respuesta como cualquier otra respuesta a una pregunta de respuesta libre e intentará reconocer mediante alguno de los patrones si la respuesta (el resultado de la ejecución del [[es: |
=== Ejemplo 1 === | === Ejemplo 1 === | ||
Línea 17: | Línea 17: | ||
El siguiente es el enunciado (y la solución) de un pequeño programa en Python para determinar si una lista de números que se le pasa como argumento al programa está o no ordenada: | El siguiente es el enunciado (y la solución) de un pequeño programa en Python para determinar si una lista de números que se le pasa como argumento al programa está o no ordenada: | ||
- | {{ es: | + | {{ es: |
Para evaluar esta pregunta, se requiere al alumno que envíe un fichero con el nombre '' | Para evaluar esta pregunta, se requiere al alumno que envíe un fichero con el nombre '' | ||
- | {{ es: | + | {{ es: |
- | Para corregir este ítem se usa un //script de procesamiento// escrito en el [[es: | + | Para corregir este ítem se usa un [[es: |
python3 test.py 1 2 3 4; python3 test.py 1 5 3 4; | python3 test.py 1 2 3 4; python3 test.py 1 5 3 4; | ||
Línea 33: | Línea 33: | ||
Por consiguiente, | Por consiguiente, | ||
- | {{ es: | + | {{ es: |
Puede añadirse un refuerzo especifico para informar al alumno del error, pulsando el botón '' | Puede añadirse un refuerzo especifico para informar al alumno del error, pulsando el botón '' | ||
- | {{ es: | + | {{ es: |
==== Corrección de la ejecución mediante etiquetas ==== | ==== Corrección de la ejecución mediante etiquetas ==== | ||
- | Salvo casos sencillos en los que la ejecución sea simple, la evaluación directa del resultado de la ejecución de una instrucción no permite una evaluación detallada. Cuando se usa un //script de procesamiento//, la salida que se devuelve es simplemente la ejecución de la última de las sentencias, por lo que se pierde información en el caso en el que se requiera realizar diversas pruebas, cuyo resultado puede ser unas veces correcto y otras no. | + | Salvo casos sencillos en los que la ejecución sea simple, la evaluación directa del resultado de la ejecución de una instrucción no permite una evaluación detallada. Cuando se usa un [[es: |
- | Para solucionar este problema el //script de procesamiento// trabaja con patrones de reconocimiento específicos para cada una de las sentencias de ejecución del //script// y devuelve a Siette como respuesta de la ejecución // | + | Para solucionar este problema el [[es: |
=== Ejemplo 2 === | === Ejemplo 2 === | ||
- | Para el problema del ejemplo anterior, supongamos ahora que el //script de procesamiento// es el siguiente: | + | Para el problema del ejemplo anterior, supongamos ahora que el [[es: |
| | ||
| | ||
- | Este //script// toma escribe en un fichero '' | + | Este //script// toma escribe en un fichero '' |
Al igual que en otros ítem externos, hay que indicar en el [[es: | Al igual que en otros ítem externos, hay que indicar en el [[es: | ||
- | {{ es: | + | {{ es: |
Nótese que en este caso se trata se muestran directamente las etiquetas, y no de la respuesta. La respuesta que en este caso devuelve Siette, a diferencia del ejemplo anterior, es realmente un comentario en HTML, que contiene la etiqueta. Es decir las posibles respuestas de la ejecución de este //script// son las secuencias ''< | Nótese que en este caso se trata se muestran directamente las etiquetas, y no de la respuesta. La respuesta que en este caso devuelve Siette, a diferencia del ejemplo anterior, es realmente un comentario en HTML, que contiene la etiqueta. Es decir las posibles respuestas de la ejecución de este //script// son las secuencias ''< | ||
- | {{ es: | + | {{ es: |
El // | El // | ||
- | También en este caso es interesante poder usar el campo [[es: | + | También en este caso es interesante poder usar el campo [[es: |
| | ||
Línea 72: | Línea 72: | ||
y consiguientemente las modificaciones en los patrones: | y consiguientemente las modificaciones en los patrones: | ||
- | {{ es: | + | {{ es: |
a los que puede añadirse un [[es: | a los que puede añadirse un [[es: | ||
- | {{ es: | + | {{ es: |
- | {{ es: | + | {{ es: |
- | Evidentemente, | + | Evidentemente, |
=== Ejemplo 3 === | === Ejemplo 3 === | ||
Línea 86: | Línea 86: | ||
{{ es: | {{ es: | ||
- | en donde el alumno debe enviar su porpia | + | en donde el alumno debe enviar su propia |
Para evaluar este fichero hay que definir algunos parámetros en la pestaña [[es: | Para evaluar este fichero hay que definir algunos parámetros en la pestaña [[es: | ||
Línea 92: | Línea 92: | ||
== Nombre del fichero == | == Nombre del fichero == | ||
- | Es el nombre que se dará al fichero que envia el alumno. En realidad da igual el nombre del fichero del alumno. Cualquier fichero que envíe se renombrará con el nombre que se le asigne. En el ejemplo '' | + | Es el nombre que se dará al fichero que envía |
== Directorio base == | == Directorio base == | ||
Línea 105: | Línea 105: | ||
== Script de procesamiento == | == Script de procesamiento == | ||
- | El script de procesamiento es un // | + | El [[es: |
- | En el caso anterior el //script de procesamiento// es el siguiente: | + | En el caso anterior el [[es: |
| | ||
Línea 129: | Línea 129: | ||
echo 18 24 | ./mcd | echo 18 24 | ./mcd | ||
- | El resultado de esta prueba debería ser '' | + | El resultado de esta prueba debería ser '' |
En caso de que la prueba tenga éxito el //script// asigna el valor de '' | En caso de que la prueba tenga éxito el //script// asigna el valor de '' | ||
Línea 135: | Línea 135: | ||
echo 192 224 | ./mcd | echo 192 224 | ./mcd | ||
- | que debe dar como resultado una secuencia que termine en '' | + | que debe dar como resultado una secuencia que termine en '' |
Finalmente realiza la tercera prueba con otros valores diferentes. Si tiene exito devolverá un '' | Finalmente realiza la tercera prueba con otros valores diferentes. Si tiene exito devolverá un '' | ||
- | En realidad, las etiquetas que devuelve el //script// son algo mas elaboradas, ya que pueden incluir información sobre la ejecución del script y la última sentencia que provocó un error. Por ejemplo, suponiendo que las dos primeras pruebas funcionan, pero no asi la tercera, el //script de procesamiento | + | En realidad, las etiquetas que devuelve el //script// son algo mas elaboradas, ya que pueden incluir información sobre la ejecución del script y la última sentencia que provocó un error. Por ejemplo, suponiendo que las dos primeras pruebas funcionan, pero no asi la tercera, el [[es: |
< | < | ||
Línea 151: | Línea 151: | ||
que le indica que al ejecutar el programa '' | que le indica que al ejecutar el programa '' | ||
- | La respuesta del //script de procesamiento// es un trozo de texto en HTML. La primera parte de esta respuesta corresponde a la etiqueta de evaluación que se devuelve dentro de un comenatrio | + | La respuesta del [[es: |
== Reconocimiento de la respuesta externa == | == Reconocimiento de la respuesta externa == | ||
Línea 158: | Línea 158: | ||
{{ es: | {{ es: | ||
- | Como puede apreciarse en este caso el patrón de reconocimiento, | + | Como puede apreciarse en este caso el patrón de reconocimiento, |
- | Puesto que la respuesta del //script de procesamiento// no ha sido completamente | + | En el caso en que se usen etiquetas para componer la respuesta como resultado del [[es: |
+ | |||
+ | {{ es: | ||
+ | |||
+ | Puesto que la respuesta del [[es: | ||
es/manual/items/externosfichero.1695815495.txt.gz · Última modificación: 2023/09/27 11:51 por root