Herramientas de usuario

Herramientas del sitio


es:manual:items:externosficheroenlinea

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:items:externosficheroenlinea [2026/10/26 00:59] – rootes:manual:items:externosficheroenlinea [2026/10/27 18:22] (actual) – root
Línea 1: Línea 1:
 ===== Preguntas con respuestas alineadas con el texto ===== ===== Preguntas con respuestas alineadas con el texto =====
  
-Una opción para las preguntas con fichero consiste en componer el fichero completando otro fichero que se propone al alumno. En este caso al alumno no se le pediría que compusiera todo el fichero, sino simplemente que completase un texto que se le proporciona, completando una serie de huecos en los lugares indicados. +Una opción para las [[es:manual:items:externosfichero|preguntas con fichero]] consiste en componer el fichero completando un texto que se propone al alumno. En este caso al alumno no se le pediría que componga todo el fichero, sino simplemente que complete el texto que se le proporciona, rellenando una serie de huecos en los lugares indicados. 
  
-La presentación es similar a las [[es:manual:items:enlinea#Respuesta construida|preguntas en línea de respuesta construida]], salvo que en este caso la respuesta del alumno no se evalúa simplemente con un patrón, como las demás respuestas de respuesta libre, sino que se compone un fichero que se envía para evaluar mediante un [[es:manual:spsl|script]], al igual que las demás [[es:manual:items:externosfichero|preguntas con ficheros]].+La presentación es similar a las [[es:manual:items:enlinea#Respuesta construida|preguntas en línea de respuesta construida]], salvo que en este caso la respuesta del alumno no se evalúa simplemente con un [[es:manual:items:patrones|patrón]], como las demás [[es:manual:items:tiposbasicos:respuesta_libre|preguntas de respuesta libre]], sino que se compone un fichero que se envía para evaluar mediante un [[es:manual:spsl|script]], al igual que las demás [[es:manual:items:externosfichero|preguntas con ficheros]].
  
  
 === Ejemplo 1 === === Ejemplo 1 ===
  
-El uso mas frecuente es el de completar un cierto código de programación indicando las sentencias que faltan:+El uso mas frecuente es el de completar un cierto código de programación escribiendo las sentencias que faltan:
  
 {{ es:manual:items:item-fichero-en-linea-1.png?500 }} {{ es:manual:items:item-fichero-en-linea-1.png?500 }}
Línea 49: Línea 49:
   - Comparar la salida con la esperada.   - Comparar la salida con la esperada.
  
-En realidad, las dos últimas operaciones son un caso particular de lo que hacen todas las preguntas de fichero: ejecutar un script, componer una salida y compararla con una pregunta de respuesta libre subyacente. En este caso se ha optado por la solución mas simple, usar la [[es:manual:items:externosfichero|corrección directa de la ejecución]], aunque podria evaluarse con etiquetas si se prefiere. Nótese que el enunciado contiene una parte previa al código fuente en Python, que da las instrucciones para resolverlo. ((A fin de que el interprete de Python no falle, estas instrucciones están entrecomilladas con el caracter %%'''%% que usa Python para comentarios largos. Para mejorar la legibilidad se ha incluido asimismo el tag HTML %%<div style="display: none;">%% que hace que no aparezcan al mostrar el enunciado. La primera fase de procesado al eliminar los tags HTML deja solo los caracteres que componen el comentario.))+En realidad, las dos últimas operaciones son un caso particular de lo que hacen todas las preguntas de fichero: ejecutar un [[es:manual:spsl|script]], componer una salida y compararla con una pregunta de respuesta libre subyacente. En este caso se ha optado por la solución mas simple, usar la [[es:manual:items:externosfichero#Corrección de la ejecución directa|corrección directa]], aunque podría evaluarse mediante [[es:manual:items:externosfichero#Corrección de la ejecución mediante etiquetas|etiquetas]] si se prefiere. Nótese que el enunciado contiene una parte previa al código fuente en Python, que da las instrucciones para resolverlo. ((A fin de que el interprete de Python no falle, estas instrucciones están entrecomilladas con los caracteres %%'''%% que usa Python para comentarios largos. Para mejorar la legibilidad se ha incluido asimismo el tag HTML %%<div style="display: none;">%% que hace que no aparezcan al mostrar el enunciado. La primera fase de procesado al eliminar los tags HTML deja solo los caracteres que componen el comentario.))
  
-Sin embargo, a diferencia de otros casos de preguntas con fichero, cuando se presenta la pregunta al alumno y se obtiene su respuesta, en la corrección no se muestra el resultado de la ejecución del script, sino simplemente la respuesta del alumno anotada mediante los iconos que indica acierto o fallo.+Sin embargo, a diferencia de otros casos de preguntas con fichero, cuando se presenta la pregunta al alumno y se obtiene su respuesta, en la corrección no se muestra el resultado de la ejecución del [[es:manual:spsl|script]], sino simplemente la respuesta del alumno anotada mediante los iconos que indica acierto o fallo.
  
 {{ es:manual:items:item-fichero-en-linea-2.png?500 }} {{ es:manual:items:item-fichero-en-linea-2.png?500 }}
Línea 64: Línea 64:
 {{ es:manual:items:item-fichero-en-linea-3.png?500 }} {{ es:manual:items:item-fichero-en-linea-3.png?500 }}
  
-En las preguntas de fichero se usan y se guardan dos tipos de ficheros: ((Tenga en cuenta que el resto de ficheros obtenidos por la ejecución del script se borran al finalizar, salvo en el caso de la [[es:help_items_preview+En las preguntas de fichero se usan y se guardan dos tipos de ficheros: ((Tenga en cuenta que el resto de ficheros obtenidos por la ejecución del [[es:manual:spsl|script]] se borran al finalizar, salvo en el caso de la [[es:help_items_preview|
 vista previa]] que se conservan para poder inspeccionarlos y depurar la pregunta)) vista previa]] que se conservan para poder inspeccionarlos y depurar la pregunta))
  
Línea 71: Línea 71:
  
 A estos ficheros se añadirán todos los que hagan falta para evaluar el fichero enviado. Puesto que se dispone también de los ficheros en crudo, no sería necesario componer el fichero completo, si hubiera cualquier otra forma de evaluar la corrección de los componentes A estos ficheros se añadirán todos los que hagan falta para evaluar el fichero enviado. Puesto que se dispone también de los ficheros en crudo, no sería necesario componer el fichero completo, si hubiera cualquier otra forma de evaluar la corrección de los componentes
 +
 +=== Ejemplo 2 ===
 +
 +En este otro ejemplo, se propone completar una función en Python mediante un trozo de código. En este caso se desea forzar una implementación mediante acumuladores, que sería dificil de comprobar si la función se implementara libremente. A diferencia del ejemplo anterior, no se espera como respuesta una sola linea, sino varias, por lo que se presenta un área de texto para la respuesta:
 +
 +{{ es:manual:items:item-fichero-en-linea-area1.png?500 }}
 +
 +PAra forzar el uso de un área de texto, la pregunta debe definir el campo [[es:help_items_presentation#Tamaño de las respuestas|Tamaño de las respuestas]] en la pestaña [[es:help_items_presentation|Presentacion]], indicando el numero de filas y columnas que se presentan inicialmente.
 +
 +En este caso, cuando se compone el fichero a enviar, se respeta el sangrado de todas las líneas incluidas en el área de texto, de manera la estructura del fichero concuerde con la apariencia de la posición visual del área de texto. Este es un detalle importante en lenguajes como Python, aunque en otros lenguajes pueda ser irrelevante.
 +
 +Al enviar la respuesta se muestra igualmente la corrección en el área de texto, aunque en este caso se usa un [[es:manual:spsl|script]] para [[es:manual:items:externosfichero#Corrección de la ejecución mediante etiquetas|evaluar mediante etiquetas]] que comprobar que realmente se ha usado recursividad en la implementación:
 +
 +    cp ../../../python/check.py .
 +    cp ../../../python/checkNodo.py .
 +    @File test1.txt
 +    fib(9) => 55
 +    fib(10) => 89
 +    fib(11) => 144
 +    @End
 +    @Command on
 +    python3 check.py test1.txt == ok -> Correcto : Incorrecto
 +    @Command off
 +    python3 checkNodo.py recursivo  fib_acum == ok -> Correcto : NoRec
 +
 +El resultado de una ejecución incorrecta se muestra así:
 +
 +{{ es:manual:items:item-fichero-en-linea-area2.png?500 }}
 +
 +En donde se ha usado el mismo artificio que se empleó en el ejemplo anterior para mostrar los mensaje de ejecución en el espacio correspondiente al [[es:manual:test:refuerzos|refuerzo]].
 +
 +=== Ejemplo 3 ===
 +
 +Una alternativa al uso de un área de texto es usar varios campos de respuesta de una sola línea (controles tipo [[https://www.w3.org/html/wiki/Elements/input.html|Input]]). Para ello en el enunciado deberán aparecer varias regiones indicadas con %%"____"%%, de manera que cada una de ellas se sustituirá por un campo de entrada:
 +
 +{{ es:manual:items:item-fichero-en-linea-2input.png?500 }}
 +
 +A diferencia de las [[es:manual:items:enlinea#Respuesta construida|preguntas de respuesta en línea sin ficheros]] , en este caso la corrección de cada campo de respuesta no es independiente, ya que se construye un único programa, que se corrige entero, por lo que finalmente o ambas líneas son correctas o ambas son incorrectas. No hay limitación especifica del número de campos que pueden usarse.
 +
 +
es/manual/items/externosficheroenlinea.1792976381.txt.gz · Última modificación: (editor externo)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki