Herramientas de usuario

Herramientas del sitio


es:manual:items:shell

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:shell [2023/06/04 22:41] – [Alternativa a las preguntas con ficheros] rootes:manual:items:shell [2023/06/06 16:39] (actual) root
Línea 1: Línea 1:
 ===== Ejecución de instrucciones del shell ===== ===== 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 [[es:items#Componentes de una pregunta|enunciado]], o en cualquiera de las [[es:items#Componentes de una pregunta|respuestas]] o [[es:manual:items:patrones|patrones de evaluación]], [[es:items#Componentes de una pregunta|ayudas]] o [[es:items#Componentes de una pregunta|refuerzos]] de una pregunta.+Esta extensión permite ejecutar instrucciones del //[[wpes>Shell_(informática)|shell]]// del sistema operativo (Linux) directamente e incrustar el resultado de la ejecución dentro del campo [[es:items#Componentes de una pregunta|enunciado]], o en cualquiera de las [[es:items#Componentes de una pregunta|respuestas]] o [[es:manual:items:patrones|patrones de evaluación]], [[es:items#Componentes de una pregunta|ayudas]] o [[es:items#Componentes de una pregunta|refuerzos]] de una pregunta.
  
 Por ejemplo, una pregunta de respuesta libre puede incluir el siguiente código en el enunciado: 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 [[wpes>Python]]:<br/>+   Indicar el resultado de la ejecución del siguiente programa en Python:<br/>
    <code><pre>    <code><pre>
    <EXEC>    <EXEC>
Línea 12: Línea 12:
    </pre><code>    </pre><code>
  
-y como patrón de respuesta, y el ejemplo de respuesta correcta sería el siguiente:+y como patrón de respuesta, y como ejemplo de respuesta correcta el siguiente:
  
     <EXEC>     <EXEC>
Línea 20: Línea 20:
 Que dará lugar a la siguiente pregunta: 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 [[es:manual:items:patron:correspondencia|Correspondencia]], asumiendo que los espacios en blanco y fines de linea no son significativos.+{{ es:manual:items:exec1.png?400 }} 
 + 
 +Esta pregunta muestra el contenido del fichero "for1.py"  situado en el directorio auxiliar de la asignatura, y lo ejecuta mediante el interprete de [[wpes>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 [[es:manual:items:patron:correspondencia|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. 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.
Línea 29: Línea 31:
  
    <% int x = Random.nextInt(4,7); %>    <% int x = Random.nextInt(4,7); %>
-   Dado el siguiente programa en [[wpes>Python]] for2.py:<br/>+   Dado el siguiente programa en Pythonfor2.py:<br/>
    <code><pre>    <code><pre>
    <EXEC>    <EXEC>
Línea 35: Línea 37:
    </EXEC>    </EXEC>
    </pre><code>    </pre><code>
-   Hallar el resultado de la ejecución de la instrucción ''python3 for2.py <%= x %>''+   Hallar el resultado de la ejecución de la instrucción:<br/> 
 +   <code>python3 for2.py <%= x %></code>
  
-y como patrón de respuesta, y el ejemplo de respuesta correcta sería el siguiente:+y como patrón de respuesta, y ejemplo de respuesta correcta:
  
     <EXEC>     <EXEC>
Línea 43: Línea 46:
     </EXEC>     </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.+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
 + 
 +{{ es:manual:items:exec2.png?400 }} 
 +{{ es:manual:items:exec3.png?400 }} 
 + 
 +Este mecanismo también podría extenderse a la elección aleatoria del fichero de entrada entre un elenco de posibles ficheros disponibles en el directorio base. Por ejemplo suponiendo que disponemos de distintos ficheros "for1.py", "for2.py", "for3.py", "for4.py", etc. y eligiendo aleatoriamente uno de ellos tanto en el enunciado como en la ejecución: 
 + 
 +   <% int n = Random.nextInt(1,9); %> 
 +   <% int x = Random.nextInt(4,7); %> 
 +   Dado el siguiente programa en Python, for.py:<br/> 
 +   <code><pre> 
 +   <EXEC> 
 +   cat $HOME/for<%= n %>.py 
 +   </EXEC> 
 +   </pre><code> 
 +   Hallar el resultado de la ejecución de la instrucción:<br/> 
 +   <code>python3 for2.py <%= x %></code> 
 + 
 +y como patrón de respuesta, y ejemplo de respuesta correcta: 
 + 
 +    <EXEC> 
 +    python3 $HOME/for<%= n %>.py <%= x %> 
 +    </EXEC>
  
 ==== Alternativa a las preguntas con ficheros ==== ==== Alternativa a las preguntas con ficheros ====
  
-Este etiqueta puede considerarse como una alternativa mas simple a la [[es:manual:items:externosfichero|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. +Este etiqueta puede considerarse como una alternativa mas simple a la [[es:manual:items:externosfichero|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.
  
-Sin embargoel 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.+También puede usarse para presentar datos dinámicosbien sea de forma gráfica o mediante estadísticos, utilizando comandos como RScript
  
 +En general si los datos de entrada son fijos, será mas conveniente reemplazar la ejecución por su resultado evitando la sobrecarga que supone la ejecución externa. Los ejemplos planteados anteriormente son tan simples que pueden reemplazarse por [[es:manual:items:generativos:jsp|plantillas en JSP]], pero esto no siempre será posible.
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