<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6367990356894402631</id><updated>2012-01-23T03:47:23.674-08:00</updated><category term='patrones de diseño'/><category term='algoritmos'/><category term='Redes Sociales'/><category term='Orientacion a Objetos'/><title type='text'>Oscar Sandoval</title><subtitle type='html'>Blog sobre ingeniería Informática. Este Blog está dedicado a cosas relacionadas con todo lo que me apasione de la ingeniería informática</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-2053559406176000506</id><published>2011-08-26T19:42:00.000-07:00</published><updated>2011-08-26T20:11:33.251-07:00</updated><title type='text'>La revolución de los Guachos!!!</title><content type='html'>Educación sin lucro!! dicen los lienzos a las afueras de la Universidad de Chile, pitos y cacerolazos escucho fuera de mi depto y el típico canto “y va caer y va caer la educación de Pinochet” es lo que escucho todos los días aquí en Santiago, y decidí, a pesar de mi poco tiempo libre, documentarme y reflexionar sobre el tema.&lt;br /&gt;&lt;br /&gt;El gobierno Militar, con el DFL de 1980, buscó una reforma al sistema educactivo, basándose en incentivos y subsidios a la educación, e impulsando la creación de nuevas universidades, institutos profesionales y centros de formación técnica para ampliar la masa profesional chilena, que sin duda Chile necesitaría en los años venideros.&lt;br /&gt;&lt;br /&gt;Hasta aquí todo bien, pero ¿que hubiera pasado si el gobierno militar no hubiera realizado estos cambios en la educación?, probablemente Chile hubiera mantenido por muchos años una tasa de ingreso a la universidad del 5% de la población, cifras de 1973, y por lo tanto, no hubiera existido la masa profesional necesaria para llevar a cabo el desarrollo del país.&lt;br /&gt;&lt;br /&gt;Por otro lado, la concertación se dedicó a reafirmar y gobernar esta educación por veinte años y la defendió con uñas y dientes durante la revolución pinguina.&lt;br /&gt;&lt;br /&gt;Hoy hay un nuevo gobierno de derecha en Chile, y los estudiantes “por cosas del destino”, eligieron a este gobierno para reclamar por sus derechos, paralizando la educación del país para ser escuchados, piden educación de Estado y de Calidad, como si el apellido Estado fuera simil de calidad, y lo privado de mala calidad. Piden educación gratuita, como si los recursos fueran más que las necesidades, destruyendo toda teoría económica con ello. Pedir lo anterior, es pedir la postergación de necesidades fundamentales de los Chilenos, como Salud, vivienda y alimentación. No me parece que la deuda de los estudiantes sea más urgente que reconstruir las miles de casas que se destruyeron por el terremoto del 27F. No me parece que la deuda de los estudiantes sea más importante que financiar las enfermedades catastróficas de miles de compatriotas, simplemente no me parece que los estudiantes se sientan con el derecho de decidir que es lo urgente o no para los Chilenos.&lt;br /&gt;&lt;br /&gt;Sin duda, se debe mejorar el modelo de la educación actual, hay que rebajar los aranceles, hay que aumentar las becas y el acceso a la educación y para ello el gobierno debe dejar su orgullo y sentarse a negociar con los estudiantes.&lt;br /&gt;&lt;br /&gt;El presidente Piñera  nos pide que cuidemos nuestro querido Chile, y ojala todos nos unamos a esa causa, incluso la concertación y la gente de izquierda que deben aprender a ser oposición en democracia, eso significa una oposición constructiva y unida en los intereses mayores de Chile. Porque les guste o no Piñera ganó y lo hizo legítimamente y si al gobierno le va mal a Chile le irá mal.&lt;br /&gt;&lt;br /&gt;Si algo reflejó el terremoto del 27F, es lo fácil que se pierde la moralidad y la decencia en la "gente decente" cuando descubren que robar, saquear o infringir la ley no tiene costo. En esa oportunidad, los militares salieron a poner orden, llamados por el propio pueblo. Hoy nuevamente escucho esas voces, luego de tanto saqueo y delincuencia en las calles, donde los carabineros se ven sobrepasados y la sociedad chilena reclama por mayor dureza contra los delincuentes, como si fuéramos niños necesitando la  reprimenda de un padre. Tal vez, la sociedad y la democracia en si no ha madurado lo suficiente y necesitamos de una mano dura que nos diga como comportarnos. Tal vez, echamos de menos a esa mano dura que ya no está y nos convertimos en la generación de los guachos, en guachos del gobierno militar, en guachos de Pinochet. Espero que no sea así......&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-2053559406176000506?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/2053559406176000506/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=2053559406176000506' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/2053559406176000506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/2053559406176000506'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2011/08/la-revolucion-de-los-guachos.html' title='La revolución de los Guachos!!!'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-3601049182516399985</id><published>2011-08-05T17:53:00.000-07:00</published><updated>2011-08-05T18:08:01.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Redes Sociales'/><title type='text'>Y volvi a caer... atrapado por las redes sociales</title><content type='html'>Si lo admito, volví a caer, desde hace pocos días tengo una cuenta en FourSquare, y ya son cuatro las redes sociales en las que marco precencia.&lt;br /&gt;&lt;br /&gt;Recuerdo que todo empezo para mi con Fotolog, un sitio web en el que se podía compartir fotos con el único fin de recibir posteos “comentarios” y nunca pude entender cúal era el afan de la gente de subir fotos y recibir comentarios con el único fin de aumentar su ego o sentirse aceptado socialmente.&lt;br /&gt;&lt;br /&gt;Luego llego Facebook, me inscribi por curisidad, y luego de probarlo un tiempo, no encontraba sentido por qué la gente querría publicar sus fotos, links y “status”, una especie de impulso por exponer su vida. Admito que encontraba ridiculo que alguien escribiera en su status “Tengo hambre”, “Tengo sueño”, “me voy al mall”, etc.  Luego de un tiempo, tenía más de cien amigos agregados, la mayoría compañeros de la Universidad, colegio y liceo y ya no me pareció tan aburrido conocer la vida de mis amigos y tener un medio dónde mantener contacto con ellos, y conocer qué fué de sus vidas, recordar con sus fotos las vivencias de la Universidad y las locuras del Liceo, tardes enteras “carreteando” sin nada que nos preocupara. Admito que hay algo de nostalgia también, de una u otra manera siento que al mantener ese contacto, todavía siento que estoy en la Universidad y que nada ha cambiado. Sueño que termina cuando cierro mi cuenta de Facebook.&lt;br /&gt;&lt;br /&gt;Luego conocí Twitter. El famoso Twitter. Recuerdo que lo primero que dije al conocerlo fué ¿esto es twitter? Es una especie de Status Facebook de 140 caracteres, no creo que tenga futuro esta aplicación “que ojo tengo”. Descepcionado no ingrese más a mi cuenta. Luego cuando tuve mi primer smartphone, todo fue distinto, le encontre sentido al twitter, no como twittero, ya que no posteo nunca, sino que empece a seguir periodistas, blog, temas de interes, etc. y ahi estoy, con mi galaxy, pendiente de leer como la gente a la que sigo, comparte su visión del mundo en pocos caracteres.&lt;br /&gt;&lt;br /&gt;Un dia, “googleando” por interntet conoci Linkedin, una especie de Facebook para profesionales, un medio donde compartir tu CV, mantener contactos y seguir grupos de interes. Un gran espacio para encontrar ofertas laborales, incluso mi primer trabajo en Santiago, fué gracias Linkedin.&lt;br /&gt;&lt;br /&gt;Pero no pude resistirme, tres redes no eran suficiente, me cree una cuenta Foursquare, reconozco que todavía no sé muy bien para qué exactamente sirve, sólo me limito a realizar check-in y buscar recomendaciones de los lugares que frecuento, ni siquiera tengo amigos a quién agregar. Si Facebook me conecta con mi amigos, Twitter me conecta con el mundo, Linkedin me conecta con profesionales, Foursquare me mantendrá siempre localizado y no necesitaré otra red rocial a la cual unirme. Decidí que no necesitaba otra red, que ya era suficiente y me prometí no tener una quinta red.&lt;br /&gt;&lt;br /&gt;Hace poco tiempo salio Google+. La flamante red social de Google. Reconozco que me pica el bichito, pero ahi estoy, firme. No necesito una quinta red, no la necesito, no caeré....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-3601049182516399985?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/3601049182516399985/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=3601049182516399985' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/3601049182516399985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/3601049182516399985'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2011/08/y-volvi-caer-atrapado-por-las-redes.html' title='Y volvi a caer... atrapado por las redes sociales'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-8651367356794796348</id><published>2010-02-25T06:58:00.001-08:00</published><updated>2010-08-14T10:26:48.927-07:00</updated><title type='text'>Simulación de Estados de Procesos</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;u&gt;Introducción&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;En los procesadores multiprocesos se pueden distinguir 4 estados principales (listo, bloqueado, suspendido y nuevo).&lt;/p&gt;  &lt;p align="justify"&gt;En ese post se analiza los 4 estados de los procesos en el cual se detalla su descripción como ejemplo de uso y análisis del funcionamiento del sistema operativos multiprocesos.&lt;/p&gt;  &lt;p align="justify"&gt;Además un programa en código C que emula el funcionamiento de los estados de los procesos, si quieren la fuente de este programa, sólo tienen que pedirlo...&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_B8Gj2FAmRCk/S4aP2zuzREI/AAAAAAAAAyA/UZL-0QY89Ik/s1600-h/clip_image002%5B3%5D.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aP3peniYI/AAAAAAAAAyE/BG-_iFp5GkI/clip_image002_thumb.gif?imgmax=800" width="16" height="23" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;u&gt;Estructura de Datos:&lt;/u&gt;&lt;/b&gt; Los cuatro estados que puede tener un proceso son: nuevo, listo, suspendido, bloqueado cada estado representa una cola única, y estas se manejan a través de una lista enlazada, por tanto se crea una estructura Nodo y una estructura lista a través de los TAD correspondientes, el código es el siguiente.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;Estructura de los Nodos&lt;/p&gt;  &lt;p&gt;&lt;b&gt;typedef struct&lt;/b&gt; ListaNodo &lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;int info;&lt;/p&gt;  &lt;p&gt;struct ListaNodo *ant, *sig;&lt;/p&gt;  &lt;p&gt;} *pListaNodo,ListaNodo;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;typedef struct &lt;/b&gt;Estructura de las Listas&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;pListaNodo primero, ultimo, ventana;&lt;/p&gt;  &lt;p&gt;int longitud;&lt;/p&gt;  &lt;p&gt;} TLista, *Lista;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;typedef &lt;/b&gt;pListaNodo Ventana;&lt;/p&gt;  &lt;p&gt;además se crean varias funciones de implementación de la estructura como iniciar lista, anexar lista , primer lista, ultimo lista , siguiente lista, etc., estas funciones están implementadas en la cabecera &lt;b&gt;tadlista.h&lt;/b&gt;&lt;/p&gt;  &lt;span class="fullpost"&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;Colas:&lt;/u&gt;&lt;/b&gt; Para el manejo de las colas se crea una &lt;b&gt;cabecera&lt;/b&gt; colas.h, la cual ocupa la lista enlazada y generando nuevas funciones para la implementación de la &lt;b&gt;cola, &lt;/b&gt;para ello se crea una variable tipo lista de nombre cola.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;typedef&lt;/b&gt; Lista Cola;&lt;/p&gt;  &lt;p&gt;Luego se crean varias funciones de implementación como iniciar Cola, Vaciar Cola, información de la Cola, etc.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Veamos algunos Ejemplos:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;La función adicCola sitúa un nuevo elemento de la cola al final de ésta&lt;/p&gt;  &lt;p&gt;&lt;b&gt;void &lt;/b&gt;adicCola( Cola col, int elem )&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;ultLista&lt;/b&gt;(col);&lt;/p&gt;  &lt;p&gt;&lt;b&gt;anxLista&lt;/b&gt;(col,elem);&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;La función elimCola elimina el primer elemento de la cola &lt;/p&gt;  &lt;p&gt;&lt;b&gt;void&lt;/b&gt; elimCola( Cola col )&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;primLista&lt;/b&gt;(col);&lt;/p&gt;  &lt;p&gt;&lt;b&gt;elimLista(&lt;/b&gt;col);&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;int&lt;/b&gt; longCola( Cola col ) Retorna la longitud de la cola&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;return&lt;/b&gt; col-&amp;gt;longitud;&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;Estas funciones son muy importantes para facilitar el manejo de las colas y para el buen funcionamiento del programa.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Estructura del &lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;u&gt;Proceso:&lt;/u&gt;&lt;/b&gt; cada proceso es una estructura con sus propias variables y a cada&lt;/p&gt;  &lt;p&gt;Proceso se le asigna una letra única de identificación, los procesos poseen un valor, una linea de instrucción, un estado y una dirección de memoria.&lt;/p&gt;  &lt;p&gt;Cada proceso puede tener un máximo de 10 líneas de instrucción y le corresponde una única dirección de memoria de 10 espacios la cual posee en toda su vida activa&lt;/p&gt;  &lt;p&gt;El código de la estructura de los procesos es el siguiente&lt;/p&gt;  &lt;p&gt;&lt;b&gt;typedef&lt;/b&gt;&lt;b&gt; struct&lt;/b&gt; est_procesos&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;int n; Valor del proceso&lt;/p&gt;  &lt;p&gt;int linea[10]; linea de instrucción&lt;/p&gt;  &lt;p&gt;int bcp; dirección del bcp&lt;/p&gt;  &lt;p&gt;char estado; estado del proceso&lt;/p&gt;  &lt;p&gt;int mem; linea de memoria asignada&lt;/p&gt;  &lt;p&gt;} tproceso,*proceso;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Crear proceso:&lt;/u&gt;&lt;/b&gt; esta función se encarga de crear un proceso e inicia sus valores iniciales&lt;/p&gt;  &lt;p&gt;Cada proceso creado se guarda en un vector de procesos PRO [] este vector es &lt;b&gt;muy&lt;/b&gt; &lt;b&gt;importante &lt;/b&gt;por que sirve para guardar todos los procesos creados y permite al programa recoger información de un proceso en cualquier momento, los valores del proceso es también su dirección en este Vector&lt;/p&gt;  &lt;p&gt;proceso crear_proceso(int n,int l,int memoria)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;Proceso A; Crea el proceso&lt;/p&gt;  &lt;p&gt;A = (proceso) malloc (sizeof (tproceso)); asigna memoria&lt;/p&gt;  &lt;p&gt;A-&amp;gt;n = 1; valor del proceso&lt;/p&gt;  &lt;p&gt;A=vaciar_linea(A);&lt;/p&gt;  &lt;p&gt;A-&amp;gt;linea[l]=1; linea de instrucción leída&lt;/p&gt;  &lt;p&gt;A-&amp;gt;estado='n'; estado nuevo&lt;/p&gt;  &lt;p&gt;A-&amp;gt;mem=memoria; espacio de dirección asignada&lt;/p&gt;  &lt;p&gt;return A; retorna el proceso al vector PRO[]&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Asignación de memoria: &lt;/u&gt;&lt;/b&gt;Cada proceso tiene asignada una porción de porción de memoria fija de 10 celdas y solo puede ocupar esa parte de la memoria&lt;/p&gt;  &lt;p&gt;&lt;b&gt;int memoria [200];&lt;/b&gt; este vector simula la memoria del computador en total puede almacenar 20 porciones de memoria para &lt;b&gt;20 procesos&lt;/b&gt;, por ejemplo un proceso X puede tomar una celda de [10 -19]&lt;/p&gt;  &lt;p&gt;Para garantizar que este espacio de memoria sea único para cada proceso se encuentra la función vacio_mem.&lt;/p&gt;  &lt;p&gt;La variable mem es una dirección aleatoria de memoria, si esta libre el espacio de memoria retornara la misma dirección, en caso que la dirección esté ocupada buscara la próxima dirección siguiente vacía.&lt;/p&gt;  &lt;p&gt;El vector Vacio [] se encarga de almacenar las direcciones no ocupadas&lt;/p&gt;  &lt;p&gt;mem=&lt;b&gt;vacio_mem&lt;/b&gt;(mem,dato); la función &lt;b&gt;vacio_mem &lt;/b&gt;retornara la dirección de memoria a&lt;/p&gt;  &lt;p&gt;La variable &lt;b&gt;mem&lt;/b&gt; que más tarde se le asignara al proceso&lt;/p&gt;  &lt;p&gt;Correspondiente.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;int vacio_mem&lt;/b&gt;(int n,int dato)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;int i;&lt;/p&gt;  &lt;p&gt;if(&lt;b&gt;memoria[n]==&lt;/b&gt;0)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;memoria[n]=&lt;/b&gt;dato; si la memoria no esta asignada retorna la misma &lt;/p&gt;  &lt;p&gt;Dirección&lt;/p&gt;  &lt;p&gt;&lt;b&gt;return &lt;/b&gt;n;&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;else&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;for(&lt;/b&gt;i=1;i&amp;lt;=20;i++) En caso contrario busca un espacio de memoria &lt;/p&gt;  &lt;p&gt;Vacía&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;if&lt;/b&gt;(vacio[i]==0)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;vacio[i]=dato;&lt;/p&gt;  &lt;p&gt;return i*10;&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Return&lt;/b&gt; 0; en el caso que no haya memoria disponible &lt;/p&gt;  &lt;p&gt;Retornara un valor cero&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Estados del proceso:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Nuevo:&lt;/u&gt;&lt;/b&gt; es la cola donde se alojan los procesos que se van generando aleatoria mente&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aP4Op5yVI/AAAAAAAAAyI/OdNGkR4DaGk/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP4x-YctI/AAAAAAAAAyM/6h0PXKPjzCM/clip_image004_thumb.jpg?imgmax=800" width="149" height="77" /&gt;&lt;/a&gt;&lt;b&gt;&lt;u&gt; &lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Listo:&lt;/u&gt;&lt;/b&gt; Son los procesos que interactúan con el procesador y lo hacen hasta terminar sus&lt;/p&gt;  &lt;p&gt;Instrucciones&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_B8Gj2FAmRCk/S4aP5ae5ESI/AAAAAAAAAyQ/1NA2G8GUGsE/s1600-h/clip_image006%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh5.ggpht.com/_B8Gj2FAmRCk/S4aP6MUKn-I/AAAAAAAAAyU/erQmJFypXBY/clip_image006_thumb.jpg?imgmax=800" width="142" height="64" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Bloqueado: &lt;/u&gt;&lt;/b&gt;son los procesos que solicitan un recurso de Entrada y salida&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_B8Gj2FAmRCk/S4aP6o4u5eI/AAAAAAAAAyY/2nNlNY8c4bM/s1600-h/clip_image008%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh5.ggpht.com/_B8Gj2FAmRCk/S4aP7M2CsPI/AAAAAAAAAyc/YawJRFZOMYY/clip_image008_thumb.jpg?imgmax=800" width="133" height="69" /&gt;&lt;/a&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Suspendidos:&lt;/u&gt;&lt;/b&gt; Son los procesos que no tienen asignada una dirección de memoria&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aP8Mm5rHI/AAAAAAAAAyg/L5JEBnzKUAo/s1600-h/clip_image010%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP85gwjxI/AAAAAAAAAyk/Z03iz0ax61c/clip_image010_thumb.jpg?imgmax=800" width="145" height="66" /&gt;&lt;/a&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Planificador:&lt;/u&gt;&lt;/b&gt; Una vez cargados todos los procesos a la cola de tipo nueva se pone en marcha la función Planificador, La función planificador se encarga de de seleccionar el proceso que pasara de su estado nuevo a listo, dependiendo de la antigüedad del proceso, siendo seleccionado el proceso a través de una política &lt;b&gt;FIFO &lt;/b&gt;(primero que entra primero que sale)&lt;/p&gt;  &lt;p&gt;Aquí llama a la función planificador y retornara a la cola listo&lt;/p&gt;  &lt;p&gt;listo=&lt;b&gt;planificador&lt;/b&gt;(nuevo,listo);&lt;/p&gt;  &lt;p&gt;Lista &lt;b&gt;planificador&lt;/b&gt;(Lista col,Lista cola)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;proceso&lt;/b&gt; proces;&lt;/p&gt;  &lt;p&gt;proces=&lt;b&gt;pro&lt;/b&gt;[infoCola(col)]; se recupera el proceso a través del vector PRO []&lt;/p&gt;  &lt;p&gt;Confirma que tiene memoria seleccionada&lt;/p&gt;  &lt;p&gt;&lt;b&gt;if&lt;/b&gt;(proces-&amp;gt;mem!=0)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&lt;b&gt;primLista&lt;/b&gt;(col); primero de la lista&lt;/p&gt;  &lt;p&gt;&lt;b&gt;adicCola&lt;/b&gt;(cola,infoCola(col)); adiciona a la cola listo&lt;/p&gt;  &lt;p&gt;&lt;b&gt;elimCola(&lt;/b&gt;col); elimina el proceso de la cola nuevo&lt;/p&gt;  &lt;p&gt;flechas();&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Return &lt;/b&gt;cola; retorna la cola a la cola listo&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Suspendor:&lt;/u&gt;&lt;/b&gt; esta función se encarga de seleccionar el proceso que no tiene memoria y lo pasa a la cola de estado suspendido.&lt;/p&gt;  &lt;p&gt;Aquí llama a la función suspendor y se devuelve a la cola suspendida&lt;/p&gt;  &lt;p&gt;suspendido= suspendor(nuevo,suspendido); procesos que no tienen asignada memoria &lt;/p&gt;  &lt;p&gt;Lista suspendor(Lista col,Lista sus)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;proceso proces;&lt;/p&gt;  &lt;p&gt;proces=pro[infoCola(col)];&lt;/p&gt;  &lt;p&gt;if(proces-&amp;gt;mem==0) confirma que el proceso no tenga asignada &lt;/p&gt;  &lt;p&gt;Memoria&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;primLista(col);&lt;/p&gt;  &lt;p&gt;adicCola(sus,infoCola(col)); mueve el proceso a la cola de estado &lt;/p&gt;  &lt;p&gt;Suspendido&lt;/p&gt;  &lt;p&gt;ElimCola (col);&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Bloqueador:&lt;/u&gt;&lt;/b&gt; esta función selecciona a los procesos que requieren recursos de entrada y salida y pasa el proceso de la cola listo a la cola de estado Bloqueado&lt;/p&gt;  &lt;p&gt;Lista bloqueador(Lista col, Lista blo)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;proceso proces;&lt;/p&gt;  &lt;p&gt;proces=pro[infoCola(col)]; recupera el proceso&lt;/p&gt;  &lt;p&gt;if(proces-&amp;gt;linea[proces-&amp;gt;n]==1) pregunta si es del tipo entrada&lt;/p&gt;  &lt;p&gt;Salida (1)&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;adicCola(blo,infoCola(col)); pasa el proceso al estado &lt;/p&gt;  &lt;p&gt;bloqueado&lt;/p&gt;  &lt;p&gt;if(!vaciaCola(col))elimCola(col);&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;return blo; retorna la cola bloqueado&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Procesador: &lt;/u&gt;&lt;/b&gt;el procesador se encarga de leer la linea de instrucción del proceso e incrementa en una unidad, solo es capaz de leer un proceso a la vez, y retorna el proceso al final de la cola tipo listo.&lt;/p&gt;  &lt;p&gt;Cuando un proceso llega al límite de instrucción que son 10 instrucciones el proceso se elimina automáticamente liberando su memoria para poder ingresar otro proceso&lt;/p&gt;  &lt;p&gt;proceso actualizar_proceso(proceso A) función de procesador que actualiza los&lt;/p&gt;  &lt;p&gt;{ Datos del proceso&lt;/p&gt;  &lt;p&gt;int j;&lt;/p&gt;  &lt;p&gt;j=A-&amp;gt;n;&lt;/p&gt;  &lt;p&gt;j++;&lt;/p&gt;  &lt;p&gt;A&amp;gt;n=j; aumenta en uno la instrucción del proceso&lt;/p&gt;  &lt;p&gt;A-&amp;gt;estado='l';&lt;/p&gt;  &lt;p&gt;return A; retorna el proceso&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Ejemplo:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP9Yxe-9I/AAAAAAAAAyo/y3k39C1SqXg/s1600-h/clip_image012%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP-beGQpI/AAAAAAAAAys/m2M2M_hGgC4/clip_image012_thumb.jpg?imgmax=800" width="140" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Este ejemplo es un procesador ejecutando un proceso M&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Informaciones Generales Sobre los procesos&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;En el programa se muestran dos recuadros que muestran toda la información sobre los procesos en ejecución, el recuadro estadística se muestra los valores que posee el proceso en el instante de su ejecución y el recuadro memoria muestra la porción de memoria asignada a ese proceso.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Cuadro Estadística&lt;/u&gt;&lt;/b&gt;&lt;u&gt;s&lt;/u&gt;: muestras los datos referentes a cada proceso en ejecución:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Proceso:&lt;/b&gt; Letra asignada&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Instrucción&lt;/b&gt;: número de linea de la instrucción que se esta ejecutando&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Linea [6]&lt;/b&gt; = tipo de instrucción o [E/S]. Si la instrucción no requiere ningún recurso&lt;/p&gt;  &lt;p&gt;Externo, entonces se imprime &lt;b&gt;Instruc. &lt;/b&gt;En caso de que requiera una&lt;/p&gt;  &lt;p&gt;Instrucción [E/S] entonces se imprime [E/S] y el proceso pasaría a estado&lt;/p&gt;  &lt;p&gt;Bloqueado.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Estado&lt;/b&gt; = muestra su estado listo&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP-8VwOPI/AAAAAAAAAyw/cgRmbGxRZDA/s1600-h/clip_image014%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aP_ow9emI/AAAAAAAAAy0/P4_SjF4cw9s/clip_image014_thumb.jpg?imgmax=800" width="194" height="151" /&gt;&lt;/a&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Memoria: &lt;/u&gt;&lt;/b&gt;muestra la porción de memoria asignada a cada proceso en ejecución, en este caso el proceso solo puede ocupar su porción de memoria de 10 celdas que es de 140 a 149&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aQAPJx9sI/AAAAAAAAAy4/qke4H3LBXUM/s1600-h/clip_image016%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://lh5.ggpht.com/_B8Gj2FAmRCk/S4aQA9AXIGI/AAAAAAAAAy8/tuIUGG31lHE/clip_image016_thumb.jpg?imgmax=800" width="192" height="145" /&gt;&lt;/a&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Políticas Generales del programa&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;En un sistema operativo se utilizan varias políticas de ejecución de sus tareas como es la asignación de memoria, el tipo de prio ridad de los procesos, etc. El uso de estas políticas define y afecta el comportamiento general del sistema.&lt;/p&gt;  &lt;p&gt;En este programa se usan varios manejos de implementación para definir el comportamiento de los procesos como son las políticas de asignación de memoria o políticas de prioridad de los procesos.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Políticas sobre la memoria: &lt;/u&gt;&lt;/b&gt;se ha creado una memoria de 200 celdas de tamaño fijo, la cual puede albergar a 20 procesos activos, cada proceso tiene asignado 10 celdas de memoria y solo puede ocupar esa porción de memoria asignada.    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;Procesos&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;0&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;1&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;2&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;3&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;4&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;5&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;6&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;7&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;8&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;9&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;A&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;B&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;&lt;b&gt;.&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;&lt;b&gt;.&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;Y&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt;           &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="62"&gt;           &lt;p&gt;Z&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;          &lt;td valign="top" width="19"&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Políticas de Prioridad&lt;/u&gt;&lt;/b&gt;: Para el manejo de los procesos se ha asignado la prioridad &lt;b&gt;FIFO&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;(First in First out), &lt;/b&gt;primero que entra primero que sale, por tanto los procesos mas antiguos en la cola son los primeros que se ejecutan en el procesador&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_B8Gj2FAmRCk/S4aQBCJIlpI/AAAAAAAAAzA/qI-gyimWInI/s1600-h/clip_image017%5B3%5D.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image017" border="0" alt="clip_image017" src="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aQCFq9WKI/AAAAAAAAAzE/R5dDMekhnh4/clip_image017_thumb.gif?imgmax=800" width="244" height="49" /&gt;&lt;/a&gt;   &lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Vista general del programa:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_B8Gj2FAmRCk/S4aQDAZzoBI/AAAAAAAAAzI/I1pOW2Dvzj8/s1600-h/clip_image019%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image019" border="0" alt="clip_image019" src="http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aQEPoNhqI/AAAAAAAAAzM/N4BHJ4IwqSA/clip_image019_thumb.jpg?imgmax=800" width="248" height="235" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Conclusión&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Este post ha tratado de los distintos estados que puede tener un proceso a lo largo de su ejecución, la simulación se ha realizado a través de un programa escrito en C++.&lt;/p&gt;  &lt;p&gt;En el software de simulación se ha divido en un archivo con extensión CPP y 4 cabeceras header, la cual la cabecera interface contiene todas las interfaces del programa, las cabeceras cola.h y tadlista.h, contienen toda la estructura de datos del programa.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-8651367356794796348?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/8651367356794796348/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=8651367356794796348' title='17 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/8651367356794796348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/8651367356794796348'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2010/02/simulacion-de-estados-de-procesos.html' title='Simulación de Estados de Procesos'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_B8Gj2FAmRCk/S4aP3peniYI/AAAAAAAAAyE/BG-_iFp5GkI/s72-c/clip_image002_thumb.gif?imgmax=800' height='72' width='72'/><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-8841878847520158179</id><published>2010-02-03T13:41:00.000-08:00</published><updated>2010-08-14T10:29:51.696-07:00</updated><title type='text'>Validar XML con XSD y VB.NET</title><content type='html'>En este post, explicaré como un documento XML es validado por un documento XSD y como a través de VB.NET puedo ocupar estos documentos para validar a traves de código.&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;Bueno empecemos...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;El lenguaje XML es un lenguaje de marca muy parecido a un documento HTML, pero hay una diferencia principal y es que el HTML no indica lo que se está representando, tiene datos mal definidos con elementos de formato, mientras que el XML contiene datos que se autodefinen: describe el contenido de lo que etiquetan.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;Veamos un ejemplo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;documento docid="123"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/documento&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: rgb(14, 0, 16); "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nyR_9X0hI/AAAAAAAAAvY/xl3ddGySJZE/s1600-h/xml.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 71px;" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nyR_9X0hI/AAAAAAAAAvY/xl3ddGySJZE/s320/xml.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5434140816439759378" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;La primera linea sólo nos dice al version del XML y la codificación, esta linea es necesaria en todos los documentos XML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;Después tengo una etiqueta “Documento” con un atributo DocID, esta etiqueta es “compleja”, ya que tiene etiquetas dentro, en nuestro caso Nombre, por lo tanto, una etiqueta es compleja o simple, si tiene o no etiquetas dentro.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;Ahora se nos hace necesario validar este docuemento, para ello utilizamos los archivos con extensión XSD.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;Cabe aclarar que un documento puede estar bien formado y válido, bien formado es cuando su sintaxis es correcta, por ejemplo todas las etiquetas tienen sus respectivos cierres, y válido cuando pasar por la revisión del XSD.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="font-family:&amp;quot;;color:text1;"&gt;Acá hay un xsd para el documento xml anterior:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nzMMkelyI/AAAAAAAAAvg/KmJyj1ewK0A/s1600-h/xsd.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 144px;" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nzMMkelyI/AAAAAAAAAvg/KmJyj1ewK0A/s320/xsd.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5434141816257419042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: rgb(14, 0, 16); "&gt;OJO: “este XSD valida que solo exista una etiqueta nombre, si queremos que exista más de una etiqueta Nombre entonces hay que agregar en “element nombre”, el atributo “maxoccurs=10”, de esa manera podrán haber hasta 10 etiquetas Nombre”&lt;/span&gt;&lt;/div&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-thememso-ansi-language:ES-CLfont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;La primera línea define el NameSpace, estos se utilizan para proporcionar a los elementos un nombre único, en este caso xsd&lt;/span&gt;&lt;span lang="ES"  style="font-family:&amp;quot;;"&gt; &lt;span lang="ES"   style="&amp;quot;&amp;quot;,&amp;quot;serif&amp;quot;; mso-bidi-language:#00FFfont-family:&amp;quot;;color:black;"&gt;Después hay una etiqueta element, que representa una etiqueta en un documento XML, en este caso el elemento es "Documento", como la etiqueta es compleja, osea tiene etiquetas dentro, entonces se escribe la linea complextype, para enumerar todas las etiquetas que tiene dentro, en este caso sólo es "Nombre", como "Nombre" es una etiqueta simple, no lleva esta etiqueta. La etiqueta sequence sirve para enumerar los elementos anidados&lt;/span&gt;&lt;span lang="ES"  style="color:black;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; text-align:justify"&gt;&lt;span lang="ES"   style="&amp;quot;&amp;quot;,&amp;quot;serif&amp;quot;; mso-bidi-language:#00FFfont-family:&amp;quot;;color:black;"&gt;Ahora como documentos tiene atributos estos se deben declarar con la etiqueta attribute, donde definimos el nombre, el uso si es requerido o no y el tipo de datos, si es número o texto. Esta etiqueta siempre va luego del cierre de la etiqueta sequen&lt;/span&gt;&lt;span lang="ES"   style="&amp;quot;&amp;quot;,&amp;quot;serif&amp;quot;;font-family:&amp;quot;;color:black;"&gt;ce.&lt;/span&gt;&lt;span lang="ES"  style="color:black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; text-align:justify"&gt;Para asociar un documento XML con un XSd se debe agregar una etiqueta xsi:noNamespaceSchemaLocation="DocIngreso.xsd"&lt;/p&gt;&lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; text-align:justify"&gt;&lt;span class="Apple-style-span" style="color: rgb(14, 0, 16); "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/S2nz6FsjKeI/AAAAAAAAAvo/hsZOo4oAYy4/s1600-h/xml_asignado.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 31px;" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/S2nz6FsjKeI/AAAAAAAAAvo/hsZOo4oAYy4/s320/xml_asignado.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5434142604686207458" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;Ahora lo más interesante, ¿cómo hago para que mi sistema valide mis documentos XML con los documentos XSD?.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno muy facíl, dare un pequeño ejemplo en VB.NET, si quieren un ejemplo en otro lenguaje sólo tienen que pedirlo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-US"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-theme mso-ansi-language:EN-USfont-family:&amp;quot;;color:text1;"&gt;Ahi va..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-US"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-ansi-language: EN-USfont-family:&amp;quot;;color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;color:black;mso-theme mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:text1;"&gt;Lo primero es importar las librerias necesarias&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;color:black;mso-theme mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;Imports&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: EN-US;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; System.Xml&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;span style="color:green;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt; System.Xml.Schema &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: EN-US;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; Main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;Luego creamos un objeto XmlTextReader, este objeto es un lector de un documento XML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;          &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"   style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: EN-US;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; tr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlTextReader(&lt;span style="color:#A31515;"&gt;"c:\DocIngreso.xml"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;Luego cramos un objeto XmlValidatingreader y lo asociamos al objeto XmlTextReader&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: EN-US;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; vr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlValidatingReader(tr)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;Abrimos el documento xsd&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;vr.Schemas.Add(&lt;span style="color:#A31515;"&gt;""&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;"c:\DocIngreso.xsd"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;y lo validamos por tipo Schema que es el tipo XSD&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;vr.ValidationType = ValidationType.Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;luego leemos el documento xml, si se produce un error lo capturamos, sino es porque el documento es valido&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;AddHandler&lt;/span&gt;&lt;span lang="EN-US"  style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;;mso-font-kerning: 0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; vr.ValidationEventHandler, &lt;span style="color:blue;"&gt;AddressOf&lt;/span&gt; ValidationHandler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-US"  style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;While&lt;/span&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt; vr.Read()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Documento es válido"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:widow-orphan;mso-hyphenate:auto; mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;Console.Read()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt;mso-ansi-language: ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;color:black;mso-theme mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:text1;"&gt;Haber probemos el codigo!!!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;color:black;mso-theme mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:text1;"&gt;El xsd me dice que el atributo DocID es un numero entero&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-font-kerning:0pt; mso-ansi-language:ES-CL;mso-fareast-language:ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-US"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;color:black;mso-theme mso-ansi-language:EN-USfont-family:&amp;quot;;color:text1;"&gt;&lt;xsd:attribute name="DocID" use="required" type="xsd:int"&gt;&lt;/xsd:attribute&gt;&lt;/span&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-US"   style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;; mso-font-kerning:0pt;mso-ansi-language:EN-US;mso-fareast-language: ES-CL;mso-no-proof:yesfont-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;color:black;mso-theme mso-font-kerning:0pt;mso-ansi-language:ES-CL;mso-fareast-language:ES-CL; mso-no-proof:yesfont-family:&amp;quot;;color:text1;"&gt;Entonces probarpe con el DocId con un tipo numero y otro tipo texto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;Primer ejemplo con DocID=”123”  (tipo numero)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; color:black;mso-themefont-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt; &lt;documento docid="123"&gt;&lt;/documento&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nuKFfW6HI/AAAAAAAAAvI/Enl0ldcjSQs/s1600-h/msje_valido.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 162px;" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nuKFfW6HI/AAAAAAAAAvI/Enl0ldcjSQs/s320/msje_valido.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5434136282439018610" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;Como era de esperarse el documento es válido según el xsd.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:text1;"&gt;Segundo ejemplo con DocID=”alguna palabra”     (tipo texto)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/S2nu1WzfzmI/AAAAAAAAAvQ/KzLOY3CIGMY/s1600-h/msje_invalido.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 162px;" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/S2nu1WzfzmI/AAAAAAAAAvQ/KzLOY3CIGMY/s320/msje_invalido.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5434137025821265506" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span lang="EN-US"   style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;Acá nos sale el error y el mensaje, que el tipo de datos no es valido para el atributo DocID&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family:'Times New Roman', serif;"&gt;&lt;o:p&gt;Funciona!!!&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family:'Times New Roman', serif;"&gt;&lt;o:p&gt;Bueno espero les sirva…..&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family:'Times New Roman', serif;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;Aquí va el codigo completo...........................................&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span lang="EN-US"   style="font-family:'Times New Roman', serif;color:blue;"&gt;Imports&lt;/span&gt;&lt;span lang="EN-US"  style="font-family:'Times New Roman', serif;"&gt; System.Xml&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span lang="EN-US"   style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;Imports&lt;/span&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt; System.Xml.Schema&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span lang="EN-US"   style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;Module&lt;/span&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt; Module1&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;Sub&lt;/span&gt; Main()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; tr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlTextReader(&lt;span style="color:#A31515;"&gt;"c:\DocIngreso.xml"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; vr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; XmlValidatingReader(tr)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;vr.Schemas.Add(&lt;span style="color:#A31515;"&gt;""&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;"c:\DocIngreso.xsd"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;vr.ValidationType = ValidationType.Schema&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;AddHandler&lt;/span&gt; vr.ValidationEventHandler, &lt;span style="color:blue;"&gt;AddressOf&lt;/span&gt; ValidationHandler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;While&lt;/span&gt; vr.Read()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;While&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Documento es válido"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;Console.Read()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; ValidationHandler(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Object&lt;/span&gt;, &lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; args &lt;span style="color:blue;"&gt;As&lt;/span&gt; ValidationEventArgs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;Console.WriteLine(&lt;span style="color:#A31515;"&gt;"***Validation error"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Severity:{0}"&lt;/span&gt;, args.Severity)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Message:{0}"&lt;/span&gt;, args.Message)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"  style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;Console.Read()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify; "&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;color:blue;"&gt;End&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-family:&amp;quot;;"&gt; &lt;span style="color:blue;"&gt;Module&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-8841878847520158179?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/8841878847520158179/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=8841878847520158179' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/8841878847520158179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/8841878847520158179'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2010/02/todas-mis-entradas-tratare-de-dar-un.html' title='Validar XML con XSD y VB.NET'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_B8Gj2FAmRCk/S2nyR_9X0hI/AAAAAAAAAvY/xl3ddGySJZE/s72-c/xml.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-917376144190096340</id><published>2009-10-25T13:18:00.000-07:00</published><updated>2010-08-14T10:45:14.924-07:00</updated><title type='text'>IMPLEMENTACIÓN DE UNA RED NEURONAL UTILIZANDO SOFTWARE TLEARN</title><content type='html'>&lt;p class="MsoNormal" style="text-align:justify;line-height:150%;mso-hyphenate: none"&gt;En este Post voy a enseñar como diseñar una red neuronal Feedforward de dos capas.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:150%;mso-hyphenate: none"&gt;&lt;span style="letter-spacing:-.15pt"&gt;Vamos a implementar una red neuronal que permita reconocer escrituras de dígitos (0 - 9). Presentemos la red como una malla 3x5, que contiene un dibujo binario del digito. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Cantidad de neuronas de entrada:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; La cantidad de neuronas de entrada serán 3x5 = 15 neuronas de entrada.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;Esta cantidad se escogió puesto que representa un mejor manera de dibujar el digito en la matriz, y además para no complicar en demasía la estructura de la red.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Cantidad por capas ocultas:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; La cantidad de capas ocultas corresponderá a una, la cual contiene 6 neuronas en el nivel intermedio, esto puesto que &lt;span style="letter-spacing:-.15pt"&gt;un nivel intermedio demasiado grande extenderá drásticamente el número de iteraciones requerido para probar la red y reducirá la fiabilidad de la rellamada.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Cantidad de neuronas de salida:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; El nivel de salida debe tener 4 neuronas, para darnos la salida de 4 bits, esto porque a los dígitos 8 y 9 le corresponden 4 bits, para poder representarlos de forma binaria.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Estructura de datos utilizada para la neurona:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Construimos red neuronal feedforward multicapas para que cada nivel esté completamente conectado al siguiente. Cada neurona en un nivel mandará su salida a cada neurona del siguiente nivel.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;Configuración de la red:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Para configurar la red utilizamos el archivo RED.CF, donde definimos los valores de la red neuronal. En el ejemplo se puede apreciar 10 nodos, 15 patrones de entrada, 4 neuronas de salida definida entre los nodos del 7 al 10.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Las conexiones la establecemos en la etiqueta &lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;CONNECTIONS,&lt;/span&gt; donde definimos las conexiones de las 15 neuronas de entrada con las 6 neuronas de la capa intermedia y así mismo de las neuronas intermedias a las neuronas de salida.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Courier;"&gt;NODES:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;nodes = 10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;inputs = 15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;outputs = 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;output nodes are 7-10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;CONNECTIONS:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;groups = 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;1-6 from i1-i15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;7-10 from 1-6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span class="Apple-style-span"  style="font-family:Courier;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt;SPECIAL:&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;selected = 1-6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;weight_limit = 1.0&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:Courier;"&gt;&lt;b&gt;&lt;span style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;mso-fareast-Times New Roman&amp;quot;;letter-spacing:-.15pt;mso-ansi-language:ES;mso-fareast-language: ES;mso-bidi-language:AR-SAfont-family:&amp;quot;;"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;Diagrama de red neuronal:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman', serif;"&gt;&lt;b&gt;&lt;img src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuSz1JqaIEI/AAAAAAAAAsU/OMX0gC11x4g/s320/red.JPG" style="cursor:pointer; cursor:hand;width: 320px; height: 266px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5396635979204927554" /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman', serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman', serif;"&gt;&lt;b&gt;&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt; Entrenamiento de la red:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; Para configurar la red neuronal utilizamos los archivos DATA y TEACH, que nos permitirán ingresar a la red neuronal los valores de entrada y salida respectivamente.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;Configuración archivo DATA:&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; Para cada digito representado se eligieron 5 ejemplos para el entrenamiento seleccionados de forma aleatoria, cada ejemplo tuvo una distorsión de 1  ó 2 bits como máximo, donde el primer ejemplo de cada digito representa el digito original.&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;table class="MsoTableTheme" border="0" cellspacing="0" cellpadding="0" width="622" style="width:466.2pt;background:white;border-collapse:collapse;border:none;  mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-border-insideh:  none;mso-border-insidev:none"&gt;&lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;height:24.9pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:24.9pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:24.9pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:1;height:15.15pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:15.15pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101101101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101000101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101100101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101101101110&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011101101101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:15.15pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;010110010010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;010110010000010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;010010010010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;000110010010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;001011001001001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:2;height:16.3pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:3;height:49.2pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:49.2pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001111100111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001111100110&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001111000111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011001111100111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001011100111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:49.2pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001011001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011001011001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001010001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;101001011001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;110001011001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:4;height:16.3pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:5;height:68.15pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:68.15pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;101101111001001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;000101111001001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;001101111001001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;101101101001001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;101101111000001&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:68.15pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111001101&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111001110&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011100111001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100110001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:6;height:16.3pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:7;height:69.2pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:69.2pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111101101&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111101110&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;110100111101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111100111101011&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:69.2pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001010010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001011010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011001011010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001010000010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111001000010010&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:8;height:16.3pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;b style="mso-bidi-font-weight:normal"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr style="mso-yfti-irow:9;mso-yfti-lastrow:yes;height:16.3pt"&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101111101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101111101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;101101111101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101010101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101110101111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;   &lt;td width="311" valign="top" style="width:233.1pt;padding:0cm 5.4pt 0cm 5.4pt;   height:16.3pt"&gt;   &lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101111001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101111001011&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;011101111001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111111111001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;111101110001111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align:center;mso-layout-grid-align:   none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/b&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman', serif;"&gt;&lt;b&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-ansi-language:ES;mso-fareast-language: ES;mso-bidi-language:AR-SAfont-family:&amp;quot;;font-size:12.0pt;"&gt;Ejemplo de representación grafica de cada digito:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/SuS1MDws_6I/AAAAAAAAAsc/cO353-qVwSY/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 198px; height: 320px;" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/SuS1MDws_6I/AAAAAAAAAsc/cO353-qVwSY/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396637472269336482" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Configuración archivo TEACH:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Cada digito se represento de forma binaria, esto para poder realizar los 5 ejemplos de entrenamiento para cada digito.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Courier;"&gt;0 0 0 0&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;0&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 0 0 1&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 0 1 0&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 0 1 1&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 1 0 0&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 1 0 1&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 1 1 0&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0 1 1 1&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;7&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;1 0 0 0&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;1 0 0 1&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;=&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;b&gt; &lt;/b&gt;&lt;span lang="EN-GB"&gt;&lt;b&gt;Resultado del entrenamiento:&lt;/b&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; Una vez configurados los archivos DATA y TEACH se procede al entrenamiento de la red, en este caso realizamos entrenamientos de 10000 y 20000 iteraciones, obteniendo como resultado las siguientes graficas y valores correspondientes.&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Para el caso de los entrenamientos vamos a considerar los valores arrojados de la siguiente forma: Para valores mayores 0,6 lo consideraremos como valor 1 y para valores menores a 0.6 lo consideraremos 0.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Entrenamiento de la red con 10000 iteraciones:&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/SuS13xCKXZI/AAAAAAAAAsk/Cl8xXLcBy9g/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 189px;" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/SuS13xCKXZI/AAAAAAAAAsk/Cl8xXLcBy9g/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396638223156534674" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;Output activations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-10000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier;mso-bidi-font-family:Courier;"&gt;0.074&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.012&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.005&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.035&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.007&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.062&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.084&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.009&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.005&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.058&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.012&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.022&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.075&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.007&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.032&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.013&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.029&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.997&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.025&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.002&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.977&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.041&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.015&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.045&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.036&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.003&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.978&lt;span&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier;mso-fareast-Times New Roman&amp;quot;; mso-bidi-mso-ansi-language:ES;mso-fareast-language:ES; mso-bidi-language:AR-SAfont-family:Courier;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;0.095&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;0.000&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;0.066&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;0.919&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Courier;mso-fareast-Times New Roman&amp;quot;; mso-bidi-mso-ansi-language:ES;mso-fareast-language:ES; mso-bidi-language:AR-SAfont-family:Courier;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;• &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Entrenamiento de la red con 20000 iteraciones:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/SuS2TsN-6vI/AAAAAAAAAss/kjtj9XpPAT4/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 195px;" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/SuS2TsN-6vI/AAAAAAAAAss/kjtj9XpPAT4/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396638702900275954" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;Output activations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-20000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Courier;mso-bidi-font-family:Courier;"&gt;0.031&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.019&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.031&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.022&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.039&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.014&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.037&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.017&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.039&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.013&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.007&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.026&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;0.032&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.019&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.019&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.027&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.001&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.024&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.017&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.002&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.974&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Prueba y verificación del entrenamiento:&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Cada digito fue distorsionado de una forma diferente al entrenamiento que fue realizado, esto para verificar si su aprendizaje.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;o:p&gt; Para el digito cero &lt;span style="font-family: Courier;mso-bidi-font-family:Courier;"&gt;111101101101111, &lt;/span&gt;se aplico la siguiente nueva configuración:&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/SuS23EmDjoI/AAAAAAAAAs0/hsF-5w7ejt4/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 103px; height: 83px;" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/SuS23EmDjoI/AAAAAAAAAs0/hsF-5w7ejt4/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396639310739115650" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;111101101101100&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Obteniendo como resultado los siguientes valores para 10000 y 20000 iteraciones:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Courier;"&gt;Output activations&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-10000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;0.184&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.007&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.026&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.003&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Courier;"&gt;Output activations&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-20000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language:EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0.009&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.007&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.009&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.004&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Lo cual refleja los valores de las cuatro neuronas de salida representan el numero binario:&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;0 0 0 0 = 0, esto demuestra que para este ejemplo la red neuronal pudo reconocer el digito a pesar de la distorsión impuesta.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Para nuestro 2 ejemplo se utilizo el digito uno, 010110010010010 y se aplico la siguiente nueva configuración:&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/SuS3gTGw7uI/AAAAAAAAAs8/iV4E5WczyvQ/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 103px; height: 83px;" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/SuS3gTGw7uI/AAAAAAAAAs8/iV4E5WczyvQ/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396640019009040098" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;010110000010010&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Obteniendo como resultado los siguientes valores para 10000 y 20000 iteraciones:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Courier;"&gt;Output activations&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-10000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language:EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0.002&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.010&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.002&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;Output activations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language: EN-GBfont-family:Courier;"&gt;using red-20000.wts and red.data (Training Set)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"  style="font-family:Courier;mso-bidi-mso-ansi-language:EN-GBfont-family:Courier;"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Courier;mso-bidi-font-family:Courier;"&gt;0.013&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.030&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;0.000&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;1.000&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;  Lo cual refleja los valores de las cuatro neuronas de salida representan el numero binario:&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;0 0 0 1 = 1, esto demuestra que para este ejemplo la red neuronal pudo reconocer el digito a pesar de la distorsión impuesta.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; De manera similar se realizaron pruebas para los siguientes dígitos obteniendo equivalentes resultados.&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span class="Apple-style-span" style=" font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;IMPLEMENTACIÓN DEL SOFTWARE&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;b&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Interfaz del Software:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; El Software implementado presenta una interfaz, la cual presenta una grilla de entrada, que permite ingresar el digito a evaluar, a su costado presenta la cadena de bit del digito ingresado que representa los valores de los patrones de entrada de la neurona.&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; Una vez ingresados los datos de entrada y al presionar el botón Reconocer, automáticamente se generan los datos de salida correspondiente al digito evaluado, esto es en la grilla salida.&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuS4YeL1FWI/AAAAAAAAAtE/6bSaVikFDbI/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 231px;" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuS4YeL1FWI/AAAAAAAAAtE/6bSaVikFDbI/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396640984055747938" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuS4YeL1FWI/AAAAAAAAAtE/6bSaVikFDbI/s1600-h/imagen.JPG"&gt;&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuS5VFfamPI/AAAAAAAAAtM/Y4I1PQEn3Wg/s1600-h/imagen.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuS5VFfamPI/AAAAAAAAAtM/Y4I1PQEn3Wg/s320/imagen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5396642025399032050" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Código del Software:&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Los&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;valores que ocupa el programa se guardaran en las siguientes estructuras&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Los valores de entrada se guardan en un vector entrada (1 to 10).&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Ls valores de la neuronas se guardaran en una matriz llamada cap1(10,15) , donde&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;el primer índice representa la neurona y el segundo índice representa los pesos de entrada&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Estos valores se rescatan del archivo&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;red-20000.wts&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/b&gt;ingresándolo de la siguiente forma:&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;' datos entrada neurona 1&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; cap1(1, 0) = -1.0992292166&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;cap1(1, 1) = 0.2268614322&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;cap1(1, 2) = 3.3533549309&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;‘datos entrada neurona 2.&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;El cálculo de los valores de las neuronas se realiza mediante la suma de la multiplicación del valor de entrada por el peso de la neurona + el peso del bias&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; ‘sumatoria del las entradas de la neurona&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; For i = 0 To 6&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;For j = 1 To 15&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;valor(i) = valor(i) + cap1(i, j) * entrada(j)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Next j&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Next i&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;‘ suma del bias que se encuentra en la posición 0 del la matriz cap1()&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;valor(1) = cap1(1, 0) + valor(1)&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;valor(2) = cap1(2, 0) + valor(2)&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;valor(3) = cap1(3, 0) + valor(3)&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;valor(4) = cap1(4, 0) + valor(4)&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;valor(5) = cap1(5, 0) + valor(5)&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language: EN-GB"&gt;valor(6) = cap1(6, 0) + valor(6)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;Finalmente se le aplica la función sigmoidea para la salida de cada neurona&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;For i = 1 To 6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;valor(i) = sigmoidea(valor(i))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/span&gt;Next i&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; Para las neuronas de salida es la suma de la multiplicación de el valor de salida de la capa escondida por el peso de la neurona&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; For i = 7 To 10&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;For j = 0 To 6&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;valor(i) = valor(i) + cap1(i, j) * valor(j)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;Next j&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;Next i&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-917376144190096340?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/917376144190096340/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=917376144190096340' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/917376144190096340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/917376144190096340'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2009/10/implementacion-de-una-red-neuronal.html' title='IMPLEMENTACIÓN DE UNA RED NEURONAL UTILIZANDO SOFTWARE TLEARN'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_B8Gj2FAmRCk/SuSz1JqaIEI/AAAAAAAAAsU/OMX0gC11x4g/s72-c/red.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-807866321136771399</id><published>2009-09-27T10:09:00.000-07:00</published><updated>2010-08-14T10:51:07.064-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algoritmos'/><title type='text'>Algoritmo genérico para formulas de aproximación por diferencias</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;Bueno este Post es de una tarea que me toco hacer del ramo de Calculo Numérico de Ingeniería civil en Computación de la Universidad Arturo Prat, Iquique, decidí &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;compartirlo ya que lo encuentro muy útil, este algoritmo permite evaluar la derivada de cualquier orden de una función en un punto....aquí va...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Fundamento teórico&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt;             Este algoritmo describe un forma general para la obtención de formulas de aproximación  por diferencia de una derivada de orden &lt;b style="mso-bidi-font-weight: normal;"&gt;n&lt;/b&gt;, estableciendo un número de puntos requeridos &lt;b style="mso-bidi-font-weight: normal;"&gt;m &lt;/b&gt;dependiendo de la precisión que se busca.&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Si tenemos &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; puntos en un sub – intervalo, enumerados en &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386197660914710642" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-ePDzceHI/AAAAAAAAAjI/3ISuqV27WXU/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 22px; width: 86px;" /&gt;, donde &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386197916412275202" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-ed7mz6gI/AAAAAAAAAjQ/fDbgSc_IfUw/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 20px; width: 61px;" /&gt; y &lt;b style="mso-bidi-font-weight: normal;"&gt;n&lt;/b&gt; el orden de la derivada. Las abscisas de los puntos de la retícula son&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386198943427971362" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-fZtibySI/AAAAAAAAAjY/tXwRBC9MPJ8/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 109px;" /&gt; con&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386199259988840034" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-fsI0bTmI/AAAAAAAAAjg/oFE4nEkTUlI/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 22px; width: 86px;" /&gt;.&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386199665857762114" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-gDwzHk0I/AAAAAAAAAjo/U54cU7QVcWE/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 79px; width: 320px;" /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Por tanto la aproximación por diferencias de la derivada de orden &lt;b style="mso-bidi-font-weight: normal;"&gt;n&lt;/b&gt; con&lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; puntos se expresa:&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386200105799920050" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-gdXtgKbI/AAAAAAAAAjw/QgaePSMmQ7Q/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 45px; width: 210px;" /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;O bien.&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;o:p&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386200367605701186" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-gsnA3WkI/AAAAAAAAAj4/aTTJQjLTV5I/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 36px; width: 320px;" /&gt; (1)&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;En donde &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386200715155241938" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-hA1vIe9I/AAAAAAAAAkA/WzzZhVwJHHs/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 52px;" /&gt; hasta &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386201010572280914" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-hSCQCxFI/AAAAAAAAAkI/lZG1hpyJXZY/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 61px;" /&gt; son los &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; coeficientes indeterminados;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386201312464944578" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-hjm43PcI/AAAAAAAAAkQ/iWd-Yxk1MZU/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 26px; width: 320px;" /&gt; son las coordenadas que se usarán y E es el máximo error de la aproximación, que se escribe como.&lt;/div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386201594818111762" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-h0CvGqRI/AAAAAAAAAkY/XvXXwMg_jio/s320/1.jpg" style="cursor: pointer; height: 26px; width: 196px;" /&gt; (2)&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;Una vez obtenido la formula (1) de aproximación por diferencias dado un orden &lt;b&gt;n&lt;/b&gt; y &lt;b&gt;m &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;puntos, se sustituye en esta ecuación por los desarrollos de Taylor de&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386202302409555474" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-idOuDPhI/AAAAAAAAAkg/wP9k2nlHErE/s320/1.jpg" style="cursor: pointer; height: 22px; width: 64px;" /&gt;, para así calcular los coeficientes indeterminados de forma que el término E sea el máximo orden posible.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span style="font-family: SimSun;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Para efectos de este Post simplificaremos la expresión para obtener una mej&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;or conceptualización del desarrollo, supondremos&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386202916993139778" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-jBAOMhEI/AAAAAAAAAko/d7E2RHOrljk/s320/1.jpg" style="cursor: pointer; height: 24px; width: 256px;" /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Entonces la ecuación (1) queda.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 12pt;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386203226625046514" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-jTBsMd_I/AAAAAAAAAkw/Epd9zWB1YfM/s320/1.jpg" style="cursor: pointer; height: 42px; width: 312px;" /&gt;(3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: SimSun;"&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;En donde&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386203719637906146" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-jvuTnsuI/AAAAAAAAAk4/JKtCXnYGLKI/s320/1.jpg" style="cursor: pointer; height: 22px; width: 86px;" /&gt; son los tres coeficientes indeterminados y&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386210258286279330" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-psUq3-qI/AAAAAAAAAlA/FCJ2NlOnp8E/s320/1.jpg" style="cursor: pointer; height: 28px; width: 135px;" /&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386210587461356818" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-p_e8VDRI/AAAAAAAAAlI/dB0Mqfe2X0U/s320/1.jpg" style="cursor: pointer; height: 20px; width: 83px;" /&gt; son los puntos de la retícula que se utilizarán. Sustituimos los desarrollos de&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386210997010334322" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-qXUoagnI/AAAAAAAAAlQ/ivOQwnR-r3I/s320/1.jpg" style="cursor: pointer; height: 24px; width: 148px;" /&gt;alrededor de x en la ecuación (3).&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386221280089228066" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-zt4FeQyI/AAAAAAAAAnI/tpM5UlHHTpI/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 38px; width: 320px;" /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Reagrupando…&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;a href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-0HCTFuRI/AAAAAAAAAnQ/aTZgDPVTxg8/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386221712327424274" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-0HCTFuRI/AAAAAAAAAnQ/aTZgDPVTxg8/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 54px; width: 320px;" /&gt;&lt;/a&gt;(4)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif;"&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;La ecuación (4) contiene tres coeficientes indeterminados, los cuales se pueden definir mediante tres condiciones formando un sistema.  Para minimizar el error de la ecuación (4), hacemos los coeficientes de&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386222231865159858" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-0lRuicLI/AAAAAAAAAnY/LrPTjICufik/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 170px;" /&gt; iguales a 0, 1, 0 respectivamente, debido a que el único termino existente es&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386222497940617266" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-00w73uDI/AAAAAAAAAng/l_uIp5DC1VQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 50px;" /&gt; , que es la derivada buscada, por tanto el sistema nos queda de la siguiente manera:&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-1OQCP6HI/AAAAAAAAAno/ElSZwanvhGk/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386222935785597042" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-1OQCP6HI/AAAAAAAAAno/ElSZwanvhGk/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 75px; width: 118px;" /&gt;&lt;/a&gt;     (5)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Una vez resuelto el sistema anterior obtendremos los valores de los tres coeficientes indeterminados, los cuales son:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-1lxoPSuI/AAAAAAAAAnw/QFtD1LYruhQ/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386223339940301538" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-1lxoPSuI/AAAAAAAAAnw/QFtD1LYruhQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 75px; width: 118px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Una vez encontrado estos valores se sustituyen en la ecuación (3) y obtendremos finalmente la ecuación por diferencias para nuestro caso en particular, donde&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386223895023789650" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-2GFedJlI/AAAAAAAAAn4/Bp4BwSeaxSA/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 23px; width: 232px;" /&gt;donde la derivada aproxima a cualquier función &lt;i&gt;f&lt;/i&gt;(x) alrededor de x.&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Por otro lado, los términos no nulos de la ecuación (4) constituyen el error.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-2eTFxTeI/AAAAAAAAAoA/mdIqqP8q2Qk/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386224310995209698" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr-2eTFxTeI/AAAAAAAAAoA/mdIqqP8q2Qk/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 38px; width: 320px;" /&gt;&lt;/a&gt; (6)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Al  comparar las ecuaciones (2) y (6) obtenemos que:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-2vDJ1DhI/AAAAAAAAAoI/yH90VL3tKoQ/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386224598775041554" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-2vDJ1DhI/AAAAAAAAAoI/yH90VL3tKoQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 81px; width: 138px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;De lo que se obtiene, sustituyendo&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386225021312191138" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-3HpOiSqI/AAAAAAAAAoQ/-XtOLJovrRo/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 30px; width: 129px;" /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-3aOLfFpI/AAAAAAAAAoY/HkGmeFTn5L8/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386225340469155474" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-3aOLfFpI/AAAAAAAAAoY/HkGmeFTn5L8/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 89px; width: 152px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Debido a que el primer término del error no es nulo, ecuación (6), ignoramos el segundo término y escribimos el término del error como:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-3reqcwII/AAAAAAAAAog/EdPkcKcH9W0/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386225636951769218" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-3reqcwII/AAAAAAAAAog/EdPkcKcH9W0/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 42px; width: 106px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;En el caso en que el primer término del error se anule, el segundo término pasará a representar el error.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="background: #E6E6E6; text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;&lt;b&gt;Resolución del algoritmo genérico en Maple&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;Una vez planteado el fundamento teórico del algoritmo genérico para la obtención de formulas de aproximación  por diferencia de una derivada de orden &lt;b style="mso-bidi-font-weight: normal;"&gt;n&lt;/b&gt;, desarrollaremos un programa basado en Maple que nos permita utilizar dicho método.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;Basándonos en &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; como el número de puntos en la retícula y con &lt;b style="mso-bidi-font-weight: normal;"&gt;n&lt;/b&gt; como orden de la derivada, nos basaremos en la siguiente ecuación. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;&lt;o:p&gt;  &lt;/o:p&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;span style="position: relative; top: 12pt;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386228642127582146" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr-6aZ0Mk8I/AAAAAAAAAoo/8s4rjCrY4eQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 36px; width: 320px;" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Donde utilizaremos los desarrollos de Taylor para los &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; términos&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386234208306775554" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr-_eZcuxgI/AAAAAAAAAow/gyyuzxNLsB8/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 34px; width: 158px;" /&gt;, donde &lt;span style="position: relative; top: 5pt;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386234579515377602" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-_0ATwh8I/AAAAAAAAAo4/OZQG54_2UoQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 22px; width: 64px;" /&gt;son los &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt; puntos, estos puntos necesitaremos almacenarlos en un  vector  que llamaremos  &lt;b style="mso-bidi-font-weight: normal;"&gt;V[m]&lt;/b&gt; de largo&lt;b&gt; m&lt;/b&gt;, quedando:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_ADsjon9I/AAAAAAAAApA/ZCyJCQXRN_Q/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386234849091166162" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_ADsjon9I/AAAAAAAAApA/ZCyJCQXRN_Q/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 39px; width: 318px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_ADsjon9I/AAAAAAAAApA/ZCyJCQXRN_Q/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;Donde cada uno de estos elementos se reemplaza por la serie de Taylor correspondiente, donde se almacenaran en una columna de una matriz, quedando de la siguiente manera:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center; text-indent: 35.4pt;"&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_AcEaskcI/AAAAAAAAApI/AxMcVo4gSy4/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386235267812987330" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_AcEaskcI/AAAAAAAAApI/AxMcVo4gSy4/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 141px; width: 320px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: center; text-indent: 35.4pt;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Cada termino de Taylor se truncara hasta el termino &lt;b style="mso-bidi-font-weight: normal;"&gt;m&lt;/b&gt;, donde los términos m + 1 y m + 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Se utilizaran para el cálculo de error, nótese que en la matriz  sólo se almacena el término que acompaña a cada derivada de la serie.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;Con lo que podemos observar que cada fila corresponde al argumento &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386235870463843106" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_A_Jd22yI/AAAAAAAAApQ/JFXKckuZkVg/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 25px; width: 60px;" /&gt;los cuales corresponden a los argumentos principales, y las columnas corresponden a los a&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;1&lt;/span&gt;,…,a&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;L &lt;/span&gt;que serán los argumentos a agrupar.&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_BXySBWmI/AAAAAAAAApY/wViUB6K_1Qg/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386236293736913506" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_BXySBWmI/AAAAAAAAApY/wViUB6K_1Qg/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 34px; width: 320px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;Con esta idea podremos construir nuestro sistema de ecuaciones, multiplicando por el coeficiente propio de la formula  anterior y ampliando nuestra matriz a &lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386236746916106226" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_ByKgXD_I/AAAAAAAAApg/Lgtx0w1QRng/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 28px; width: 90px;" /&gt;.&lt;/div&gt;&lt;v:imagedata src="file:///C:\DOCUME~1\oscar\CONFIG~1\Temp\msohtmlclip1\01\clip_image003.wmz" title=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/v:imagedata&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CD_VE_jI/AAAAAAAAApo/A8aCIUEHzro/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386237053153639986" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CD_VE_jI/AAAAAAAAApo/A8aCIUEHzro/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 122px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CD_VE_jI/AAAAAAAAApo/A8aCIUEHzro/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="position: relative;"&gt;&lt;span style="height: 39px; left: 103px; position: absolute; top: -121px; width: 2px;"&gt;&lt;img height="39" shapes="_x0000_s1026" src="file:///C:/DOCUME~1/oscar/CONFIG~1/Temp/msohtmlclip1/01/clip_image001.gif" width="2" /&gt;&lt;/span&gt;&lt;/span&gt;Expresada como:&lt;/div&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CkzWZK6I/AAAAAAAAApw/IjC6SjDYzjI/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386237616873614242" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CkzWZK6I/AAAAAAAAApw/IjC6SjDYzjI/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 90px; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_CkzWZK6I/AAAAAAAAApw/IjC6SjDYzjI/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;Ahora generaremos el código Maple para poder ingresar estos valores descritos a la matriz MA [ ] &lt;o:p&gt;Procedimiento para ingresar valores a la matriz MA [].&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;    &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;For i from 1 to m do       &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;        For j from 1 to m do &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;            MA [j,i]:=(V[i]*h)^(j-1)/(j-1)!*(1/h^n);&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;        od;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;    od;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;    MA [n+1,m+1]:=1;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span lang="ES-CL"&gt; En donde la matriz que contiene los coeficientes de&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386238183365312626" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr_DFxsigHI/AAAAAAAAAp4/_l5B6flQZ5U/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 46px; width: 133px;" /&gt;se expresa:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_DUdMK4VI/AAAAAAAAAqA/ovXtXNrzFCk/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386238435558875474" src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_DUdMK4VI/AAAAAAAAAqA/ovXtXNrzFCk/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 96px; width: 320px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span lang="ES-CL"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span lang="ES-CL"&gt;En donde los términos del error se guardan en un vector e[] de dimensión 2 :&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Dr15qqnI/AAAAAAAAAqI/FwCSz4CwkM0/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386238837329144434" src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Dr15qqnI/AAAAAAAAAqI/FwCSz4CwkM0/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 123px; width: 280px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Procedimiento para ingresar los valores al vector e[]&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;V[1]:=0:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;V[2]:=1:&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;V[3]:=2;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;e[1]:=0;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;e[2]:=0;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: red;"&gt;    &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;For i from m+1 to m+2 do       &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;        For j from 1 to m do &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;          e[i-m]:=e[i-m]+a[j]*(V[j]*h)^(i-1)/(i-1)!*(1/h^n);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;        od;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;    od;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Una vez ingresadas las dos matrices se procede a su cálculo, para calcular la matriz MA[]&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;utilizaremos el comando &lt;b style="mso-bidi-font-weight: normal;"&gt;LinearSolve&lt;/b&gt;, de la siguiente manera&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span style="color: red;"&gt;a:=LinearSolve(MA);&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New';"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New';"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Courier New';"&gt;&lt;b&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Para calcular la expresión del error comprobamos si el primer término es nulo &lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;if e[1]=0 then; &lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;       E=e[2]*(D@@L)(f);&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;   else;&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;        E=e[1]*(D@@L)(f);&lt;/span&gt;&lt;/b&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;b&gt;&lt;span lang="EN-US" style="color: red;"&gt;   end if;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-weight: 800;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;Utilización&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: black;"&gt; del programa&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: 35.4pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;b&gt;Para comenzar a utilizar el programa se debe ingresar la instrucción&lt;/b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style="color: red; font-family: 'Courier New';"&gt;&lt;b&gt;Maplets[Display](maplet)&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;b&gt;, esta instrucción mostrarla pantalla de presentación&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: monospace; font-size: -webkit-xxx-large; font-weight: normal; white-space: pre-wrap;"&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Eyh0cq6I/AAAAAAAAAqQ/m1orUCsJPPQ/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386240051709258658" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Eyh0cq6I/AAAAAAAAAqQ/m1orUCsJPPQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 269px; width: 297px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-layout-grid-align: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: monospace; font-size: -webkit-xxx-large; font-weight: normal; white-space: pre-wrap;"&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Eyh0cq6I/AAAAAAAAAqQ/m1orUCsJPPQ/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; white-space: normal;"&gt;&lt;a href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_FO9cjwXI/AAAAAAAAAqg/SpZZpT0wgH0/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386240540161589618" src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_FO9cjwXI/AAAAAAAAAqg/SpZZpT0wgH0/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 277px; width: 298px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Ff9Y9BxI/AAAAAAAAAqo/F2blK4BLhLQ/s1600-h/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5386240832204244754" src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_Ff9Y9BxI/AAAAAAAAAqo/F2blK4BLhLQ/s320/1.jpg" style="cursor: hand; cursor: pointer; height: 304px; width: 297px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Que nos dara la opción de ir a la ventana de entrada de valores, esta ventana nos dara la opción de ingresar los valores de la derivada, los puntos la función, y el valor del h que por defecto es 0.005, luego nos salimos de la ventana de ingreso de valores y con el comando, &lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: red; font-family: 'Courier New';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Maplets[Display](mostrar):&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, inicializamos la ventana de los resultados,&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;que mostrara la formula de error y derivada, y la evaluación en los puntos correspondientes.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;ahí va el código completo.....&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: -webkit-xxx-large;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;span class="Apple-style-span" style="font-size: -webkit-xxx-large;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt; Diferenciación Numérica Polinomios de Taylor&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-size: -webkit-xxx-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; restart;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; with(LinearAlgebra):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; AproxDiferencia:= proc(p,L,LI,F,X,H)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     local i,j,expresion,E,B,e,a,f,fp,fe,po,po1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     B:=Matrix(L,L+1);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     e:=Vector(2);          # Verctor de coeficientes de error&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;           &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     for i from 1 to L do       &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         for j from 1 to L do &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;             B[j,i]:=(LI[i]*h)^(j-1)/(j-1)!*(1/h^p);   # 'LI' es el valor del punto de la reticula&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         od;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     od;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     B[p+1,L+1]:=1;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     a:=LinearSolve(B);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     f:=unapply(F,x);    &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     expresion:=sum('a[k]*f(x+LI[k]*h)','k'=1..L)/h^p;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     e[1]:=0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     e[2]:=0;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     for i from L+1 to L+2 do       &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         for j from 1 to L do &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;             e[i-L]:=e[i-L]+a[j]*(LI[j]*h)^(i-1)/(i-1)!*(1/h^p);   # 'LI' es el valor del punto de la reticula&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         od;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     od;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     if e[1]=0 then; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         E:=e[2]*diff(f(x),x$p);;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     else;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;         E:=e[1]*diff(f(x),x$p);;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     end if;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     fp:=unapply(expresion,x,h); Maplets:-Tools:-Set( 'visor' = MathML[Export](expresion));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     fe:=unapply(E,x,h); Maplets:-Tools:-Set( 'visor2' = MathML[Export](E));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     po:=fp(X,H);Maplets:-Tools:-Set( 'TF9' = evalf(po) );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     po1:=fe(X,H);Maplets:-Tools:-Set( 'TF10' = evalf(po1) );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     print(evalf(po));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     print(evalf(po1));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     print(E);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;     &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; end proc:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; with(Maplets[Elements]):maplet1:= Maplet([["Orden de la Derivada:  ", TextField['TF1'](5)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Numero de Puntos:    ", TextField['TF2'](5)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Puntos:     ",TextField['TF3']("\[,\]",10)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Funcion:    ",TextField['TF4'](10)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Punto a evaluar - x:",TextField['TF5'](8)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Amplitud h:  ",TextField['TF6']("0.005", 10)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Ecuacion de la Derivada:  "],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    [MathMLViewer( 'reference'='visor')],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Error:  "],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    [MathMLViewer( 'reference'='visor2')],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Valor Derivada:  ",TextField['TF9'](10)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    ["Valor Eror:  ",TextField['TF10'](10)],&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt;    [Button("Derviar por Diferencias", Evaluate('function' = 'AproxDiferencia(TF1,TF2,TF3,TF4,TF5,TF6)')), Button("Salir", Shutdown(['TF1']))&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; ]]):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;gt; Maplets[Display](maplet1);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-807866321136771399?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/807866321136771399/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=807866321136771399' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/807866321136771399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/807866321136771399'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2009/09/algoritmo-generico-para-formulas-de.html' title='Algoritmo genérico para formulas de aproximación por diferencias'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr-ePDzceHI/AAAAAAAAAjI/3ISuqV27WXU/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-1683630621762895445</id><published>2009-09-26T12:39:00.000-07:00</published><updated>2010-08-14T10:53:09.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patrones de diseño'/><category scheme='http://www.blogger.com/atom/ns#' term='Orientacion a Objetos'/><title type='text'>Patrones GRASP y GoF</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Bueno mi primer post lo quiero dedicar a mi memoria de titulo, este trabajo quedo seleccionado para el congreso CISAISI 2009, que se realizará en el mes de Octubre en Arica,  &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.decom.uta.cl/cisaisi2009/index.php/llamado/resultadosis"&gt;l&lt;/a&gt;ink del articulo &lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; color: rgb(128, 128, 128); "&gt;&lt;a href="http://docs.google.com/fileview?id=0B2Jao3HNql2FZTVhNmU2Y2ItOGU0ZS00ZGQ2LWI2MjMtYjMyMWNiNTI1NmJl&amp;amp;hl=en" onmousedown="UntrustedLink.bootstrap($(this), &amp;quot;7b0cdee4a181d5134f49235959fe4315&amp;quot;, event)" target="_blank" rel="nofollow" style="cursor: pointer; color: rgb(59, 89, 152); text-decoration: none; "&gt;http://docs.google.com/fileview?id=0B2Jao3HNql2FZTVhNmU2Y2ItOGU0ZS00ZGQ2LWI2MjMtYjMyMWNiNTI1NmJl&amp;amp;hl=en&lt;/a&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;color:#000000;"&gt;. &lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia, serif; font-size: 16px; "&gt;&lt;span class="Apple-style-span"  style="  border-collapse: collapse; color: rgb(102, 102, 102); font-weight: bold; line-height: 14px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:Tahoma, Verdana, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate; color: rgb(0, 0, 0);   font-weight: normal; line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;me pareció interesante compartirlo en mi Blog, este trabajo&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; presenta la integración de patrones de diseño y aplicacion&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;es móviles&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;, en el desarrollo &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;de un software de gestión de placas (SIGEP) que permite apoyar en las soluciones a problemáticas que se presentan en el proceso de mantención de placas de c&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;á&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;todos de cobre de una Compañía Minera, en mi caso para Quebrada Blanca S.A. (CMQB S.A.). Las problemáticas principalmente se relacionan con el escaso control sobre las tareas realizadas en las mantenciones a las placas catódicas, y la carencia de información que conlleva esta práctic&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;a, origina una gestión&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;deficiente&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;y no permite tomar decisiones oportunas referente a estos elementos, y por ende no permite proyectar y administrar la vida útil de las placas de cátodos, generando e&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;levados costos asociad o s a este proceso. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Al ser el proceso de mantención de placas de cá&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;todo un proceso en constante cambio, con respecto a las estra&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;tegias de mantención, en el diseño del sistema SIGEP se valora la flexibilidad y reutilización en el diseño de los componentes del sistema, esto se logra gracias a los patrones de &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;diseño utilizados. La implementación del sistema SIGEP y la incorporación de una aplicación móvil, significó para CMQB S.A. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;aumentar la fiscalización de las tareas realizadas a las placas de cátodos,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;permitiendo a la compañía contar con información detallada de las mantenciones de estos elementos, lo que permite entre otras cosas, identificar cuales placas de cátodo son más costosas par a la compañía y por tanto, conocer cuáles deben ser reemplazadas.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="text-align: justify;line-height: normal; "&gt;&lt;span class="Apple-style-span" style="  font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;INTRODUCCIÓN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Actualmente el proceso productivo de la planta de electrobtención de la Compañía Minera Quebrada Blanca S.A. (CMQB S.A.) trabaja con placas de cátodos de cobre, las cuales a través de un proceso de diferencial de potencial eléctrico, logran la a&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;dhesión de las moléculas&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;de cobre que se encuentran en&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;la solución en la cual están sumergidos. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La Superintendencia de Planta de CMQB S.A., cuenta con alrededor de 16.000 placas catódicas en operación, las cuales se someten a mantenciones diarias y mensuales, éstas consisten en el pulido y limpieza de las placas de cátodos de cobre. Las &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;placas catód&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;icas&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;a lo largo de su vida útil, muestran variaciones de costos respecto a sus mantenciones, debido a &lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;una infinidad de variables, como la calidad de la mantención o el deterioro de éstas. Las placas de cátodo&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;s que han excedido su vida útil, son más costosas para la compañía, debido a que requieren &lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;ingresar a mantención con mayor frecuencia, por lo tanto, identificar estas placas de cátodos &lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;y reemplazarlas por placas nuevas será muy útil para reducir el costo por este concepto.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent" style="text-align: justify;text-indent: 0cm; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Asimismo, llevar un adecuado hi&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;storial y control de estas&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;mantenciones permitir&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-CL"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;á&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;n a la compañía entre otras cosas, anticiparse al término de la vida útil de la placa catódica, conocer que placas demandan mayor costo de mantención y por lo tanto, conocer cuáles deben ser reemplazadas, lo que ahorrará a la compañía tiempo y dinero por concepto de mantenciones de este elemento. Contar con este software que cubra esta necesidad de información, l&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;e ha permitido a CMQB S.A., tener información clara, persistente, oportuna y automática para tomar correctas decisiones relacionadas con las mantenciones de las placas catódicas. Se realizan en pr&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;omedio entre 200 y 250 mantenciones de placas catódicas por día, p&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;ara asegurar el correcto funcionamiento de este proceso, el operador fiscaliza en terreno estas mantenciones, para ello re&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;quiere registrar la información de estos trabajos al instante en que se realiza esta actividad, por este motivo se decide integrar una interfaz móvil del software que permita al operador, realizar la toma de datos en línea en la misma f&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;aena, y así asegurar una correcta supervisión de las tareas realizadas a las placas de cátodos de cobre por concepto de mantenciones. El proceso que s&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;e lleva a cabo en faena para la mantención de las placas cat&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ódicas, comienza cuando el operador placa decide, de acuerdo al estado de las placas, que tipo de tareas de mantención necesita, mantención mayor, para placas muy deterioradas y mantención menor, para placas con menor deterioro. Las placas de cátodo reparadas se almacenan en un stock de placas disponibles a la espera de ingresar a producción, &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;se puede representar este proceso, mediante e&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;l siguiente dia&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;grama que muestra la figura 1:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;v:shapetype id="_x0000_t75" coord="" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"  style="font-size:21600,21600;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;v:formulas&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;o:lock ext="edit" aspectratio="t"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:lock&gt;&lt;/v:path&gt;&lt;/v:stroke&gt;&lt;/v:shapetype&gt;&lt;v:shape id="Objeto_x0020_4" spid="_x0000_i1025" type="#_x0000_t75" style="width:3in;height:139.5pt;visibility:visible" gfxdata="UEsDBBQABgAIAAAAIQBHPW7kCQEAABMCAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbJSRQU7DMBBF 90jcwfIWxQ5dIISSdEHKEhAqB7DsSWI1HlseE9rb47RlQQSVWNrWm//+uFrv3cgmiGQ91vxWlJwB am8s9jV/3z4V95xRUmjU6BFqfgDi6+b6qtoeAhDLNFLNh5TCg5SkB3CKhA+A+aXz0amUj7GXQemd 6kGuyvJOao8JMBVpnsGb6iULRGuAvaqYnpXLOdJEkrDyrdcij+Ls8cTMsTVXIYxWq5Sl5YRGOCp8 11kNoo20OVI3MyWbqoVOfYyJbfY58tQyYL+YZ93sNt//TkQYaYEsFX52Ls59RSaPmjTYQBecLnc8 d/lrT8Z/YoTpv4tqM/YG07eVPH5p8wUAAP//AwBQSwMEFAAGAAgAAAAhADj9If/WAAAAlAEAAAsA AABfcmVscy8ucmVsc6SQwWrDMAyG74O9g9F9cZrDGKNOL6PQa+kewNiKYxpbRjLZ+vYzg8EyettR v9D3iX9/+EyLWpElUjaw63pQmB35mIOB98vx6QWUVJu9XSijgRsKHMbHh/0ZF1vbkcyxiGqULAbm Wsur1uJmTFY6KpjbZiJOtraRgy7WXW1APfT9s+bfDBg3THXyBvjkB1CXW2nmP+wUHZPQVDtHSdM0 RXePqj195DOujWI5YDXgWb5DxrVrz4G+79390xvYljm6I9uEb+S2fhyoZT96vely/AIAAP//AwBQ SwMEFAAGAAgAAAAhAG9xgHw4DwAALtoAAA4AAABkcnMvZTJvRG9jLnhtbOxd23LbOBJ936r9B5Ze txKJd9I1ypTjjDNTlZl12dl9TUEkJHFCkSyQvmR+az5hf2xPAyQlOZTjJPaMZbUfZEoEQaAbBNEH 3ad/+PFmlVtXUtVZWUxH9svJyJJFUqZZsZiO/vP+9EU0supGFKnIy0JOR59kPfrx1T//8cN1dSSd clnmqVQWKinqo+tqOlo2TXU0HtfJUq5E/bKsZIGT81KtRIOvajFOlbhG7at87Ewmwfi6VGmlykTW NX59Y06OXun653OZNP+ez2vZWPl0hLY1+lPpzxl9jl/9II4WSlTLLGmbIb6hFSuRFbhpX9Ub0Qjr UmXfUFVeJh9leiKKK1Gjyjw52vylbWOefH/N4qi4equqi+pMUcuT367OlJWlWjaFWEFZRjo40RaD sMa3rlqsK7iZqxVVVM7n1o2u5VMvYXnTWAl+jJzY9j0oIsE5N/LDwPHbuyyhKLou8FAGJVDA8ScT 13a7Aj99oRK0zbQBBxvt0ofUsB3ddcKRZfrrBNZbdVmV39XvXe3/O0VQV6b/n+s67vp+Xl4WqUyt czwyoljk0gp7MdBlne67Kmr8Zs2ufy1TDBRx2ZR6+N8aA3hCJ84k0Mp0oUzPjUylnTBs24smDuYI Gg/2xPbjWKu7V6U4qlTdvJXlyqKD6UhRO6mR+n7i6l3dmKZ15aindZln6WmW5/qLWsxOcmVdCcwB p6cnaBM1ArfYKpYXVHgpRfpTkVrNpwr9KjBnjazr6Wgl05GVS0xxdISrxVEjsvw+JXEfqppu1z5p zc2F1kdz87pMP1FdM/yHOPNfino6im3Phcga/cXzQxviUZtnZptnRJEsS0xoSaNMu/K6uWg+5ZLq TeX8zDzdODqnO0C105EsXrx93cpgXSS/ym1SqsgX6Gc+snDqvZhd/DEdeV7sBC6a0ZhpdF4WzbEu NhO11Jqoq+S1nNNNcXSWNEbcvaQ3zx7PmzvKtWdnl9CZLratvlP8tU3vi8wuL/7ob2lDv0bDkOvl KVqqlTkXCRR6rDKBnlVZkyxPxSrLaRryMPyWQuEt0c9Xrbg+SkVvNQxj08etYUWvKNkPrLyx22Zt jyrRZMVGA/61Kl7kjdGUFLdOSGFOJPWtE0nd1m3apUdTqy4SEQ4d0txKqHdQlh9Sg1mP5gGgYf/E 9UjKa/XorvWIecBjPZonYj+eR1Jeq0dvrUfbDe2AFblPiiTttYr0NxQZOVHEitwnRZL2WkUGa0U6 ToQHcvgV2c263VJHinfFa/URqwAsAOll3n7F1UsspmBznl0WCVYO9ohutB8TFcmiFUu4IZbQc3et HA5CLCSLVizRWiwkk10v4oMQC8miFUu8IZYA1vshP0QkC7MS37C4tGFHQjJWFFllG3YUhsskjkfr iaI1XY18tZAVrjVWWipfnPwM9Az2l7ZALABWmITSTDWwWoYskp2W0p0myYVclLByv2ATwX5F06jl zSuY37JKsv/9WVhnuUhEDcwPxkduSUB9aUm2Liw8ukJ/Qib0S2/tXtbyoiIT3vS+M4frzmrNi3M5 BxKlQSS6o0YD16aWSBJZ9OaWLk2l5rD3+wtdLeQ7L2zL06VSI4Vfc3F/hb4zjMz+4lVWlGro7msL kcxnlNdiaXsNARmQZjdUQ6CYwakeHavxXT+MOuBtB1YzmdgGu0PTO9inw2AYq+lQHMZqzEPOWM36 JcpYzR5jbozVPA/slLGaLyz49sWWZazmmSiSsZrBTR7GagbFwljNoFgYqxkUy+FiNRcN/Ik6mCYV KcCaVFoz8btgmOZxYBpgdI8I03hhFNiBo11qzE6/9jsAhtV6R7FLDbvUkKfThusNu9QcsUsNhsQB uUYxTMMwDfsq9i6wf7+vIsM0DNO03sPsUqOdqg/Cd4RhmkE8gmGaQbEcLkxzLiuhhPGpORWyYHTm kZxogJz8ReiMg9Cd0Gd0hly/OOCJ3NiGA6MYnWF0hgA7Rmc44GnPAhDZieaZGPWMzjwTRbITzaBh yU40g2JhdGZQLIzODIqF0RmKeDoRuVgxPPNI8AxIRh4RngkCz/WCjo8GzCphQCOdnWeYj4bhmSPm o+FYtZ5MiGZF8AoxH80ex6oxPPNMrHqGZ56JIhmeGbQsGZ4ZFAvDM4NiYXhmUCyHC89sxTi9yeqq LLJZLjUtDTvTjB6PkQbMqY+I1oQIdfIcE+rkO7YXPwp7MBk6i7Tth0h/H1nzVQ4OcNAFW44fBJoG GRw3mmrY8Bm1jMR05RazUr1NwMRMw8w0/EzWrUQM3SICzF6zx4gAh0VxWBSHRXFYVM/Uz1z8ZEth A/B7ufgZ2Rk0ShnZGRQLIzuDYmFkZ1Ash4vstPTCSAOmwL1+JYho+DdxJZm75ju4a5KbwsTjFFcn dGhMu3X+Lxs88D2yY/vWCbIgJU2pLEX/iD5onktkzKGxqvOGbdZCFb4D5VBtFeUJMeTLi6Wo5Hud T0kHQwFLwb36a/B1qx01sWcPJpayVAmefaQP0wl+6N5tqjHHBmGxg1RW4MUGShTaAI223Hoiz3Yj AEk6y5Qf6SRUu2mLZ2CXRp9Npw2RdAv+bCNFIPpZQ0XIbgUydONAMAwVFSWtO3W78oKSSrkRQj66 PD3EFE5d+hZASefE0hW36av08XaCKqFUeT2cywqS2MpQRQrqhkh/sKWj7bHidyjgExorG6PDRY4x hwY0jY7JJKLBrQXUMyYFbhivk5CFto9cVyjBI6TLdva9IwQedwYnfkIjZHs2wZSWVT9rgn06+i8d bY4hL4gjzzgOOjamk9szjIc0dzEmBJphHMe2Y09PQfccQo6+145kds923ujzLj6hUbGhcz92PTvG BA2VupMwDr02I2I/bziR61ABUjoy5Nl4Bd1/2jhMnSOX4dObCYae+E3te36ErajbqStZ+/SG7BcI /cEdK4U+2+jTfOLDEJwscbdSCOMovLWO9IOIJnazjrSR0RS+5If8xN+RrCRE8sLuWfcD6+RSpKp8 j6lznV2XLA+L0sIg0Yt529a3TIdjWrTSmhZpUTdsB2OyYPAVV531sttq2JjRnTDy48jYCU7oTVyv zS3cz+gwIzxkNdEKdoMY0/vd+iWL6Kve3bGP6qlJG2/1VdYgB3aerZAf2dg2enk6sJY3Y21rsX4H u8I10lq3OWzpjnV1jDS9p1mbdsfknKUTnDG2s93+0oyxs0U3pLdsPp1kbiP/631T1t4Pwb5fbXi0 ONPsY2cM3if9877xw+8b75P+3bX/B/mit5mmObPtd6UM36cBwBEIj+DJtU8DYA/2t/dJnHuwL75P 4tyD/fR9Euce7MPvkzh3798rsr/XKX9l/eKniztT/G4TeTc39zIhQVmRzVT2VTl+3wsFi/JX8alU 37TZDhPSoEN3Y0R9shQ/fBoYkYtAAz/G1gSh/qCLcD9Lg4tt28gHSEioP2NE532+alm8ePu6hcuA Hpz1HuPkPN7mw843s2F72DPBTqulWl5wSot8nC+K6WgmaqlRMlBmvu59Fc+SxkJUxlZqk/XZZ+nJ uE+zHMcIHDZGwBjRYeufMaIDhwgYIzrwAcAY0QspaAUMt4j6q7fwPtt0Y4zoQcXJGNGDipMxogcV 51diRNqho8yzdEcs4+MjQ7J4XGSoT9TiR08DGQrgJeL7wCuA+zih7QXObfLQwHb7MANGhhgZmo7u 527TedtYH6UC+mU7CAv50gPOyBAjg8Yd8Ol7jzEyxMgQzWfgk2XvIWwa0ebRUqiavYciODx3EZC8 N4Rtsme6AmBk6EGNRUaGHlScjAw9qDgZGXpQce4PMqTZOiyTyjj9thQ593Qb6tPE+PHTA4d820No oPbM2sgsw+BQ7xNkYousHOwgU6YIPfBNQ3YbOmxwgMGhw9Y/uw0d+AuA3YYOfAAwOPSg9iKDQw8q TgaHHlScDA49qDgPExyqsoT2E4ursywZYC/1sMFmWMZwvrlU0oIzUSrrRE1Hy6ap6qPx+Pr6+iXo SdOseZnK8YdFNh/PsjyVatz/+iFLyuLDmVQ1/tkfnA9edONFHxxv9rIqFq2f52/rNqBV28ynx3UF fiCiLurJUHcwGrX9APq10acZiAg79y46tm5WeVEftZ1AH2qKBhT1S9DjFjg3L9VKNPiqFmMwo2aJ fFMmlyuwmY7hURKMlSRumbKol1lVI+zqSK5mMp2O1C9pC1bVKjlHi7UHa90o2SRLkvMcvKXt74TP dSdwvNnEe1EwRX7o+IZTD/8nn0XXhXEQEUMTBdfhOLafPAETpADFk5juwYDmPUWuVMOEaQcYJPgD qW1HhUmdail2bSd0AGqasEgnmvjhLTLE0IbbUkuNBu4v3+4iU2/makUVVW3WJIsOEOK3SbL7/LgQ d0e9wmuwnZyeCi0akmzFdqda+DVGn/k1Or5PBbqIV/cL3KbMisYRr+b12CL9z9SrgaHrw4Yu19D1 /wEAAP//7FfbbuIwEP2VyK+rqiSk3NQgAbs8VVrU7A9MnCGJMElkGxb69TvjpCXdpbRa7dOWPICN j82Z42HmoPr1Sntb0A+RGPth2OsJD1RWRkIJL8X1D0jip0iE4TgY9IWnrYoEQdZVaWcOloBBMb2H ianlHNftaCWttweHvZ3e3/62OlvbC7h2NdktlHYwnSU0bM5bukc0h75Akl389PKVfo8fhsAk2S2J qWePNa5BYiRmugCKrC6szJewLdQxEv1QeDIHbdBycG4jhf5IwmxQkxR+QOc5KpUq0mWhlJvIHLf4 wizJ/JaW6aIU2KL8CwIInU1ftuUNQsNMms7Cx8Ih/Zt43FWovbt0DoGG4en+/f7QH1wT4DMkAN96 mwB3nQQYBaPRNQE+QwLwrbcJMDglQBCMqACcbwHP3eG5BSA8lHO9oeooPFfk2intzqHMijJb7UpJ FdV3pfP/LqisYSvnsCPnMOxz6zjXUa9yntrtH/2JNWzlHJ3kZC3fMihXOS/IyRq2co47cg7uhm+1 +6ucF+RkDRsnZWxsjwpZ25pfnMqafKOiChgJNDffYrLRhbZkM6kOmK1dKASylO/7SXv4kJ9cgCoS Xbxraek3RsSYpJ1+r1FDWmlvpUAC23Py4wzgZSzTFWhg93s+Cga9srjmtRH+98RPlBxNkpopH+ZV emQyO4Nx/YjSNv8K7CFuEKZ5y3TtPlByoiq5wXQB5R6MOyTTUOeF/AoWunMa/6wnGFR5pVLU018A AAD//wMAUEsDBBQABgAIAAAAIQCqJg6+vAAAACEBAAAZAAAAZHJzL19yZWxzL2Uyb0RvYy54bWwu cmVsc4SPQWrDMBBF94XcQcw+lp1FKMWyN6HgbUgOMEhjWcQaCUkt9e0jyCaBQJfzP/89ph///Cp+ KWUXWEHXtCCIdTCOrYLr5Xv/CSIXZINrYFKwUYZx2H30Z1qx1FFeXMyiUjgrWEqJX1JmvZDH3IRI XJs5JI+lnsnKiPqGluShbY8yPTNgeGGKyShIk+lAXLZYzf+zwzw7TaegfzxxeaOQzld3BWKyVBR4 Mg4fYddEtiCHXr48NtwBAAD//wMAUEsDBBQABgAIAAAAIQASXn0i3AAAAAUBAAAPAAAAZHJzL2Rv d25yZXYueG1sTI/NTsMwEITvSLyDtUjcqNNQBQhxKlSBEFIvDT9nN94mEfY62G4beHoWLnAZaTSr mW+r5eSsOGCIgycF81kGAqn1ZqBOwcvzw8U1iJg0GW09oYJPjLCsT08qXRp/pA0emtQJLqFYagV9 SmMpZWx7dDrO/IjE2c4HpxPb0EkT9JHLnZV5lhXS6YF4odcjrnps35u9U7CSBb7unhbF2s4/QnP/ uH7rvqJS52fT3S2IhFP6O4YffEaHmpm2fk8mCquAH0m/ytniMme7VZBf3WQg60r+p6+/AQAA//8D AFBLAwQKAAAAAAAAACEAzDIj4SwVAAAsFQAAFAAAAGRycy9tZWRpYS9pbWFnZTEucG5niVBORw0K GgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAU80lEQVR4nLWaW4wd15Wev7V3VZ1bnz7dTXaT zUvzTkoUqbssybYiWbbGdsb22B4n8XiSeUiCwQwQB5jJk5OHBEiQvAV5TN4SBAFiDHKdSzzyJLHl Gck2JVkSKVHi/dIk+959us+lqvZl5aFOk5SlGXiATAEbp87Bqaq19lr7X+v/dwkfOQwkdWzWQZIG YlLEGFQVUDR6UV8IsTRoNIoKqqAB1RA1hojGiHpFI6AffcT/xyP5yC9iEJOAsSAGRKpPFNFoQ75e Vz9oaMjHgOZ993DAEBggto9qCfi/ag8+xoHKcEHu/aYqsdhIY7HRUj94EPgsYp4DmaKKgIKeB34K nEfDPLAGbAmUQPir8kI+8tVmSNLAJC3EZohJJBbdZhguzYH8qm1Mfztp758xtQk0FMR8jTBcJeQr oCEH3gF+D3gTuC6waK3kMWrQUTS2HypSTZP8nBVQ/VFVifEvDuFHI1BdCRpAA7HopWG4PAfy22nn 8G80514aN0lDQ76K698WbKZiUxAjaKgBTwFtYAfwZwoxRlZqqR0YI8EIWGNIrGCNkFhDlhisEUAI MRKi4kOgcJGiDOQu4uPHu/FzDigQqwUZA4i3odwcA76RtPf9nebcSx1bm9BYrFeTHRxEj6qvnL53 HAe+Xt2MflT1pY9+99RYYQ0xTSy11JAlliyx1LIEY0Cj4kPEOU/pA4O8pF94bO7p5YHwMU58NAIo qopEL9FtNQjFKZONf7s2/dgEKGGwKNENiG6L6AfEkIv6oorYveywwDHgq8AqEEJU32pkq51WzaWJ 1UZmqaUJWWpJEwOq+Bhxpaf0jrL0ZIncjY4qDIrwkUh8bAoJEdRZDXkb+Jqp79iJRg3DJdHoVX1O dH2i64mWfY1+CKhwN11FRqdHgEeBFWBteaO/dXD3REgTE+ppQi2rImAEQox4HyhRrCgGJUaLxkiI Eeer1Apl+FCw7zoggDWCsYJJDCImGTqOAJ+UtCGhWFfBoATUl9XsF5tEtwWhZHZnmxeeOMz3f3KR lY3h9m0z4BHgIjC/NSgX3/jgthcRa0TEGEEEdnaa+uzJPdGIBtQoGFQNITGE1OCCoZ4aSm9wPlLe h2n27omBRmpp1FKa9Robm90W8Dwm/bqYdAyfS/Q9tOxJLDerUWwgIZeZqab823/2Tf7B335O1tc3 5cy786hWADOapC6wliZSJoa9ieFhI3pKNT6oGk5sbA0n37ywmLx+YZHZqRaoampFo+oIiZSgOlrc +iEH7qWQQmKFemqoZQagBuwghlrM14gmVRERVVWiQ6PDEOTBwzP6j/7+S3z1hdOiIdff+dbTvPXu Tfnh2/Maq1g3gdlOMzl1am78hRNz0w/Nze480azXms45zfNhuH5n9cLN5a0zV5f6L//xGzf+bKZT 7z55dMfQGpw1lV2pNaSJIUkEU8L2UrgbASNQzwzNWkqjlrHSHUwAnwJ9luhqhBINpRAKiA408uUX Tsk//faX+NLzp0iiF4qC8QxOzU3I/NImVxc2iao6PZ7JJ47veOTrLz379Bc/89y+h44fzmZndphd U+Oys9NKdk02pztN81Aj5ZlhGVbnV4dLy5u5PzTT8jFqjKOZ91EpfaRw+uc4kBqatYRmPZXF9UGH CtOfHkVDQGk3a/Lw8T3ynd/8vPzz3/kKDxzaJUlwgisQl4uUhezZ2eILT+2X0/vaEsuhPHFiz8Q3 vvD8xIuf/qQdazaFqOJ9SfBOQvBo9DJWs3a8JhOpjc+4oMXttfzO7bVhf6ZTC0aI/r70yctwt7R/ DIyClQgVhg9E8MYIOztNffzErHzxuZP60qdOcuTADKlBdDBQokfKXNQVSoxI9DLVtPr5x3Zz4caS OXz0AT28f1a3troCqCtLvHMSQtAYg4QY1YdIM7NyYGdjclCEv7G8WV5b3So35leH7sDORjAiak1V /ETuAd6HHRBAFIwqEI7O1NafPzGRnzp1gqdO7uXAvh3s3rUTm6bg8qp4xVAVNFdU5xohBPCOH70z T6M9yez0JHk+5Pylq+yY6DA53qIsC5wrcd4RnCN4hw+eTiNh31TjyNHdrS+sbpVnb60N+1NjaWmN eGMEIx9uPZK7hicV6EkdTAOAYljqxa8+Mnn1S188NkujIyBQ9gVvAANEJMa77bTEKAQPseDijWV5 59oGJ44exuVDuXBnibfOX2Sq05FTxw/SyFKKYihFnlO6skqp6DFGZOd4mh6caTx/9vrmfxuUobvR d4Pp8cyLMJr9+7KFrMpwU4P6mKHVTmmNp4DYW0t5fW4yO/CZY+OPSb2FIKKMOqwYEI2iMY7SJogG r0RHyAt5/YMFXew5JtpN6fYG+v7Vm3zjl5+WWiPTt85doVVPRIPTIs+lKAZaFAUxBAFVI1A4rS1t llfW++7Kas9tHZsdy11QChfo5fcqcsI4kIJJBDNmMG2DbRvmjoz5Wzf73f/w2vKPfvvF5a8daHWm aXYQNQJm1DQooiNCEz0SveAdg/6AGys9MSi9Xo+rCxty+uhunnzsKKedSFDhzOvvcWh3RzILZZ5L 8H47j8UItOs2bdbMAWAMqGWpldQGtT8fATkA6ZghaVka44ZWJ6U1kZHVU12+NWR903FzbZh9ai45 0W7WMkQgeggeCV40OCU4xJWirlRCyWYvl59eXNbesGRxYyCPPbBHf+WzD1NPUklrNT11+igqVt55 /4Z2Nzcllagju0RV1YgQFLm8NLy9sJG/Baye3N/uFS7GXu7ZHPq7EbDpUUMyZkgbhnrL0mwnNNop O3Y1BS928cagdnO9aK3HcvqR3Xa2kyUV9IaAhFIIDkKJBCfEADHQ3+zKWzc2KKLl0w8flM8+c4yx WoYYIxgLGA4c3COze6ZZ3RjK9VsraIhkibnbXrigcnGhf3NxI39dlaWT+9qbwyLEXu7oDu91pknS NiQ1gzUGyQRtCqGusrQ2SC+f3Wiyh929h+JT//n4+qEDncx+h5qwuQRZA5IM2caE6BFXCM6zNp7w 8CNteXBiH7P7Z8myRIgRfIkYK4ghS2qcOr5fDuzdyetvvC+vnXmX67eXGG9YGW8klD7iQyxivMdn dMSI7k+ixLaEpDFqWROh74K5/N3lei7hCJ/kK8kT5u8+evrg4Yfm5tTsflDWJn5LJy/+GBbP4jau ydqgpyBMdmYk23lc9dDnOGf/tzx99m3d72tI9KLeKokgQUTLYbXosyAiVjupkRefPanPPXaEG/ML 8tob7+u1myugPTIrmzqipCGiIerP0Q5ITCaYumCtgURk/b28lmvYa74kv9s4kXylMZZNfuLoUTrN FhvFAj/1P+PFx75FOujyziv/i3/5b/4JGjz/8B//C174a99kLXGsXPkuW1J1rRJcJQpsA3gANK9q hjEVB0dJNXJ01xiHf+kRut1Nbp5/r/jh2cWbQA44R6IBS8R8iGIakwgmqWDUdWPau+p28Gl+c+rx +jdPHpueMhbZGg7wMQgaObf1mtwoLwntWfnZouUPznblv7+1Kj94dwlpTMi14duyyiYLDREfS8E7 JJQiwQmhQiqJQfAFUuZC2UfKoUiZC77EaJRJ6yWL5cZbN/vXgD5QemlELzUCGSrp3URKJAVJBEnF LP9ef5JP8+tjn8z+3gOHdtYbWaob/Zyz8/MSVTRLU/FjUV9Z+x/s2DXLxQ/Oi0avAH/6yg/l8pVL eqP1AVtayNkmesJtsS9tjjpYRVIVNVaxCSJWVNCqtqBV/x1FfamD5Tvu3//o9plBGe8A3fH2WF7a troRP5BUEE3QUJKIEcTA4LzLmObB9Cnzq/v3tSesMYQQmZkcY35pg1fOrzPIA1975mmuJu9yoXiD q1eu4kf4fenSZc689yqrp6+hUfmT7gK1YsBvmTGoj4GPQASTjtLHjjQnuSckENHuir567tb1776+ /CawDHQffPBk6dMGITVoapCawZCiLicRA1ixg/ddkyf4TGeudqrdzCTGiBgjtcRyeHaSbj+X2yt9 WrVMhr7PT3rf472bb283Imx013n5jT+Q2SNCiIFcg/zHpMtXdIO9pRWyBrgSMV4ICZgEMSJUClTl RTHg0uXrG//65Ruv3lwrrwArcwcP98d27PG93BNTi2YWqVmMZKjJSCSB3k/KtOzHfckp8/WJTq0u IhqhEqxEsUbEhaBZmogLToWEa+uX2PPLNbl4zqobBAodyDV3TsfdAXwM4krRW1sTfCfukd/VqA9P DzBZTVSNEjwiIoqoQJWGvuSDBSu/8T933fzZzZVNTdVRbpZRLGUyJi6N+CxF6ynGJxhbJ9ocW38w McOzvhUP62fqp+3fnJlu1q0VzH1tk4hIYg2rWwPZ6A3Z0R4jMUJzuiZrV/psXO/TnK7Jw7+2n7HZ GjcuGzn/2hx2/ossLX5OXG2OJ4+0qA1ui4SiKny+EFwBwYtKRnf8Ef7V2cflbPP56frMqf22Pjsd i60764tXu8PhMOSlDzSmtQgGrwbEoAg2O2TM4Iyf4El+bexY+uzkRN0aGRkvIozOk8TKeKvO9eU1 WVjflFY9k8nJBknLyq0zGzJ5qMGJL8/KrfmGnP3D56ibz8nM4aekPT3F5paRZ158UZp7HoCkKdiG aG2C0NwtftfjlCe/Ka8NTsl331ImTh83Y/v3jyfj+w5HZh4ixHzzzrnl3sp8oVk70JrWGAWVSoqx tWM2KS6EaZ7kW5NH6yfGGmnFZQXRbblKKqRIjMjOTlP7RcH5G7dZ6fWlvTtV1wvYTiLrtf166eWX mDj4vEwdmtOsXiPNElld7OqBccPxh09JsedZdUd+CXfk81IeeknLXU/IVmzqv/v9K8ynE9Lc2VG1 lnTHhLWTu2Yk2fsMwSbFyrlLxep1ZycPeKl3go5UHJsdskl5OUzLk/ytHYca++q1iiLoaHFWQUCo ynjVKTYy2s0avWIoC5tdeu2CjaItxc0vM7bzGVqz0yJUtSuxVvJhQbnW5a8/vVtcWUBwqCsl+pIU J6++s8B/ObNGY/+siLX4EPE+iKYpNJp1dPKE27h+PfQXFhGTJzuOOI1RNXgS9SqARbBUhOFuqxFV RWLEByW1VqwRNIiICFlm2T3ZIkSVjXrOwo1nqGdPSLJzByFErBgJsSLf6fiYvHd5kaW1Ae2xTIKP I1qlomL4P28syaDRptWoUbogFcVQYlSR8TGSgwcnW0uf/3Xfu33DLb4/wKR5svfJApNi1FXr9O6U b2uLgKoqgl6eX6dwXl0IuBjUx6A+BPUaEYPaYoemKy+hE9MaFA0h4kPUEFRDjGStuq5JXV99exHR qD4EDd6jGvXtD1b4wQeb2t67U32l/aiPUUNUQowaQtQ4Po498OjD9d2f+BUk2ee7t1uxHCaYBDOi 916HrPWHXmPUD9E2RTFGiBoJWsl8PkR8DJXk54Th1VNofYaQJIQQ7w4fKklQjUE647z+3jJbg4IY AiEGBoOCP3p1nrLdIalneFddE4ISfBX5Sk6J+MmpLNv16GNJa9dRHay2w8qFVI0VowEFct7i+2uX hgt3VnoMco8IVCR65IzoqKXVkTNKiJFyq4Vb2I9vtfFRcSOjfVCcjzgfcCHSnGpzbj5nYXmAxkDw gYs3uvzf97pMzu3Ce8X78KFrvA94Hwk+4pJMmDpwMJs4dhqYCCsXapp3xWb7DX41Wu7QixfZ6q/5 bL2X19e3CtPrlfT7jn7pxYiQF0EGhWdQeAa5Z5B7GdzeJ8X1ZyRvz1UejzhhlZEiCmhUsVkqS7c3 ODiucnC2Kf3c85++f1MuuBbZ9KSUpZfK+CjVCJQhSumDlD5QBhUpnM08Nr/z6o8J5aaZOpIn0hBN 95h+eTneYYVX+QEb4cd6bDjjjwzH/SQ1GjSpz5ue/YgkAKaR1NpZc6pTBhVcqBDBBEFVNSqqVkIQ jQix1ZS3r/T0uUccl28N5Mz1odq9M5IPyyrnQ5TSVxqR81FKF9S5iHNRnFe1aS2ptWb2A+NAA0iS WKgm06b0i3Et9rhAYIs+81zlAjBJRarrCimo5cOEKOPQ2KnwWOuUjyr4INv9WVSVGCsNMzFSIVKr xQcLm7K8PuRP3lxmRZpSsxZ1QUKscr/0USoYjZQuSukCzld7DyHNoNHZtqkW5n9iE9+LalLx9YeS fv6u97GkS8nNkfEtKnG2QaUcmZ9zoCViWirmIVXwLupITZYQrPpESaMRaypVzSSJ3Bga/aMfL/LH 7/Yl7NuveQWbGisHpAxRfUUnpXBBvY+oVmRfRUCSDKgDqQ7XTBI2FU2VYCUmB00R++pjTwc4unGD FEhHxm/P/t0WCWiDfGo7s6IqGoRsq4trNvCNelUTTMX4rBWirfNf/3SBfGYXGIMWgaCRGPTu3ph0 e7g0w42qrW4/cju8lS0GIAnrSkhAEkW2GVtTAoqTTKuNRLNd5DLCrfL+CAwQekStyLaIqAiS53hj pYJVgzUi1kSsNUi9IZtpg9hsQRlEFYJGiVErRdJ7qfUHhJaBJN1ut1GRkQI4Ig4jcTShW/miAmpG JU0qesT2RpGM7mINZtceoTYBWYd441wS8/WfNdZvX3aN5vGi0VSMQRCJquqc4iWICJUcZo2YGLVu LGXpJQZVFAlRK4FPEdGomSpaAfc2dkvinTY3ll1YOvsu1YbJkNp4sKNqVfkURsOPhrtvlIBPEJoK DYWaSnNSwsoHXS176w0zNpeqGTdKkhSFqLVo9YpCJamESAxR1HmS4ZAiSSUEJfog0UcquTKK0UiW D8FYkRBIy5z6YCCNxSvr8dorbw6ufe97sey+ByzY2cd7Hyuv//mHAKNdfDGQdXysja0M5n/4stu4 tJF0Dj6aThw9acfnjtdr7Xa93mljs+y+G6igGO+xRa6jfL5fZFAA60pNu4v9WPZ6OlheCxtXbg1W 37/gt25ciK5/Gbgl4/u3yFr+Y/bI/wLzkxamNQ31DmTjUGuJ9hatbs43dLA8SYVcE6PPBtXGSMY9 APhFD6XKhRIoqN7BWAc2gHUaU+vS3jM0rZnwl3MgG8e2dkN9HLIxSBuISQWTmrB6PtP+cl0Hy437 jE+4B7/8gk5sRyRyL5krJ+pTQ2lOFjJ5pCC4gC/+UrOCqU1im7ug3oakAWkdZPRmizGibijqBhYR G7s3Eu1e395I+EWN/4gT0t4bzdhuj8aArUWSWiRWgjK+5P8B4QtVoYj47yQAAAAASUVORK5CYIJQ SwECLQAUAAYACAAAACEARz1u5AkBAAATAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlw ZXNdLnhtbFBLAQItABQABgAIAAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAADoBAABfcmVs cy8ucmVsc1BLAQItABQABgAIAAAAIQBvcYB8OA8AAC7aAAAOAAAAAAAAAAAAAAAAADkCAABkcnMv ZTJvRG9jLnhtbFBLAQItABQABgAIAAAAIQCqJg6+vAAAACEBAAAZAAAAAAAAAAAAAAAAAJ0RAABk cnMvX3JlbHMvZTJvRG9jLnhtbC5yZWxzUEsBAi0AFAAGAAgAAAAhABJefSLcAAAABQEAAA8AAAAA AAAAAAAAAAAAkBIAAGRycy9kb3ducmV2LnhtbFBLAQItAAoAAAAAAAAAIQDMMiPhLBUAACwVAAAU AAAAAAAAAAAAAAAAAJkTAABkcnMvbWVkaWEvaW1hZ2UxLnBuZ1BLBQYAAAAABgAGAHwBAAD3KAAA AAA="&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;v:imagedata src="file:///C:\DOCUME~1\oscar\CONFIG~1\Temp\msohtmlclip1\01\clip_image001.png" title="" croptop="-238f" cropbottom="-737f" cropleft="-894f" cropright="-154f"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;o:lock ext="edit" aspectratio="f"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:lock&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="Epgrafe1" style="text-align: center;line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;img src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_aoxFfIrI/AAAAAAAAArA/pCTf5iVeEQE/s320/1.jpg" style="cursor:pointer; cursor:hand;width: 289px; height: 187px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5386264073264374450" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="Epgrafe1" style="text-align: justify;line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;/span&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Diagrama del pro&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;ceso de gestión de mantenciones plac&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;as catódicas.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyTextIndent" style="text-align: justify;text-indent: 0cm; line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El desarrollo de&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; este software de Gestión de Mantenciones de Placas Catódicas, de ahora en adelante SIGEP, se basa principalmente en el diseño orientado a objetos bajo la asignación de responsabilidades. Uno de los objetivos que se buscan al utilizar esta técnica es conseguir la reutilización de software. Para esto, se han identificado y utilizado patrones de diseño, que hoy son un mecanismo efectivo de reutilización, y se han convertido en una técnica popular para el re-uso de conocimiento en el diseño de software, adicionalmente, para apoyar y agilizar el proceso de control y gestión de mantenciones de las pla&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;cas de cá&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;todos de cobre en terreno, se han integrado herramientas móviles para facilitar la tom&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;a de datos en línea dentro de la fae&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;na misma.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: center;line-height: normal; "&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;line-height: normal; "&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DISEÑO DE SIGEP CON PATRONES GRASP&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La siguiente sección muestra las elecciones y decisiones tomadas durante el diseño para la realización de los casos de usos con objetos basado en los patrones GRASP [5]. Lo esencial de un diseño de objetos lo constituye el diseño de las interacciones de objetos y la asignación de responsabilidades. Las decisiones que se tome n pueden influir profundamente en la extensibilidad, claridad y mantenimiento del sistema de software de objeto&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;s, además en el grado y calidad de los componentes reutilizables. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El modelo de dominio, no representa clases de software, pero se puede utilizar para inspirar la presencia y los nombres &lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;de algunas clases de software en el modelo de diseño.&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Por lo tanto, se crea un diseño con una &lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;repres&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;entación más baja entre el diseño del software y la percepción del dominio del mundo real con el que el software está relacionado. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para crear un modelo de dominio de clases conceptuales interesantes o significativas del dominio de interés, en este caso la gestión de placas de cátodos de cobre, la tarea central es, identificar las clases conceptuales relacionadas con el escenario que se está diseñando. A continuación se presenta una lista de categorías de clases conceptuales, la lista está restringida al escenario simplificado de gestionar placas de cátodos&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;y gestionar mantenciones de placas de cátodos.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:-.6pt;text-align:justify;line-height: normal"&gt;&lt;/p&gt;&lt;ul style="margin-top:0cm" type="disc"&gt;&lt;li class="MsoNormal" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Placas&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mantención&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Tareas&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Estados&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Empresa&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="text-align:justify;line-height:normal;mso-list:      l0 level1 lfo1;tab-stops:36.0pt"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Operador Placa&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El modelo de dominio, representado en la figura 2, muestra a Operador Placa, como responsable de gestionar las placas de cáto dos, iniciar un&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;a mantención y designar el tipo de tareas a realizar en la mantención de las placas de cátodos.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr_aDX9PIII/AAAAAAAAAq4/rWJKg3dQkD4/s320/1.jpg" style="cursor:pointer; cursor:hand;width: 302px; height: 272px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5386263430863724674" /&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="Epgrafe1" style="text-align: justify;line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Modelo de Dominio Gestión &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mantenciones Placas&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Dado este modelo de dominio&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;restringido al proceso de mantención de placas de cátodos, se identificaron dos casos de usos principales, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Gestionar Placas&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;y Gestionar Mantenciones&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, tal como se puede observar en el siguiente diagrama de casos de uso.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_a_xD8GkI/AAAAAAAAArI/cmaLLpgbBHU/s320/1.jpg" style="cursor:pointer; cursor:hand;width: 279px; height: 174px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5386264468394875458" /&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;/p&gt;&lt;p class="MsoCaption" style="text-align: center;"&gt;&lt;span style=" font-weight: normal; color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figura \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=" font-weight: normal; color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style=" font-weight: normal; color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Diagram&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;a de Casos de  uso&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height: 115%; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La primera elección de diseño comprende la elección del controlador para los mensajes de operación del &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;sistema &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;RegistrarNuevaPlaca, Cambiar Posición, Dar Baja Placa, Crear Mantención y Eliminar Mantención&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Es aceptable elegir un controlador de fachada como una única clase, si sólo hay pocas operaciones del sistema y el controlador no está asumiendo demasiadas responsabilidades, en otras palabras, si va a perder la cohesión. Es adecuado elegir un controlador de caso de uso cuando hay muchas operaciones del sistema y deseamos distribuir las responsabilidades con el fin de mantener a cada clase controladora ligera y centrada, es de&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;cir cohesiva.&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt; En este caso, se utilizará una clase,  puesto que sólo hay unas pocas operaciones del sistema.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Consultando el modelo de dominio, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; es un buen candidato para ser la clase &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;controladora. Por tanto, el diagrama de interacción que se muestra en la figura 4 comienza enviando los mensajes &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Registrar Nueva Placa&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Cambio Estado, Dar Baja Placa, Crear Mantención y Eliminar Mantención&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; al objeto software &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_YSF2L5TI/AAAAAAAAAqw/veNNPcBOs2o/s320/1.jpg" style="cursor:pointer; cursor:hand;width: 230px; height: 275px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5386261484677096754" /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoCaption" style="text-align: justify;"&gt;&lt;span style="color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figura \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color:windowtext;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Aplicación del patrón GRASP Controlador.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para el diseño de objetos, se debe crear un nuevo objeto software Placa, y el patrón GRASP Creador sugiere la asignación de la responsabilidad de creación a la clase que agrega, contiene o registra el objeto que se va a crear.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;margin-left: -0.6pt; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Por tanto, el &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; es un candidato razonable para crear un objeto Placa. Según el mundo real el Operador Placa es el responsable de registrar, dar de baja y cambiar la posición de un placa de cátodo de cobre, por tanto es un experto en información en estas actividades y sería razonable que el objeto software &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; fuera el responsable de estas funcionalida&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;des.&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;img src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_unnhY0EI/AAAAAAAAAr0/sGHk0y-UqdU/s320/1.jpg" style="cursor:pointer; cursor:hand;width: 265px; height: 251px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5386286043749732418" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;p class="MsoCaption" align="center" style="text-align: justify;"&gt;&lt;span style="color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ Figura \* ARABIC &lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color:windowtext;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="';font-size:10.0pt;"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Diagrama de Secuencia Gestionar Placas&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoCaption" align="center" style="text-align:center"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;p class="MsoCaption" align="center" style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Gestionar Mantención&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, se asume la necesidad de crear las instancias: Placas, Tareas y Estados y asociarlas a&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mantención. ¿Qué clase debería ser responsable de esto?. Puesto que un operador&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;placa registra una nueva mantención en el domino del mundo real, el patrón Creador sugiere a &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; como candidata para la creación de Mantención. La instancia &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; podría enviar entonces el mensaje &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;añadir Tareas&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;añadi&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;r Estados&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;añadir Placa&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; a mantención, pasando la nueva Tarea, Estado y Placa como parámetros. La figura 6 muestra un primer diagrama de secuencia que refleja esto.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;!--EndFragment--&gt;   &lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr51P9vaIjI/AAAAAAAAAf8/-iQn3hs6iAg/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 293px; height: 271px; " src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr51P9vaIjI/AAAAAAAAAf8/-iQn3hs6iAg/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385871121513587250" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Operador Placa crea Placa, Estados y Tareas&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:-.6pt;text-align:justify;line-height: normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Esta asignación de responsabilidades acopla la clase &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OperadorPlaca&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; con el conocimiento de la clase Placa, Estados y Tareas.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height:115%;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-mso-bidi-mso-ansi-language: ES;mso-fareast-language:AR-SA;mso-bidi-language:AR-SA"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Otra alternativa de diseño sería que l&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;a clase Mantención se encargue de crear las instancias Placa, Estados y &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Tareas, tal como lo muestra la figura 7, que describe esta alternativa.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr52H9rVP2I/AAAAAAAAAgE/uxjtGhxIu58/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 283px; height: 202px; " src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr52H9rVP2I/AAAAAAAAAgE/uxjtGhxIu58/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385872083569164130" /&gt;&lt;/a&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Mantención crea Placa, Estados y Tareas&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;¿Qué diseño, basado en la asignación de responsabilidades, soporta bajo acoplamiento?. En ambos casos se asume que la Mantención debe acoplarse con el conocimiento de Placa, Tareas y Estados. El diseño uno, en el que OperadorPlaca crea Placa, Estado y Tareas, añade acoplamiento entre OperadorPlaca y Placa, Estado y Tareas, mientras que el diseño dos, en el que Mantención crea estas instancias, no incrementa el acoplamiento. Desde el punto de vista puramente del acoplamiento, es preferible el diseño dos porque mantiene el acoplamiento global más bajo.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DISEÑO DE SIGEP CON PATRONES GoF&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:normal"&gt;&lt;span&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El siguiente problema de diseño a resolver es proporcionar una lógica más compleja para crear una mantención, como crear una mantención de una placa de cátodo de cobre siempre y cuando esta placa no exceda el límite máximo de costos de mantención (punto crítico) o ya tenga una mantención en la misma fecha.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Es probable que más adelante puedan surgir nuevas restricciones al proceso de mantención como por ejemplo, no realizar mantención a placas de cátodo de cobre con estado pandeado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="file:///C:/Documents%20and%20Settings/oscar/Escritorio/paper/Paper%20Memoria%20(Corregida).doc#_ftn1" name="_ftnref1" title=""&gt;&lt;span class="FootnoteCharacters"&gt;&lt;span&gt;&lt;span class="FootnoteCharacters"&gt;&lt;span style="line-height:115%; Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-mso-bidi-mso-ansi-language:ES;mso-fareast-language:AR-SA;mso-bidi-language:AR-SA"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; u otras variaciones.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Debido a esto, nos plateamos la siguiente cuestión ¿Cómo diseñar los diversos algoritmos de restricciones de mantención?&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height:115%;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-mso-bidi-mso-ansi-language: ES;mso-fareast-language:AR-SA;mso-bidi-language:AR-SA"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Una alternativa fue usar el Patrón GoF&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Estrategia [4], puesto que la restricción de la mantención varía según la estrategia (o algoritmo), se crean múltiples clases &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;EstrategiaCriterio&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, cada uno con un método polimórfico &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;getCriterio&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. A cada método &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;getCriterio&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; se le pasa como &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%;  "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;parámetro el objeto Placa, de manera que el objeto de la estrategia de restricción de mantención pueda encontrar el algoritmo adecuado. La implementación de cada &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;getCriterio&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; será diferente.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr589iTuymI/AAAAAAAAAgw/FhSXogb6hVc/s1600-h/a.jpg" style="text-decoration: none;"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 267px; height: 194px; " src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr589iTuymI/AAAAAAAAAgw/FhSXogb6hVc/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385879601005120098" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Patrón Estrategia&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Un objeto estrategia se conecta a un objeto de contexto, el objeto al que se aplica el algoritmo. En este caso, el objeto de contexto es una Placa.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height:115%;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; mso-fareast-mso-bidi-mso-ansi-language: ES;mso-fareast-language:AR-SA;mso-bidi-language:AR-SA"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:small;"&gt;Existen diferentes algoritmos o estrategias de mantención, y cambian con el tiempo, aquí surge la interrogante ¿quién debería crear la estrategia?. Un enfoque directo es aplicar el patrón Factoría. La clase Factoría Singleton, contiene como parámetros de creación el tipo de estrategia a utilizar. La figura 9 muestra esta alternativa de diseño.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style=" line-height: 14px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style=" line-height: 14px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr59dJsEMPI/AAAAAAAAAg4/zm7x0qDxHrU/s1600-h/a.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 262px; height: 107px; " src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr59dJsEMPI/AAAAAAAAAg4/zm7x0qDxHrU/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385880144152113394" /&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Factoría Singleton Mantención&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El patrón Estrategia nos lleva al siguiente problema. ¿Cómo gestionar el caso de varias políticas de restricciones de mantención?. Por ejemplo aplicar restricción de fecha y punto crítico a la vez, ó las placas con estado pandeado pueden tener más de una mantención diaria, ó las placas con cierto estado no pueden tener mantención, etc.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;¿Hay alguna forma de cambiar el diseño de manera que el objeto Placa no conozca si está tratando con una o más estrategias, y ofrecer también un diseño para la resolución de políticas contradictorias?.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Una buena solución a este problema es agregar al patrón GoF Estrategia, el patrón GoF Composite.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr5-Kua-jrI/AAAAAAAAAhA/isOWURWdGnw/s1600-h/a.jpg"&gt;&lt;br /&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 295px; height: 252px; " src="http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr5-Kua-jrI/AAAAAAAAAhA/isOWURWdGnw/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385880927106666162" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Patrón&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Estrategia, Composite, Factory y Singleton.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Con el patrón Composite, se ha creado un grupo de diferentes estrategias de restricción de mantención, que para Placa aparecen como una única estrategia.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;En la etapa de requerimientos se definieron sólo dos restricciones de mantención de placas de cátodo de cobre, con este diseño se busca que la implementación de nuevos criterios de mantención a distintos elementos del sistema sea de forma fácil y poco traumática para los demás componentes del sistema. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;line-height: normal; "&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DISEÑO DEL FRAMEWORK&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El software SIGEP, requiere que se almacene y recupere la información en mecanismos de almacenamiento persistente, como una base de datos relacional. Por tanto se necesita un servicio de persistencia que se construya con un FrameWork de Persistencia (FWP). Este es un framework simplificado que deberá proporcionar funciones para almacenar y recuperar los objetos en un mecanismo de almacenamiento persistente.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Las características esenciales del diseño de los conversores de base de datos, que constituyen una parte central del FWP, se basan en el patrón de diseño GoF Template Method (método plantilla). Este patrón es una parte esencial del diseño del framework, de manera más específica, los frameworks de caja blanca. Normalmente éstos son frameworks orientados a la definición de subclases y jerarquías de clases, que requieren que los usuarios conozcan algo acerca de su diseño y estructura, de ahí lo de caja blanca [7]. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La idea es crear un método (método plantilla) en una superclase que define el esqueleto de un algoritmo, en sus partes variables e invariables. El Método Plantilla invoca otros métodos, algunos de los cuales podrían redefinirse en una subclase. El punto de variación es la manera de crear el objeto a partir del almacenamiento. El método get será el método plantilla en una superclase abstracta ConversorPersistenciaAbstracto que define la plantilla, y utiliza un método “de enganche” en las subclases para la parte que varía, como se ilustra en la figura 11:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr5-3ZDBABI/AAAAAAAAAhI/OvTZT1pgrYQ/s1600-h/a.jpg" style="text-decoration: none;"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 289px; height: 320px; " src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr5-3ZDBABI/AAAAAAAAAhI/OvTZT1pgrYQ/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385881694463131666" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="margin-bottom:0cm;margin-bottom:.0001pt;text-align: justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Conversor de datos con el Método Plantilla.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="margin-bottom:0cm;margin-bottom:.0001pt; text-align:center;line-height:normal"&gt;&lt;b&gt;&lt;span&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;margin-bottom: 0.0001pt; line-height: normal; "&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ARQUITECTURA LÓGICA CON PATRONES&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0cm;margin-bottom:.0001pt;text-align: justify;line-height:normal"&gt;&lt;span&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0cm;margin-bottom:.0001pt;text-align: justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El sistema SIGEP está compuesto de muchos paquetes lógicos, como un paquete de interfaz de usuario, un paquete de acceso a base de datos, etc. Cada paquete agrupa un conjunto cohesivo de responsabilidades. Esta es la práctica básica de aplicar la modularidad para dar soporte a la separación de intereses.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El patrón Capas se relaciona con la arquitectura lógica, es decir, describe la organización conceptual de los elementos del diseño en grupos, independiente de su empaquetamiento o despliegue físico.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Las capas definen un modelo general de N-niveles para la arquitectura lógica, que produce una arquitectura en capas. Basado en el arquetipo de las capas comunes en una arquitectura lógica de un sistema de información, se ilustra en la figura 12 la arquitectura lógica en capas parcial de la aplicación SIGEP.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr5_nYvi1XI/AAAAAAAAAhQ/MSgDD-p9jUI/s1600-h/a.jpg" style="text-decoration: none;"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 243px; height: 249px; " src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr5_nYvi1XI/AAAAAAAAAhQ/MSgDD-p9jUI/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385882519015183730" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Vista lógica de las capas del sistema SIGEP.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El principio de Separación Modelo-Vista, es clave en el patrón Modelo-Vista-Controlador (MVC). Donde el Modelo es la Capa de Dominio, la Vista es la Capa de Presentación, y el Controlador son los objetos del flujo de trabajo en la Capa de Aplicación, que establece que los objetos del dominio no deberían&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;conocer directamente a los objetos de la vista o presentación.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Este principio mantiene que las clases del dominio encapsulan la información y el comportamiento relacionado con la lógica de la aplicación. Las clases de las ventanas son relativamente delgadas, responsables de la entrada y salida, y capturan los eventos del UI (User Interface), pero no mantienen datos ni proporcionan directamente ninguna funcionalidad de la aplicación.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr6ADyziCCI/AAAAAAAAAhY/k6iOTH4OdNk/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 264px; height: 112px; " src="http://2.bp.blogspot.com/_B8Gj2FAmRCk/Sr6ADyziCCI/AAAAAAAAAhY/k6iOTH4OdNk/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385883007047567394" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="Epgrafe1" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-weight:normal;mso-bidi-font-weight:bold'"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="font-weight:normal;mso-bidi-font-weight:bold"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;13&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Separación Modelo-Vista.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;En el sistema SIGEP las ventanas envían mensajes a la clase operador, consultando sobre la información que luego mostrarán como elementos gráficos, manteniendo así este principio.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal"&gt;&lt;span&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;line-height: normal; "&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;INTEGRACIÓN DE HERRAMIENTAS MÓVILES&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;span lang="ES-CL" style="line-height: 115%; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span lang="ES-CL" style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para la implementación de SIGEP, se utilizó la plataforma Visual Studio.NET 2003. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Este ambiente de desarrollo, tiene un completo conjunto de herramientas para construir aplicaciones Web en ASP, Servicios Web XML, aplicaciones para computadores personales y &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;aplicaciones para dispositivos móviles.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span" style="line-height: 14px; "&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La aplicación móvil se implementó en dispositivos Intermec CK61 (figura 14).&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Estos equipos móviles son para uso industrial, son terminales recolectores de datos intermec, con gran potencia, fuerza y velocidad: El Terminal portátil CK61 de Intermec cumple todas las exigencias de los entornos más duros, es decir para condiciones climáticas y ambientales más exigentes. La batería tiene capacidad para funcionar durante todo el día y el diseño robusto del Terminal proporciona un funcionamiento fiable durante años. El procesador y el sistema operativo de nueva generación permiten ejecutar aplicaciones complejas. El almacenamiento no volátil protege la información importante.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr6AhaipbOI/AAAAAAAAAhg/v_WuO2tggBc/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 247px; height: 232px; " src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr6AhaipbOI/AAAAAAAAAhg/v_WuO2tggBc/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385883515930373346" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="MsoNormal" style="text-align: justify;margin-top: 9.7pt; margin-right: -0.35pt; margin-bottom: 10pt; margin-left: 0cm; line-height: normal; "&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="';font-size:10.0pt';"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Equipo Intermec CK61&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0cm;margin-bottom:.0001pt;text-align: justify;line-height:normal;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Estos equipos se configuraron y utilizaron para la toma de datos en línea, dentro de la faena de las mantenciones de las placas catódicas, en este equipo los operadores ingresan los datos de identificación de la placa, empresa que realiza la mantención, el estado en el que llegó la placa y las tareas de mantenciones a realizar (figura 15).&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom:0cm;margin-bottom:.0001pt;text-align: justify;line-height:normal;text-autospace:ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr6A7hSU1JI/AAAAAAAAAho/gGSMsE_9Oto/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 133px; height: 201px; " src="http://3.bp.blogspot.com/_B8Gj2FAmRCk/Sr6A7hSU1JI/AAAAAAAAAho/gGSMsE_9Oto/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385883964417561746" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="';font-size:10.0pt';"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Pantalla ingreso de mantenciones&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height: 115%; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para el acceso móvil al sistema, se implementó una red inalámbrica en el taller de reparaciones de las placas de &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;cátodos de cobre, a través de la cual se integran los equipos clientes móviles Ck61 Intermec.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La figura 16 muestra la disposición de las particiones físicas del sistema SIGEP y la asignación de los componentes software a estas particiones, lo cual también permite visualizar la integración de las compenentes móviles al software SIGEP.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr6BZQHiOfI/AAAAAAAAAhw/MplV9r0vziA/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 288px; height: 274px; " src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr6BZQHiOfI/AAAAAAAAAhw/MplV9r0vziA/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385884475204975090" /&gt;&lt;/a&gt;&lt;div&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="';font-size:10.0pt';"&gt;&lt;span style="'mso-element:field-begin'"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'font-family:;font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Integración de las componentes móviles al SIGEP.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;margin-top: 9.7pt; margin-right: -0.35pt; margin-bottom: 10pt; margin-left: 0cm; line-height: normal; "&gt;&lt;b&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ANALISIS DE RESULTADOS&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Desde el punto de vista operacional de gestión, la información muy útil que proporciona SIGEP, es el detalle del historial de las mantenciones de las placas catódicas y conocer cuáles de ellas genera mayores costos para la compañía como se aprecia en la figura 17.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height: 115%; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:small;"&gt;Con SIGEP y su operación en línea del control de las mantenciones, se obtuvo el manejo exhaustivo de todos los datos que se generan en este proceso.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr6B5AjnbII/AAAAAAAAAh4/aSNfFg4_2Fg/s1600-h/a.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 283px; height: 213px; " src="http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr6B5AjnbII/AAAAAAAAAh4/aSNfFg4_2Fg/s320/a.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5385885020783602818" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Figura &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="'line-height:115%;font-family:font-size:10.0pt;"&gt;&lt;span style="'mso-element:"&gt;&lt;/span&gt;&lt;span style="'mso-spacerun:yes'"&gt; &lt;/span&gt;SEQ &amp;quot;Figura&amp;quot; \*Arabic &lt;span style="'mso-element:field-separator'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;17&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="';font-size:10.0pt;"&gt;&lt;span style="'mso-element:field-end'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;. Listado de placas con mayor costo de mantenciones&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 14px; "&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Desde punto de vista y objetivo de la reducción de los costos, para la empresa, en la operación de seis meses del software la empresa logró reducir sus costos de mantención en comparación con el periodo anterior en el mismo semestre, en cerca de 15%, debido a que el sistema arroja información que permite anticipadamente tomar decisiones acerca del recambio de las placas con mayor deterioro, o seguir una apropiada mantención de estas.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-top:9.7pt;margin-right:-.35pt;margin-bottom: 10.0pt;margin-left:0cm;text-align:justify;line-height:normal;mso-pagination: none;tab-stops:0cm;text-autospace:ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Respecto al desempeño técnico del sistema, se observó un rendimiento óptimo en cuanto a la comunicación y tiempos de respuestas, entre los clientes fijos y móviles, respecto a las interacciones con el servidor y la base de datos, aunque desde un punto de vista solamente cualitativo, porque no se hicieron mediciones al respecto por lo que datos cuantitativos sobre este  aspecto no es posible entregar.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;margin-top: 9.7pt; margin-right: -0.35pt; margin-bottom: 10pt; margin-left: 0cm; line-height: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;CONCLUSIONES&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;En el desarrollo de este trabajo, se persiguió dar solución a las problemáticas puntuales que tiene la superintendencia de planta de CMQB S.A., respecto a las mantenciones de las placas de cátodos de cobre, en lo que se refiere a llevar un adecuado control y seguimiento de las tareas realizadas a estos elementos y así evitar posibles cobros y costos excesivos debido a la desinformación existente. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;En este aspecto SIGEP cumple con el objetivo de entregar información relevante que permite llevar un adecuado control de las tareas realizadas a las placas catódicas, lo que ha permitido hasta el presente, disminuir las tareas realizadas  a las placas de cátodo de cobre hasta el punto de reducir en un turno los trabajos realizados por este concepto.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;La utilización de patrones de diseño en SIGEP permitió establecer y otorgarle flexibilidad en el diseño, independiente y extensible en el tiempo, al separar la interfaz y el diseño, esta separación hizo más fácil la creación y reutilización de código.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Además, al utilizar patrones se tornó más fácil documentar los detalles del diseño y como reutilizar la aplicación. Así también, se comprobó que son diseños muy efectivos y eficientes, ampliamente demostrados por la experiencia de otras personas y que  ayudan a construir software correctamente. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;De esta manera, se logró el objetivo de crear una aplicación de fácil entendimiento, modificación o adaptación del diseño por terceras personas, lo cual fue un requerimiento específico de la superintendencia de planta de la CMQB S.A.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="line-height: 115%; "&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;El framework construido para SIGEP, es una solución breve a los problemas y soluciones de diseño de un framework y servicios de persistencia. Se han &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;encubierto muchas puntos importantes como: seguridad, acceso multiusuario, estrategias de bloqueo, y gestión de errores.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Para el presente año, se contempla iniciar la renovación de unas cinco mil placas de cátodos para la CMQB S.A., por lo que el sistema SIGEP se convierte en una poderosa herramienta para decidir cuales placas de cátodos son las que deben ser reemplazadas de acuerdo a sus costos de mantención.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;text-autospace: ideograph-numeric"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="center" style="text-align: justify;line-height: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;REFERENCIAS&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:35.0pt;text-align:justify;text-indent: -33.75pt;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[1]          G. Booch, J. Rumbaugh, y I. Jacobson. El Lenguaje Unificado de Modelado. Madrid: ddison  Wesley  Iberoamericana, 1999. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.9pt;text-align:justify;text-indent: -36.9pt;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;           &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;W. R.&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Greiff.  “Paradigma vs Metodología; El caso de la POO (Parte II)”. &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Soluciones Avanzadas, 1994.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:38.75pt;text-align:justify;text-indent: -38.15pt;line-height:normal"&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[3]             L. Bass, P. Clements y R. Kazman, “Software Architecture in Practice”, Addison- Wesley, 1998.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.25pt;text-align:justify;text-indent: -36.9pt;line-height:normal"&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[4]&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;           &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;E. Gamma, R. Helm, R. Johnson y J. Vlissides,&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;“Design Patterns: Elements of Reusable Object-Oriented Software” (Gang of Four, [GoF]). Addison-Wesley Professional Computing Series. [GoF95], 1995.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.9pt;text-align:justify;text-indent: -37.5pt;line-height:normal"&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[5]&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;C. Alexander, S. Murria, M. Jacobson, I. Fiksdahl-King, y S. Angel,&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;“A pattern Language: Towns/Building/Construction”. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Oxford University Press, 1977.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.25pt;text-align:justify;text-indent: -35.65pt;line-height:normal"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[6]           C. Larman, “UML y Patrones, Una introducción al análisis y diseño orientado a objetos y al proceso unificado”;  Prentice Hall, 2002.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left:36.25pt;text-align:justify;text-indent: -36.9pt;line-height:normal"&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[7]           M. Fowler, “Patterns of Enterprise Application Architecture”, Adison Wesley, 2003. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="line-height: 14px; "&gt;&lt;span style="line-height: 115%; "&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-1683630621762895445?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/1683630621762895445/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=1683630621762895445' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/1683630621762895445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/1683630621762895445'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2009/09/patrones-grasp-y-gof.html' title='Patrones GRASP y GoF'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_B8Gj2FAmRCk/Sr_aoxFfIrI/AAAAAAAAArA/pCTf5iVeEQE/s72-c/1.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6367990356894402631.post-5368342779973873679</id><published>2008-10-07T15:33:00.001-07:00</published><updated>2010-02-03T04:05:21.153-08:00</updated><title type='text'>Simplemente yo</title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(64, 64, 64); line-height: 18px; font-family:Verdana, Tahoma, Arial, sans-serif;font-size:12px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Hola, mi nombre es Oscar Andrés Sandoval Carlos. Me gradué de Ingeniero Civil en Computación en la Universidad Arturo Prat, Iquique, Chile.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Ahora estoy trabajando en ZOFRI S.A para el proyecto SVE. Luego me gustaría estudiar un MBA o un Magister en TI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: medium; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6367990356894402631-5368342779973873679?l=oscar-sandoval.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oscar-sandoval.blogspot.com/feeds/5368342779973873679/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6367990356894402631&amp;postID=5368342779973873679' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/5368342779973873679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6367990356894402631/posts/default/5368342779973873679'/><link rel='alternate' type='text/html' href='http://oscar-sandoval.blogspot.com/2008/10/simplemente-yo.html' title='Simplemente yo'/><author><name>Oscar Sandoval</name><uri>http://www.blogger.com/profile/05492311118054464909</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_B8Gj2FAmRCk/Sr_s3TNiVDI/AAAAAAAAArU/xks3QQE7LW4/S220/100_2545.jpg'/></author><thr:total>2</thr:total></entry></feed>
