Programas que para unas mismas entradas generan o pueden generar, en cada ejecución, salidas diferentes.
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.
Constructor de la Newsletter AVPPM con-Q.tv que genera tanto las páginas de la newsletter online, con el histórico de noticias, como el contenido de cada newsletter periódica, con las últimas noticias, que se envía a los socios por correo electrónico. Las noticias son posts con 4 niveles de importancia (status), que se organizan en un directorio con ficheros y estos con posts, que pueden pertenecer a múltiples clases o categorías. El programa esta basado en un macro-expansor a doble nivel de Tol en Html, que permite, por ejemplo, crear índices automáticos por artículos, por clases, por años que se tratan como clases, por niveles e índices de ilustraciones y por categorías de ilustraciones.
Este programa y la creación de este sitio web esta basado en un macro-expansor a doble nivel de Tol embebido en Html, donde la semilla de Html contiene Tol embebido y los post también pueden contener Tol embebido, por lo que dentro de la primera expansión, la de la semilla, se pueden realizar otras expansiones, que son las contenida en los post. La macro-espansión de Tol a doble nivel que se emplea en este programa permite que los post contengan código Html y código Tol, por ejemplo, para crear índices, realizar cálculos, poner diferentes contenidos para una misma página en diferentes ejecuciones, etc.
Es el programa constructor del sitio web OmrForms.es, que es un sitio dedicado a la comercialización de servicios y formularios en papel para la lectura óptica de datos. Los contenidos para este sitio web se estructuran en base a posts con 3 niveles de importancia (status) y que se guardan en un único fichero de texto denominado agenda de posts que es un banco de contenidos. Los 3 niveles de los posts son: a) A de Anulado, significa que está en el banco de contenidos pero que no se puplica, b) B de Bajo, se publica, pero no sale en el menú principal en la parte superior izquierda de todas las páginas web del sitio y c) C de Común, se publica y aparece enlazado desde el menú principal de todas las páginas.
Omr.Forms es un programa que puede considerarse básico en relación a otros constructores de sitios web desarrollados en lenguaje Tol y que se caracteriza por: a) Emplear una única agenda de posts que se alberga en el fichero de ruta agenda/agendadb.age. b) Los posts no tienen clases para su categorización, a diferencia de otros programas constructores de sitios webs. c) Se basa en un macro-expansor simple de Tol embebido en Html. d) Combina los títulos y los subtítulos, alternativos y disponibles para cada post, de forma que los contenido publicados no son siempre idénticos a los publicados anteriormente. e) La decoración lateral izquierda con ejemplos de formularios para lectoras ópticas de marcas es tambien aleatoria, por lo que es diferente en cada publicación. f) Las páginas las crea de una forma circular, siguiendo la misma secuencia de definición y las enlaza de tal manera, que empezando por cualquier página, leyendo hasta el final y pidiendo leer más, se pueden recorrer todas las páginas.
PDonnelly.CellsMatrix es un programa que reproduce el autómata celular propuesto por Peter James Donnelly y que esta programado en Tol utilizando una estructura matricial, Matrix, de celulas de opinion. Es un programa desarrollado en un solo fichero Tol y que al emplear una version moderna de la funcion FormatMatrix() de 6 parametros, que en las versiones anteriores solo tiene 3, funciona a partir de la version Tol 2.0.1, sin embargo, su adaptacion a versiones anteriores no es compleja.
PDonnelly.CellsMatrix puede simular un comportamiento biológico como si fuera un ejemplo de la coexistencia y competencia de 2 clases de bacterias en un mismo medio, matriz, donde no falta su alimento, pero hay sobrepoblacion. En cada celda de la matriz hay una bacteria de una de las 2 especies y en cada paso del proceso se escoge al azar una de las bacterias para que muera y el espacio que deja libre sea utilizado por una de sus vecinas, elegida al azar, para reproducirse y que lo ocupe un ejemplar semejante a ella. A partir de la distribucion aleatoria inicial, con ambas clases de bacterias mezcladas, los ciclos de ejecucion, hacen que las bacterias de cada especie se organicen en grande grupos, que se mueven, se amplian o decrecen mientras luchas por sobrevivir. Tras un tiempo de ejecucion es posible que uno de los tipos de bacteria se convierta en dominante y el otro pueda llegar a extinguirse.
Programa constructor del sitio web del dominio forense.info dedicado a contenidos de formación en informática forense en donde se presentan 3 cursos de experto, especialista y máster en informática forense y pericial. Los contenidos que emplea son posts con 3 niveles de importancia (status), que se organizan en un directorio, que se denomina agenda, este directorio tiene contiene varios ficheros, cada fichero contiene varios posts y cada post pertenece a una o varias clases (categorías) de posts. Dentro de este directorio de agenda, sin pertenecer a ella, hay un glosario de términos de informática forense que permiten ilustrar los contenidos del sitio de forma no determinista.
Este programa para la construcción del sitio web forense.info utiliza un directorio de agenda de posts, dentro de este directorio los posts se estructuran en varios ficheros, usualmente un fichero para cada clase de posts, lo que permite organizar los post por su tipo de contenido, por ejemplo, toda la bibliografía esta en el mismo fichero. Estos ficheros de posts tienen de extensión .age. En este mismo directorio se guarda un glosario de términos de informática forense y pericial con la que se complementa la información publicada en los posts. Los términos publicados junto con los posts bien pueden ser generales o bien ser relativos a la información concreta que proporciona en cada post.
ChRules.RandRecursive es un programa 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 con un cierto objetivo. Las reglas de ChRules.RandRecursive son del tipo [condicion, accion], esto es: a) si se cumple la condicion b) entonces se aplica la accion de transformacion. Tanto la parte de la condicion como la de la accion son 2 rectangulos de caracteres, en principio de identicas dimensiones, por ejemplo de 2x3 caracteres, de 1x2 caracteres, 3x5 caracteres, etc. La parte inicial del nombre del programa, ChRules, proviene de estas caracteristicas, Ch de Ch(aracters) y Rules de reglas, esto es, que se podrian llamar reglas de caracteres. La idea basica del funcionamiento es la siguiente: a) si en el estado actual del area de caracteres existe algun subarea rectangular con el mismo contenido que la parte de condicion de una regla, b) entonces dicha regla es aplicable y de aplicarse el subarea rectangular del area de caracteres que coincide con la condicion es sobreescrita, conservando la forma, con el area rectangular de caracteres de la accion de la regla. Por tanto, estas reglas de rectangulos de caracteres que utiliza el programa ChRules.RandRecursive pueden considerarse como reglas de reescritura, pero, a diferencia de otras reglas de reescritura, en vez de trabajar con secuencias de caracteres trabajan con areas rectangulares de caracteres.
ChRules.RandRecursive incluye un conjunto de pares [area, base de reglas] con diferentes caracteristicas y objetivos: rnd) Es para comprobar que el comportamiento es realmente aleatorio tanto en la aplicacion de las reglas como sobre las subareas de aplicacion. cua) Es una base de reglas constructivas, realizan un crecimiento aleatorio cuadriculando su area de aplicacion, termina cuando todo el area esta cuadriculada. cel) Es un automata celular donde un conjunto de celulas se mueven de forma libre por el area, reproduciendose por parejas y engendrando entre 2 una nueva celula y tambien pueden morir cuando estan demasiado juntas (superpoblacion) o, por el contrario, demasiado aisladas. Es, por tanto, una base de reglas de movimiento, de creacion y de destruccion como la vida misma. bat) Es una batalla fundamentalmente destructiva donde 2 bandos de bombarderos y lanzaderas de misiles se enfrentan de una forma equilibrada. Esto es, todas las reglas a favor o en contra de uno de ellos tienen sus reglas equivalentes a favor o en contra del otro. Adicionalmente, incluye pequeñas tactivas defensivas como contrarrestar con una bomba un misil del contrario, contrarrestar con un misil una bomba del contrario, cerrar las defensas para evitar un impacto y, ciertas complicaciones, como por ejemplo, que bombas y misiles pueden sufrir desviaciones y que con al menos una defensa averiada los bombarderos y las lanzaderas no pueden ni cerrarse ni moverse. wal) Es una base de reglas principalmente destructiva, donde una serie de lanzaderas de misiles tratan de derribar un muro en el que a su vez los elementos son explosivos y al recibir un impacto pueden producir cadenas de destruccion que se transmiten por los elementos adyacentes. A diferencia de las anteriores esta base de reglas incluye una regla de deteccion del final del proceso de deteccion de reglas.
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.
ChRules.Iterative visualiza sus resultados de 3 formas diferentes: a) Mediante una traza de evolucion del mapa por pantalla. b) Mediante una traza en un fichero en disco, escrita en Javascript, que se traslada tal y como esta a un simulador que permite la posterior simulacion de los resultados. c) Mediante paginas escritas en Html con los casos resueltos paso a paso. El programa se estructura en base a un probrama principal make.tol que se incluye: a) ficheros de funciones comunes de conjuntos y ficheros, b) ficheros de funciones por tipos de objeto que emplea, areas, reglas y motor de resulucion y c) tantos ficheros de aplicacion como tipos de casos se han programado, automatas celulares, robots y laberintos, juego del pong, etc.
2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio