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" />
Con este atributo del elemento refsig de un archivo de clasificaciones, puede especificarse el peso de un significado dentro de una clasificación. Tal peso es un número entero que mide de la importancia de la palabra con respecto a otras (números mayores indican importancia mayor).
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.
Con esta opción indica a repasa y repasatk que emplee una política por defecto que tiene en cuenta el progreso en sesiones de estudio anteriores.
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.
En este lenguaje pueden escribirse nuevas políticas de estudio que pueden ser usadas por repasa y repasatk con la opción -pol-prom.