• Botones

    En el panel Botones se encuentran los campos para la configuración general de la escena, que son cuatro selectores para indicar si los botones de créditos, config, inicio y limpiar deben ser visibles o no, y cuatro campos de texto para controlar el tamaño de las cuatro regiones que rodean la escena, mismas en donde puede haber controles numéricos. Los dos primeros son para determinar el número mínimo de filas de controles numéricos que tendrán las regiones norte y sur, y los otros dos son para determinar la anchura en pixeles de las regiones oeste y este.

    panel_botones

    A continuación se detalla el significado de estos estos campos:

    créditos
    Determina si el botón «créditos» aparece en la escena.
    El botón «créditos» abre una ventana que tiene vínculos a la página principal de Descartes y muestra los nombres delos autores del applet.
    Por defecto está seleccionado.
    config
    Determina si el botón «config» aparece en la escena.
    El botón «config» abre la ventana de edición en la que se puede modificar la configuración de la escena.
    Por defecto está seleccionado.
    inicio
    Determina si el botón «inicio» aparece en la escena.
    El botón «inicio» devuelve la escena a su estado inicial reiniciando los valores de los controles auxiliares. Si hay animación automática, ésta comienza de nuevo.
    Por defecto está seleccionado.
    limpiar
    Determina si el botón «limpiar» aparece en la escena.
    El boton «limpiar» borra los rastros dejados por las gráficas que tienen la opción «rastro» activada.
    Por defecto está seleccionado.
    filas_norte
    filas_sur
     
    Número de filas que ocuparán los controles numéricos colocados en la región Norte/Sur.
    Si el valor es cero entonces (de haberse creado un control al norte/sur) habrá por lo menos una fila, si no, no habrá ninguna.
    El valor por defecto es cero.
    ancho_oeste
    ancho_este
    Ancho en pixeles de la región Oeste/Este para controles numéricos.
    El valor por defecto es 150, lo que quiere decir que si hay al menos un control numérico en la región Oeste/Este, entonces se adopta por defecto un valor de 150.
    alto
    Altura en pixeles de los controles numéricos en las regiones norte y sur. El valor predeterminado es 40.
    editor
    Activa (o desactiva) la edición por parte del usuario. Por defecto está activado.
    audio
    Activa la posibilidad de usar sonido en una escena.
    álgebra
    Activa la posibilidad de usar espacios algebraicos, aunque en la actualidad DescartesJS no contempla este tipo de espacios.
    RAD
    Activa el Registro de Actividades de Descartes para esta escena. Actualmente no contemplado para DescartesJS.
    infoind
    Área de texto para definir un texto con expresiones numéricas que describan el desempeño de un alumno en esta escena. No contemplado para DescartesJS.
    infoest
    Área de texto para definir un texto con expresiones que indiquen el comportamiento estadístico de la escena ante un grupo de alumnos. Ncontemplado para DescartesJS.
    signo decimal
    Permite elegir el signo decimal, es decir el símbolo que separa los enteros de los decimales en una expresión decimal, para su representación en un texto o en un campo de texto. Internamente, en el código de la escena, ha de usarse siempre el punto decimal como separador decimal.
    En España la RAE establece el uso de la coma, aunque se permite el punto utilizado en otros países.
    antialias
    Selector que activa (o desactiva) la propiedad de que los gráficos se dibujen suavemente. Por defecto está activado.
  • Definiciones

    En el panel del editor de configuración etiquetado como «Definiciones» el autor de una escena de Descartes puede definir varios tipos de datos: variables, funciones, vectores y matrices.

    panelDef

    A la izquierda del Panel aparece la lista con todas las definiciones realizadas en la escena y seleccionando cualquiera de ellas se mostrarán sus parámetros específicos que serán diferentes según el tipo de dato seleccionado.

    Para crear una definición nueva hay que pulsar el botón + que se encuentra arriba a la izquierda de la lista (ver figura siguiente). Al pulsarlo, aparece una ventana de diálogo con un selector y un campo de texto. El selector sirve para elegir el tipo de auxiliar que se desea definir. Las opciones son: variable, función, vector y matriz.

    definiciones1

     Nota: Si se hace un clic sobre la etiqueta azul de Definiciones, aparecerá una ventana con un área de texto que contiene el código de todas las definiciones, una en cada línea. Este texto se puede editar manualmente y pulsando aceptar se actualiza el editor con los cambios realizados. Los autores experimentados pueden encontrar este método de edición muy cómodo y útil para cierto tipo de modificaciones.

    Una vez elegido el tipo de definición deseada el usuario debe escribir en el campo de texto el nombre del auxiliar que servirá de referencia para usarse en otras definiciones, en los gráficos o en la animación. El programa ofrece al autor un nombre por defecto que consta de una letra: v (variable), V (vector), matriz (M), f (función) según el tipo de definición, seguida de un número que corresponde a la posición de la nueva definición en la lista. Se recomienda al autor no utilizar los nombres por defecto sino asignar nombres adecuados al contenido de la escena y al significado de la definición.

  • Funciones

    Las funciones se definen en el apartado de Definiciones. Las funciones asignan un número real a cada valor de su variable (o a cada conjunto de valores de sus variables). Las funciones tienen un identificador (o nombre), una o más variables (que no son más que una lista de identificadores) y  una expresión en términos de esas variables.

    Estos son ejemplos de funciones de una variable con sus identificadores y sus variables:

    Expresión

    Identificador

    Variable

    f(x)=sen(3*x+2)

    f

    x

    g(y)=A*exp(-(y^2)/(s^2))

    g

    y

    Area(radio)=(pi*radio^2)/2

    Area

    radio

    Estos son ejemplos de funciones de dos o más variables con sus identificadores y sus variables:

    Expresión

    Identificador

    Variables

    f(x,y)=raíz(x^2+y^2)

    f

    x, y

    Fun(x,y,z)

    Fun

    x, y, z

    Volumen(a,b,c)=4*pi*a*b*c/3

    Volumen

    a, b, c

    Los nombres específicos de las variables de una función no son importantes, sólo sirven para identificar las variables dentro de la expresión y asignarles allí un papel. Las funciones se evalúan nada más cuando son llamadas explícitamente (por ejemplo por un algoritmo, por un gráfico, por la animación o por la constricción de un control gráfico que se mueve). El panel de configuración de una función tiene este aspecto:

    panel_funcion

    En las siguientes escenas, podemos verificar el funcionamiento de algunas funciones y la forma como fueron creadas en el panel de configuración.

    Escena con funciones de una sola variable.

    (Todas las escenas de este artículo puede descargarlas desde este enlace)

    Escena con funciones de dos o más variables:

    Cada uno de los elementos del panel de configuración, se explican en la siguiente tabla:

    id

    Consta de dos campos de texto. En el primero se especifica el identificador de la función y debe incluir los parámetros de los que dependa escritos entre paréntesis y separados por comas. Por ejemplo: f(x, y, z). En el segundo se detalla una expresión que será el valor a asignara como imagen a esa función.

    dominio

    Es una expresión booleana que determina el dominio de la función. Cualquier intento de evaluar la función fuera de su dominio lanzará una excepción, con lo cual, por ejemplo, su gráfica no se dibuja en los puntos que no están en el dominio.El valor por defecto es vacío, lo cual se interpreta como que el dominio no está restringido.

    algoritmo

    Selector que indica si la función, para evaluarse, debe usar un algoritmo, es decir, si necesita los cálculos indicados en «inicio», «hacer» y «mientras» (ver, al final, un ejemplo para el cálculo del factorial).

    inicio

    En el campo «inicio» pueden escribirse una serie de asignaciones y llamadas a funciones separadas por punto y coma «;». Todo lo que haya en este campo se ejecuta al inicio del cálculo.

    hacer

    En el campo «hacer» puede escribirse una serie de asignaciones y llamadas a funciones separadas por saltos de línea. Lo que hay en «hacer» se ejecuta repetidamente mientras la condición «mientras» sea válida.

    mientras

    En el campo «mientras» se debe escribir una expresión booleana. Lo que hay en «hacer» se ejecuta repetidamente mientras la condición «mientras» sea válida.

    El campo donde aparece el identificador de la función (a la izquierda del signo = ) debe incluir los identificadores de las variables entre paréntesis y separados por comas, para dar sentido a la expresión que aparece al lado derecho. La expresión que aparece a la derecha del signo = puede ser, o incluir, un término condicional, por ejemplo:

         func(x)=(x<0)?0:1

    es la función que vale 0 para x<0 y 1 para x>=0. Una expresión booleana vale 1 cuando es verdadera y 0 cuando es falsa por lo cual la función anterior también podría escribirse como

    func(x)=(x>=0),

    o bien usando la función indicadora ind, también podría escribirse como:

         func(x)=ind(x>=0),

    Aparte de las funciones que se definen explícitamente en cada escena por parte del desarrollador de la misma, Descartes incluye una serie de funciones matemáticas básicas, un conjunto de operadores y palabras reservadas que son reconocidas por el analizador de expresiones. Estas funciones, operadores y palabras reservadas pueden usarse en cualquier sitio donde Descartes espera una expresión, incluyendo el campo de texto de un control numérico.

    El dominio puede ser una expresión booleana en términos de las variables de la función. El programa utiliza el dominio para decidir si intenta evaluar la función. Si en un punto la expresión del dominio no se cumple, la evaluación no se intenta y el programa genera una excepción, con lo cual, si se está dibujando por ejemplo la gráfica de esta función, el dibujo que corresponde a este punto no se realiza  y se pasa al siguiente. Cuando el campo del domino está vacío se considera que el dominio de la función no tiene restricciones, es decir, cualquier conjunto de valores de sus variables está en el dominio.

    Cuando el programa intenta evaluar una función en un punto donde tiene una singularidad, se genera una interrupción, igual que si el punto no estuviera en el dominio. Por lo tanto no es necesario excluir del dominio de una función sus puntos singulares, el programa ya lo hace automáticamente. Sólo hay que especificar el dominio si se desea restringir el dominio natural de una función.

    A veces no se puede definir una función solamente mediante una expresión, sino que su evaluación requiere un proceso más complicado. En estos casos el autor puede marcar algoritmo, con lo cual la evaluación de la función realiza antes el algoritmo definido en los campos de texto etiquetados con iniciohacer y mientras (consultar Algoritmos para el significado de estos términos).  En estos campos el autor puede describir el algoritmo de evaluación de la función. El siguiente ejemplo muestra cómo puede una función utilizar un algoritmo. Se trata de una función Fact(x) que calcula el factorial del mayor entero menor o igual que x, para x>=0.

    En la siguiente escena, podemos calcular el factorial de un número entero positivo. Si intentamos con un número negativo, nos dirá que la función no está definida, que confirma la restricción del dominio (ver la siguiente imagen con el algoritmo de la función).

    Funcion_algoritmo

    El algoritmo que se define en este panel se ejecuta cada vez que se quiere evaluar la función, por lo cual los valores calculados en el algoritmo pueden utilizarse para definir el valor de la función.

    Las funciones pueden tener cualquier número de variables, incluso cero. Para evaluar una función sin variables se debe escribir un par de paréntesis después de su nombre (por ejemplo func()).   Las funciones sin variables pueden servir como algoritmos de cálculo que devuelven un valor real. También puede haber funciones que no devuelven ningún valor, las cuales pueden usarse como algoritmos que admiten parámetros.

  • Evento

    Los eventos son condiciones booleanas que, cuando se cumplen, pueden realizar una acción. En consecuencia, tienen asociado un identificador, una condición (expresión booleana) y la la acción a realizar. En la siguiente imagen se muestra el panel de configuración de eventos:

    evento

    Los elementos que aparecen son los siguientes.

    • id. Es el identificador del evento.
    • condición. Condición que, cuando se cumple, genera la acción. Una vez realizada la acción, ésta sólo vuelve a realizarse cuando la condición deja de cumplirse y luego vuelve a cumplirse.
    • acción. Acción que se realizará si se pulsa el botón en un control numérico con interfaz botón. Existen las siguientes acciones:
      • mensaje. Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro..
        La posición de esta ventana puede determinarse con el valor de pos_mensajes que puede tomar los siguientes valores: centro, arr_izq, arriba, arr_der, izquierda, derecha, ab_izq, abajo y ab_der.
        El valor por defecto de pos_mensajes es centro.
      • calcular. Realiza los cálculos (asignaciones) indicadas en el parámetro y actualiza inmediatamente todos los controles con estos nuevos valores.
      • abrir URL. Abre una página Web en una ventana nueva del navegador
      • abrir Escena. Abre una escena de Descartes en una ventana autónoma
      • créditos. Abre la ventana de créditos
      • config. Abre la ventana de configuración
      • inicio. Reinicia la escena
      • limpiar. Borra todos los rastros dejados por los gráficos.
      • animar. Comienza la animación, la detiene (pausa) o la continúa.
      • iniciar animación. Inicializa la animación, es decir, la devuelve a su punto inicial.
      • reproducir. Inicia la reproducción del archivo de audio indicado en el parámetro.
    • parámetro. El parámetro de la acción.
      • Si la acción es «mensaje» entonces el parámetro es el contenido del mensaje.
      • Si la acción es «calcular», entonces parámetro debe contener cero o varias asignaciones (separadas por ; o salto de línea) que el programa realizará cuando se ejecute la acción.
      • Si la acción es «abrir URL», el parámetro puede ser cualquier URL.
      • Si la acción es «abrir Escena» el parámetro debe ser una dirección relativa y lo que hace es abrir la primera escena de Descartes que encuentra en esa dirección.
      • Si la acción es «reproducir» entonces el parámetro debe llevar la acción relativa de un fichero de audio con extensión mp3 .
    • ejecución Determina el modo de ejecución de la acción del evento. Hay tres formas de ejecución
      • una-sola-vez. La acción sólo se ejecuta la primera vez que se cumple la condición.
      • alternar. En este caso la acción se ejecuta una vez cuando la condición se cumple y no se vuelve a ejecutar hasta que la condición ha dejado de ser verdadera y vuelve a ser verdadera otra vez.
      • siempre. Significa que la acción se ejecutará cada vez que la condición se cumpla.

      El valor por defecto es alternar.

    • pos_mensajes. Determina la posición donde aparecerá el mensaje si la acción seleccionada es, precisamente, «mensaje». Las opciones son: centro, arr_izq, arriba, arr_der, izquierda, derecha, ab_izq, abajo y ab_der. El valor por defecto es «centro».

    Como un evento puede desencadenar una acción y una acción puede realizar cálculos, es fácil lograr que un evento realice cálculos. En la siguiente escena se define un evento con la condición p>2, con acción calcular y con parámetro p=0.1, de manera que cada vez que el usuario aumenta el valor de p más allá de 2, el programa lo devuelve a su valor mínimo 0.1. Si se mantiene pulsada la flecha azul del control p, se verá que la parábola va abriéndose hasta que alcanza el valor p=2 y, en ese momento, salta el valor de p a 0.1 

     

    (Puede descargar la escena anterior desde este enlace)

    En el siguiente ejemplo, si el lector pone los valores de los pulsadores en a=500, b=50 y c=15.8, se produce un evento que abre una escena Descartes, confirmando que esos son los valores que dan la solución. ¡Pruébelo! y luego, en el editor de configuraciones mire cómo se definió el evento. En particular verá que la ejecución está en modo alternar, por lo cual si se elije un valor erróneo y luego vuelve a elegirse el correcto, la escena de confirmación vuelve a aparecer.

     

    (Puede descargar la escena anterior desde este enlace)

    La siguiente escena ejemplifica cómo pueden aprovecharse los eventos en la enseñanza. 

      

    (Puede descargar la escena anterior desde este enlace)

  • Controles numéricos

    Los controles numéricos o pulsadores son objetos que sirven para modificar el valor de un solo parámetro. Para crear un control hay que

    1. pulsar sobre el botón Controles
    2. pulsar sobre el botón + que aparece arriba a la izquierda.
    3. seleccionar como tipo de control numérico en la ventana agregar que se muestra después del paso anterior
    4. teclear el nombre de control y confirmar pulsando sobre el botón Aceptar.

    ctrlCrear

    El panel de configuración de un control numérico tiene este aspecto:

    confConNum

    El identificador id del control puede ser cualquier palabra sin espacios, puede contener dígitos después de la primera letra, pero no espacios. Puede haber dos o más controles con el mismo identificador. En los controles numéricos el identificador es al mismo tiempo el nombre interno del parámetro que controla. En otras palabras, la creación de un control numérico conlleva la creación de un parámetro con el identificador del control.

    A continuación se explica el significado de los diversos campos.

    • id. Campo de texto que contiene el identificador de control. En el caso de un control numérico es el nombre de la variable numérica que representa.
    • tipo de control numérico. Tipo de interfaz gráfica de control numérico. Las opciones son: pulsador, campo de texto, menú (desplegable), barra (de desplazamiento) y botón.

    (Puede descargar la escena anterior desde este enlace)

    • solo texto. Selector que, cuando está activado, hace que el campo de texto no interprete los números o variables que en él se escriben sino que solamente los tome como cadenas de texto. Sólo se usa en controles de tipo campo de texto.
    • (region). Región a la que se asigna el control numérico. las opciones son: norte, sur, este, oeste, exterior e interior.
      • La región norte es una o varias filas horizontales en la parte superior de la escena entre los botones de créditos y config.
      • La región sur es una o varias filas horizontales en la parte inferior de la escena entre los botones de inicio y limpiar.
      • Las regiones oeste y este son columnas a la izquierda y a la derecha de la escena.
      • La región exterior es una ventana que aparece cuando se hace un clic derecho sobre la escena.
      • La región interior es la escena. Cuando un control numérico se asocia a la región interior, entonces se puede colocar en cualquiera de los espacios de la escena y su posición ahí está determinada por el parámetro pos.
        El valor por defecto es «sur».
    • espacio. Es un menú desplegable que permite elegir el espacio al que se desea asignar el control. Este parámetro sólo tiene sentido en controles numéricos asignados a la región interior (y en controles gráficos). El menú muestra los identificadores de todos los espacios definidos en la escena.
    • nombre. Nombre externo de la variable <id>. Aparece como etiqueta a la izquierda del control numérico y no tiene ninguna otra función dentro del programa. Su valor por defecto es igual al identificador del control.
      • Si se considera como nombre _._ , _nada_ o _void_, éste será nulo (vacío).
      • _no_ sirve para que si el control numérico es de tipo botón y tiene imagen, dibuje el botón y ponga la imagen por encima del botón y éste no tenga ninguna etiqueta.
    • pos. Es el punto inicial de un control gráfico o el extremo superior izquierdo de un control numérico interior. Se expresa con dos números entre paréntesis separados por una coma. Los números pueden ser constantes o expresiones en las que intervienen constantes o parámetros definidos en controles anteriores. El valor por defecto es (0,0).
      En el caso de un control numérico interior se puede usar una expresión de cuatro valores (x,y,w,h) donde los primeros dos son las coordenadas del vértice superior izquierdo del control y los dos últimos son el ancho y el alto.
    • valor. Valor inicial de la variable <id> .
      Puede ser una expresión decimal o una fórmula en la que pueden intervenir constantes y otros parámetros definidos en controles anteriores.
      Su valor por defecto es 0.
      En el caso de los controles con interfaz de botón es el valor que se asigna a la variable cuando se pulsa el botón
    • incr. Es la cantidad que aumenta o disminuye el valor de la variable <id> cuando se pulsan las flechas del control numérico.
      Puede ser una constante o una expresión.
      El valor por defecto es 0.1.
    • min. Es el valor mínimo que puede tener el parámetro.
      Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor mínimo y el parámetro no está limitado inferiormente.
      El valor por defecto es vacío.
    • max. Es el valor máximo que puede tener el parámetro.
      Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor máximo y el parámetro no está limitado superiormente.
      El valor por defecto es vacío.
    • discreto. Obliga que los valores del control numérico difieran del valor inicial sólo en múltiplos exactos del incremento.
      Esto funciona correctamente sólo si el incremento es constante y además puede expresarse exactamente con el número de decimales elegido.
      El valor por defecto es «no».
    • decimales. Número de decimales con los que se escribirán los valores de <id> o los números incluidos en el texto. Puede ser cualquier número o expresión. Al evaluarse se redondea para decidir el número de decimales. Su valor por defecto es 2
    • fijo. Determina si el número de decimales es fijo o si, por el contrario, se usa la notación «ajustada» en la que se eliminan los ceros innecesarios y el punto decimal si también es innecesario. Por ejemplo, en notación ajustada en lugar de 25.3400 se escribe 25.34 y en lugar de 13.0 se escribe 13 (sin punto decimal).
      Si se usa notación exponencial siempre se escriben los números en forma ajustada, es decir, el atributo fijo no interviene en ese caso.
      El valor por defecto es fijo=si.
    • exponencial-si. Es una expresión booleana que cuando se cumple hace que el valor del parámetro pueda escribirse en notación exponencial. Si la expresión es vacía, nunca se usa la notación exponencial. Es importante observar que esto no fuerza a que aparezca la notación exponencial, sólo la permite. Si la expresión no se cumple no habrá notación exponencial.
      El valor por defecto es vacío.
    • visible. Es un selector que indica si el valor del parámetro debe exhibirse o no (el nombre y los pulsadores se exhiben siempre).
      El valor por defecto es seleccionado, o sea que el valor del parámetro sí se exhibe.
    • acción. La acción que se realiza cuando el usuario manipula el control numérico (pulsar el botón, seleccionar un elemento de un menú, mover la barra de desplazamiento, hacer clic en un pulsador, o dar en el campo de texto).
      Hay las siguientes acciones posibles:

      • calcular. Realiza los cálculos y asignaciones indicadas en el parámetro y actualiza inmediatamente todos los controles con estos nuevos valores. (Nota: En el intérprete en Java los vectores y matrices no son accesibles desde los controles, es decir, si se le asigna un valor a un elemento de un vector o de una matriz ésta no se produce, como alternativa puede usarse una función que realice esa asignación o activar una bandera para realizarla en otro objeto de la escena. En el intérprete DescartesJS sí se produce esa asignación.)
        (Puede descargar la escena anterior desde este enlace)
      • inicio. Reinicia la escena.
      • limpiar. Borra todos los rastros dejados por los gráficos.
      • animar. Comienza la animación, la detiene (pausa) o la continúa.
      • abrir URL. Abre una página Web en una ventana nueva del navegador
      • abrir Escena. Abre una escena de Descartes en una ventana autónoma
      • reproducir. Inicia la reproducción de un archivo de audio.
      •  En versiones anteriores a la 5 también se incluían las acciones que se describen a continuación. Si el código de una escena contiene alguna de esas acciones el intérprete DescartesJS o Java por compatibilidad hacia atrás en las versiones las reconocerá y ejecutará, pero revise su comportamiento. Si edita una escena en estas circunstancias con la versión 5 perderá esos parámetros.
        • mensaje. Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro..
          La posición de esta ventana puede determinarse con el valor de pos_mensajes.
        • créditos. Abre la ventana de créditos.
        • config. Abre la ventana de configuración.
        • reiniciar animacion. Inicializa la animación, es decir, la devuelve a su punto inicial.
          Si la acción es «calcular», se realizan todas las asignaciones escritas en el campo parámetro y se actualizan inmediatamente todos los controles usando los nuevos valores.
    • parametro. El parámetro de la acción.
      • Si la acción es «mensaje» entonces el parámetro es el contenido del mensaje.
      • Si la acción es «calcular», entonces parámetro debe contener cero o varias asignaciones (separadas por ; o salto de línea) que el programa realizará cuando se ejecute la acción.
      • Si la acción es «abrir URL», el parámetro puede ser cualquier URL.
      • Si la acción es «abrir Escena» el parámetro debe ser una dirección relativa y lo que hace es abrir la (primera) escena de Descartes que encuentra en un archivo de texto con esa dirección.
      • Si la acción es reproducir, el parámetro debe ser la dirección de un archivo de audio.
      • Las otras acciones no usan el parámetro.
    • dibujar-si. Expresión booleana que determina cuándo el control es visible.El valor por defecto es vacío y en ese caso el control es siempre visible.
    • activo-si. Expresión booleana que determina cuándo el control está activo.El valor por defecto es vacío y en ese caso el control está activo.
    • evaluar. Determina si el control lleva evaluación automática.Sólo se aplica en los controles de las escenas que son ítems (o reactivos) para evaluaciones. Aparece desactivado por omisión. Cuando se activa en un control de un ítem, el programa sabe que al evaluarse el ítem deberá considerar lo que el usuario haya escrito o seleccionado en el control, como una respuesta y compararlo con el patrón de respuestas asociado.
    • respuesta. Patrón de respuesta con el que se compara lo que el usuario ha escrito o seleccionado para determinar si su respuesta es correcta. Sólo se aplica en los controles de las escenas que son ítems (o reactivos) para evaluaciones.
      • Puede consistir en uno o varios campos de texto separados por cada uno de los cuales se compara con lo escrito o seleccionado por el usuario.
      • Si hay una coincidencia se considera que la respuesta es correcta.
      • Si no hay ninguna coincidencia se considera que la respuesta es errónea.
      • Cuando la respuesta debe ser numérica hay que poner el rango de respuestas válidas como un intervalo, por ejemplo: [a,b], (a,b), (a,b] o [a,b).
      • Cuando el control es un campo de texto del tipo ‘sólo texto’, entonces la comparación se hace letra a letra.
      • Si al final de una opción de respuesta se escribe un asterisco *, entonces sólo se busca si la respuesta de usuario comienza con la propuesta.
      • Si hay un asterisco al principio entonces se busca si la respuesta propuesta aparece al final de la del usuario.
      • Si hay un asterisco al principio y uno al final, por ejemplo *respuesta*, sólo se busca que la propuesta aparezca dentro de la del usuario.
      • Si se quiere que el programa ignore las diferencias entre mayúsculas y minúsculas, hay que escribir la propuesta entre comillas simples, por ejemplo: ‘respuesta’.
      • Si se quiere que el programa ignore los acentos y la diferencia entre n y ñ, entonces hay que escribir la respuesta entre un acento grave y uno agudo, por ejemplo `respuesta´. `’respuesta’´ ignoraría tanto mayúsculas y minúsculas como acentos.
      • Si hay letras que quieren ignorarse, en lugar de la letra debe escribirse una interrogación ?
      • Si el control es un campo de texto y el usuario lo deja vacío, se considera que no contestó.
      • Si se trata de un menú en el que una opción es vacía (por ejemplo un espacio en la primera opción) y el usuario selecciona esa opción, también se considera que no contestó.
      • El sistema de evaluación definido por el administrador de las evaluaciones es quien decide cómo se interpretan las respuestas correctas, las incorrectas y las vacías.
    • peso. Peso (en el contexto de una media ponderada) que se da a la respuesta dada en la evaluación al calcular la nota. Únicamente se admiten valores enteros positivos y se recomienda usar sólo 0, 1 ó 2.

    Campos exclusivos para menús

    • opciones. Las opciones deben ser palabras separadas por comas. Después de cada palabra puede venir entre corchetes [] el valor que debe asignarse al parámetro cuando se selecciona esta opción. Si el valor no se define entonces se asigna automáticamente un valor entero correspondiente al índice de la opción.

    Campos exclusivos para Botones:

    • color del texto. Color del texto en la etiqueta del botón.
    • color de fondo. Color del fondo en la etiqueta del botón.
    • negrita. Selector que al activarse hace que el texto en la etiqueta del botón se escriba en negritas.
    • cursiva. Selector que al activarse hace que el texto en la etiqueta del botón se escriba en cursiva.
    • subrayada. Selector que al activarse hace que el texto en la etiqueta del botón aparezca subrayado.
    • fuente puntos. Tamaño en puntos de la fuente con la que se escribe el texto de la etiqueta del botón. El tipo de letra siempre es SansSerif.
    • imagen. Nombre del archivo de una imagen que se usará para visualizar el botón. Si en la misma carpeta está la imagen hay otra con el mismo nombre seguido de «_over» y con la misma extensión, entonces esta imagen aparecerá en el botón cuando el cursor del ratón se encuentra sobre éste. Si en la misma carpeta está la imagen hay otra con el mismo nombre seguido de «_down» y con la misma extensión, entonces esta imagen aparecerá en el botón cuando se pulsa el botón con el ratón.
      • Si se considera como nombre VACIO.GIF, se indica que el botón será transparente.
      • _COLORES_ indica que se usarán los colores de fondo y de texto que se especifican a continuación en formato hexadecimal. Por ejemplo:
        _COLORES_ff0000_0000ff indica que el color de fondo será rojo y el del texto será azul. Si además se escribe _COLORES_ff0000_0000ff_SNI_18 la etiqueta estará subrayada (S) en letra negrita (N) e itálica (I) y con tamaño de fuente de 18 puntos. Tras VACIO.GIF se puede poner el color de la etiqueta, el tipo de letra y el tamaño (opcionalmente). Esta opción ha quedado desfasada, disponiéndose de los campos antes descritos (color de texto, color de fondo, negrita, cursiva, subrayada, fuente puntos) que se pueden modificar interactivamente.

    (Puede descargar la escena anterior desde este enlace)

    Consulte también el artículo «Imágenes en controles numéricos tipo botón«.

    __________

    Es importante saber cómo operan los controles numéricos sobre el parámetro. Para ello basta con entender cómo funcionan los pulsadores. Si se pulsa la flecha hacia arriba el valor del parámetro se incrementa en incr. Si se pulsa la flecha hacia abajo el valor disminuye en incr. El número que se exhibe en el campo de texto corresponde exactamente al valor del parámetro (en versiones anteriores esto no era necesariamente cierto). Si el usuario modifica el valor del parámetro escribiendo un número en el campo de texto y pulsando intro (o simplemente pulsa intro) entonces el valor del parámetro cambia a el que el usuario indicó, aunque redondeado al número de decimales permitido.

    En el campo de texto de un control numérico (de tipo pulsador o barra) el usuario puede escribir no sólo un valor sino también una expresión; si la expresión es correcta y tiene sus identificadores definidos en la escena, entonces el programa la evalúa y asigna el resultado al parámetro (cuando el usuario pulsa) .

    A continuación se presenta una pequeña escena para ilustrar el funcionamiento de los controles numéricos. El valor inicial del parámetro es 3.141516, sin embargo ya aparece redondeado a 3.1415 porque el número de decimales es 4. El incremento es 0.00025 pero por el redondeo cada pulsación cambia realmente el valor en 0.0002.

    (Puede descargar la escena anterior desde este enlace)

    El lector puede accionar los pulsadores y observar el comportamiento de los números exhibidos y luego puede escribir cualquier número o expresión y pulsar intro y observar el resultado. Por ejemplo, si escribe exp(1)  obtendrá el número e redondeado a 4 decimales.