En esta sección se incluyen aquellos programas que contienen algoritmos de búsqueda, de ordenación o de ambos tipos.
A continuación se expone un breve resumen de cada uno de los progamas y, en cada programa, pulsando sobre el botón azul con flecha, a la derecha del título, se accede a su código completo.
Programa selector de palabras, de entre las contenidas en un lemario, por determinadas condiciones, por ejemplo, por ser palindromos, por contener todas las vocales o ser todas sus letras diferentes. Ejemplos de lemarios que este programa puede manejar son los de la Real Academia Española, que de sus siglas Rae este programa toma su nombre.
Las funciones de seleccion de este programa Rae.Lemario tienen diversos modos de funcionamiento, a veces seleccionables mediante parametros, como por ejemplo: a) la seleccion a partir de cierta longitud de la palabra, b) la distincion o no entre mayusculas y minusculas, c) la distincion o no entre vocales acentuadas o no acentuadas y con dieresis, etc. Esta parametrizacion no es general en todas las funciones que, a su vez, se pueden ejecutar o no mediante un If() de control. Finalmente, hay una funcion que puede ejecutarse a la terminacion que, con todas las selecciones realizadas por las funciones del programa, construye un nuevo lemario con todos aquellos terminos, del lemario de entrada, que cumplen al menos una de las caracteristicas seleccionadas, este fichero podria considerarse un lemario de palabras curiosas.
WordSearch.LetterSoup es un programa que busca las palabras de un conjunto dentro de una sopa de letras que se especifica como un rectangulo de caracteres. La busqueda la realiza en todas las direcciones horizontal, vertical y en las 2 diagonales y en todos los sentidos posibles, de izquierda a derecha, de derecha a izquierda, de arriba hacia abajo y de abajo hacia arriba, en total son 8 las posibles formas en las que puede aparecer una palabra. Es un programa desarrollado en un solo fichero Tol y que funciona en todas las versiones del lenguaje de programacion Tol en las que se ha probado.
Las direcciones y sentidos de busqueda se codifican, en WordSearch.LetterSoup, mediante 2 numeros de desplazamiento que pueden tomar los valores -1, 0 y 1, de esta forma: a) la escritura normal seria (0, 1), sin cambiar de fila (0) avanzar a la derecha (1) de letra a letra, b) escribir hacia la izquierda como (0, -1), sin cambiar de fila (0) retroceder hacia la izquierda (-1) de letra en letra, c) escribir de arriba hacia abajo como (1, 0), sin cambiar de columna (0), bajar de fila en fila (1). d) en diagonal de arriba hacia abajo y de izquierda a derecha como (1,1), bajando de fila en fila (1), a la derecha de letra en letra (1), e) la escritura en diagonal de abajo hacia arriba y de derecha a izquierda se codifica como (-1,-1), f) etc.
ChRules.Iterative es un programa iterativo de aplicacion de reglas de reescritura que: a) aplica a un area rectangular de caracteres, b) reglas de transformacion de areas rectangulares de caracteres y c) que juntas forman una base de reglas de transformacion del contenido de ese area para alcanzar un cierto objetivo, como por ejemplo, solucionar un problema Las reglas de ChRules.Iterative son del tipo [condicion, accion], esto es: a) si se cumple la condicion, el rectangulo condicion de la regla equipara con alguna subarea del area de trabajo b) entonces se aplica la accion de transformacion cambiando el contenido de la antigua subarea del area de trabajo por el nuevo rectangulo que proporciona la parte de la accion de la regla.
La funcion principal de ChRules.Iterative se llama Set EngSol() que retorna la solucion en forma de un conjunto de textos y cuyos parametros son: a) Set linSet, que es el area a resolver, b) Set rulSet, que es la base de reglas que hay que aplicar, c) Real maxSta, que es el numero maximo de iteraciones, nuevos estados por los que puede pasar el area de entrada y que es util frente a ciclos eternos, d) Text preFil, que es la ruta y el nombre de 2 fichero, sin extension, que guardaran las trazas en Html y Javascript. e) Real numCol, que es el numero de columnas de las tablas de estados de la traza de salida en Html y f) Real rndCtr, que es el control del determinismo en la seleccion de las reglas: si es 0 es determinista, si es 1 es aleatorio y si esta entre 0 y 1 pseudoaletorio en una la proporcion que determine el valor de rndCtr.
2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio