Controles


Controles.

  1. Controles Numéricos.
  2. Controles Gráficos.
  3. Controles de Texto

Controles.

Un objeto que sirve para que el usuario-alumno modifique los parámetros que intervienen en una escena se llama un control. Descartes cuenta con tres tipos de controles: numérico,gráfico y de texto.

Los controles numéricos sirven para modificar el valor de un solo parámetro. Éste es un ejemplo de un control numérico para un parámetro p:

A la izquierda aparece el nombre del parámetro (o del control). A la derecha veremos un campo de texto que exhibe el valor actual del parámetro y, al centro, dos flechas o pulsadores, que sirven para aumentar o disminuir en una cantidad predeterminada el valor del parámetro. Este tipo de controles numéricos se denominan pulsadores. Hay otros tipos de controles numéricos: menús, barras (de desplazamiento), botones y campos de texto.

Los controles gráficos son objetos que aparecen sobre alguno de los espacios de la escena y que el usuario puede arrastrar con el ratón o con las flechas del teclado, con lo cual modifica en realidad un punto del espacio cuyas  coordenadas se pueden usar como parámetros en toda la escena. En particular, un control gráfico de un espacio puede afectar objetos gráficos de otros espacios. Los controles gráficos se representan con pequeños discos cuyo radio y color pueden ser elegidos por el autor. El siguiente ejemplo contiene dos controles gráficos etiquetados con las letras A y B.

 

Los controles de texto son áreas en las que el usuario puede escribir o corregir textos y fórmulas y comprobar si lo hizo correctamente comparando con el modelo dado por el autor, al que se puede acceder pulsando el botón S (de Solución). He aquí un ejemplo:

Esta unidad interactiva requiere la máquina virtual de Java J2RE.

Para crear y editar controles tanto gráficos, numéricos como de texto, hay que abrir la ventana de edición de configuraciones (pulsando config) y seleccionar Controles:

Al hacerlo aparece el Panel de configuración de Controles que tiene este aspecto:

Nota: Si se hace un clic sobre la etiqueta azul de Controles, aparecerá una ventana con un área de texto que contiene el código de todos los controles, uno 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.


1. Controles Numéricos.

Para crear un control hay que pulsar el botón + que aparece arriba a la izquierda. Al hacerlo aparece una ventana en la que puede seleccionarse el tipo de control que se quiere crear y darle nombre.

Las tres opciones del selector son numérico, gráfico y de texto.. 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.

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

pnlctrln.jpg (8287 bytes)

La tabla siguiente explica el significado de los diversos campos.

id

Campo de texto que contiene el identificador del control.
Si el control es numérico entonces <id> es el nombre de la variable numérica que representa.
Si es gráfico entonces <id>.x e <id>.y son las coordenadas del control.

tipo de control númerico
Tipo de interfaz gráfica del control númerico. Las opciones son: pulsador, campo de texto, menú (desplegable), barra (de desplazamiento) y botón.

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.

(región)

 

 

 

 

 

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.

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.

 
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á en el lugar de un círculo para visualizar este control gráfico.
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:

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.
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.
reiniciar animación
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.

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 un archivo de texto con esa dirección.
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.

tooltip
Texto que aparece cuando el ratón se detiene más de un segundo y medio sobre la etiqueta de un control numérico o dentro del círculo de un control gráfico.
El valor por defecto es vacío.
explicación
Texto que aparece cuando el usuario hace un clic derecho sobre la etiqueta de un control numérico o dentro del círculo de un control gráfico.
El valor por defecto es el del tooltip.
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.
cID

 

 

 

Identificador para los controles que se encuentran en el
escenario.

Es útil únicamente en escenas de Arquímedes o DescartesWeb2.0.

El programa calcula el valor del identificador de acuerdo con
el momento preciso en que éste fue creado, por lo que todos los
identificadores creados en un mismo ordenador son diferentes.

No se recomienda manipular manualmente este identificador.

 

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.14159, sin embargo ya aparece redondeado a 3.142 porque el número de decimales es 3. El incremento es 0.00025 pero por el redondeo cada pulsación cambia realmente el valor en 0.001.

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 3 decimales.

Las configuraciones nuevas se crean automáticamente con tres controles numéricos de tipo pulsador con estos tres identificadores escala, O.x y O.y que tienen estos significados: 

escala

Es el tamaño de la escala de la escena y se expresa en pixeles.
Su valor por defecto es 48.

O.x

Es la distancia horizontal del centro de la escena al origen en pixels.
Los valores positivos desplazan el origen hacia la derecha.
El valor por defecto es 0.

O.y

Es la distancia vertical del centro de la escena al origen en pixels.
Los valores positivos desplazan el origen hacia abajo.
El valor por defecto es 0.

 

El autor puede eliminar estos controles numéricos si lo desea o colocarlos en la región exterior.

Una configuración nueva no tiene ningún control gráfico.


2. Controles Gráficos.

Al crear un control gráfico se crea (internamente) un punto cuyas coordenadas son id.x e id.y, donde id es el identificador del control gráfico. También se establecen simultáneamente dos controles numéricos con identificadores id.x e id.y por si el autor desea utilizarlos. Si no piensa darles uso conviene eliminarlos seleccionando cada uno de ellos y pulsando el botón - o tecleando .  Por defecto se asigna un control gráfico al primer espacio definido, pero esto puede cambiarse posteriormente.

El panel de configuración de un control gráfico tiene este aspecto:

Los campos especiales para este tipo de controles son colores, tamaño, texto, pos, constricción, rastro, color e imagen. La tabla siguiente explica el significado de estos campos.

color

Un control tiene dos colores, el primero se usa para dibujar la circunferencia del disco y el segundo para el interior del círculo o interior del disco (ver Colores).
El color por defecto para la orilla es azul.

color-int

Un control tiene dos colores, el primero se usa para dibujar la
circunferencia del disco y el segundo (éste) para el interior del
círculo o interior del disco.**REPITE PÄRRAFO **Y: CUÄL "este"

El color por defecto del interior es rojo.

tamaño

Es el radio del disco en pixeles.
Puede ser cualquier número o expresión positiva.
El valor por defecto es 4

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).

constricción

 

Es una ecuación en x, y que las coordenadas del control deben satisfacer. Es decir, el control queda restringido a moverse sobre la gráfica de su constricción.
Puede ser cualquier expresión o ser vacía. Si es vacía el control no está limitado en su movimiento.
El valor por defecto es vacío.

texto

 

Es una etiqueta que acompaña al control.

Puede ser cualquier texto y además posibilita incluir valores
numéricos variables (ver Textos).

El valor por defecto es vacío.

En los controles de áreas de texto es el contenido inicial del
área.

rastro

Es un selector que indica si al moverse el control debe dejar un rastro de su recorrido. El rastro de un control es el de su orilla solamente.
Por defecto aparece desactivado.

color (del rastro)

Es el color del rastro (ver Colores).
Sólo tiene efecto cuando el selector del rastro está activado.
El valor por defecto es gris.

imagen

 

 

 

Nombre del archivo de una imagen que se usará en el lugar de un círculo para visualizar este control gráfico.

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.

 

El usuario puede mover el control gráfico arrastrándolo con el ratón o usando las flechas del teclado. Para que las pulsaciones de las flechas del teclado actúen sobre un control gráfico es necesario que éste tenga el foco. Cuando un control gráfico tiene el foco aparece una circunferencia blanco o negra en su interior. Para que un control gráfico adquiera el foco hay que seleccionarlo con el ratón.

Cuando los controles numéricos asociados a un control gráfico están activados, el usuario puede cambiar sus coordenadas con los pulsadores. Cuando no hay constricción la respuesta a las pulsaciones es la esperada. Sin embargo, cuando hay constricciones el programa tiene que respetarlas, para lo cual debe realizar ajustes a las coordenadas y, al hacerlo, puede no respetar íntegramente las modificaciones realizadas a las coordenadas por el usuario con los pulsadores o con valores específicos escritos.   A continuación se presenta una escena con tres controles gráficos A, B y C, cada uno con una constricción diferente. En el ejemplo se han dibujado las constricciones (como fondo) en gris.

Esta unidad interactiva requiere la máquina virtual de Java J2RE.

Se recomienda al lector estudiar el comportamiento de estos tres controles arrastrándolos con el ratón, pulsando las flechas del teclado y modificando sus coordenadas con los pulsadores. En el caso del control A el programa respeta íntegramente los cambios del usuario a A.x pero no a A.y (esto es porque la constricción tiene la forma y=f(x)). En el control C se respetan los cambios del usuario a C.y pero no a C.x (esto se debe a que la constricción tiene la forma x=f(y)). En en caso de B las dos coordenadas sufren un ajuste (esto ocurre cuando la constricción tiene la forma general f(x,y)=g(x,y)).


3. Controles de Texto.

Los controles de texto son áreas en las que el usuario puede escribir o corregir textos y fórmulas y comprobar si lo hizo correctamente, comparando con el modelo dado por el autor al que se puede acceder pulsando el botón S (de Solución).

El panel de configuración de un control de texto tiene este aspecto:

Los campos exclusivos de este tipo de controles son texto, Botones y respuesta. La tabla siguiente explica el significado de estos campos.

texto

Es una etiqueta que acompaña al control.

Puede ser cualquier texto que además posibilite incluir valores númericos variables ( ver textos ).

El valor por defecto es vacío.

En los controles de áreas de texto es el contenido inicial del área.

 

botones

 

Determina si el área de texto lleva botones de edición (fórmulas, fracción, etc.. y tabla de símbolos).

respuesta

 

Es un texto que contiene lo que el alumno debería escribir.

Sirve de guía al revisor.


Autor: José Luis Abreu León
con la colaboración de Norma Apodaca, Lilia Morales, Deyanira Monroy y Mariana Villada