En una clasificación puede especificarse un peso a cada
significado referenciado para que repasa
y
repasatk
, junto con una política de estudio
apropiada lo empleen. La idea es dar con el peso una medida
de la "importancia" de un significado con respecto a
otros de la clasificación, desde el punto de vista de quien
crea la clasificación. Esta medida puede ser un número entero
arbitrario, aunque sugerimos emplear uno entre 1 y 5,
siendo 1 importancia mínima y 5 importancia máxima.
En el ejemplo presentado hay una palabra con
un peso especificado:
<refpal id="Dios" idsig="fe" peso="5" />
Las interfaces de repaso para elegir las preguntas que formulan emplean una política de estudio, la cual puede depender del peso de cada palabra. La política de estudio es una función que da un valor a cada palabra que puede estudiarse en una definición con base en:
El progreso que ha tenido quien estudia en esa palabra, en particular el registro de las diversas ocasiones en las que la ha preguntado con: fecha, número de veces que la respondió bien, número de veces que fue preguntada.
El peso de la palabra y el máximo peso encontrado en las palabras disponibles para repasar.
La fecha actual.
Hay 4 políticas de estudio predefinidas y es posible especificar otra
empleando el lenguaje prom
. Las políticas
predefinidas pueden elegirse desde la línea de comandos de
las herramientas de repaso con las
opciones: -pol-autores
, -pol-igual
y -pol-progreso
, -pol-aleatoria
(ver
repasa(1)). Si se desea emplear
una política especificada en un archivo en lenguaje
prom
, puede emplearse la opción
-pol-prom
.
archivo
A continuación se presenta un ejemplo de una política de estudio
escrita en lenguaje prom
:
/* Calcula valores para 'política de estudio' para interfaz para repasar definiciones de repasa. Política: primero las no repasadas o las repasadas hace más tiempo. El valor máximo que devuelve es 1, el mínimo es 0. Dominio público 2003. Sin garantías. http://structio.sourceforge.net/repasa */ aserción(ejecutor=="repasa"); si (tamaño(dia)==0) { /* Si no se ha repasado tiene prioridad máxima */ retorna(1.0); } /* Si se ha repasado, se revisa la fecha del último repaso, y se normaliza para compararla con las de otras palabras. Téngase en cuenta que las fechas en el vector dia se representan como el número de días desde 1/Ene/1970 (como valor flotante). */ retorna(1.0-dia[tamaño(dia)-1]/hoy);
La documentación completa sobre este lenguaje la encuentra en el manual de intprom (ver intprom(1)) y su uso junto con las herramientas de repaso en el manual de repasa (ver repasa(1)) o en el de repasatk (ver repasatk(1)). Note que:
Comienza verificando que se esté ejecutando desde una herramienta de repaso.
Emplea el operador tamaño
que retorna
el tamaño de un vector.
Aprovecha que el vector dia
(en el que
están las fechas en las que se repaso la palabra), está
ordenado ascendentemente, para extraer la última fecha de
repaso (está en la última posición del vector
dia
)
Aprovecha que la fecha actual (variable
hoy
) y las fechas del vector
dia
son flotantes con el número de días
entre el 1/Ene/1970 y la fecha misma.