Herramientas de usuario

Herramientas del sitio


es:manual:items:shell

¡Esta es una revisión vieja del documento!


Ejecución de instrucciones del shell

Esta extensión permite ejecutar instrucciones del shell del sistema operativo directamente e incrustar el resultado de la ejecución dentro del campo enunciado, o en cualquiera de las respuestas o patrones de evaluación, ayudas o refuerzos de una pregunta.

Por ejemplo, una pregunta de respuesta libre puede incluir el siguiente código en el enunciado:

Indicar el resultado de la ejecución del siguiente programa en Python:<br/>

 <code><pre>
 <EXEC>
 cat $HOME/for1.py
 </EXEC>
 </pre><code>

y como patrón de respuesta, y el ejemplo de respuesta correcta sería el siguiente:

  <EXEC>
  python3 $HOME/for1.py
  </EXEC>

Que dará lugar a la siguiente pregunta:

Esta pregunta muestra el contenido del fichero “for1.py” situado en el directorio auxiliar de la asignatura, y lo ejecuta mediante el interprete de Python colocando el resultado de la ejecución como patrón de respuesta. Por consiguiente la respuesta del alumno podrá evaluarse Utilizando simplemente el método de Correspondencia, asumiendo que los espacios en blanco y fines de linea no son significativos.

Nótese que se ha definido una macro $HOME que se sustituye por la ruta completa del directorio de la asignatura en el servidor de manera que pueda localizarse el fichero.

En realidad esta pregunta se podría haber formulado de forma estática, sin necesidad de utilizar la etiqueta <EXEC>. Simplemente sustituyendo el código manualmente en el enunciado y añadiendo manualmente el resultado de la ejecución como patrón de respuesta.

No obstante esta operación no siempre será posible compilarla a priori, si se introducen en la llamada elementos que hayan sido generados aleatoriamente, lo que dará una mayor variabilidad a la pregunta, por ejemplo:

 <% int x = Random.nextInt(4,7); %>
 Dado el siguiente programa en [[wpes>Python]] for2.py:<br/>
 <code><pre>
 <EXEC>
 cat $HOME/for2.py
 </EXEC>
 </pre><code>
 Hallar el resultado de la ejecución de la instrucción ''python3 for2.py <%= x %>''

y como patrón de respuesta, y el ejemplo de respuesta correcta sería el siguiente:

  <EXEC>
  python3 $HOME/for2.py <%= x %>
  </EXEC>

En este caso, Siette genera aleatoriamente un número entre 4 y 7 que se usa como parámetro de entrada en el patrón de respuesta, generando de esta forma múltiples preguntas con esta plantilla.

Alternativa a las preguntas con ficheros

Este etiqueta puede considerarse como una alternativa mas simple a la evaluación de preguntas mediante envío de ficheros. La diferencia entre uno y otro caso es que al usar la etiqueta no se tiene acceso a la respuesta del alumno, ya que la evaluación con esta etiqueta lo máximo que puede hacer es modificar el patrón de respuesta.

Sin embargo, el uso de la etiqueta <EXEC> es muy simple y es adecuado cuando lo que se quiere es comprobar si se ha entendido el funcionamiento de un determinado algoritmo.

es/manual/items/shell.1685918465.txt.gz · Última modificación: 2023/06/04 22:41 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki