﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
  <channel>
    <title>Software y Aplicaciones Web</title>
    <description>Blog de desarrollo de software y aplicaciones web</description>
    <link>http://www.jtentor.com.ar/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.4.5.13</generator>
    <language>es-AR</language>
    <blogChannel:blogRoll>http://www.jtentor.com.ar/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Software y Aplicaciones WEB</dc:creator>
    <dc:title>Software y Aplicaciones Web</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <item>
      <title>Mi Primer Objeto - parte 1</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Con esta publicaci&amp;oacute;n voy a desarrollar lo necesario para que un principiante en programaci&amp;oacute;n orientada a objetos pueda ver como se logra un objeto. No voy a seguir ninguna metodolog&amp;iacute;a en particular, simplemente vamos guiar nuestra ideas en el proceso de construcci&amp;oacute;n.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Algunos conceptos&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Los objetos representan entidades con las que tenemos contacto a diario, estas entidades pueden ser reales como por ejemplo un avion, una persona o pueden ser abstractas como una cuenta de banco que no se puede tocar, sabemos que existe pero no la podemos tocar solamente vemos informes del estado de la cuenta.&lt;/p&gt;
&lt;p&gt;Sabemos que un objeto tiene comportamiento, lo que significa que presenta ciertas respuestas a determinadas acciones o mensajes que es la forma con la que dialogamos con los objetos. A un motor de auto no le podemos pedir que nos caliente el cafe, no entiende ese mensaje; el motor puede enter acelerar, frenar, parar y otros mensajes que tengan que ver con la naturaleza del motor mismo.&lt;/p&gt;
&lt;p&gt;Para poder realizar ese comportamiento que se observa en la vida real, los objetos necesitan de una "estructura interna" que no es otra cosa m&amp;aacute;s que datos almacenados de alguna manera que le permiten al objeto cumplir con las funciones que debe representar. En programaci&amp;oacute;n orientada a objetos, a diferencia de otros modelos de programaci&amp;oacute;n, lo m&amp;aacute;s importante es el comportamiento; debemos identificar ese comportamiento logrando poner un nombre a cada mensaje que el objeto puede responder y si hacen falta argumentos o par&amp;aacute;metros para que ese mensaje tenga sentido, por ejemplo a un motor se le puede pedir que acelere pero debe indicarse cuant&amp;oacute; debe acelerar.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Ejemplos a considerar&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Los que tuvieron la oportunidad de jugar al &lt;a title="Age Of Empire III" href="http://www.ageofempires3.com/" target="_blank"&gt;Age Of Empire&lt;/a&gt;, saben que en ese juego hay personajes que recorren el campo de juego buscando y recolectando madera, oro, piedra entre otroas cosas. Lo que se observa en este caso es que ese personaje tiene un objeto en el cual guarda los elementos que encuentra.&lt;/p&gt;
&lt;p&gt;En el juego &lt;a title="Counter Strike" href="http://es.wikipedia.org/wiki/Counter-Strike" target="_blank"&gt;Counter Strkie&lt;/a&gt;, los personajes comienzan con un arma y a medida que pueden "matar" a otros personajes pueden levantar el arma del que acaban de matar. Nuevamente vemos ese comportamiento, resulta que el personaje tiene un objeto donde puede meter las armas (elementos) que levanta, sin embargo aqu&amp;iacute; se observa un comportamiento adicional: resulta que el personaje que se muere "tira" o "deja" su arma, lo que podemos enunciar como que el objeto en cuesti&amp;oacute;n debe permitir sacar un elemento que est&amp;aacute; dentro de &amp;eacute;l. Es en este juego donde tambi&amp;eacute;n se oberva que ese objeto, el que contiene las armas, puede mostrar todos los elementos que contiene lo que representa otro comportamiento m&amp;aacute;s, en este caso la posibilidad de obtener por ejemplo una cadena con las representaciones de las armas que tiene.&lt;/p&gt;
&lt;p&gt;Cuando vamos de compras a un supermercado, paseamos por el sal&amp;oacute;n de ventas recogiendo lo que nos hace falta (y que obviamente podamos pagar), en algunos casos tomamos una unidad del producto o art&amp;iacute;culo y en otras oportunidades recogemos dos o tres unidades del mismo art&amp;iacute;culo. Ahora tambi&amp;eacute;n se observa el mismo comportamiento, hay un objeto (el carro) donde se puede agregar articulos (del mismo tipo o no); sin embargo aqu&amp;iacute; se observa un caso particular cuando son varias las personas que est&amp;aacute;n haciendo las compras ocurre que una de ellas necesita saber si un elemento est&amp;aacute; o no en el carro (puede ser que otra persona ya lo haya recogido) de manera que se espera que el objeto pueda decirnos si un elemento est&amp;aacute; o no en &amp;eacute;l.&lt;/p&gt;
&lt;p&gt;Resulta que cuando ya no vamos a comprar m&amp;aacute;s art&amp;iacute;culos y nos acercamos a la caja, miramos el carro para ver cuantos articulos tenemos y ver si podemos pasar por una de las cajas r&amp;aacute;pidas que normalmente aceptan hasta una cantidad de productos; ese es otro comportamiento que debemos considerar, resulta que el objeto tiene que poder decirnos cuantos elementos contiene. Una v&amp;eacute;z que est&amp;aacute;mos en la caja se observa que la persona que nos va a cobrar saca (en la medida que puede) los art&amp;iacute;culos del mismo tipo para pasarlos una sola v&amp;eacute;z multiplicando su precio por la cantidad que llevamos; he ah&amp;iacute; otro comportamiento, resulta que el objeto tambi&amp;eacute;n tiene que poder decirnos cuantos elementos hay de un tipo o valor en particular.&lt;/p&gt;
&lt;p&gt;Una situaci&amp;oacute;n que parece innecesaria de enunciar en el ejemplo del carro en el supermercado es el hecho de hasta cuando sacamos productos del carro cuando estamos en la caja. Pues bien lo hacemos hasta que el carro est&amp;aacute; vacio, lo que significa que el objeto en cuesti&amp;oacute;n tiene que poder decirnos si esta vac&amp;iacute;o o no.&lt;/p&gt;
&lt;p&gt;Bien, creo que los ejemplos muestran que m&amp;aacute;s all&amp;aacute; de las diferencias, existe un objeto que presenta un comportamiento comun el que podemos enunciar en la siguiente lista:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Es posible agregar un elemento al objeto tantas veces como se desee.&lt;/li&gt;
&lt;li&gt;Es posible sacar un elemento del objeto (siempre que este ah&amp;iacute;).&lt;/li&gt;
&lt;li&gt; Es posible determinar si un elemento est&amp;aacute; o no en el objeto.&lt;/li&gt;
&lt;li&gt; Es posible averiguar si el objeto est&amp;aacute; vac&amp;iacute;o.&lt;/li&gt;
&lt;li&gt; Es posible obtener una cadena con la representaci&amp;oacute;n de todos los elementos que est&amp;aacute;n en el objeto.&lt;/li&gt;
&lt;li&gt;Es posible averiguar cuantos elementos hay en el objeto.&lt;/li&gt;
&lt;li&gt;Es posible averiguar cuantos elementos de un mismo tipo o valor hay en el objeto.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ahora debemos identificar (dejar en claro) los mensajes que utilizaremos para dialogar con este objeto. Tenemos que ponerle un nombre a cada mensaje y tambi&amp;eacute;n indicar si requiere o no argumentos y por supuesto si el mensaje debe entrgar "algo" de que tipo es ese "algo" que entrega. Este proceso es importante requiere de un nivel de abstracci&amp;oacute;n porque vamos a concentrarnos en "que hace" el objeto y dejar para m&amp;aacute;s adelante "como lo hace". Si logramos superar esta etapa sin pensar en el "como" vamos a tener lo que se conoce como una "interface" que no es otra cosa m&amp;aacute;s que una especificaci&amp;oacute;n de lo que debe hacer un objeto, no se indica "como lo hace" simplemente se dice "que hace" y todo lo necesario para que pueda hacerlo de manera que cada mensaje quede bien definido.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para el punto 1 vamos bautizar el mensaje como "Agregar" y es obvio que tenemos que indicar mediante un argumento o par&amp;aacute;metro el elemento que quermos agregar. De manera que en principio el mensaje queda as&amp;iacute;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agregar(TipoElemento elemento)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Utilizamos TipoElemento porque en este punto (gracias a la abstracci&amp;oacute;n) no nos intersa si se trata de art&amp;iacute;culos, madera, piedra, armas o lo que sea que estamos metiendo dentro del objeto, simplemente queremos agregara elementos. Este mensaje deber&amp;iacute;a o no devolver algo, es bastante com&amp;uacute;n que se piense que no hace falta devolver nada cuando se trata de este tipo de mensajes; sin embargo es una buena pr&amp;aacute;ctia devolver el mismo objeto (por supuesto con el elemento agregado) consecuentemente el mensaje quedar&amp;iacute;a as&amp;iacute;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TipoObjeto Agregar(TipoElemento elemento)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ahor estamos diciendo que el mensaje devuelve una "referencia" al tipo del objeto en cuesti&amp;oacute;n, nuevamente no nos preocupamos por el tipo del objeto eso lo dejamos para m&amp;aacute;s adelante.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;En el punto 2 el mensaje podr&amp;iacute;a ser el siguiente:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TipoObjeto Sacar(TipoElemento elemento)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Es importante destacar que este mensaje tambi&amp;eacute;n devuelve una "referencia" al tipo delobjeto en cuesti&amp;oacute;n (obviamente sin el elemento que indicamos) porque no hace falta dado que ya conocemos el elemento lo que queremos es que lo saque del objeto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;El mensaje del punto 3 ser&amp;aacute; algo como:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bool Existe(TipoElemento elemento)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Obviamente el resultado debe ser un valor booleano (verdadero o falso) de acuerdo a si el elemento que enviamos como par&amp;aacute;metro est&amp;aacute; o no en el objeto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para el punto 4 el mensaje es:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bool Vacio()&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lo que es obvio porque tambi&amp;eacute;n se espera un valor booleano (verdadero o falso) y en&amp;nbsp; este caso no requiere de par&amp;aacute;metros.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;En el punto 5 podemos imaginar cualquier nombre para el mensaje, sin embargo es costumbre incluso una buena pr&amp;aacute;ctica de programaci&amp;oacute;n utilizar lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;string ToString()&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Con lo que estamos indicando que el mensaje devuelve una cadena que tendr&amp;aacute; la representaci&amp;oacute;n de todos los elementos que est&amp;aacute;n dentro del objeto. Utilizar "ToString" (si fuese Java ser&amp;iacute;a toString, la primera en min&amp;uacute;scula) es una posiblidad que nos brindan los lenguajes de programaci&amp;oacute;n orientada a objetos dado que este mensaje particularmente ya existe para todos los objetos, y como nuestro objeto pertenecer&amp;aacute; a la jerqu&amp;iacute;a de objetos del programa obviamente heredar&amp;aacute; el mensaje, de manera que lo correcto es "sobreescrir" o redefinir el mensaje.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;El punto 6 es bastante simple y queda de este modo:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;int Contar()&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Devuelve un entero que representa la cantidad de elementos que hay en el objeto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para el punto 7 vamos a utilizar la posiblidad que nos brindan los lenguajes de programaci&amp;oacute;n orientada a objetos sobrecargando el mensaje, de modo que ser&amp;iacute;a as&amp;iacute;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;int Contar(TipoElemento elemento)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A diferencia del mensaje del punto 6, cuando se utiliza el mensaje indicando un parametro lo que se desea es que el objeto nos conteste con la cantidad de elementos iguales al par&amp;aacute;metro o argumento que pasa.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hasta este punto, la lista de comportamiento observado ha sido expresada en t&amp;eacute;rminos de mensajes obviamente para programaci&amp;oacute;n orientada a objetos; si pretendemos mostrarle esto a mi abuela seguramente no lo va a entender, pero los desarrolladores sabemos que cada uno de los mensajes est&amp;aacute; asociado con un comportamiento que se observa en la vida real.&lt;/p&gt;
&lt;p&gt;Otro punto muy importante a esta altura es que en ning&amp;uacute;n momento se ha pensado al menos no se escribi&amp;oacute; nada que vincule los mensajes con la estructura interna del objeto, todavia no sabemos como haremos para guardar los elementos dentro del objeto y as&amp;iacute; debe ser. Los mensajes deben ser totalmente independientes de la estructura interna, de ese modo cuando llegue el momento de implementar (escribir c&amp;oacute;digo) se podr&amp;aacute; utilizar las formas, t&amp;eacute;cnicas y metodolog&amp;iacute;as m&amp;aacute;s apropiadas para ello. Con esto quiero decir que la manera en que los elementos se guardan dentro de los objetos puede ser diferente, sin embargo el resto del programa o aplicaci&amp;oacute;n no se ver&amp;aacute; afectado porque los objetos de la aplicaci&amp;oacute;n dialogan con este objeto por medio de sus mensajes nunca acceden a la estructura interna y tampo saben como hace el objeto para mantener esa estructura interna.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;El siguiente paso, ahora que estamos conformes con la especificaci&amp;oacute;n del objeto, es implementar algo del objeto o todo si somos habilidosos y creemos que nos puede salir bien de primera. Como esta publicaci&amp;oacute;n est&amp;aacute; dirigida a aquellos que est&amp;aacute;n comenzando con la programaci&amp;oacute;n orientada a objetos, vamos a hacerlo por partes, o sea iterativa e incrementalmente lo que quiere decir que vamos a iterar (dar vueltas) trabajando varias veces sobre lo mismo solo que en cada iteraci&amp;oacute;n vamos a agregar (incrementar) un poco m&amp;aacute;s de funcionalidad hasta que logremos todo lo que se nos pide.&lt;/p&gt;
&lt;p&gt;Como los ejemplos de partida hablan de armas, madera, oro, articulos de un supercado la cosa est&amp;aacute; complicada entonces una buena idea es hacer un prototipo del comportamiento. Esto quiere decir que vamos a desarrollar un "artefacto" con el cual vamos a probar si somos capaces de lograr el comportamiento observado, por eso vamos a decir que &lt;strong&gt;en nuestro prototipo los elementos son letras&lt;/strong&gt; (caracteres), y vamos a bautizar el TipoObjeto como "&lt;strong&gt;Bolsa&lt;/strong&gt;" porque es un nombre que parece ser el m&amp;aacute;s apropiado. Si podemos lograr el comportamiento para una "&lt;strong&gt;Bolsa de caracteres&lt;/strong&gt;", seguramente podremos iterar e incrementar hasta lograr los ejemplos con los que arrancamos.&lt;/p&gt;
&lt;p&gt;Los desarrolladores que tiene un poco m&amp;aacute;s de experiencia realizan esta tarea directamente especificando lo que se conoce como una interface, nosotros no lo haremos porque mi intenci&amp;oacute;n es no complicar el ejemplo con otras cuestiones que son necesarias y que las mostrar&amp;eacute; al finalizar esta tanda de publicaciones.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;El desarrollo&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A medida que avancemos enel desarrolla voy a mostrar porciones de la implementaci&amp;oacute;n realizada en C#, estas porciones est&amp;aacute;n fuera de contexto luego ver&amp;aacute;n como se las incorpora a todas juntas.&lt;/p&gt;
&lt;p&gt;Ahora entendemos que el "Que hace" est&amp;aacute; definido y por el momento no cambia, de manera que vamos a trabajar con el "Como lo hace". Llego el momento de pensar c&amp;oacute;mo vamos a guardar los caracteres (elementos) dentro de la bolsa (objeto), una primera idea es utilizar un arreglo donde guardamos los elementos (seguro que despues podemos mejorar o no esta situaci&amp;oacute;n pero por alg&amp;uacute;n lado hay que comenzar). Resulta que el arreglo tiene un tama&amp;ntilde;o o dimensi&amp;oacute;n que se fija en alg&amp;uacute;n momento y la bolsa tiene que permitir que los caracteres se agregen o saquen nos hace falta un n&amp;uacute;mero (entero) que indique cuantos caracteres hay en el arreglo. Entonces la estructura interna puede quedar de la siguiente manera:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// sirve para almacenar o guardar los elementos dentro del objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// inicialmente tiene una capacidad para 100 caracteres.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] datos = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[100];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Sirve para mantener la cantidad de elementos &amp;uacute;tiles dentro del&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// objeto, inicialmente su valor es cero.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; cantidad = 0;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Es importante destacar que los componentes de la estructura interna se declaran como privados, eso es necesario para lograr que el "mundo exterior" desconozca los pormenores del objeto. Observen que estos componentes el arreglo de caracteres y el entero ya est&amp;aacute;n inicializados lo que es necesario porque un arreglo debe tener una dimensi&amp;oacute;n antes de poder utilizarlo y por supuesto el entero que cuenta cuantos caracteres &amp;uacute;tiles hay en el arreglo debe comenzar con un valor igual a cero. Otro detalle es la ventaja de poder incorporar documentaci&amp;oacute;n que indica y aclara para cualquier persona (que pueda leer c&amp;oacute;digo) de que se trato lo que ah&amp;iacute; se encuentra.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bi&amp;eacute;n la implementaci&amp;oacute;n del mensaje correspondiente al punto 1 es lo que llamamos un m&amp;eacute;todo, que puede ser el siguiente:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Agrega un elemento al objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea agregar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al mismo objeto bolsa que ahora continene el nuevo elemento&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Agregar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Solamente se puede agregar hasta que se "llene" el arreglo&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (cantidad &amp;lt; 100)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Obviamente es publico porque el "mundo exterior" tiene que poder utilizar este m&amp;eacute;todo para dialogar con el objeto, observen que la variable "cantidad" (que indica cuantos caracters &amp;uacute;tiles hay en el arreglo) puede tener un valor que va desde cero hasta 99 lo que nos sirve como subindice para saber donde debemos poner el nuevo caracter, obviamente despues de ponerlo debemos incrementar el valor de "cantidad".&lt;/p&gt;
&lt;p&gt;Por ahora solamente se puede agregar hasta que se llene el arreglo, incluso no hacemos nada cuando esa situaci&amp;oacute;n ocurre; ya veremos como solucionar esta cuesti&amp;oacute;n. En este momento estamos construyendo un prototipo consecuentemente debemos lograr algo que funcione y nos permita ver que vamos por buen camino.&lt;/p&gt;
&lt;p&gt;Entonces debemos implementar el punto 5, que nos permite ver que hay dentro del objeto; de ese modo podremos probar si el mensaje "Agrear(...)" funciona. Entonces podemos considerar la siguiente porci&amp;oacute;n de c&amp;oacute;digo:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Genera una cadena con todos los elementos que hay en el objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// del tipo bolsa.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// ESTA NO ES LA MEJOR IMPLEMENTACI&amp;Oacute;N, PERO SIRVE PARA EL EJEMPLO &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// DEBER&amp;Iacute;A UTILIZARSE UN OBJETO StringBuilder (luego lo veremos)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Cadena con la representaci&amp;oacute;n de cada elemento que hay en el objeto bolsa&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;override&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; ToString()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; s = &lt;span style="color:#A31515;"&gt;""&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; cantidad; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;        s = s + datos[i].ToString() + &lt;span style="color:#A31515;"&gt;" "&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; s;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Este m&amp;eacute;todo tambi&amp;eacute;n debe ser publico (caso contrario el "mundo exterior" no lo podr&amp;iacute;a utilizar) pero tambi&amp;eacute;n debe indicarse que se est&amp;aacute; sobreescribiendo el mismo m&amp;eacute;todo de la jerarqu&amp;iacute;a de clases, debemos recordar que todos los objetos pertenecen a una enorme jerarqu&amp;iacute;a donde el primero de ellos implementa el m&amp;eacute;todo ToString. Este  c&amp;oacute;digo no es de lo mejor pero sirve para que entendamos el ejemplo, de ninguna manera se permite que el desarrollador realice implementaciones de baja calidad o utilizando elementos que no son eficientes porque despues no hay tiempo o se olvidan de cambiarlas y quedan as&amp;iacute;; al tratarse de un ejemplo acad&amp;eacute;mico esto sirve para no complicarnos la vida con otras cosas, el objetivo es mostrar como se puede hacer.&lt;/p&gt;
&lt;p&gt;Con lo que tenemos hasta ahora ya es posible realizar una prueba del prototipo, a continuaci&amp;oacute;n voy a detallar los pasos necesarios para que esto se pueda utilizar desde una aplicaci&amp;oacute;n de consola o l&amp;iacute;nea de comandos.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;En C# recomiendo la siguiente manera de atacar un proyecto de prueba o prototipo. Lo primero es tener una soluci&amp;oacute;n de manera que una vez que se arranca el Visual Studio van al men&amp;uacute; "Archivo - Nuevo" y buscan la alternativa para una "Soluci&amp;oacute;n en blanco" o vac&amp;iacute;a.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura01.jpg" alt="" width="535" height="383" /&gt;&lt;/p&gt;
&lt;p&gt;Una vez que tiene la soluci&amp;oacute;n es posible agregar un proyecto, para ello lo que tienen que hacer es apuntando en el nombre de la soluci&amp;oacute;n se pulsa el boton derecho lo que muestra los siguientes men&amp;uacute;s contextuales y selecci&amp;oacute;na "Nuevo proyecto".&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura02.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ahora tienen que elegir el tipo de proyecto, para eso buscan en Visual C# la alternativa que diga "Aplicaci&amp;oacute;n de consola" y le dan un nombre (el que quieran)&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura03.jpg" alt="" width="535" height="383" /&gt;&lt;/p&gt;
&lt;p&gt;Con esto ya tienen un proyecto que tiene un elemento Program.cs que es por donde comenzar&amp;aacute; la ejecuci&amp;oacute;n la aplicaci&amp;oacute;n. Por ahora no hacemos nada en Programa.cs, vamos a agregar un nuevo elemento en este caso una clase que es donde vamos a codificar todo lo necesario para nuestro ejemplo.&lt;/p&gt;
&lt;p&gt;Eso se hace apuntando al nombre del proyecto y pulsando el boton derecho para acceder a los men&amp;uacute;s contextuales de manera que puedan agregar una clase:&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura04.jpg" alt="" width="535" height="383" /&gt;&lt;/p&gt;
&lt;p&gt;Les aparece el siguiente formulario donde deben indicar el nombre de la clase&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura05.jpg" alt="" width="535" height="383" /&gt;&lt;/p&gt;
&lt;p&gt;El nombre apropiado es "Bolsa" porque de ese modo el Visual Studio escribe lo m&amp;iacute;nimo como para comenzar a implementar el c&amp;oacute;digo.&lt;/p&gt;
&lt;p&gt;Bien ahora se puede escribir el c&amp;oacute;digo en la clase Bolsa lo que deber&amp;iacute;a quedar de la siguiente forma:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt; Demo1&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; Bolsa&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;  {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#region&lt;/span&gt; Campos de la Estructura Interna de cada objeto&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// sirve para almacenar o guardar los elementos dentro del objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// inicialmente tiene una capacidad para 100 caracteres.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] datos = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[100];&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Sirve para mantener la cantidad de elementos &amp;uacute;tiles dentro del&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// objeto, inicialmente su valor es cero.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; cantidad = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#region&lt;/span&gt; M&amp;eacute;todos p&amp;uacute;blicos, implementan los mensajes&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Agrega un elemento al objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea agregar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al mismo objeto bolsa que ahora continene el nuevo elemento&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Agregar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Solamente se puede agregar hasta que se "llene" el arreglo&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (cantidad &amp;lt; 100)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Genera una cadena con todos los elementos que hay en el objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// del tipo bolsa.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// ESTA NO ES LA MEJOR IMPLEMENTACI&amp;Oacute;N, PERO SIRVE PARA EL EJEMPLO &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// DEBER&amp;Iacute;A UTILIZARSE UN OBJETO StringBuilder (luego lo veremos)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Cadena con la representaci&amp;oacute;n de cada elemento que hay en el objeto bolsa&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;override&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; ToString()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  53:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  54:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; s = &lt;span style="color:#A31515;"&gt;""&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  55:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; cantidad; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  56:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  57:  &lt;/span&gt;        s = s + datos[i].ToString() + &lt;span style="color:#A31515;"&gt;" "&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  58:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  59:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; s;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  60:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  61:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  62:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  63:  &lt;/span&gt;  }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  64:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Observen que se utilizan directivas del IDE, lo que permite encerrar entre #region y #endregion una porci&amp;oacute;n de c&amp;oacute;digo, obviamente para mejorar la legibilidad del mismo. Adem&amp;aacute;s es posible hacer click el s&amp;iacute;mbolo menos para "esconder" esa porci&amp;oacute;n de c&amp;oacute;digo; de hecho en este ejercicio es innecesario, pero cuando se debe implementar c&amp;oacute;digo m&amp;aacute;s complejo y largo esto resulta muy util.&lt;/p&gt;
&lt;p&gt;El otro punto que es importante destacar es la posibilidad de documentar (t&amp;eacute;cnicamente) el c&amp;oacute;digo que est&amp;aacute; escribiendo. Esto se hace agregando /// (tres barras) en la l&amp;iacute;nea anterior a la declaraci&amp;oacute;n del m&amp;eacute;todo, entonces el Visual Studio agrega esa plantilla donde uno puede describir lo que ese metodo hace, como son sus par&amp;aacute;metors y que devuelve.&lt;/p&gt;
&lt;p&gt;Es el momento de generar la soluci&amp;oacute;n para ver que todo est&amp;aacute; compilando bi&amp;eacute;n; eso se hace en el men&amp;uacute; con la opcion "Generar - Generar Soluci&amp;oacute;n".&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ahora podemos pasar al c&amp;oacute;digo de Program.cs que es donde esta el punto de inicio de la aplicaci&amp;oacute;n y poner algo de c&amp;oacute;digo que nos permita probrar:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt; Demo1&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; Program&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;  {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Main(&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      Bolsa mibolsa = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Bolsa();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      mibolsa.Agregar(&lt;span style="color:#A31515;"&gt;'A'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"La bolsa tiene: {0}"&lt;/span&gt;, mibolsa.ToString());&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      mibolsa.Agregar(&lt;span style="color:#A31515;"&gt;'X'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"La bolsa tiene: {0}"&lt;/span&gt;, mibolsa.ToString());&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      mibolsa.Agregar(&lt;span style="color:#A31515;"&gt;'R'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"La bolsa tiene: {0}"&lt;/span&gt;, mibolsa.ToString());&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      mibolsa.Agregar(&lt;span style="color:#A31515;"&gt;'A'&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"La bolsa tiene: {0}"&lt;/span&gt;, mibolsa.ToString());&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;  }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Compilamos y ejecutamos:&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2009%2f8%2fDemoBolsa1Captura06.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;FUNCIONA !!!!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Con esto finalizamos nuestra primer iteraci&amp;oacute;n dado que tenemos un producto que cumple con los objetivos propuestos para esa iteraci&amp;oacute;n que era probar una bolsa de caracteres. En la segunda iteraci&amp;oacute;n debemos considerar que pasa cuando el arreglo se llena e implementar el resto de los mensajes de manera que nuestra Bolsa implemente todo el comportamiento observado.&lt;/p&gt;
&lt;p&gt;Una de las ENORMES ventajas de los lenguajes orientados a objetos es que ya no hay mas arreglos. Lo que normalmente denominamos "arreglo" en realidad es una "lista en secuencia" o "lista secuencial" lo que significa que en la memoria los componentes de la lista est&amp;aacute;n uno al lado del otro (como en los viejos arreglos de los otros lenguajes), la diferencia escencial es que es un objeto consecuentemente tiene un referencia que se almacena en el &lt;strong&gt;Stack&lt;/strong&gt; y un &amp;aacute;rea de memoria (para los elementos) que se almacena en el &lt;strong&gt;Heap&lt;/strong&gt; y ahora se tiene el Garbage Collector que busca las porciones de memoria no utilizadas o que dejamos de utilizar y las devuelve al sistema operativo.&lt;/p&gt;
&lt;p&gt;Con ello en mente se puede crear un nuevo elemento "arreglo" ahora con un tam&amp;ntilde;o mas grande y copiar todos los elementos de uno al otro, como muestra la siguiente porci&amp;oacute;n de c&amp;oacute;digo:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Agrega un elemento al objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea agregar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al mismo objeto bolsa que ahora continene el nuevo elemento&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Agregar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (cantidad &amp;lt; 100)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] nuevo = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[150];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 100; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;          nuevo[i] = datos[i];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;        datos = nuevo;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Despues de copiar todos los elementos se hace un cambio en la referencia "datos = nuevo" (l&amp;iacute;nea 20) y listo, el Garbage Collector liberar&amp;aacute; la memoria utilizada por el viejo arreglo pero nosotros ya tenemos uno m&amp;aacute;s grande.&lt;/p&gt;
&lt;p&gt;Cualquiera que sepa un poquito de programaci&amp;oacute;n se da cuenta que esto va a fallar porque al principio (l&amp;iacute;nea 8) estamos controlando contra 100 y el nuevo arreglo ahora puede tener un tama&amp;ntilde;o o dimensi&amp;oacute;n de 150. Esto se arregla con lo siguiente:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Agrega un elemento al objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea agregar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al mismo objeto bolsa que ahora continene el nuevo elemento&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Agregar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (cantidad &amp;lt; datos.Length)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] nuevo = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[datos.Length + 50];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; datos.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;          nuevo[i] = datos[i];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;        datos = nuevo;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;El c&amp;oacute;digo ahora utiliza la propiedad Length que tiene la lista en secuencia para saber su tama&amp;ntilde;o o dimensi&amp;oacute;n, lo que se incorpora en las l&amp;iacute;neas 8 y 16. Es importante observar que tambi&amp;eacute;n se utiliza esta propiedad para hacer que el tama&amp;ntilde;o del nuevo arreglo vaya creciendo un poco (en este caso de 50 en 50) a partir del tama&amp;ntilde;o que en ese momento tiene el viejo arreglo.&lt;/p&gt;
&lt;p&gt;Bi&amp;eacute;n este c&amp;oacute;digo se puede reorganizar un poco porque se observa la mismas l&amp;iacute;neas (10,11 con 21,22) pero eso es un tema menor.&lt;/p&gt;
&lt;p&gt;La implementaci&amp;oacute;n del resto de los mensajes no es complicada de manera que podemos ver el c&amp;oacute;digo final:&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt; Demo1&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; Bolsa&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;  {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#region&lt;/span&gt; Campos de la Estructura Interna de cada objeto&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// sirve para almacenar o guardar los elementos dentro del objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// inicialmente tiene una capacidad para 100 caracteres.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] datos = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[100];&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Sirve para mantener la cantidad de elementos &amp;uacute;tiles dentro del&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// objeto, inicialmente su valor es cero.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; cantidad = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#region&lt;/span&gt; M&amp;eacute;todos p&amp;uacute;blicos, implementan los mensajes&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Agrega un elemento al objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea agregar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al mismo objeto bolsa que ahora continene el nuevo elemento&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Agregar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (cantidad &amp;lt; datos.Length)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[] nuevo = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt;[datos.Length + 50];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; datos.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;          nuevo[i] = datos[i];&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;        datos = nuevo;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;        datos[cantidad] = x;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;        ++cantidad;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  53:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  54:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Cuenta cu&amp;aacute;ntos elementos hay en un objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  55:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  56:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Cantidad de elementos que hay en el objeto bolsa&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  57:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; Contar()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  58:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  59:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; cantidad;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  60:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  61:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  62:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  63:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Cuenta cu&amp;aacute;ntos elemetnos de un determinado valor se encuentran dentro&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  64:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// de un objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  65:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  66:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Valor que se desea averiguar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  67:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Cantidad de elementos del valor dado que hay en el objeto bolsa&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  68:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; Contar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  69:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  70:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; cuenta = 0;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  71:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; cantidad; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  72:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  73:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (datos[i] == x)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  74:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  75:  &lt;/span&gt;          ++cuenta;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  76:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  77:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  78:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; cuenta;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  79:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  80:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  81:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  82:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Averigua si un elemento est&amp;aacute; o no dentro de un objeto del tipo bolsa&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  83:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  84:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento que se desea controlar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  85:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Verdadero si el elemento est&amp;aacute; en la bolsa, caso contrario falso&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  86:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;bool&lt;/span&gt; Existe(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  87:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  88:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; cantidad; ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  89:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  90:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (datos[i] == x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  91:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  92:  &lt;/span&gt;          &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  93:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  94:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  95:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  96:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  97:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  98:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  99:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Saca o retira el elemento indicado del objeto del tipo bolsa, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 100:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 101:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="x"&amp;gt;Elemento a retirar o sacar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 102:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Referencia al miso objeto bolsa sin el elemento indicado&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 103:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; Bolsa Sacar(&lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; x)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 104:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 105:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (Existe(x))&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 106:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 107:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 108:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;while&lt;/span&gt; (datos[i] != x)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 109:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 110:  &lt;/span&gt;          ++i;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 111:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 112:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (; i &amp;lt; cantidad - 1; ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 113:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 114:  &lt;/span&gt;          datos[i] = datos[i + 1];&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 115:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 116:  &lt;/span&gt;        --cantidad;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 117:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 118:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 119:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 120:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 121:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 122:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Genera una cadena con todos los elementos que hay en el objeto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 123:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// del tipo bolsa.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 124:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 125:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 126:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// ESTA NO ES LA MEJOR IMPLEMENTACI&amp;Oacute;N, PERO SIRVE PARA EL EJEMPLO &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 127:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// DEBER&amp;Iacute;A UTILIZARSE UN OBJETO StringBuilder (luego lo veremos)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 128:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 129:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Cadena con la representaci&amp;oacute;n de cada elemento que hay en el objeto bolsa&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 130:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;public&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;override&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; ToString()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 131:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 132:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; s = &lt;span style="color:#A31515;"&gt;""&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 133:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; cantidad; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 134:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 135:  &lt;/span&gt;        s = s + datos[i].ToString() + &lt;span style="color:#A31515;"&gt;" "&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 136:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 137:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; s;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 138:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 139:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 140:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 141:  &lt;/span&gt;  }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt; 142:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Finalmente podemos cambiar un poco el c&amp;oacute;digo de Program.cs para probar otros mensajes del objeto Bolsa.&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;namespace&lt;/span&gt; Demo1&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;{&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;class&lt;/span&gt; Program&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;  {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Main(&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt;[] args)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      Bolsa b = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Bolsa();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;bool&lt;/span&gt; continuar = &lt;span style="color:#0000FF;"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; buff;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;char&lt;/span&gt; elemento;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"Ingrese el valor que desea agregar (punto para finalizar): "&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;        buff = Console.ReadLine();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (buff.Length &amp;gt; 0)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;          elemento = buff[0];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;          continuar = elemento != &lt;span style="color:#A31515;"&gt;'.'&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;          &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (continuar)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;          {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;            b.Agregar(elemento);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;            Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Bolsa: {0} ({1} elementos)\n"&lt;/span&gt;, b.ToString(), b.Contar());&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;          }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;      } &lt;span style="color:#0000FF;"&gt;while&lt;/span&gt; (continuar);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;      continuar = &lt;span style="color:#0000FF;"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"Ingrese el valor que desea sacar (punto para finalizar): "&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;        buff = Console.ReadLine();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (buff.Length &amp;gt; 0)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;          elemento = buff[0];&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;          continuar = elemento != &lt;span style="color:#A31515;"&gt;'.'&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;          &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (continuar)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;          {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;            b.Sacar(elemento);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;            Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Bolsa: {0} ({1} elementos)\n"&lt;/span&gt;, b.ToString(), b.Contar());&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;          }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;      } &lt;span style="color:#0000FF;"&gt;while&lt;/span&gt; (continuar);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;  }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Espero que les sirva, en especial a aquellos que est&amp;aacute;n comenzando con la programaci&amp;oacute;n orientada a objetos.&lt;/p&gt;
&lt;p&gt;En la parte 2 de este ejercicio/ejemplo vamos a desarrollar otros aspectos muy importantes sobre todo cuando de objetos se trata.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Mi-Primer-Objeto-parte-1.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Mi-Primer-Objeto-parte-1.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=fb40c5ec-077c-4dc5-b994-e3be1993483b</guid>
      <pubDate>Mon, 10 Aug 2009 16:54:00 -0200</pubDate>
      <category>Estructura de Datos</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=fb40c5ec-077c-4dc5-b994-e3be1993483b</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=fb40c5ec-077c-4dc5-b994-e3be1993483b</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Mi-Primer-Objeto-parte-1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=fb40c5ec-077c-4dc5-b994-e3be1993483b</wfw:commentRss>
    </item>
    <item>
      <title>Número Perfecto</title>
      <description>&lt;p&gt;&lt;strong&gt;En este post se muestra el c&amp;oacute;digo para determinar si un n&amp;uacute;mero es o no perfecto.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Otra vez se trata de un ejercicio del cursos Programador .NET en Becas Control+F&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Un n&amp;uacute;mero entero se dice que se trata de un n&amp;uacute;mero perfecto si sus factores, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// incluyendo a 1 (pero excluyendo en el n&amp;uacute;mero mismo), suman igual que el n&amp;uacute;mero. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Por ejemplo, 6 es un n&amp;uacute;mero perfecto porque 6 = 1+2+3. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Escriba una funci&amp;oacute;n perfect que determine si el par&amp;aacute;metro number es un n&amp;uacute;mero &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// perfecto. Utilice esta funci&amp;oacute;n en un programa que determine e imprima todos los &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// n&amp;uacute;meros perfectos entre 1 y 1000. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Imprima los factores de cada n&amp;uacute;mero perfecto para confirmar que el numero de verdad &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// es perfecto.Ponga en acci&amp;oacute;n la potencia de su computadora para probar n&amp;uacute;meros m&amp;aacute;s &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// grandes que 1000&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio3()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 4 - Ejercicio 3"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 1; i &amp;lt;= 10000; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (Perfect(i))&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;          MostrarDivisores(i);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Determina si un n&amp;uacute;mero es perfecto, un numero es perfecto&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// si el n&amp;uacute;mero es igual a la suma de sus divisores excluyendo&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// el mismo n&amp;uacute;mero. Ejemplo 6 = 1 + 2 + 3&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="number"&amp;gt;N&amp;uacute;mero a controlar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Verdadero si el n&amp;uacute;mero es perfecto&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;bool&lt;/span&gt; Perfect(&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; number)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (number &amp;lt; 1)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; sum = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 1; i &amp;lt;= (number / 2); ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((number % i) == 0)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;          sum += i;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; number == sum;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Muestra los divisores de un n&amp;uacute;mero y determina si el n&amp;uacute;mero&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// es perfecto.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="number"&amp;gt;N&amp;uacute;mero a controlar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; MostrarDivisores(&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; number)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (number &amp;lt; 1)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  53:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; sum = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  54:  &lt;/span&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"Divisores de {0,8} :"&lt;/span&gt;, number);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  55:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 1; i &amp;lt;= (number / 2); ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  56:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  57:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((number % i) == 0)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  58:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  59:  &lt;/span&gt;          Console.Write(&lt;span style="color:#A31515;"&gt;" {0} "&lt;/span&gt;, i);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  60:  &lt;/span&gt;          sum += i;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  61:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  62:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  63:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (number == sum)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  64:  &lt;/span&gt;        Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Es perfecto"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  65:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  66:  &lt;/span&gt;        Console.WriteLine(&lt;span style="color:#A31515;"&gt;"NO ES perfecto"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  67:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A ver si alguien tiene otra idea de c&amp;oacute;mo hacer esto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Numero-Perfecto.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Numero-Perfecto.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=61295ab3-b38f-454d-9ca7-2eeeba6b0d58</guid>
      <pubDate>Fri, 31 Jul 2009 11:00:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=61295ab3-b38f-454d-9ca7-2eeeba6b0d58</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=61295ab3-b38f-454d-9ca7-2eeeba6b0d58</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Numero-Perfecto.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=61295ab3-b38f-454d-9ca7-2eeeba6b0d58</wfw:commentRss>
    </item>
    <item>
      <title>Jugar a los Dados - Craps</title>
      <description>&lt;p&gt;&lt;strong&gt;Este post muestra el c&amp;oacute;digo para jugar a los dados.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Se trata de un ejercicio del cursos Programador .NET en Becas Control+F&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Un jugador tira dos dados. Cada dado tiene seis caras. Las caras contienen &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// 1, 2, 3,4,5 y 6 puntos. Una vez que los dados se hayan detenido, se calcula &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// la suma de los puntos de los puntos en las dos caras superiores. Si a la &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// primera tirada, la suma es 7, o bien 11, el jugador gana. Si en la primera &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// tirada la suma es 2, 3, o 12 (conocido como &amp;ldquo;craps&amp;rdquo;), el jugador pierde &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// (es decir, la casa &amp;ldquo;gana&amp;rdquo;). Si en la primera tirada la suma es 4, 5, 6, 8, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// 9, &amp;oacute; 10, entonces dicha suma se convierte en el &amp;ldquo;punto&amp;rdquo; o en la tirada. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Para ganar, el jugador deber&amp;aacute; continuar tirando los dados hasta que haga &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// su &amp;ldquo;tirada&amp;rdquo;. El jugador perder&amp;aacute; si antes de hacer su tirada sale una tirada de 7&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio1()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 4 - Ejercicio 1"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; dado1, dado2, suma, punto;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      dado1 = TirarDado();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      dado2 = TirarDado();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      suma = dado1 + dado2;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"\n\nSalida {0} + {1} = "&lt;/span&gt;, dado1, dado2);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((suma == 7) || (suma == 11))&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;        Console.WriteLine(&lt;span style="color:#A31515;"&gt;"{0} Natural - Gana !!!"&lt;/span&gt;, suma);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((suma == 2) || (suma == 3) || (suma == 12))&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;          Console.WriteLine(&lt;span style="color:#A31515;"&gt;"{0} Craps - PIERDE"&lt;/span&gt;, suma);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;          punto = suma;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;          Console.WriteLine(&lt;span style="color:#A31515;"&gt;"{0}\n\nEl punto es {0}"&lt;/span&gt;, punto);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;          &lt;span style="color:#0000FF;"&gt;do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;          {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;            dado1 = TirarDado();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;            dado2 = TirarDado();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;            suma = dado1 + dado2;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;            Console.Write(&lt;span style="color:#A31515;"&gt;"  Tirada {0} + {1} = {2} "&lt;/span&gt;, dado1, dado2, suma);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;            &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; (suma == punto)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;              Console.WriteLine(&lt;span style="color:#A31515;"&gt;" GANA"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;            &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;              &lt;span style="color:#0000FF;"&gt;if&lt;/span&gt; ((suma == 7) || (suma == 11))&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;                Console.WriteLine(&lt;span style="color:#A31515;"&gt;" PIERDE"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;              &lt;span style="color:#0000FF;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;                Console.WriteLine(&lt;span style="color:#A31515;"&gt;" continua"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;          } &lt;span style="color:#0000FF;"&gt;while&lt;/span&gt; (!((suma == punto) || (suma == 7) || (suma == 11)));&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Este objeto se utiliza para generar n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  53:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; Random generador = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Random();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  54:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  55:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  56:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Simula el hecho de tirar un dado, los posibles valores van del 1 al 6&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  57:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// se utiliza un objeto que genera n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  58:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  59:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Valor simulado 1,2,3,4,5,6&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  60:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; TirarDado()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  61:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  62:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; generador.Next(1, 7);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  63:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A ver si alguien tiene otra idea de c&amp;oacute;mo hacer esto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Jugar-a-los-Dados-Craps.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Jugar-a-los-Dados-Craps.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=817f1401-8c1c-47ce-9302-4dd0a002b392</guid>
      <pubDate>Fri, 31 Jul 2009 10:55:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=817f1401-8c1c-47ce-9302-4dd0a002b392</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=817f1401-8c1c-47ce-9302-4dd0a002b392</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Jugar-a-los-Dados-Craps.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=817f1401-8c1c-47ce-9302-4dd0a002b392</wfw:commentRss>
    </item>
    <item>
      <title>Abstracción Estructuras y Tipos de Datos</title>
      <description>&lt;p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt; &lt;w:View&gt;Normal&lt;/w:View&gt; &lt;w:Zoom&gt;0&lt;/w:Zoom&gt; &lt;w:TrackMoves /&gt; &lt;w:TrackFormatting /&gt; &lt;w:HyphenationZone&gt;21&lt;/w:HyphenationZone&gt; &lt;w:PunctuationKerning /&gt; &lt;w:ValidateAgainstSchemas /&gt; &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt; &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt; &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt; &lt;w:DoNotPromoteQF /&gt; &lt;w:LidThemeOther&gt;ES-AR&lt;/w:LidThemeOther&gt; &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt; &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt; &lt;w:Compatibility&gt; &lt;w:BreakWrappedTables /&gt; &lt;w:SnapToGridInCell /&gt; &lt;w:WrapTextWithPunct /&gt; &lt;w:UseAsianBreakRules /&gt; &lt;w:DontGrowAutofit /&gt; &lt;w:SplitPgBreakAndParaMark /&gt; &lt;w:DontVertAlignCellWithSp /&gt; &lt;w:DontBreakConstrainedForcedTables /&gt; &lt;w:DontVertAlignInTxbx /&gt; &lt;w:Word11KerningPairs /&gt; &lt;w:CachedColBalance /&gt; &lt;/w:Compatibility&gt; &lt;m:mathPr&gt; &lt;m:mathFont m:val="Cambria Math" /&gt; &lt;m:brkBin m:val="before" /&gt; &lt;m:brkBinSub m:val="&amp;#45;-" /&gt; &lt;m:smallFrac m:val="off" /&gt; &lt;m:dispDef /&gt; &lt;m:lMargin m:val="0" /&gt; &lt;m:rMargin m:val="0" /&gt; &lt;m:defJc m:val="centerGroup" /&gt; &lt;m:wrapIndent m:val="1440" /&gt; &lt;m:intLim m:val="subSup" /&gt; &lt;m:naryLim m:val="undOvr" /&gt; &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"&gt; &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /&gt; &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /&gt; &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 1" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 2" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 3" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 4" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 5" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 6" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 7" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 8" /&gt; &lt;w:LsdException Locked="false" Priority="39" Name="toc 9" /&gt; &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /&gt; &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /&gt; &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /&gt; &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /&gt; &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /&gt; &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /&gt; &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /&gt; &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /&gt; &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /&gt; &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /&gt; &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /&gt; &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /&gt; &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /&gt; &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /&gt; &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /&gt; &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /&gt; &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /&gt; &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /&gt; &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /&gt; &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography" /&gt; &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /&gt; &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Cambria; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073741899 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;} @font-face 	{font-family:Consolas; 	panose-1:2 11 6 9 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:modern; 	mso-font-pitch:fixed; 	mso-font-signature:-1610611985 1073750091 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} h1 	{mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"T&amp;iacute;tulo 1 Car"; 	mso-style-next:Normal; 	margin-top:24.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan lines-together; 	page-break-after:avoid; 	mso-outline-level:1; 	font-size:14.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#365F91; 	mso-themecolor:accent1; 	mso-themeshade:191; 	mso-font-kerning:0pt; 	mso-fareast-language:EN-US;} h2 	{mso-style-priority:9; 	mso-style-qformat:yes; 	mso-style-link:"T&amp;iacute;tulo 2 Car"; 	mso-style-next:Normal; 	margin-top:10.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan lines-together; 	page-break-after:avoid; 	mso-outline-level:2; 	font-size:13.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#4F81BD; 	mso-themecolor:accent1; 	mso-fareast-language:EN-US;} h3 	{mso-style-priority:9; 	mso-style-qformat:yes; 	mso-style-link:"T&amp;iacute;tulo 3 Car"; 	mso-style-next:Normal; 	margin-top:10.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan lines-together; 	page-break-after:avoid; 	mso-outline-level:3; 	font-size:11.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#4F81BD; 	mso-themecolor:accent1; 	mso-fareast-language:EN-US;} p.MsoToc1, li.MsoToc1, div.MsoToc1 	{mso-style-update:auto; 	mso-style-priority:39; 	mso-style-next:Normal; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:6.0pt; 	margin-left:0cm; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	text-transform:uppercase; 	mso-fareast-language:EN-US; 	font-weight:bold;} p.MsoToc2, li.MsoToc2, div.MsoToc2 	{mso-style-update:auto; 	mso-style-priority:39; 	mso-style-next:Normal; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:11.0pt; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	font-variant:small-caps; 	mso-fareast-language:EN-US;} p.MsoToc3, li.MsoToc3, div.MsoToc3 	{mso-style-update:auto; 	mso-style-priority:39; 	mso-style-next:Normal; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:22.0pt; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US; 	font-style:italic;} p.MsoHeader, li.MsoHeader, div.MsoHeader 	{mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-link:"Encabezado Car"; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	tab-stops:center 220.95pt right 441.9pt; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoFooter, li.MsoFooter, div.MsoFooter 	{mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-link:"Pie de p&amp;aacute;gina Car"; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	tab-stops:center 220.95pt right 441.9pt; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast 	{mso-style-priority:34; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-type:export-only; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:36.0pt; 	margin-bottom:.0001pt; 	mso-add-space:auto; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} span.Ttulo1Car 	{mso-style-name:"T&amp;iacute;tulo 1 Car"; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"T&amp;iacute;tulo 1"; 	mso-ansi-font-size:14.0pt; 	mso-bidi-font-size:14.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#365F91; 	mso-themecolor:accent1; 	mso-themeshade:191; 	font-weight:bold;} span.Ttulo2Car 	{mso-style-name:"T&amp;iacute;tulo 2 Car"; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"T&amp;iacute;tulo 2"; 	mso-ansi-font-size:13.0pt; 	mso-bidi-font-size:13.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#4F81BD; 	mso-themecolor:accent1; 	font-weight:bold;} span.Ttulo3Car 	{mso-style-name:"T&amp;iacute;tulo 3 Car"; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"T&amp;iacute;tulo 3"; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	color:#4F81BD; 	mso-themecolor:accent1; 	font-weight:bold;} span.EncabezadoCar 	{mso-style-name:"Encabezado Car"; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:Encabezado;} span.PiedepginaCar 	{mso-style-name:"Pie de p&amp;aacute;gina Car"; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Pie de p&amp;aacute;gina";} p.Pseudolenguaje, li.Pseudolenguaje, div.Pseudolenguaje 	{mso-style-name:Pseudolenguaje; 	mso-style-update:auto; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	border:none; 	mso-border-alt:dotted windowtext .5pt; 	padding:0cm; 	mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt; 	font-size:10.0pt; 	mso-bidi-font-size:11.0pt; 	font-family:Consolas; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-ansi-language:ES-TRAD; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	text-align:justify;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} @page Section2 	{size:612.0pt 792.0pt; 	margin:70.9pt 3.0cm 70.9pt 3.0cm; 	mso-header-margin:35.45pt; 	mso-footer-margin:35.45pt; 	mso-page-numbers:num-in-dash 1; 	mso-paper-source:0;} div.Section2 	{page:Section2;}  /* List Definitions */  @list l0 	{mso-list-id:593322034; 	mso-list-type:hybrid; 	mso-list-template-ids:1374966448 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l1 	{mso-list-id:617489019; 	mso-list-type:hybrid; 	mso-list-template-ids:278538406 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l2 	{mso-list-id:867332396; 	mso-list-type:hybrid; 	mso-list-template-ids:-265224698 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l3 	{mso-list-id:902760166; 	mso-list-type:hybrid; 	mso-list-template-ids:-1026932276 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l3:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l4 	{mso-list-id:1247301666; 	mso-list-type:hybrid; 	mso-list-template-ids:-762140420 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l4:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l5 	{mso-list-id:1656762433; 	mso-list-type:hybrid; 	mso-list-template-ids:-793051348 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l5:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l6 	{mso-list-id:2101826979; 	mso-list-type:hybrid; 	mso-list-template-ids:745937478 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l6:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l7 	{mso-list-id:2115705411; 	mso-list-type:hybrid; 	mso-list-template-ids:1136936022 738852865 738852867 738852869 738852865 738852867 738852869 738852865 738852867 738852869;} @list l7:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt;&lt;!--[if gte mso 10]&gt; &lt;mce:style&gt;&lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} --&gt; &lt;!--[endif]--&gt;&lt;/p&gt;
&lt;div class="Section1"&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;" lang="ES-TRAD"&gt;Abstracci&amp;oacute;n, Estructuras y Tipos de Datos&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span lang="ES-TRAD"&gt;(Julio-2009)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;" lang="ES-TRAD"&gt;Contenido&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoToc1"&gt;&lt;!--[if supportFields]&gt;&lt;span lang=ES-TRAD style="text-transform:none;mso-ansi-language:ES-TRAD;font-weight: normal" mce_style="text-transform:none;mso-ansi-language:ES-TRAD;font-weight: normal"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;span style="mso-spacerun:yes" mce_style="mso-spacerun:yes"&gt;&amp;nbsp;&lt;/span&gt;TOC \o &amp;quot;1-3&amp;quot; \h \z \u &lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458744"&gt;&lt;span lang="ES-TRAD"&gt;Introducci&amp;oacute;n&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;.. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458744 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 1 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340034000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc1"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458745"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;.. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458745 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 1 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340035000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458746"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de procedimientos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458746 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 2 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340036000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458747"&gt;&lt;span lang="ES-TRAD"&gt;M&amp;eacute;todo de abstracci&amp;oacute;n por parametrizaci&amp;oacute;n&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458747 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 2 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340037000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458748"&gt;&lt;span lang="ES-TRAD"&gt;M&amp;eacute;todo de abstracci&amp;oacute;n por especificaci&amp;oacute;n&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458748 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 3 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340038000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458749"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de datos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458749 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 4 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700340039000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc1"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458750"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458750 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 4 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350030000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458751"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras en inform&amp;aacute;tica&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458751 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 5 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350031000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458752"&gt;&lt;span lang="ES-TRAD"&gt;Estructura en los lenguajes de programaci&amp;oacute;n&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458752 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 5 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350032000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458753"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras en los algoritmos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458753 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 5 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350033000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458754"&gt;&lt;span lang="ES-TRAD"&gt;Estructura de datos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458754 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 5 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350034000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458755"&gt;&lt;span lang="ES-TRAD"&gt;Aspectos generales de las estructuras de datos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458755 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 6 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350035000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458756"&gt;&lt;span lang="ES-TRAD"&gt;Relaciones entre elementos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458756 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 6 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350036000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458757"&gt;&lt;span lang="ES-TRAD"&gt;Funciones b&amp;aacute;sicas para estructuras&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458757 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 6 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350037000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458758"&gt;&lt;span lang="ES-TRAD"&gt;Operaciones&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458758 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 6 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350038000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458759"&gt;&lt;span lang="ES-TRAD"&gt;Estructura de datos con base en la relaci&amp;oacute;n entre los elementos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458759 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 7 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700350039000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc1"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458760"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458760 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 7 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360030000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458761"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos predefinidos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458761 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 8 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360031000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458762"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos estructurados&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458762 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 8 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360032000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc2"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458763"&gt;&lt;span lang="ES-TRAD"&gt;Tipo de datos abstractos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458763 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 8 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360033000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458764"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos abstractos b&amp;aacute;sicos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458764 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 8 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360034000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc3"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458765"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos abstractos compuestos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458765 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 9 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360035000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoToc1"&gt;&lt;span class="MsoHyperlink"&gt;&lt;span&gt;&lt;a href="#_Toc236458766"&gt;&lt;span lang="ES-TRAD"&gt;Resumen de conceptos&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt;&lt;span style="mso-element:field-begin" mce_style="mso-element:field-begin"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none" mce_style="color:windowtext;display:none;mso-hide:screen;text-decoration:none; text-underline:none"&gt; PAGEREF _Toc236458766 \h &lt;/span&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-separator" mce_style="mso-element:field-separator"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;- 9 -&lt;/span&gt;&lt;span style="color: windowtext; display: none; text-decoration: none;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:data&gt;08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003200330036003400350038003700360036000000&lt;/w:data&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;!--[if supportFields]&gt;&lt;span style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none" mce_style="color:windowtext; display:none;mso-hide:screen;text-decoration:none;text-underline:none"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;![endif]--&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;!--[if supportFields]&gt;&lt;b&gt;&lt;span lang=ES-TRAD style="font-size:10.0pt;text-transform:uppercase;mso-ansi-language:ES-TRAD" mce_style="font-size:10.0pt;text-transform:uppercase;mso-ansi-language:ES-TRAD"&gt;&lt;span style="mso-element:field-end" mce_style="mso-element:field-end"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;![endif]--&gt;&lt;span lang="ES-TRAD"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="ES-TRAD"&gt;&lt;br style="page-break-before: right;" /&gt; &lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;a name="_Toc236458744"&gt;&lt;span lang="ES-TRAD"&gt;Introducci&amp;oacute;n&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Con esta publicaci&amp;oacute;n pretendo introducir a los estudiantes de carreras inform&amp;aacute;ticas en los conceptos te&amp;oacute;ricos y pr&amp;aacute;cticos de las Estructuras de Datos con especial inter&amp;eacute;s en la Programaci&amp;oacute;n Orientada a Objetos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Uno de los aspectos fundamentales para el estudio de cualquier sistema, en particular los sistemas de informaci&amp;oacute;n, es la comprensi&amp;oacute;n de su estructura; para caracterizar una estructura es indispensable un &lt;strong&gt;proceso de abstracci&amp;oacute;n&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt; (en filosof&amp;iacute;a) es una operaci&amp;oacute;n mental destinada a aislar conceptualmente una propiedad concreta de un objeto, y reflexionar sobre esta ignorando (mentalmente) las otras propiedades del objeto en cuesti&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt; es la disposici&amp;oacute;n y orden de las partes dentro de un todo, tambi&amp;eacute;n puede entenderse como un sistema de conceptos coherentes y enlazados, cuyo objetivo es precisar la esencia del objeto de estudio.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&lt;a name="_Toc236458745"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;La abstracci&amp;oacute;n es uno de los aspectos fundamentales para el estudio de las estructuras, y en general para el desarrollo de los sistemas de informaci&amp;oacute;n, permite tener en cuenta los aspectos relevantes para la soluci&amp;oacute;n de un problema y deja en segundo plano todo aquello que no es trascendente.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Tambi&amp;eacute;n se puede referir a la abstracci&amp;oacute;n como la habilidad de concentrarse en lo general y fundamental pasando por alto el detalle, lo que simplifica el an&amp;aacute;lisis y permite concentrarse en lo relevante.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En inform&amp;aacute;tica, la abstracci&amp;oacute;n desempe&amp;ntilde;a un papel importante dado que facilita el an&amp;aacute;lisis y el dise&amp;ntilde;o, permite determinar la estructura de los sistemas que se van a implementar y tener una mejor visi&amp;oacute;n de su funcionamiento.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los desarrolladores (a&amp;uacute;n los principiantes) utilizan de manera casi natural los procesos de abstracci&amp;oacute;n. Por ejemplo cuando se desea realizar una operaci&amp;oacute;n matem&amp;aacute;tica entre n&amp;uacute;mero reales, simplemente se escribe una expresi&amp;oacute;n como la siguiente:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;real Cantidad, Importe, Total&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer Cantidad&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer Importe&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Total = Cantidad * Importe&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En este caso, el desarrollador no se preocupa por las cuestiones de aritm&amp;eacute;tica de punto flotante o la manera en que estos datos se representan en la memoria; su inter&amp;eacute;s est&amp;aacute; centrado en que se efect&amp;uacute;e la operaci&amp;oacute;n y obtener el resultado.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;A&amp;uacute;n cuando los desarrolladores apliquen de manera natural los conceptos y procesos de abstracci&amp;oacute;n, es importante destacar que hay diferentes aspectos entre los cuales debemos mencionar la Abstracci&amp;oacute;n de Procedimientos y la Abstracci&amp;oacute;n de Datos.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458746"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de procedimientos&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Mediante la abstracci&amp;oacute;n se determinan los objetivos y operaciones necesarias para dar soluci&amp;oacute;n a un problema, y mediante la modularidad se efect&amp;uacute;a la separaci&amp;oacute;n en unidades funcionales.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;La abstracci&amp;oacute;n de procedimientos se puede considerar como una herramienta que permite extender las posibilidades de un lenguaje de programaci&amp;oacute;n, al agregar nuevas operaciones mediante procedimientos, funciones, subrutinas, m&amp;eacute;todos, etc. se tiene la posibilidad de dividir un programa en unidades funcionales.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Esta clase de extensi&amp;oacute;n es &amp;uacute;til especialmente cuando los programas por desarrollar son grandes (en n&amp;uacute;mero de l&amp;iacute;neas) y es conveniente descomponerlos. Este tipo de abstracci&amp;oacute;n actualmente se aplica de forma intensiva cuando se una funci&amp;oacute;n o un procedimiento para realizar una tarea.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;La abstracci&amp;oacute;n de procedimientos combina los m&amp;eacute;todos de parametrizaci&amp;oacute;n y especificaci&amp;oacute;n de manera que permite abstraer su acci&amp;oacute;n como si se tratara de una simple operaci&amp;oacute;n o evento, y adem&amp;aacute;s se tiene el uso de par&amp;aacute;metros mediante el cual el procedimiento provee una transformaci&amp;oacute;n de unos argumentos de entrada en unos argumentos de salida, sin olvidar otras posibilidades, como que se modifiquen los par&amp;aacute;metros de entrada o que no existan estos argumentos.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458747"&gt;&lt;span lang="ES-TRAD"&gt;M&amp;eacute;todo de abstracci&amp;oacute;n por parametrizaci&amp;oacute;n&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Esta abstracci&amp;oacute;n se define en t&amp;eacute;rminos de par&amp;aacute;metros formales; de esta manera la identidad del dato es irrelevante; pero la presencia, el tipo y el n&amp;uacute;mero son indispensables.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Este m&amp;eacute;todo se utiliza frecuentemente en el desarrollo de sistemas, permite mediante par&amp;aacute;metros representar potencialmente diferentes valores, que pueden llegar a ser infinitos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Ejemplo&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: funci&amp;oacute;n cuyo objetivo es entregar el mayor valor de dos enteros dados.&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;entero Maximo(entero Valor1, entero Valor2)&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;Inicio&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Si Valor1 &amp;gt; Valor2 Entonces&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;regresar Valor1&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Sino&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;regresar Valor2&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;FinSi&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;Fin&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Esta funci&amp;oacute;n se puede utilizar de diferentes maneras:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer X&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer Y&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Escribir Maximo(X, Y)&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;O un uso m&amp;aacute;s complejo, en este caso hallar el mayor de tres n&amp;uacute;meros&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer A&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer B&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer C&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Escribir M&amp;aacute;ximo(Maximo(A, B), C)&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Obviamente esto se puede extender a la cantidad de n&amp;uacute;meros que se desee.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458748"&gt;&lt;span lang="ES-TRAD"&gt;M&amp;eacute;todo de abstracci&amp;oacute;n por especificaci&amp;oacute;n&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;El objetivo de este tipo de abstracci&amp;oacute;n es centrar la atenci&amp;oacute;n sobre&lt;span&gt;&amp;nbsp; &lt;/span&gt;"&lt;strong&gt;qu&amp;eacute; hace&lt;/strong&gt;", y pasar a un segundo plano el "&lt;strong&gt;c&amp;oacute;mo lo hace&lt;/strong&gt;".&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;El hecho que la implementaci&amp;oacute;n (c&amp;oacute;mo lo hace) no sea lo relevante sino sus efectos (que hace), requiere que se tenga una descripci&amp;oacute;n o especificaci&amp;oacute;n t&amp;eacute;cnica del proceso; adem&amp;aacute;s es exigible que las modificaciones a nivel de la implementaci&amp;oacute;n sean transparentes a su uso brindando de esa manera una gran flexibilidad.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Para obtener los beneficios de la abstracci&amp;oacute;n es necesario que la especificaci&amp;oacute;n sea precisa; estas especificaciones pueden ser formales o informales, algunos lenguajes facilitan esta tarea pues han sido dise&amp;ntilde;ados para soportar la abstracci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Una manera de hacer esta especificaci&amp;oacute;n es por medio de aserciones. La primera de ellas es la &lt;strong&gt;precondici&amp;oacute;n&lt;/strong&gt;, que es el conjunto de condiciones necesarias y suficientes que aseguran la correcta ejecuci&amp;oacute;n del proceso; la otra aseveraci&amp;oacute;n es la &lt;strong&gt;postcondici&amp;oacute;n&lt;/strong&gt;, donde se debe especificar los resultados que se obtienen despu&amp;eacute;s de la ejecuci&amp;oacute;n del proceso.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Otra informaci&amp;oacute;n importante de la especificaci&amp;oacute;n es el &lt;strong&gt;encabezado&lt;/strong&gt; del procedimiento, adem&amp;aacute;s de dar el nombre al mismo, debe brindar informaci&amp;oacute;n acerca de su funci&amp;oacute;n, tipos de par&amp;aacute;metros de entrada y salida, su n&amp;uacute;mero y orden.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Ejemplo&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: subrutina que ordena un vector de n&amp;uacute;meros; la ordenaci&amp;oacute;n se puede realizar de diferentes maneras lo que no es importante en este caso porque se est&amp;aacute; especificando lo que hace y no como lo hace.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Caso de un procedimiento:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Descripci&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Ordena el contenido de un vector de n&amp;uacute;meros&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Precondici&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Se debe facilitar el vector de n&amp;uacute;meros y la cantidad de elementos que este vector contiene, debiendo ser esta un entero mayor o igual a cero.&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Postcondici&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: El vector de n&amp;uacute;meros es modificado de manera que se presenten ordenados de manera ascendente.&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Encabezado&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Ordenar(ref TipoVector Datos, entero Cantidad)&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Caso de una funci&amp;oacute;n:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Descripci&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Ordena el contenido de un vector de n&amp;uacute;meros&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Precondici&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Se debe facilitar el vector de n&amp;uacute;meros y la cantidad de elementos que este vector contiene, debiendo ser esta un entero mayor o igual a cero.&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Postcondici&amp;oacute;n&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: Se entrega un nuevo vector cuyo contenido son los n&amp;uacute;meros del vector original ordenados de manera ascendente.&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Encabezado&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: TipoVector Ordenar(TipoVector Datos, entero Cantidad)&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h2&gt;&lt;a name="_Toc236458749"&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de datos&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;As&amp;iacute; como la abstracci&amp;oacute;n de procedimientos permite ampliar la capacidad de los lenguajes de programaci&amp;oacute;n, la abstracci&amp;oacute;n de datos permite extender la base de los tipos predefinidos en estos lenguajes. Esta capacidad permite incluir nuevos tipos de datos con las operaciones correspondientes y generar de esa manera estructuras de datos de mayor complejidad.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;La abstracci&amp;oacute;n de datos se puede sintetizar en la determinaci&amp;oacute;n de un conjunto de objetos y el conjunto de operaciones que se pueden efectuar sobre esos datos. Cuando se implementa el tipo de dato, simult&amp;aacute;neamente se deben implementar dichas operaciones.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los lenguajes de programaci&amp;oacute;n modernos facilitan un tipo de dato que permite manipular fechas, lo que nos permite pensar en el siguiente c&amp;oacute;digo:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1pt dotted windowtext; padding: 1pt 4pt;"&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;TipoFecha Fecha1, Fecha2&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer Fecha1&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Leer Fecha2&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Escribir "Hay ", Fecha2 - Fecha1, " d&amp;iacute;as de diferencia entre ambas fechas"&lt;/span&gt;&lt;/p&gt;
&lt;p class="Pseudolenguaje"&gt;&lt;span lang="ES-TRAD"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Es importante aclarar que la expresi&amp;oacute;n &lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Consolas;" lang="ES-TRAD"&gt;Fecha2 - Fecha1&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt; se realiza sobre dos variables cuyos contenidos son fechas (d&amp;iacute;a, mes, a&amp;ntilde;o) y el resultado es un entero que representa la cantidad de d&amp;iacute;as que hay entre ambas fechas, obviamente este valor ser&amp;aacute; cero cuando las fechas sean iguales, positivo si Fecha2 es mayor que Fecha1 o negativo si Fecha1 es menor que Fecha1; pero lo m&amp;aacute;s importante es que la operaci&amp;oacute;n "resta" indicada con el operador "-" (menos) debe tener en cuenta las cantidades de d&amp;iacute;as que cada mes tiene en cada una de las fechas as&amp;iacute; como las consideraciones necesarias para los a&amp;ntilde;os bisiestos.&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;a name="_Toc236458750"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En un sistema ideal, la &amp;uacute;nica relaci&amp;oacute;n que debe existir entre los elementos que lo componen debe ser a trav&amp;eacute;s de la estructura; aunque esta condici&amp;oacute;n es dif&amp;iacute;cil que se cumpla, especialmente en los sistemas de informaci&amp;oacute;n que se tienen en el mundo real.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Para ejemplificar el concepto, se puede considerar la estructura at&amp;oacute;mica propuesta en el modelo de Bohr. En este modelo los elementos de la estructura son los electrones y el n&amp;uacute;cleo con sus respectivos componentes (protones, neutrones, mesones, etc.); las leyes que gobiernan esa estructura son las que establecen la interrelaci&amp;oacute;n entre sus elementos, a saber: "La distribuci&amp;oacute;n de los niveles de energ&amp;iacute;a", "La distribuci&amp;oacute;n de los electrones en sus &amp;oacute;rbitas", "La conservaci&amp;oacute;n de la cantidad de movimiento" o "La conservaci&amp;oacute;n de la energ&amp;iacute;a" entre otras.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Bajo este concepto, &lt;strong&gt;todos&lt;/strong&gt; los elementos qu&amp;iacute;micos &lt;strong&gt;tienen la misma estructura b&amp;aacute;sica&lt;/strong&gt;, la que corresponde al modelo at&amp;oacute;mico; sin embargo las caracter&amp;iacute;sticas de los elementos son diferentes.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;El concepto de estructura no s&amp;oacute;lo se aplica en la qu&amp;iacute;mica o los cuerpos f&amp;iacute;sicos, tambi&amp;eacute;n es aplicable en otras &amp;aacute;reas por ejemplo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;En matem&amp;aacute;ticas una estructura algebraica es un objeto matem&amp;aacute;tico formado por un conjunto no vacio y una o varias leyes de composici&amp;oacute;n interna.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;En sociolog&amp;iacute;a se habla de la estructura social como el concepto que describe la forma que adopta el sistema global de las relaciones entre individuos.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458751"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras en inform&amp;aacute;tica&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Con el objeto de presentar una visi&amp;oacute;n general de las estructuras en inform&amp;aacute;tica, se debe tener en cuenta que este concepto se utiliza con mayor frecuencia para referirse a las estructuras de datos, sin embargo se aplica tambi&amp;eacute;n a los lenguajes de programaci&amp;oacute;n y en general a las diferentes aplicaciones y sistemas inform&amp;aacute;ticos.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458752"&gt;&lt;span lang="ES-TRAD"&gt;Estructura en los lenguajes de programaci&amp;oacute;n&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los lenguajes de programaci&amp;oacute;n se pueden caracterizar mediante su propia estructura general. A nivel individual se puede determinar la estructura de cada lenguaje de programaci&amp;oacute;n, siendo factible agruparlos seg&amp;uacute;n una caracterizaci&amp;oacute;n de acuerdo a los diferentes tipos de lenguajes; por ejemplo, procedimentales, orientados a objetos o funcionales, entre otros.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Cualquier lenguaje est&amp;aacute; constituido por un conjunto de elementos (componentes l&amp;eacute;xicos) que est&amp;aacute;n regidos mediante normas de sintaxis y sem&amp;aacute;ntica propias, todo esto constituye la estructura del lenguaje. &lt;em&gt;Un an&amp;aacute;lisis completo de esta estructura implica definir cada uno de sus componentes y las reglas que los interrelacionan&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458753"&gt;&lt;span lang="ES-TRAD"&gt;Estructuras en los algoritmos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En este caso el concepto de estructura se aplica teniendo en cuenta el tipo de algoritmo: procedimental, orientado a objeto, recursivo; en general de acuerdo a la t&amp;eacute;cnica de programaci&amp;oacute;n que se utilice.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Si se desea profundizar adem&amp;aacute;s de la estructura general, entonces se puede analizar las estructuras b&amp;aacute;sicas dentro de cada m&amp;oacute;dulo o m&amp;eacute;todo seg&amp;uacute;n el caso. Estos elementos est&amp;aacute;n relacionados mediante la l&amp;oacute;gica del algoritmo, y forman de esta manera su estructura.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458754"&gt;&lt;span lang="ES-TRAD"&gt;Estructura de datos&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En general, se puede considerar una estructura de datos como un conjunto de variables, quiz&amp;aacute; de tipos distintos, que se relacionan entre s&amp;iacute; y que se pueden operar como un todo, esto implica un conjunto de "celdas" en las que se puede almacenar los datos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;El componente b&amp;aacute;sico de la estructura de datos es la "celda", las estructuras de datos se implementan a trav&amp;eacute;s de los lenguajes y son un modelo que caracteriza y permite almacenar y utilizar una determinada organizaci&amp;oacute;n de datos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span lang="ES-TRAD"&gt;Nota&lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-TRAD"&gt;: En los p&amp;aacute;rrafos anteriores se utiliza el t&amp;eacute;rmino "celda" para indicar el espacio de memoria que un equipo inform&amp;aacute;tico destina para almacenar un dato. No es el objetivo de esta publicaci&amp;oacute;n internarse en las cuestiones de arquitectura o estructura de computadoras.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Las estructuras de datos son fundamentales para el manejo de informaci&amp;oacute;n y el desarrollo de sistemas. Las diferentes maneras como se relacionan los datos originan conformaciones que son estructuras de datos de mayor complejidad.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458755"&gt;&lt;span lang="ES-TRAD"&gt;Aspectos generales de las estructuras de datos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Las estructuras de datos se usan en el manejo de informaci&amp;oacute;n y en el desarrollo de algoritmos; es el caso de los arreglos, las cadenas de caracteres, los archivos entre otras.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Tradicionalmente el enfoque que se tiene es hacia su aplicaci&amp;oacute;n por medio de un lenguaje y rara vez se trata el punto de vista estructural, sin embargo existen aspectos fundamentales para el conocimiento de una estructura de datos, tal es el caso de: las relaciones entre sus elementos, las funciones que permite su creaci&amp;oacute;n, la forma de acceso a los elementos y las operaciones que se pueden efectuar sobre la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458756"&gt;&lt;span lang="ES-TRAD"&gt;Relaciones entre elementos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Las relaciones entre los elementos de una estructura establecen la conexi&amp;oacute;n f&amp;iacute;sica o l&amp;oacute;gica entre los distintos elementos que componen la estructura. Los principales tipos de relaci&amp;oacute;n son: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;De precedencia&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: permite representar la secuencia u orden de los elementos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;De equivalencia, con esta relaci&amp;oacute;n es posible equiparar o igualar elementos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;De jerarqu&amp;iacute;a&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: permite indicar "niveles de importancia" entre los elementos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;De pertenencia: determina que algunos elementos est&amp;aacute;n incluidos en otros elementos, conformando de esta manera estructuras m&amp;aacute;s complejas.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;De adyacencia&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: permite representar la "igualdad de importancia" entre los elementos de la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Es importante destacar que una estructura puede estar constituida por un conjunto de estructuras elementales o b&amp;aacute;sicas, consecuentemente estas mismas relaciones son v&amp;aacute;lidas entre estructuras.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458757"&gt;&lt;span lang="ES-TRAD"&gt;Funciones b&amp;aacute;sicas para estructuras&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Para disponer de una estructura de datos se necesita una serie de algoritmos que ejecuten las tareas fundamentales, los cuales reciben el nombre de funciones b&amp;aacute;sicas y se enumeran a continuaci&amp;oacute;n:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Funciones constructoras&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Se encargan de crear la estructura; es decir definen las caracter&amp;iacute;sticas, la delimitaci&amp;oacute;n, las relaciones, y asignan el espacio correspondiente, dejando la estructura a disposici&amp;oacute;n del desarrollador para que proceda a colocar la informaci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Funciones para acceso&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Facilitan la llegada de un elemento perteneciente a la estructura; la funci&amp;oacute;n puede ser simple o compleja, depende del tipo de estructura. En general las formas de acceso se pueden considerar directas cuando a partir de un par&amp;aacute;metro o una direcci&amp;oacute;n se trata de encontrar el valor correspondiente, y son inversas en el caso contrario.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Funciones destructoras&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Se encargan de devolver al sistema los recursos asignados a la estructura de datos. En los lenguajes modernos casi nunca es necesario efectuar alguna operaci&amp;oacute;n sobre la estructura, pues el espacio que ocupaba queda autom&amp;aacute;ticamente liberado.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458758"&gt;&lt;span lang="ES-TRAD"&gt;Operaciones&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Sobre una estructura de datos se puede efectuar diferentes tipos de operaciones, entre las m&amp;aacute;s importantes est&amp;aacute;n:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Navegar por la estructura&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, es el t&amp;eacute;rmino que actualmente se utiliza para referirse al recorrido por los elementos de la estructura. Esta es una operaci&amp;oacute;n b&amp;aacute;sica, y garantiza que se puede recuperar la informaci&amp;oacute;n almacenada.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;B&amp;uacute;squeda&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, permite determinar si un elemento se encuentra o no en la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Consulta de la informaci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, permite obtener informaci&amp;oacute;n de uno o m&amp;aacute;s elementos de la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Copia parcial o total&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, es aquella operaci&amp;oacute;n mediante la cual se puede obtener total o parcialmente una estructura con caracter&amp;iacute;sticas similares a la original.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Prueba&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, permite determinar si uno o varios elementos cumplen determinadas condiciones.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Modificaci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, permite variar parcial o totalmente el contenido de la informaci&amp;oacute;n de los elementos de la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Inserci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, es la operaci&amp;oacute;n mediante la cual se incluye un nuevo elemento en la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Eliminaci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;, es la operaci&amp;oacute;n que permite suprimir elementos de la estructura.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458759"&gt;&lt;span lang="ES-TRAD"&gt;Estructura de datos con base en la relaci&amp;oacute;n entre los elementos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Para establecer una clasificaci&amp;oacute;n b&amp;aacute;sica es necesario tener en cuenta el tipo de relaci&amp;oacute;n existente entre los elementos que conforman las estructuras de datos. La primera abstracci&amp;oacute;n consiste en considerar que los elementos son datos de los que no nos interesa su conformaci&amp;oacute;n (en realidad pueden ser estructuras de gran complejidad), lo importante es que se pueden considerar como datos simples y en consecuencia tratados como si fueran elementos. De esta manera se puede obtener la siguiente clasificaci&amp;oacute;n:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura de tipo lista&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Es la que surge al observar la manera como se relacionan los elementos y se puede concluir que una forma de relaci&amp;oacute;n es la secuencia u orden de la cual deriva la estructura de lista.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura de tipo &amp;aacute;rbol&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: La estructura de tipo lista es muy utilizada, sobre todo cuando los elementos tienen la misma categor&amp;iacute;a; sin embargo cuando entre &amp;eacute;stos elementos existen diferentes niveles, surgen relaciones del tipo jer&amp;aacute;rquico que se plasman en una estructura jer&amp;aacute;rquica o arborescente.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura de tipo red&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Las relaciones que existen entre los elementos en muchos casos son complejas y las dos estructuras anteriores son insuficientes; por ello&lt;span&gt;&amp;nbsp; &lt;/span&gt;se requiere de una estructura m&amp;aacute;s abierta, en la que los elementos puedan relacionarse sin tener las restricciones de secuencia o jerarqu&amp;iacute;a, sino b&amp;aacute;sicamente de adyacencia.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los tipos de relaciones mencionados no son los &amp;uacute;nicos que se pueden establecer; existen relaciones entre los elementos que aunque no sean un tipo de estructura se pueden analizar como ellas, tal es el caso del modelo relacional que seguramente se estudia en un curso de base de datos.&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;a name="_Toc236458760"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los tipos de datos son fundamentales para la implantaci&amp;oacute;n de estructuras m&amp;aacute;s complejas. En general, cuando se define una variable como perteneciente a un tipo de datos se efect&amp;uacute;a una abstracci&amp;oacute;n que incluye la especificaci&amp;oacute;n de las celdas en que se puede almacenar, el conjunto de valores v&amp;aacute;lidos que &amp;eacute;sta celda puede tomar y el conjunto de operaciones que se pueden efectuar.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Por ejemplo cuando el desarrollador utiliza variables num&amp;eacute;ricas, sabe que con estas variables se pueden realizar operaciones matem&amp;aacute;ticas, de ninguna manera se le ocurre concatenar n&amp;uacute;meros lo que s&amp;iacute; se puede hacer con variables del tipo car&amp;aacute;cter.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;En esencia, un tipo de datos es una colecci&amp;oacute;n de valores; el desarrollador aprende que con distintos tipos de datos puede realizar distintas operaciones, las cuales est&amp;aacute;n implementadas en el lenguaje de programaci&amp;oacute;n que utiliza.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458761"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos predefinidos&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los lenguajes de programaci&amp;oacute;n siempre han tenido, como parte de su estructura, la posibilidad de definir una variable o una constante como perteneciente a un tipo de datos que el lenguaje reconoce. Por ello se denominan &lt;strong&gt;TDP - Tipo de Dato Predefinido&lt;/strong&gt;, es el caso de los enteros, reales, booleanos, caracteres.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Es conveniente aclarar que no todos los lenguajes soportan los mismos tipos de datos, ni el mismo TDP - Tipo de Dato Predefinido define exactamente el conjunto de valores para diferentes lenguajes.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458762"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos estructurados&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los lenguajes de programaci&amp;oacute;n en general permiten definir lo que se conoce como TDE - Tipo de Dato Estructurados, es decir colecciones de m&amp;aacute;s de un elemento que pueden manipularse como si fuese una sola cosa. Algunos de estos tipos de datos estructurados son:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Arreglos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Un arreglo es un tipo de dato cuya implantaci&amp;oacute;n implica una colecci&amp;oacute;n de elementos finita y homog&amp;eacute;nea. Para hacer referencia a cualquiera de las celdas del arreglo es necesario el nombre del arreglo y el valor de uno o m&amp;aacute;s &amp;iacute;ndices lo que permite tener acceso aleatorio a cada elemento de la colecci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Registros&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: El tipo de datos registro permite agrupar diferentes elementos y manejarlos como un todo, adem&amp;aacute;s permite establecer relaciones l&amp;oacute;gicas entre ellos. Para acceder a cada uno de los elementos se utiliza un selector de campo o elemento.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Enumerados&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Es un tipo de dato que permite agrupar diferentes identificadores bajo una denominaci&amp;oacute;n y asignar estos valores a las variables definidas para ello.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name="_Toc236458763"&gt;&lt;span lang="ES-TRAD"&gt;Tipo de datos abstractos&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Uno de los problemas que se presentan en los lenguajes de programaci&amp;oacute;n es que muchos de los tipos de datos que requiere el desarrollador no se encuentran predefinidos ni tampoco estructurados, sin embargo se pueden definir y posteriormente implementar, mejorando y ampliando de esta manera las posibilidades que brinda el lenguaje.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Un &lt;strong&gt;TDA - Tipo de Dato Abstracto&lt;/strong&gt; es el resultado de aplicar un proceso de abstracci&amp;oacute;n de datos, reuniendo un Tipo de Dato y las operaciones que se pueden realizar con este tipo de dato.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Un aspecto importante que no debe olvidarse es que los TDA son fundamentalmente un modelo, y las estructuras de datos son la implementaci&amp;oacute;n de estos TDA en un lenguaje de programaci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458764"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos abstractos b&amp;aacute;sicos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Entero tiene como tipo el conjunto de n&amp;uacute;meros enteros definido por las matem&amp;aacute;ticas y como operaciones la suma, la resta, la multiplicaci&amp;oacute;n y la divisi&amp;oacute;n entera.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Real tiene como tipo el conjunto de n&amp;uacute;meros reales definido por las matem&amp;aacute;ticas y como operaciones la suma, la resta, la multiplicaci&amp;oacute;n la divisi&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Car&amp;aacute;cter tiene como tipo el conjunto de caracteres definido por un alfabeto dado y como operaciones todos los operadores relacionales (&amp;lt;, &amp;gt;, =, &amp;gt;=, &amp;lt;=,&amp;lt;&amp;gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Booleano tiene como tipo el conjunto de valores {verdadero, falso} y como operaciones el AND, OR y NOT definidos en el &amp;Aacute;lgebra Booleana.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a name="_Toc236458765"&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos abstractos compuestos&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Conjunto es una colecci&amp;oacute;n de elementos tratados con las operaciones uni&amp;oacute;n, intersecci&amp;oacute;n y diferencia de conjuntos definidas en las matem&amp;aacute;ticas.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Arreglo es una colecci&amp;oacute;n de elementos homog&amp;eacute;nea de longitud fija tal que cada uno de sus elementos puede ser accedido individualmente mediante uno o varios &amp;iacute;ndices, que ser&amp;aacute;n de tipo ordinal y que indican la posici&amp;oacute;n del elemento dentro de la colecci&amp;oacute;n.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;" lang="ES-TRAD"&gt;&lt;span&gt;&amp;middot;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span lang="ES-TRAD"&gt;El TDA Registro es una colecci&amp;oacute;n de elementos heterog&amp;eacute;nea compuesta por una cantidad fija de elementos denominados campos a las que se accede mediante un selector de campo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="ES-TRAD"&gt;Los lenguajes de programaci&amp;oacute;n modernos implementan estos tipos de datos abstractos b&amp;aacute;sicos o compuestos de diferentes maneras por eso es importante destacar que en los lenguajes de programaci&amp;oacute;n se encuentran Estructuras de Datos que implementan un concepto o modelo denominado Tipo de Dato Abstracto.&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;a name="_Toc236458766"&gt;&lt;span lang="ES-TRAD"&gt;Resumen de conceptos&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Habilidad que permite tener en cuenta lo fundamental o relevante, dejando de lado los detalles. Se aplica en la soluci&amp;oacute;n de problemas o situaciones.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de datos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Facilidad mediante la cual en un lenguaje de programaci&amp;oacute;n se pueden definir nuevos tipos de datos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Abstracci&amp;oacute;n de procedimientos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Facilidad que presentan los lenguajes de programaci&amp;oacute;n de manera que se los programas se puedan dividir en unidades funcionales.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Conjunto de las partes fundamentales de un sistema, incluidas sus relaciones, distribuci&amp;oacute;n y orden, que caracterizan al sistema.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Estructura de datos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Implementaci&amp;oacute;n a la que se llega mediante un nivel adecuado de abstracci&amp;oacute;n lo que permite caracterizar, almacenar y utilizar una determinada organizaci&amp;oacute;n de datos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Tipos de datos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Permite caracterizar una variable al determinar el conjunto de valores que puede tomar.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span lang="ES-TRAD"&gt;Tipo de datos abstractos&lt;/span&gt;&lt;/strong&gt;&lt;span lang="ES-TRAD"&gt;: Modelo definidos por el desarrollador, que permiten caracterizar un conjunto de datos y las operaciones que se pueden efectuar con &amp;eacute;stos.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Para aquellos que les interese aqu&amp;iacute; esta el documento: &lt;a href="../../file.axd?file=2009%2f7%2fAbstracci%c3%b3n+Estructuras+y+Tipos+de+Datos.pdf"&gt;Abstracci&amp;oacute;n Estructuras y Tipos de Datos.pdf (186,77 kb)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Esepro que les sirva.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Abstraccion-Estructuras-y-Tipos-de-Datos.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Abstraccion-Estructuras-y-Tipos-de-Datos.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=a4ac8513-aa22-4f8b-977a-e304e16b64f3</guid>
      <pubDate>Mon, 27 Jul 2009 11:00:00 -0200</pubDate>
      <category>Estructura de Datos</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=a4ac8513-aa22-4f8b-977a-e304e16b64f3</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=a4ac8513-aa22-4f8b-977a-e304e16b64f3</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Abstraccion-Estructuras-y-Tipos-de-Datos.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=a4ac8513-aa22-4f8b-977a-e304e16b64f3</wfw:commentRss>
    </item>
    <item>
      <title>Tirando Dados - Simulación</title>
      <description>&lt;p&gt;&lt;strong&gt;Este post muestra el c&amp;oacute;digo para simular la tirada de datos, el objetivo es estudiar la probabilidad que tienen de salir los distintos n&amp;uacute;meros.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Se trata de un ejercicio del cursos Programador .NET en Becas Control+F&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Escriba un programa que simule el tirar dos dados. El programa deber&amp;aacute; utilizar &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// una funci&amp;oacute;n que genere numero aleatorios para tirar el primer dado, y despues &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// volver a utilizarla para tirar el segundo dado. La suma de los dos valores &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// debera ser calculada. Nota: en vista de que cada dado puede mostrar un valor &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// entero de 1 a 6 entonces la suma de los dos valores variar&amp;aacute; desde 2 hasta 12, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// siendo 7 la suma m&amp;aacute;s frecuente y 2 y 12 las menos frecuentes. Su programa debera &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// tirar 36000 veces los dos dados. Utilice un arreglo de una dimensi&amp;oacute;n para llevar &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// cuenta del n&amp;uacute;mero de veces que aparece cada suma posible. Imprima los resultados &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// en un formato tabular. Tambien determine si los totales son razonables, es decir, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// existen seis formas de llegar a un 7, por lo que aproximadamente una sexta parte &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// de todas las tiradas deber&amp;aacute;n ser 7&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio4()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 4"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] valores = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[13];  &lt;span style="color:#008000;"&gt;// Necesito el subindice 12&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; suma = 0;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;const&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; MAX = 360000;  &lt;span style="color:#008000;"&gt;// Cantidad de tiradas a realizar&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Inicializaci&amp;oacute;n del arreglo&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; valores.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;        valores[i] = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Simulaci&amp;oacute;n de tirar dados y cuenta los valores obtenidos&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; MAX; ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;        suma = TirarDado() + TirarDado();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;        valores[suma] += 1;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Muestra los resultados&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 2; i &amp;lt;= 12; ++i)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;        Console.WriteLine(&lt;span style="color:#A31515;"&gt;"{0,3} - {1,8} - {2,8}%"&lt;/span&gt;, i, valores[i], ((&lt;span style="color:#0000FF;"&gt;float&lt;/span&gt;) valores[i] / MAX * 100).ToString(&lt;span style="color:#A31515;"&gt;"#0.00"&lt;/span&gt;));&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Este objeto se utiliza para generar n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  44:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  45:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; Random generador = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Random();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  46:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  47:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  48:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Simula el hecho de tirar un dado, los posibles valores van del 1 al 6&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  49:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// se utiliza un objeto que genera n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  50:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  51:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;returns&amp;gt;Valor simulado 1,2,3,4,5,6&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  52:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;private&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; TirarDado()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  53:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  54:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;return&lt;/span&gt; generador.Next(1, 7);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  55:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A ver si alguien tiene otra idea de c&amp;oacute;mo hacer esto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Tirando-Dados-Simulacion.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Tirando-Dados-Simulacion.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=6e82a647-5aec-45d4-8475-47d74ce8d58e</guid>
      <pubDate>Mon, 29 Jun 2009 20:00:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=6e82a647-5aec-45d4-8475-47d74ce8d58e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=6e82a647-5aec-45d4-8475-47d74ce8d58e</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Tirando-Dados-Simulacion.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=6e82a647-5aec-45d4-8475-47d74ce8d58e</wfw:commentRss>
    </item>
    <item>
      <title>Diferencias entre Visual Basic y C# - Arreglos 2</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Ahora voy a continuar presentando diferencias entre Visual Basic y C# a la hora de manipular arreglos.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Se trata de otro ejercicio del curso Programador .NET de Becas Control+F, y en este caso se utiliza un generador de &lt;a title="N&amp;uacute;meros Pseudoaleatorios" href="http://es.wikipedia.org/wiki/N%C3%BAmero_pseudoaleatorio" target="_blank"&gt;n&amp;uacute;meros pseudoaleatorios&lt;/a&gt; para evitarse el trabajo de ingresar los datos.&lt;/p&gt;
&lt;p&gt;Para ello el Framework facilita una clase Random que permite generar estos n&amp;uacute;meros con un m&amp;eacute;todo donde se le indica los l&amp;iacute;mites inferior y superior que se desea generar, en la documentaci&amp;oacute;n de este m&amp;eacute;todo se indica que el l&amp;iacute;mite superior debe ser uno m&amp;aacute;s que el valor que se desa generar.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ejemplo en C#&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// A cuarenta alumnos se les pregunt&amp;oacute; el nivel de calidad de los alimentos &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// de la cafeter&amp;iacute;a para alumnos en una escala de 1 a 10 (1 significa terrible &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// y 10 significa excelente). Coloque las cuarenta respuestas en una arreglo &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// entero y resuma los resultados de la encuesta. Realice el Histograma &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// (utilice nuevamente asteriscos (*) para realizar el grafico)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio2()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 2"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] valores = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[40];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      Random generador = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Random();  &lt;span style="color:#008000;"&gt;// Objeto para generar n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 40; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;        valores[i] = generador.Next(1, 11);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Inicializar el arreglo con la cuenta de valores&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] histograma = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[11];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; histograma.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;        histograma[i] = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Contar cuantas veces aparece cada calificaci&amp;oacute;n&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; valores.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;        (histograma[valores[i]])++;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 1; i &amp;lt; histograma.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"Valor {0,2} - {1,2} veces : "&lt;/span&gt;, i, histograma[i]);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; j = 0; j &amp;lt; histograma[i]; ++j)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;          Console.Write(&lt;span style="color:#A31515;"&gt;"*"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  39:  &lt;/span&gt;        Console.WriteLine();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  40:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  41:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  42:  &lt;/span&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  43:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Vean en la l&amp;iacute;nea 29 c&amp;oacute;mo se utiliza el dato que se encuentra en un arreglo (valor[i]) como subindice para acceder a un elemento del arreglo histograma.&lt;/p&gt;
&lt;p&gt;Por esa raz&amp;oacute;n es que la dimensi&amp;oacute;n del arreglo histograma es de 11, para que se pueda acceder a la posic&amp;oacute;n 10. Por supuesto que se podr&amp;iacute;a utilizar algo como (histograma[valores[i]-1])++ y dejar el arreglo en 10 pero queda m&amp;aacute;s claro de esa manera.&lt;/p&gt;
&lt;p&gt;Parecer&amp;iacute;a que hacer esto en Visual Basic resulta m&amp;aacute;s comprensible, veamos el c&amp;oacute;digo&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ejemplo en Visual Basic&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' A cuarenta alumnos se les pregunt&amp;oacute; el nivel de calidad de los alimentos &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' de la cafeter&amp;iacute;a para alumnos en una escala de 1 a 10 (1 significa terrible &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' y 10 significa excelente). Coloque las cuarenta respuestas en una arreglo &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' entero y resuma los resultados de la encuesta. Realice el Histograma &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' (utilice nuevamente asteriscos (*) para realizar el grafico)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt; Ejercicio2()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    Console.Clear()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 2"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; valores(40) &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; generador &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; Random = &lt;span style="color:#0000FF;"&gt;New&lt;/span&gt; Random()  &lt;span style="color:#008000;"&gt;'' Objeto para generar n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; i, j &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; 39&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      valores(i) = generador.&lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;(1, 11)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;'' Inicializar el arreglo con la cuenta de valores&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; histograma(10) &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; histograma.Length - 1&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      histograma(i) = 0&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;'' Contar cuantas veces aparece cada calificaci&amp;oacute;n&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; valores.Length - 1&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;      histograma(valores(i)) += 1&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 1 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; histograma.Length - 1&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"Valor {0,2} - {1,2} veces : "&lt;/span&gt;, i, histograma(i))&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; j = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; histograma(i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"*"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      Console.WriteLine()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;    Console.ReadKey()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  38:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;End&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Observen que para recorrer el arreglo utilizamos el m&amp;eacute;todo Length de este objeto, pero tuvimos que restarle uno porque el For ... Next de Visual Basic va hasta ese valor, que es uno m&amp;aacute;s de lo que se defini&amp;oacute;.&lt;/p&gt;
&lt;p&gt;Conclusi&amp;oacute;n me quedo con la modalidad de C#, seguramente los desarrolladores acostumbrados a Visual Basic opinen distinto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Finalmente les muestro el m&amp;iacute;smo ejercicio pero obviando el arreglo de valores.&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// A cuarenta alumnos se les pregunt&amp;oacute; el nivel de calidad de los alimentos &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// de la cafeter&amp;iacute;a para alumnos en una escala de 1 a 10 (1 significa terrible &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// y 10 significa excelente). Coloque las cuarenta respuestas en una arreglo &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// entero y resuma los resultados de la encuesta. Realice el Histograma &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// (utilice nuevamente asteriscos (*) para realizar el grafico)&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio2_bis()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 2 bis"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      Random generador = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; Random();  &lt;span style="color:#008000;"&gt;// Objeto para generar n&amp;uacute;meros pseudoaleatorios&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Inicializar el arreglo con la cuenta de valores&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] histograma = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[11];&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; histograma.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;        histograma[i] = 0;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      &lt;span style="color:#008000;"&gt;// Contar cuantas veces aparece cada calificaci&amp;oacute;n&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 40; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;        (histograma[generador.Next(1, 11)])++;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  24:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  25:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  26:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 1; i &amp;lt; histograma.Length; ++i)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  27:  &lt;/span&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  28:  &lt;/span&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"Valor {0,2} - {1,2} veces : "&lt;/span&gt;, i, histograma[i]);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  29:  &lt;/span&gt;        &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; j = 0; j &amp;lt; histograma[i]; ++j)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  30:  &lt;/span&gt;        {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  31:  &lt;/span&gt;          Console.Write(&lt;span style="color:#A31515;"&gt;"*"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  32:  &lt;/span&gt;        }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  33:  &lt;/span&gt;        Console.WriteLine();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  34:  &lt;/span&gt;      }&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  35:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  36:  &lt;/span&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  37:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Esto ser&amp;iacute;a factible si el arreglo de valores no se desea guardar, lo que en general no ocurre; pero sirve como ejemplo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos-2.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos-2.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=b926b74f-8cc4-475f-963b-1691d58baf52</guid>
      <pubDate>Fri, 26 Jun 2009 19:10:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=b926b74f-8cc4-475f-963b-1691d58baf52</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=b926b74f-8cc4-475f-963b-1691d58baf52</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos-2.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=b926b74f-8cc4-475f-963b-1691d58baf52</wfw:commentRss>
    </item>
    <item>
      <title>Diferencias entre Visual Basic y C# - Arreglos</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;En este post voy a presentar las GRANDES diferencias que presenta Visual Basic y C# a la hora de manipular arreglos.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;En primer lugar hay que destacar que en Visual Basic se utiliza parenteis "(" y ")" para encerrar los sub&amp;iacute;ndices de un arreglo, en cambio en C# se utiliza corchetes "[" y "]", lo que realmente me complica la vida porque tengo asumido que los par&amp;eacute;ntesis se usan en las fuciones para encerrar la lista de par&amp;aacute;metros.&lt;/p&gt;
&lt;p&gt;Las formas en que se declaran presentan una diferencia importante, en C# es necesario "crear" el arreglo mientras que en Visual Basic es el compilador el que realiza esta tarea.&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; numeros(10) &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;    &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] numeros = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[10];&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Otra cuesti&amp;oacute;n muy importante es que en la declaraci&amp;oacute;n o creaci&amp;oacute;n se indica el tama&amp;ntilde;o o dimensi&amp;oacute;n del arreglo, este valor se supone indica cuantos elementos hay en el arreglo.&lt;/p&gt;
&lt;p&gt;Hay que recordar que los sub&amp;iacute;ndices de los arreglos en ambos lenguajes comienzan en 0 (cero), de manera que en C# se puede acceder a las posiciones 0, 1, 2, ..., 9; sin embargo en Visual Basic se puede acceder a las posiciones 0, 1, 2, ..., 9, 10 lo que agrega un elemento m&amp;aacute;s al arreglo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n tenemos un ejercicio del curso de Programaci&amp;oacute;n .NET de Becas Control+F, en ambos lenguajes se utiliza un procediminto para mostrar el arreglo (el c&amp;oacute;digo est&amp;aacute; m&amp;aacute;s adelante)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;en C#&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// Utilice la estructura de repetici&amp;oacute;n For Next para inicializar los elementos &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// de un array entero de diez elementos, e imprima el arreglo en formato tabular &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// Inicialice con n&amp;uacute;meros pares &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// Inicialice con n&amp;uacute;meros impares &lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// Inicialice con m&amp;uacute;ltiplos de tres&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio1()&lt;br /&gt;    {&lt;br /&gt;      Console.Clear();&lt;br /&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 1"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] numeros = &lt;span style="color:#0000FF;"&gt;new&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[10];&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 10; ++i)&lt;br /&gt;      {&lt;br /&gt;        numeros[i] = (i + 1) * 2;&lt;br /&gt;      }&lt;br /&gt;      MostrarArray(&lt;span style="color:#A31515;"&gt;"Pares            "&lt;/span&gt;, numeros);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 10; ++i)&lt;br /&gt;      {&lt;br /&gt;        numeros[i] = (i + 1) * 2 - 1;&lt;br /&gt;      }&lt;br /&gt;      MostrarArray(&lt;span style="color:#A31515;"&gt;"Impares          "&lt;/span&gt;, numeros);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color:#0000FF;"&gt;for&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 10; ++i)&lt;br /&gt;      {&lt;br /&gt;        numeros[i] = (i + 1) * 3;&lt;br /&gt;      }&lt;br /&gt;      MostrarArray(&lt;span style="color:#A31515;"&gt;"Multiplos de tres"&lt;/span&gt;, numeros);&lt;br /&gt;&lt;br /&gt;      Console.ReadKey();&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Es importante destacar que el subindice que recorre el arreglo comienza en 0 (cero) y se mantienen en el bucle mientras sea menor que 10 (diez) que resulta ser la dimensi&amp;oacute;n del arreglo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;en Visual Basic&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' Utilice la estructura de repetici&amp;oacute;n For Next para inicializar los elementos &lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' de un array entero de diez elementos, e imprima el arreglo en formato tabular &lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' Inicialice con n&amp;uacute;meros pares &lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' Inicialice con n&amp;uacute;meros impares &lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' Inicialice con m&amp;uacute;ltiplos de tres&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt; Ejercicio1()&lt;br /&gt;    Console.Clear()&lt;br /&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 3 - Ejercicio 1"&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; numeros(10) &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; i &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; 10&lt;br /&gt;      numeros(i) = (i + 1) * 2&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;br /&gt;    MostrarArray(&lt;span style="color:#A31515;"&gt;"Pares            "&lt;/span&gt;, numeros)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; 10&lt;br /&gt;      numeros(i) = (i + 1) * 2 - 1&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;br /&gt;    MostrarArray(&lt;span style="color:#A31515;"&gt;"Impares          "&lt;/span&gt;, numeros)&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; i = 0 &lt;span style="color:#0000FF;"&gt;To&lt;/span&gt; 10&lt;br /&gt;      numeros(i) = (i + 1) * 3&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;br /&gt;    MostrarArray(&lt;span style="color:#A31515;"&gt;"Multiplos de tres"&lt;/span&gt;, numeros)&lt;br /&gt;&lt;br /&gt;    Console.ReadKey()&lt;br /&gt;  &lt;span style="color:#0000FF;"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;M&amp;aacute;s all&amp;aacute; de las diferencias en la sentencia de control For ... Next del Visual Basic con el for(...; ...; ...) de C#, el c&amp;oacute;digo es bastante parecido.&lt;/p&gt;
&lt;p&gt;Pero es importante destacar que el For ... Next de Visual Basic va desde el valor inicial hasta (incluido) el valor final en este caso desde 0 (cero) hasta 10 (diez) lo que resulta en 11 (once) posiciones.&lt;/p&gt;
&lt;p&gt;Esto lo podemos solucionar bastante facil; NOS OLVIDAMOS QUE HAY UN ELEMENTO EN LA POSICI&amp;Oacute;N 0 (CERO) y entonces manipulamos 10 (diez) elementos desde las posiciones 1 (uno) hasta la 10 (diez) como si fuese Pascal &lt;img title="Surprised" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-surprised.gif" border="0" alt="Surprised" /&gt;.&lt;/p&gt;
&lt;p&gt;El problema lo tenemos ahora en el procedimiento que muestra el arreglo. Resulta que al utilizar una estructura FOR EACH ... NEXT de Visual Basic o foreach( ... ) de C# no se puede indicar a partir de qu&amp;eacute; elemento procesamos el arreglo, los procesa todos.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;en Visual Basic&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' Muestra un arreglo de enteros&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;param name="mensaje"&amp;gt;Mensaje o r&amp;oacute;tulo a mostrar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;param name="arreglo"&amp;gt;arreglo de enteros&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt; MostrarArray(&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt; mensaje &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;String&lt;/span&gt;, &lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt; arreglo() &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;)&lt;br /&gt;    Console.Write(&lt;span style="color:#A31515;"&gt;"{0}: "&lt;/span&gt;, mensaje)&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;For&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Each&lt;/span&gt; num &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;In&lt;/span&gt; arreglo&lt;br /&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"{0,4}"&lt;/span&gt;, num)&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;Next&lt;/span&gt;&lt;br /&gt;    Console.WriteLine()&lt;br /&gt;  &lt;span style="color:#0000FF;"&gt;End&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;en C#&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;pre style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// Muestra un arreglo de enteros&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="mensaje"&amp;gt;Mensaje o r&amp;oacute;tulo a mostrar&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;param name="arreglo"&amp;gt;arreglo de enteros&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; MostrarArray(&lt;span style="color:#0000FF;"&gt;string&lt;/span&gt; mensaje, &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt;[] arreglo)&lt;br /&gt;    {&lt;br /&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"{0}: "&lt;/span&gt;, mensaje);&lt;br /&gt;      &lt;span style="color:#0000FF;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; num &lt;span style="color:#0000FF;"&gt;in&lt;/span&gt; arreglo)&lt;br /&gt;      {&lt;br /&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"{0,4}"&lt;/span&gt;, num);&lt;br /&gt;      }&lt;br /&gt;      Console.WriteLine();&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Como pueden ver el c&amp;oacute;digo de MostrarArray (salvo las diferencias del lenguaje) es sem&amp;aacute;nticamente identico, muestra todos los elementos que hay en el arreglo&lt;/p&gt;
&lt;p&gt;El inconveniente es que al declarar en Visual Basic y en C# el tama&amp;ntilde;o del arreglo para 10 (diez) elementos, en Visual Basic nos agrega uno m&amp;aacute;s.&lt;/p&gt;
&lt;p&gt;Esto no es un error, es simplemente una cuesti&amp;oacute;n que presenta el Visual Basic para mantener compatibilidad con las versiones anteriores de este lenguaje. De todos modos es muy molesto.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=197543d7-5971-4973-ac44-8ad7c57d54db</guid>
      <pubDate>Fri, 26 Jun 2009 19:00:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=197543d7-5971-4973-ac44-8ad7c57d54db</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=197543d7-5971-4973-ac44-8ad7c57d54db</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C-Arreglos.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=197543d7-5971-4973-ac44-8ad7c57d54db</wfw:commentRss>
    </item>
    <item>
      <title>Diferencias entre Visual Basic y C#</title>
      <description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;En este post me interesa mostrar un par de aspectos b&amp;aacute;sicos que me llaman la atenci&amp;oacute;n en la programaci&amp;oacute;n con Visual Basic y C#&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;M&amp;aacute;s all&amp;aacute; de mi preferencia por los lenguajes de programaci&amp;oacute;n C#, C++ o simplemente C; cuando se desarrolla en la plataforma .NET siempre es posible encontrarse con c&amp;oacute;digo escrito en Visual Basic. De manera que debemos conocer algunas peque&amp;ntilde;as diferencias que se encuentran. A medida que encuentre estos tips ir&amp;eacute; coment&amp;aacute;ndolos.&lt;/p&gt;
&lt;p&gt;En el siguiente ejercicio lo que me llama la atenci&amp;oacute;n es c&amp;oacute;mo Visual Basic tiene la capacidad de convertir una cadena de texto en un entero directamente desde la consola, lo que en C# debe especificarse con Convert.ToInt32(...)&lt;/p&gt;
&lt;p&gt;Otra cosa que es importante destacar es la posibilidad que brinda Visual Basic de realizar divisiones enteras o no, esto lo pueden ver en el resultado de las l&amp;iacute;neas 19 y 20 del c&amp;oacute;digo en Visual Basic, esto tampoco es posible en C# que al dividir enteros presenta un resultado entero. Por supuesto que si deseamos el resultado con decimales hay que hacer una conversi&amp;oacute;n (cast) entonces la divisi&amp;oacute;n se realizar&amp;aacute; en ese otro tipo de dato.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Ejercicio 1 en Visual Basic&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' Escriba un programa que solicite al usuario que introduzca dos n&amp;uacute;meros, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' tome los dos n&amp;uacute;meros del usuario, e imprima la suma, el producto, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' la diferencia, el cociente y el m&amp;oacute;dulo del n&amp;uacute;mero&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt; Ejercicio1()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    Console.Clear()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 1 - Ejercicio 1"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; num1, num2 &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Ingrese dos n&amp;uacute;meros"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;    Console.Write(&lt;span style="color:#A31515;"&gt;"N&amp;uacute;mero 1: "&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;    num1 = Console.ReadLine()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;    Console.Write(&lt;span style="color:#A31515;"&gt;"N&amp;uacute;mero 2: "&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;    num2 = Console.ReadLine()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Suma       : {0}"&lt;/span&gt;, num1 + num2)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Producto   : {0}"&lt;/span&gt;, num1 * num2)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Diferencia : {0}"&lt;/span&gt;, num1 - num2)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Cociente   : {0}"&lt;/span&gt;, num1 / num2)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Cociente(*): {0}"&lt;/span&gt;, num1 \ num2)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"M&amp;oacute;dulo     : {0}"&lt;/span&gt;, num1 &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; num2)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;    Console.ReadKey()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;  &lt;span style="color:#0000FF;"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ejercicio 1 en C#&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   1:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   2:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// Escriba un programa que solicite al usuario que introduzca dos n&amp;uacute;meros, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   3:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// tome los dos n&amp;uacute;meros del usuario, e imprima la suma, el producto, &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   4:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// la diferencia, el cociente y el m&amp;oacute;dulo del n&amp;uacute;mero&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   5:  &lt;/span&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   6:  &lt;/span&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio1()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   7:  &lt;/span&gt;    {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   8:  &lt;/span&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;   9:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 1 - Ejercicio 1"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  10:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  11:  &lt;/span&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; num1, num2;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  12:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Ingrese dos n&amp;uacute;meros"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  13:  &lt;/span&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"N&amp;uacute;mero 1: "&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  14:  &lt;/span&gt;      num1 = Convert.ToInt32(Console.ReadLine());&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  15:  &lt;/span&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"N&amp;uacute;mero 2: "&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  16:  &lt;/span&gt;      num2 = Convert.ToInt32(Console.ReadLine());&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  17:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Suma       : {0}"&lt;/span&gt;, num1 + num2);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  18:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Producto   : {0}"&lt;/span&gt;, num1 * num2);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  19:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Diferencia : {0}"&lt;/span&gt;, num1 - num2);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  20:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Cociente   : {0}"&lt;/span&gt;, num1 / num2);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  21:  &lt;/span&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"M&amp;oacute;dulo     : {0}"&lt;/span&gt;, num1 % num2);&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  22:  &lt;/span&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color:#2B91AF;border-right-width:2px;border-right-style:solid;margin-right:8px;"&gt;  23:  &lt;/span&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;El siguiente ejercicio permite mostrar una alternativa o t&amp;eacute;cnica para validar el ingreso efectivo de un tipo de dato. En este caso se pretende ingresar un n&amp;uacute;mero entero y se utiliza un bucle que itera hasta que se produce el ingreso efectivo del n&amp;uacute;mero.&lt;/p&gt;
&lt;p&gt;He codificado el mismo ejercicio en C# y en Visual Basic, observen que salvo las peque&amp;ntilde;as diferencias de sint&amp;aacute;xis son iguales. Sin embargo Visual Basic tiene la posibilidad de utilizar el "Do ... Loop Until ..." que no necesita de la negaci&amp;oacute;n porque es similar a la estructura que nos ense&amp;ntilde;an en pseudoc&amp;oacute;digo "Repetir ... Hasta que ...", mientras que la estructura de C# ser&amp;iacute;a algo como "Repetir ... Mientras ..." lo que la mayor&amp;iacute;a de las veces confunde a los que no est&amp;aacute;n acostumbrados.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ejercicio 7 en C#&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    &lt;span style="color:#008000;"&gt;/// Escriba un programa que entre un n&amp;uacute;mero de cinco digitos, separe el n&amp;uacute;mero &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#008000;"&gt;/// en sus d&amp;iacute;gitos individuales e imprima los digitos separados unos de otros &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    &lt;span style="color:#008000;"&gt;/// mediante tres espacios. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#008000;"&gt;/// Por ejemplo, si el usuario escribe 42339 el programa deber&amp;iacute;a imprimir 4 2 3 3 9&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    &lt;span style="color:#008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;static&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;void&lt;/span&gt; Ejercicio7()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    {&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      Console.Clear();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 1 - Ejercicio 7"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      &lt;span style="color:#0000FF;"&gt;int&lt;/span&gt; num1, dig1, dig2, dig3, dig4, dig5;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      &lt;span style="color:#008000;"&gt;//num1 = Convert.ToInt32(Console.ReadLine());&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      &lt;span style="color:#0000FF;"&gt;do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      {&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;        Console.Write(&lt;span style="color:#A31515;"&gt;"Ingrese un N&amp;uacute;mero: "&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      } &lt;span style="color:#0000FF;"&gt;while&lt;/span&gt; (!Int32.TryParse(Console.ReadLine(), &lt;span style="color:#0000FF;"&gt;out&lt;/span&gt; num1));&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      dig5 = num1 % 10;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      dig4 = (num1 / 10) % 10;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      dig3 = (num1 / 100) % 10;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      dig2 = (num1 / 1000) % 10;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      dig1 = (num1 / 10000) % 10;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Digitos: {0}   {1}   {2}   {3}   {4}"&lt;/span&gt;, dig1, dig2, dig3, dig4, dig5);&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;      Console.ReadKey();&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ejercicio 7 en Visual Basic&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;  &lt;span style="color:#008000;"&gt;''' Escriba un programa que entre un n&amp;uacute;mero de cinco digitos, separe el n&amp;uacute;mero &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;  &lt;span style="color:#008000;"&gt;''' en sus d&amp;iacute;gitos individuales e imprima los digitos separados unos de otros &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;  &lt;span style="color:#008000;"&gt;''' mediante tres espacios. &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;  &lt;span style="color:#008000;"&gt;''' Por ejemplo, si el usuario escribe 42339 el programa deber&amp;iacute;a imprimir 4 2 3 3 9&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;  &lt;span style="color:#008000;"&gt;''' &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;  &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt; Ejercicio7()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    Console.Clear()&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Laboratorio 1 - Ejercicio 7"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt; num1, dig1, dig2, dig3, dig4, dig5 &lt;span style="color:#0000FF;"&gt;As&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    &lt;span style="color:#008000;"&gt;''num1 = Convert.ToInt32(Console.ReadLine())&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;Do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"Ingrese un N&amp;uacute;mero: "&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;Loop&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;While&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Not&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;.TryParse(Console.ReadLine(), num1)&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    dig5 = num1 &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; 10&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    dig4 = (num1 \ 10) &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; 10&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    dig3 = (num1 \ 100) &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; 10&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    dig2 = (num1 \ 1000) &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; 10&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    dig1 = (num1 \ 10000) &lt;span style="color:#0000FF;"&gt;Mod&lt;/span&gt; 10&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;    Console.WriteLine(&lt;span style="color:#A31515;"&gt;"Digitos: {0}   {1}   {2}   {3}   {4}"&lt;/span&gt;, dig1, dig2, dig3, dig4, dig5)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    Console.ReadKey()&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;  &lt;span style="color:#0000FF;"&gt;End&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Para probarlo deben cambiar en el c&amp;oacute;digo anterior las siguientes l&amp;iacute;neas&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size:12px;color:black;font-family:Consolas;background-color:#F1F1F1;line-height:normal;"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;Do&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin:0px"&gt;      Console.Write(&lt;span style="color:#A31515;"&gt;"Ingrese un N&amp;uacute;mero: "&lt;/span&gt;)&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color:#0000FF;"&gt;Loop&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Until&lt;/span&gt; &lt;span style="color:#0000FF;"&gt;Integer&lt;/span&gt;.TryParse(Console.ReadLine(), num1)&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=c1adccd9-225d-4b7d-85ca-92a0e66a2e9c</guid>
      <pubDate>Sat, 20 Jun 2009 20:41:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=c1adccd9-225d-4b7d-85ca-92a0e66a2e9c</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=c1adccd9-225d-4b7d-85ca-92a0e66a2e9c</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Diferencias-entre-Visual-Basic-y-C.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=c1adccd9-225d-4b7d-85ca-92a0e66a2e9c</wfw:commentRss>
    </item>
    <item>
      <title>Becas Control F - Instructor</title>
      <description>&lt;p&gt;Como ya coment&amp;eacute; en el post sobre &lt;a title="Becas Control+F" href="../../post/Becas-Control-F.aspx" target="_blank"&gt;Becas Control+F&lt;/a&gt;, se trata de un programa implementado en la Argentina por el gobierno nacional que otorga "becas" a personas interesadas en aprender ciertas herramientas vinculadas a las tecnolog&amp;iacute;as inform&amp;aacute;ticas.&lt;/p&gt;
&lt;p&gt;La cuesti&amp;oacute;n es que soy el instructor de uno de los cursos de Programaci&amp;oacute;n .NET, en el que se brinda capacitaci&amp;oacute;n en la plataforma de desarrollado de Microsoft desde los conceptos b&amp;aacute;sicos de programaci&amp;oacute;n hasta los &amp;uacute;ltimos aspectos que incorpora esta plataforma. Voy a aprovechar esto para publicar ejemplos de programaci&amp;oacute;n que le servir&amp;aacute;n a los becarios y a cualquier otra persona.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;En la siguente p&amp;aacute;gina &lt;a title="Ejemplos de Programaci&amp;oacute;n" href="../../page/Ejemplos-de-Programacion.aspx" target="_blank"&gt;Ejemplos de Programaci&amp;oacute;n&lt;/a&gt; ir&amp;eacute; incorporando un &amp;iacute;ndice a los ejemplos.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Espero que sirva.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Becas-Control-F-Instructor.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Becas-Control-F-Instructor.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=4baaa519-38b5-4b20-83ce-968335660fe3</guid>
      <pubDate>Sat, 20 Jun 2009 10:59:00 -0200</pubDate>
      <category>Programacion</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=4baaa519-38b5-4b20-83ce-968335660fe3</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=4baaa519-38b5-4b20-83ce-968335660fe3</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Becas-Control-F-Instructor.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=4baaa519-38b5-4b20-83ce-968335660fe3</wfw:commentRss>
    </item>
    <item>
      <title>Becas Control F</title>
      <description>&lt;p style="text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;&lt;a title="Becas Control + F" href="http://www.becascontrolf.com.ar/" target="_blank"&gt;Becas Control+F&lt;/a&gt;, es un proyecto del gobierno nacional que intenta capacitar a las personas en tecnolog&amp;iacute;as inform&amp;aacute;ticas de manera que se puedan cubrir los puestos de trabajo que en los &amp;uacute;ltimos a&amp;ntilde;os quedaron vacantes.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Si, aunque no lo crean hay puestos de trabajo que nadie ocupa !!!&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Podemos no estar de acuerdo con el gobierno actual, pero es lo que tenemos y este proyecto puede ayudar a un sector de la sociedad argentina de manera que voy a opinar sobre el proyecto y no sobre las acciones del gobierno.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;span style="font-size: small;"&gt;Desde hace unos a&amp;ntilde;os, la &lt;a title="C&amp;aacute;mara de Empresas de Software y Servicios Inform&amp;aacute;ticos de la Rep&amp;uacute;blica Argentina" href="http://www.cessi.org.ar/index.htm" target="_blank"&gt;CESSI - C&amp;aacute;mara de Empresas de Software y Servicios Inform&amp;aacute;ticos&lt;/a&gt; muestra que las empresas de software no pueden realizar sus actividades porque no tiene personal capacitado en las &amp;aacute;reas que necesitan. Efectivamente, en julio de 2008 se anunciaba que &lt;a title="La industria del Software prevee facturar 7.100 millones en el a&amp;ntilde;o 2008" href="http://www.latinvia.com.ar/alianzas/seldispropio/cuerpo/dsp_model5_propio_home_noticia_detalle.cfm?codalianza=3197&amp;amp;sec=245" target="_blank"&gt;La industria del software prevee facturar $ 7.100 millones para ese a&amp;ntilde;o&lt;/a&gt;, pero a&amp;uacute;n as&amp;iacute; necesitan de un plan de capacitaci&amp;oacute;n de personal que les permita contar con la mano de obra calificada para realizar los trabajos; de ese modo es que surge el proyecto que involucra al gobierno y a grandes empresas proveedoras de software de la argentina.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small;"&gt;En el marco del &lt;a title="Software: La industria programa su plan estrat&amp;eacute;gico al 2016 " href="http://www.latinvia.com.ar/alianzas/seldispropio/cuerpo/dsp_model5_propio_home_noticia_detalle.cfm?codalianza=3197&amp;amp;sec=246" target="_blank"&gt;plan estrat&amp;eacute;gico hasta el 2016&lt;/a&gt; el gobierno y las empresas &lt;strong&gt;pretenden capacitar e incorporar 6.000 puestos de trabajo nuevos por cada a&amp;ntilde;o hasta el 2011&lt;/strong&gt; (&lt;a title="Plan de Acci&amp;oacute;n 2008-2011" href="http://www.cessi.org.ar/documentacion/Plan_de_Accion_2008-2011.pdf" target="_blank"&gt;ver/descargar el plan&lt;/a&gt;), y es ah&amp;iacute; donde aparece &lt;strong&gt;Becas Control+F&lt;/strong&gt; que como su nombre lo indica es un mecanismo de asignaci&amp;oacute;n de becas para las personas que deseen capacitarse en alguna tecnolog&amp;iacute;a inform&amp;aacute;tica. No te dan el dinero; la beca conciste en asistir al curso que la persona desee, y por supuesto hay una &lt;a title="Cursos en Becas Control F" href="http://www.becascontrolf.com.ar/cursos/microsoft_sql.php" target="_blank"&gt;lista de cursos&lt;/a&gt; de manera que las personas deben inscribirse en el programa y en cuanto est&amp;eacute; disponible el curso deseado, se le notifica por correo electr&amp;oacute;nico.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small;"&gt;Lo m&amp;aacute;s importante es que esto tambi&amp;eacute;n es una bolsa de trabajo, los datos de los inscriptos (curriculum) as&amp;iacute; como la evoluci&amp;oacute;n en los cursos ser&amp;aacute; monitoreada por las empresas que necesitan recursos humanos calificados y probablemente consigan trabajo &lt;img title="Tongue out" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-tongue-out.gif" border="0" alt="Tongue out" /&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small;"&gt;Parece tan sencillo, sin embargo para los que estamos lejos de los grandes centros urbanos este mecanismo es un problema. Ocurre que el curso que nos interesa se puede dictar en Buenos Aires o en C&amp;oacute;rdoba y la beca cubre el costo del curso, el viaje y la estad&amp;iacute;a es por cuenta nuestra &lt;img title="Frown" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-frown.gif" border="0" alt="Frown" /&gt;. Por esa raz&amp;oacute;n lo que debemos intentar es que &lt;strong&gt;seamos muchos los inscriptos de una misma regi&amp;oacute;n (por ejemplo NOA), de ese modo el curso se dictar&amp;aacute; en una ciudad cercana a nuestros domicilios&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Por ah&amp;iacute; hay comentarios equivocados sobre lo que se pretende, como por ejemplo decir que "estos cursos son para cualquiera" no es tan as&amp;iacute;, basta con ver los requisitos de los cursos para darse cuenta que hace falta un base de conocimientos para poder asistir a los mismos. Para los cursos de &lt;a title="Microsoft Administrador de Bases de Datos SQL Server 2005" href="http://www.becascontrolf.com.ar/cursos/microsoft_sql.php" target="_blank"&gt;Microsoft Administrador de Bases de Datos SQL Server 2005&lt;/a&gt; y &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;a title="Programador .NET" href="http://www.becascontrolf.com.ar/cursos/programador_NET.php" target="_blank"&gt;Programador .NET&lt;/a&gt; los requisitos son: &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;em&gt;Conocimientos b&amp;aacute;sico sobre configuraci&amp;oacute;n y utilizaci&amp;oacute;n de sistemas operativos como Microsoft Windows. Por ejemplo usar la interfaz de navegaci&amp;oacute;n, administraci&amp;oacute;n y monitoreo. Tener conocimientos b&amp;aacute;sicos de base de datos relacionales. Por ejemplo teor&amp;iacute;a de bases de datos, diferencias entre base de datos y planilla de c&amp;aacute;lculos&lt;/em&gt;. De manera que no es para todos.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Adem&amp;aacute;s hay que ver las espectativas de las empresas de software, por eso me tomo la libertad de mostrar unos gr&amp;aacute;ficos que se encuentran en el informe: &lt;a title="Situaci&amp;oacute;n y perspectivas de las PyME del Sector del Software y Servicios Inform&amp;aacute;ticos en Argentina" href="http://www.cessi.org.ar/opssi/Documentacion/Informe_SSI_OPSSI-FOP_Jun-2008.pdf" target="_blank"&gt;Situaci&amp;oacute;n y perspectivas de las PyME del Sector del Software y Servicios Inform&amp;aacute;ticos en Argentina&lt;/a&gt;, &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img style="vertical-align: middle;" src="../../image.axd?picture=2009%2f2%2fGrafico31y32.jpg" alt="" width="1029" height="577" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Como pueden ver de ninguna manera las empresas de software est&amp;aacute;n dejando la formaci&amp;oacute;n universitaria, es m&amp;aacute;s pretenden incrementarla. El siguiente gr&amp;aacute;fico muestra qu&amp;eacute; tipo de empleado se encuentra en las empresas de software y se compara con las empresas de otras industrias (recordemos que el Software y los Servicios Inform&amp;aacute;ticos se calific&amp;aacute;n como una industria).&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img src="../../image.axd?picture=2009%2f2%2fGrafico33.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;Espero que con esto les quede en claro que todos estos cursos son adicionales a una formaci&amp;oacute;n de base, por supuesto que hay personas que son muy eficientes en su tarea diaria y no tienen formaci&amp;oacute;n universitaria sin embargo basta con ver el gr&amp;aacute;fico para darse cuenta que son los menos.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Cuando una persona tiene un dolor de cabeza pasa por la farmacia y se compra algun remedio que se auto-medica o le pregunta a un amigo que puede tomar, cuando esa persona tiene que realizarse una cirug&amp;iacute;a busca un profesional de la medicina para que lo atienda.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Las Empresas de Software y Servicios Inform&amp;aacute;ticos hacen lo mismo, las peque&amp;ntilde;as cosas las manejan como pueden, para los grandes proyectos necesitan recursos humanos calificados.&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Becas-Control-F.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Becas-Control-F.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=41a9f866-d6e9-4278-a9d6-4b1a5ec18b70</guid>
      <pubDate>Mon, 23 Feb 2009 20:37:00 -0200</pubDate>
      <category>Celulas</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=41a9f866-d6e9-4278-a9d6-4b1a5ec18b70</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=41a9f866-d6e9-4278-a9d6-4b1a5ec18b70</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Becas-Control-F.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=41a9f866-d6e9-4278-a9d6-4b1a5ec18b70</wfw:commentRss>
    </item>
    <item>
      <title>Mis Vacaciones Enero 2009</title>
      <description>&lt;p style="text-align: center;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;strong&gt;Gracias a Dios, este a&amp;ntilde;o pudimos tomarnos unos d&amp;iacute;as de vacaciones&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;(no digo descanso porque fue una fiesta casi una juerga ...)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 924px; height: 350px;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;Nuevamente fuimos a Carlos Paz (Cordoba - Argentina)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;por supuesto nos instalamos en el Camping, &lt;a title="Complejo Tur&amp;iacute;stico Bahia del Gitano" href="http://www.bahiagitano.com.ar/" target="_blank"&gt;Bahia del Gitano&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;La pasamos GENIAL &lt;img title="Laughing" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-laughing.gif" border="0" alt="Laughing" /&gt;, de tal manera que hizo falta unos d&amp;iacute;as para descansar de las vacaciones &lt;img title="Surprised" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-surprised.gif" border="0" alt="Surprised" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;img style="border: 3px solid black; margin: 10px;" src="../../image.axd?picture=2009%2f1%2fP1010399-small.jpg" alt="Demian descansando de sus vacaciones" width="290" height="210" /&gt;&lt;/p&gt;
&lt;p&gt;As&amp;iacute; quedo mi hijo Demian en cama con un buen resfr&amp;iacute;o&lt;/p&gt;
&lt;p&gt;(el otro cachorro es Pulgoso, un siam&amp;eacute;s de laboratorio)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;Como de costumbre, voy a compartir con Uds. algo de estos hermosos d&amp;iacute;as&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 3px solid black; margin: 5px;" src="../../image.axd?picture=2009%2f1%2fP1010152-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Llegamos&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 3px solid black; margin: 5px;" src="../../image.axd?picture=2009%2f1%2fP1010150-small.jpg" alt="Lugar elegido para el campamento" width="290" height="210" /&gt;&lt;/p&gt;
Lugar Elegido para el Campamento !!!&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt; 
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010154-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Carpa lista&lt;br /&gt;(suite para los padres ...)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010155-samll.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Otra carpa lista&lt;br /&gt;(habitaci&amp;oacute;n simple para los ni&amp;ntilde;os ...)&lt;br /&gt;&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010156-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;Hora de tomarse una cerveza&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Primer d&amp;iacute;a instalados ...&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010160-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Descansando&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010161-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Charlando en espera de la comida&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010162-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Preparando un pescado&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010163-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Esto no es pescado precisamente ...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Demian haciendo Palestra !!! ...&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010169-small.jpg" alt="" width="210" height="290" /&gt;&lt;/p&gt;
Preparandose&lt;br /&gt;(un poco grande el arnes)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010171-small.jpg" alt="" width="210" height="290" /&gt;&lt;/p&gt;
Comienza a subir ...&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010172-small.jpg" alt="" width="210" height="290" /&gt;&lt;/p&gt;
Fuerza !!!&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010173-small.jpg" alt="" width="210" height="290" /&gt;&lt;/p&gt;
El descenso ...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;hr /&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Diosas del camping, amigas de Demian (zonzo para elegir ...)&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010179-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
&lt;p&gt;Oriana&lt;br /&gt;(delicada princesa)&lt;/p&gt;
&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010174-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Rocio&lt;br /&gt;(fresca y natural)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010241-samll.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Carla&lt;br /&gt;(dulce belleza)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010248-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Lucila y Rocio&lt;br /&gt;(divertidas)&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;hr /&gt;
&lt;hr /&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;PaintBall (Guerra con bolitas de pintura !!!)&lt;/span&gt; - &lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Volvimos a nuestra ni&amp;ntilde;ez &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010287-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Valeria&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010288-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Valeria, Evelina y Vanesa&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010289-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Demian&lt;br /&gt;(listo para la batalla)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010290-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Evelina gastando a los perdedores&lt;img title="Laughing" src="../../editors/tiny_mce3/plugins/emotions/img/smiley-laughing.gif" border="0" alt="Laughing" /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;hr /&gt;
&lt;hr /&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Una de tantas tardes, jugando en la pileta&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010322-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Valeria&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010323-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Vanesa&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010324-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Rocio&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f1%2fP1010326-small.jpg" alt="" width="250" height="183" /&gt;&lt;/p&gt;
Demian&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;div style="text-align: center"&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/sgX81IUSgGQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/sgX81IUSgGQ&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/XGGSTJhLZCI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/XGGSTJhLZCI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;div style="text-align: center"&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/AoeoHYVY_6E&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/AoeoHYVY_6E&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/bPmqNljOfW0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/bPmqNljOfW0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Un poco de m&amp;uacute;sica brasile&amp;ntilde;a y show de Salsa en la pileta&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/8UHpN1r_1PY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/8UHpN1r_1PY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/AAHtsTEkegs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/AAHtsTEkegs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Noche de cuarteto, pobre Principe Cordobes no lo dejamos descansar !!!&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f2%2fP1010261-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Evelina (a los gritos...)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f2%2fP1010262-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Evelina y Marcela&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="height: 278px;" border="3" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f2%2fP1010263-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Madre e Hija (tal para cu&amp;aacute;l)&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f2%2fP1010264-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
Amigos de la fiesta&lt;br /&gt;&lt;/td&gt;
&lt;td style="text-align: center;"&gt;
&lt;p&gt;&lt;img style="border: 5px solid black; margin: 3px;" src="../../image.axd?picture=2009%2f2%2fP1010265-small.jpg" alt="" width="290" height="210" /&gt;&lt;/p&gt;
M&amp;aacute;s amigos ...&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Este video no se lo pueden perder ... (el cuarteto se baila mejor en CORDOBA)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;object width="660" height="525"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/9ug3AR8Kqso&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="660" height="525" src="http://www.youtube.com/v/9ug3AR8Kqso&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;p style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Bailando con Gaby, Valeria y el Chino ...&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align: center"&gt;
&lt;object width="500" height="405"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/iE20L1R4Z7g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/iE20L1R4Z7g&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;object width="500" height="405"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/NJpF3zdDIAA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" /&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/NJpF3zdDIAA&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;border=1" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;br /&gt;
&lt;p&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;A la tarde en la pileta - por la noche en el show de la cantina (y luego baile !!!)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Mis-Vacaciones-Enero-2009.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Mis-Vacaciones-Enero-2009.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=9685ff89-9679-4d81-a5d4-8f98ee3f8c67</guid>
      <pubDate>Mon, 02 Feb 2009 18:59:00 -0200</pubDate>
      <category>Personal</category>
      <category>Vacaciones</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=9685ff89-9679-4d81-a5d4-8f98ee3f8c67</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=9685ff89-9679-4d81-a5d4-8f98ee3f8c67</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Mis-Vacaciones-Enero-2009.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=9685ff89-9679-4d81-a5d4-8f98ee3f8c67</wfw:commentRss>
    </item>
    <item>
      <title>Arquitectura de N-Capas y N-Niveles</title>
      <description>&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt; Lo que se conoce como arquitectura en capas es en realidad un estilo de programaci&amp;oacute;n donde el objetivo principal es separar los diferentes aspectos del desarrollo, tales como las cuestiones de presentaci&amp;oacute;n, l&amp;oacute;gica de negocio, mecanismos de almacenamiento, etc. &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div&gt;Los que aprendieron a programar con Pascal, recuerdan que con ese lenguaje todo estaba en la misma porci&amp;oacute;n de c&amp;oacute;digo.&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;A lo mejor un progrador cuidadose organizaba las cosas en "units", pero al final todo esta 			amontonado.&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;Vamos a dejar de lado los servicios que el Sistema Operativo facilita para el manejo de archivos, esto es imprescindible.&lt;/div&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura1.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Muchos de nosotros debemos recordar que desde la aparici&amp;oacute;n de los motores de base de datos existen dos "niveles" perfectamente definidos. Quiero resaltar el uso del t&amp;eacute;rmino "nivel" y no el de "capa" porque no significan lo mismo. El t&amp;eacute;rmino capa se utiliza para referenciar a las distintas "partes" en que una aplicaci&amp;oacute;n se dividide desde un punto de vista l&amp;oacute;gico; mientras que "nivel" corresponde a la forma f&amp;iacute;sica en que se organiza una aplicaci&amp;oacute;n.&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="justify"&gt;Cuando programaba en COBOL las cosas tambi&amp;eacute;n se hacian como en Pascal, pero hab&amp;iacute;a instalaciones donde se pod&amp;iacute;a utilizar una Base de Datos y codificar la aplicaci&amp;oacute;n con COBOL; de este modo ya ten&amp;iacute;amos una separaci&amp;oacute;n en niveles:&lt;/p&gt;
&lt;p align="justify"&gt;Se puede observar con total claridad el nivel de aplicaci&amp;oacute;n 			(seguramente en ella existe c&amp;oacute;digo de presentaci&amp;oacute;n y l&amp;oacute;gica de negocio) 			y el nivel de datos (donde est&amp;aacute; la o las bases de datos de la 			organizaci&amp;oacute;n). El objetivo de este esquema fue y sigue siendo el de 			lograr un &amp;uacute;nico repositorio de datos para la organizaci&amp;oacute;n y m&amp;uacute;ltiples 			aplicaciones que utilizan esos datos.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura2.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 2&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Ahora consideremos el ejemplo de un componente que permita grabar los programas de televisi&amp;oacute;n emitidos. Este componente tiene un sistema de almacenamiento, dado que hace falta "guardar" las instrucciones sobre el d&amp;iacute;a y hora se desea grabar el programa en particular; obviamente existe una porci&amp;oacute;n de l&amp;oacute;gica de negocio, la que se refiere a los pasos necesarios para capturar el programa de televisi&amp;oacute;n y grabarlo; finalmente hay una interf&amp;aacute;z de usuario que permite a las personas ver y editar las instrucciones de grabaci&amp;oacute;n.&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="justify"&gt;Podemos decir desde un punto de vista l&amp;oacute;gico que existen tres capas, y hasta que no veamos el c&amp;oacute;digo que escribi&amp;oacute; el desarrollador vamos a creer que es as&amp;iacute;.&lt;/p&gt;
&lt;p align="justify"&gt;Lo que no se puede negar es que hay un &amp;uacute;nico nivel, todo esta empotrado en alg&amp;uacute;n componente de hardware dentro del equipo.&lt;/p&gt;
&lt;p align="justify"&gt;Es importante destacar que hace falta separar el c&amp;oacute;digo de presentaci&amp;oacute;n del c&amp;oacute;digo de l&amp;oacute;gica de negocio, porque el fabricante puede desarrollar este equipo para que muestre las instrucciones en un display del mismo equipo o utilizar el televisor; la cuesti&amp;oacute;n es que el c&amp;oacute;digo de presentaci&amp;oacute;n tiene que poder intercambiarse, lo cu&amp;aacute;l es una de las ventajas del desarrollo en capas.&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura3.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 3&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt; La necesidad de contar con porciones de la aplicaci&amp;oacute;n que se puedan "intercambiar" sin tener que modificar el resto de la aplicaci&amp;oacute;n es lo que impulsa el desarrollo en capas; de este modo nos encontramos con el siguiente diagrama&lt;/strong&gt;:&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura4.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 4&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="justify"&gt;Ahora tenemos 2 niveles y en el primero de ellos diferenciamos 2 capas, de esta manera estamos diciendo que la capa de presentaci&amp;oacute;n interactua con la capa de l&amp;oacute;gica de negocion; Desde la filosof&amp;iacute;a de arquitectura en capas, esto significa que &lt;strong&gt;&lt;em&gt;la capa de l&amp;oacute;gica de negocios presenta una "interfaz" para brindar servicios a la capa de presentaci&amp;oacute;n&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p align="justify"&gt;Del mismo modo, en el diagrama estamos diciendo que existe otro nivel donde se encuentra una capa encargada de los datos. Esta capa no se muestra como un "paquete" o "ensamblado" dado que se trata (generalmente) de un motor de base de datos que puede o no ejecutarse en el mismo equipo. Indudablemente esta capa tambi&amp;eacute;n presenta una "interfaz" para brindar sus servicios a la capa que est&amp;aacute; por encima.&lt;/p&gt;
&lt;p align="justify"&gt;Lo importante y que siempre debemos recordar es que las capas inferiores brindan servicios a las capas superiores (independientemente del nivel en que se encuentren).&lt;/p&gt;
&lt;p align="justify"&gt;&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;La clave del desarrollo en capas es que una capa solamente debe utilizar lo que la "interfaz" de la o las capas inferiores le brindan, de este modo se puden intercambiar las capas respetando la "interfaz", que viene a ser como un "contrato entre capas"&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p align="justify"&gt;Ahora escribiendo nuevo c&amp;oacute;digo podemos intercambiar la capa de presentaci&amp;oacute;n sin afectar el resto de la aplicaci&amp;oacute;n. El problema se presenta cuando queremos intercambiar la Capa / Nivel de Datos, esto significa que necesitamos utilizar otro motor de base de datos y resulta que los fabricantes de motores de bases de datos si bi&amp;eacute;n respetan los est&amp;aacute;ndares, incorporan caracter&amp;iacute;sticas valiosas en sus productos. Una aplicaci&amp;oacute;n que pretenda utilizar la "potencia" o caracter&amp;iacute;sticas particulares de un motor de base de datos, inevitablemetne incorporar&amp;aacute; en la Capa de L&amp;oacute;gica de Negocios algo de c&amp;oacute;digo que no es compatible con otros motores de base de datos. En consecuencia, cambiar la capa de datos significa corregir la capa de l&amp;oacute;gica de negocios.&lt;/p&gt;
&lt;p&gt;Las buenas pr&amp;aacute;cticas de dise&amp;ntilde;o y desarrollo indican que se debe trabajar sobre el siguiente diagrama:&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura5.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 5&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="justify"&gt;Ahora si tenemos las tan famosas &lt;span style="font-size: small;"&gt;&lt;strong&gt;3 capas&lt;/strong&gt;&lt;/span&gt;, pero hay que hacer un par de aclaraciones para que nadie se confunda.&lt;/p&gt;
&lt;p align="justify"&gt;&lt;span style="font-size: x-small;"&gt;&lt;strong&gt;La nueva capa, se denomina Capa de Acceso a Datos (o Capa de Persistencia) que no es lo mismo que Capa de Datos.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size: small;"&gt; La capa de acceso a datos es una porci&amp;oacute;n de c&amp;oacute;digo que justamente realiza el acceso a los datos. De esta manera cuando es necesario cambiar el motor de base de datos, solamente tendremos que corregir esa capa. &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-size: small;"&gt;Mientras que la capa de datos (en el nivel de datos) es donde est&amp;aacute;n los datos y se corresponde directamente con la definici&amp;oacute;n de esquemas, tablas, vistas, procedimientos almacenadaos y todo lo que se pueda o deba poner en un motor de base de datos. &lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Los arquitectos est&amp;aacute;n felices con este diagrama, sin embargo los desarrolladores tienen un problema. Resulta que los componentes de la capa de l&amp;oacute;gica de negocios necesitan referenciar a instancias de las "clases del dominio" (las que representan las entidades del negocio) y los componentes de la capa de acceso a datos tambi&amp;eacute;n tienen que referenciarlas para poder "rellenar" tales instancias con los datos que obtienen de las capas inferiores.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura6.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 6 (a) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Figura 6 (b)&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="justify"&gt;La porci&amp;oacute;n de diagrama de la Figura 6 (a) muestra algo que no se debe hacer, porque los componentes no pueden caer en un ciclo de referencias recursivo,&amp;nbsp; no podr&amp;iacute;a compilarse la aplicaci&amp;oacute;n &amp;iquest;cu&amp;aacute;l de los dos ensamblados debe resolverse antes para poder compilar el otro?&lt;/p&gt;
&lt;p align="justify"&gt;Una posible soluci&amp;oacute;n se presenta en la Figura 6 (b), donde se muestra que la declaraci&amp;oacute;n de las "Entidades" se realiza en la capa de acceso a datos.&lt;/p&gt;
&lt;p align="justify"&gt;Bi&amp;eacute;n esto tambi&amp;eacute;n tiene un problema, la capa de acceso a datos surge porque no queremos "tocar" la l&amp;oacute;gica de negocio cuando cambiamos el nivel de datos, y con este esquema estamos incluyendo en la capa de acceso a datos uno de los aspectos m&amp;aacute;s importantes, que es nuestra definici&amp;oacute;n del dominio de la aplicaci&amp;oacute;n; los cambios en la capa de acceso a datos pueden impactar en las entidades.&lt;/p&gt;
&lt;p align="justify"&gt;Para peque&amp;ntilde;as aplicaciones esto puede funcionar, incluso se puede poner ambas capas en un &amp;uacute;nico ensamblado con diferentes nombres de espacio (namespace) pero a la larga traer&amp;aacute; problemas.&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;La soluci&amp;oacute;n que satisface a los arquitectos y a los desarrolladores, es la siguiente:&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura7.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 7&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="justify"&gt;Ahora tenemos otra capa m&amp;aacute;s, la capa de Entidades que corresponde al dominio de la aplicaci&amp;oacute;n.&lt;/p&gt;
&lt;p align="justify"&gt;En esta capa se encuentra la declaraci&amp;oacute;n de las entidades de la aplicaci&amp;oacute;n, de manera que se pueden referenciar desde otras capas sin entrar en ciclos recursivos de compilaci&amp;oacute;n.&lt;/p&gt;
&lt;p align="justify"&gt;Adem&amp;aacute;s este esquema permite una total independencia entre la l&amp;oacute;gica de negocios (Business Model) y las entidades (Domain Model). Por supuesto que ambas partes est&amp;aacute;n relacionadas por los casos de uso y otros requerimientos de la aplicaci&amp;oacute;n.&lt;/p&gt;
&lt;p align="justify"&gt;Por otro lado, este esquema facilita la incorporaci&amp;oacute;n, en la capa de acceso a datos, de componentes tipo ORM - Objet / Relational Mapping que permiten "mapear" (representar) objetos en un esquema relacional. Esto funciona bi&amp;eacute;n dado que las bases de datos m&amp;aacute;s&amp;nbsp; utilizadas (por su mejor performance) son las bases de datos relacionales y no las orientadas a objetos (al menos por ahora).&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;El nivel de cooperaci&amp;oacute;n que presentan las organizaciones requiere que las aplicaciones de software de las distintas organizaciones interactuen unas con otras. El problema es que algunas de ellas no se ejecutan en la misma plataforma o est&amp;aacute;n desarrolladas con marcos de trabajo diferentes. La soluci&amp;oacute;n fue presentada como SOA - Service Oriented Architecture, que brinda entre otras cosas una forma estandard de publicar y utilizar servicios, conocidos comunmente como servicios web (web services).&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura8.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 8&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="justify"&gt;La Figura 8 muestra como los usuarios finales, mediante la utilizaci&amp;oacute;n de hardware o software liviano, pueden acceder a lo que se denomina el nivel de clientes o aplicaciones que b&amp;aacute;sicamente se constituyen de la capa de presentaci&amp;oacute;n y consumen los servicios publicados por la misma organizaci&amp;oacute;n. Este tipo de aplicaciones son en general sitios o portales en la web.&lt;/p&gt;
&lt;p align="justify"&gt;Pueden implementarse soluciones del tipo cliente - servidor en donde el usuario final accede de manera directa a una aplicaci&amp;oacute;n de escritorio que consume los servicios publicados al igual que las aplicaciones para hardware y/o software liviano.&lt;/p&gt;
&lt;p align="justify"&gt;Aplicaciones de otras organizaciones tambi&amp;eacute;n pueden utilizar los servicios publicados por una organizaci&amp;oacute;n en particular, obviamente esto necesita de acuerdos comerciales y credenciales para autenticar y autorizar a quienes consumen los servicios.&lt;/p&gt;
&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;La pregunta ahora es: &amp;iquest;Los servicios publicados forman parte de la capa de l&amp;oacute;gica de negocio?&lt;/strong&gt;&lt;/p&gt;
&lt;p align="justify"&gt;En algunos caso, como por ejemplo recuperar la informaci&amp;oacute;n de un inmueble podemos decir que el servicio en si mismo no presenta l&amp;oacute;gica alguna.&lt;/p&gt;
&lt;p align="justify"&gt;En otros casos, como por ejemplo pagar la factura de un servicio p&amp;uacute;blico desde la cuenta bancaria del usuario final si presenta un nivel de l&amp;oacute;gica que no tiene que ver con la l&amp;oacute;gica del negocio (sea de la instituci&amp;oacute;n p&amp;uacute;blica o del banco). Se trata de la l&amp;oacute;gica de la transacci&amp;oacute;n que involucra dos organizaciones diferentes (aplicaciones diferentes), consecuentemente debe existir un mecanismo que permita confirmar la realizaci&amp;oacute;n de todos los "pasos" que cada una de las organizaciones requiere; esto normalmente se conoce como WorkFlow.&lt;/p&gt;
&lt;p align="justify"&gt;De esta manera surje otra capa m&amp;aacute;s, la capa de Servicios Publicados que pueden o no incluir componentes de WorkFlow pero inevitablemente deben estar por arriba de la capa de l&amp;oacute;gica de negocios. La Figura 9 muestra el diagrama completo incluso con el componente escencial de la aplicaci&amp;oacute;n: el Esquema de Seguridad, as&amp;iacute; como la l&amp;iacute;nea de vida de las entidades en relaci&amp;oacute;n a las distintas capas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 90%;" border="0" cellspacing="10" align="center"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fArquitectura9.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;Figura 9&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Espero que mis consideraciones les sirvan y por supuesto estoy dispuesto a debatir otras opiniones.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Arquitectura-de-N-Capas-y-N-Niveles.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Arquitectura-de-N-Capas-y-N-Niveles.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=16fdd8b6-87c6-4c78-aaee-8f76592ba0cd</guid>
      <pubDate>Thu, 11 Dec 2008 11:45:00 -0200</pubDate>
      <category>Programacion</category>
      <category>WebSite</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=16fdd8b6-87c6-4c78-aaee-8f76592ba0cd</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=16fdd8b6-87c6-4c78-aaee-8f76592ba0cd</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Arquitectura-de-N-Capas-y-N-Niveles.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=16fdd8b6-87c6-4c78-aaee-8f76592ba0cd</wfw:commentRss>
    </item>
    <item>
      <title>Windows Communication Foundation - 2</title>
      <description>&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;WCF - Windows Communication Foundation (ejemplo con DataContract)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Continuando con los ejemplos inciados en &lt;a title="WCF - Windows Communication Foundation - Parte 1" href="../../post/Windows-Communication-Foundation-1.aspx" target="_blank"&gt;WCF - Parte 1&lt;/a&gt;, ahora vamos a ver c&amp;oacute;mo se hace para manejar datos no est&amp;aacute;ndares (clases)&lt;/p&gt;
&lt;p&gt;Para ver como se hace una soluci&amp;oacute;n y proyectos de este tipo vean (&lt;a title="WCF - Windows Communication Foundation - Parte 1" href="../../post/Windows-Communication-Foundation-1.aspx" target="_blank"&gt;WCF - Parte 1&lt;/a&gt;), a continuaci&amp;oacute;n est&amp;aacute; el c&amp;oacute;digo de que deben poner en el mismo ejemplo de la parte 1. Se trata de operaciones matem&amp;aacute;ticas con numeros complejos.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Componente: Service1.svc.cs&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.ServiceModel.Activation;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; WcfService1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;// Clase de servicio, implementa el contrato&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// Clase de servicio, es la que implementa el contrato de servicio que se &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// indica en la interfaz IService1&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Service1 : IService1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber Add(ComplexNumber n1, ComplexNumber n2)
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(n1.Real + n2.Real, n1.Imaginary + n2.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber Subtract(ComplexNumber n1, ComplexNumber n2)
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(n1.Real - n2.Real, n1.Imaginary - n2.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber Multiply(ComplexNumber n1, ComplexNumber n2)
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; real1 = n1.Real * n2.Real;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; imaginary1 = n1.Real * n2.Imaginary;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; imaginary2 = n2.Real * n1.Imaginary;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; real2 = n1.Imaginary * n2.Imaginary * -1;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(real1 + real2, imaginary1 + imaginary2);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber Divide(ComplexNumber n1, ComplexNumber n2)
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            ComplexNumber conjugate = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(n2.Real, -1 * n2.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            ComplexNumber numerator = Multiply(n1, conjugate);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            ComplexNumber denominator = Multiply(n2, conjugate);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(numerator.Real / denominator.Real, numerator.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber NewComplexNumber(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; real, &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; imaginary)
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(real, imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Componente: IService1.cs&lt;/strong&gt; &amp;nbsp;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Runtime.Serialization;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.ServiceModel;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; WcfService1
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// Interface para el contrato de servicio.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// Define las operaciones que se pueden realizar con este servicio&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    [ServiceContract]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IService1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// Suma numeros complejos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n1"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n2"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;Resultado de sumar n1 y n2&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        ComplexNumber Add(ComplexNumber n1, ComplexNumber n2);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Resta numeros complejos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n1"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n2"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;Resultado de restar n2 a n1&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        ComplexNumber Subtract(ComplexNumber n1, ComplexNumber n2);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// Multiplica numeros complejos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n1"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n2"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;Resultado de multiplicar n1 por n2&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        ComplexNumber Multiply(ComplexNumber n1, ComplexNumber n2);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Divide numeros complejos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n1"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n2"&amp;gt;Nro Complejo&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;Resultado de dividir n1 en n2&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        ComplexNumber Divide(ComplexNumber n1, ComplexNumber n2);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// Crear un numero complejo&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;remarks&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// El problema de esta operacion es que instancia el objeto del lado del servidior&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// y lo transfiere, es LENTO !!!!!!!!!!!!!!1&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// pero no hay otra alternativa para objetos que requieren l&amp;oacute;gica de construccion&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// En este caso es solo un ejemplo, y de hecho esa caracteristica debe evitarse en&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// las aplicaciones que consumen servicios web, simplemente tienen que les env&amp;iacute;a el&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// el servidor y en caso de mandar algo debe ser plano.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/remarks&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="real"&amp;gt;Parte real&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="imaginary"&amp;gt;Parte imaginaria&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;Numero complejo&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        ComplexNumber NewComplexNumber(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; real, &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// Clase para definir que es un numero complejo&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// Define los datos que se transfieren&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    [DataContract]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ComplexNumber
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [DataMember]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Real;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [DataMember]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Imaginary;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Constructor especializado&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;remarks&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;///    Este constructor solo se visulaiza del lado del servidor, en el lado del cliente&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;///    se pude usar el constructor por defecto y acceder a cada propiedad&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/remarks&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="real"&amp;gt;parte real&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="imaginary"&amp;gt;parte imaginaria (la que se multiplica por i)&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ComplexNumber(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; real, &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; imaginary)
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Real = real;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.Imaginary = imaginary;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Ac&amp;aacute; tenemos dos puntos interesantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DataContrac. Indica que se trata de un contrato de datos, es la especificaci&amp;oacute;n de datos que utilizamos en el servicio. &lt;/li&gt;
&lt;li&gt;DataMember. Indica que se trata de un dato (campo) que se muestra en el contrato de datos y el cliente lo puede manipular dado que la visibilidad que le damos es public (eso significa que podemos tener campos private ???). &lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp;
&lt;p&gt;En el otro proyecto recuerden referenciar o actualizar al nuevo servicio (obviamente despues de compilarlo) hay que cambiar el componente Program.cs y copiamos el siguiente c&amp;oacute;digo:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Componente: Program.cs&lt;/strong&gt; &amp;nbsp;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #008000"&gt;// IMPORTANTE, esto hace falta para manejar las clases definidas en el servicio !!!&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; ConsoleApplication1.ServiceReference1;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; ConsoleApplication1
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// Esta clase es la que define por donde comienza la aplicaci&amp;oacute;n&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// Este el metodo inicial de la aplicaci&amp;oacute;n&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main()
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #008000"&gt;// Crear el cliente&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            ServiceReference1.Service1Client client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ServiceReference1.Service1Client();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #008000"&gt;// Call the Add service operation.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            ComplexNumber value1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value1.Real = 1; value1.Imaginary = 2;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            ComplexNumber value2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value2.Real = 3; value2.Imaginary = 4;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            ComplexNumber result = client.Add(value1, value2);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Add({0} + {1}i, {2} + {3}i) = {4} + {5}i"&lt;/span&gt;,
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;                    value1.Real, value1.Imaginary, value2.Real, value2.Imaginary, result.Real, result.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #008000"&gt;// Call the Subtract service operation.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            value1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value1.Real = 1; value1.Imaginary = 2;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            value2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value2.Real = 3; value2.Imaginary = 4;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            result = client.Subtract(value1, value2);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Subtract({0} + {1}i, {2} + {3}i) = {4} + {5}i"&lt;/span&gt;,
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;                    value1.Real, value1.Imaginary, value2.Real, value2.Imaginary, result.Real, result.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #008000"&gt;// Call the Multiply service operation.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            value1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value1.Real = 2; value1.Imaginary = 3;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            value2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value2.Real = 4; value2.Imaginary = 7;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            result = client.Multiply(value1, value2);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Multiply({0} + {1}i, {2} + {3}i) = {4} + {5}i"&lt;/span&gt;,
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;                    value1.Real, value1.Imaginary, value2.Real, value2.Imaginary, result.Real, result.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #008000"&gt;// Call the Divide service operation.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            value1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value1.Real = 3; value1.Imaginary = 7;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            value2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ComplexNumber(); value2.Real = 5; value2.Imaginary = -2;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            result = client.Divide(value1, value2);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Divide({0} + {1}i, {2} + {3}i) = {4} + {5}i"&lt;/span&gt;,
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;                    value1.Real, value1.Imaginary, value2.Real, value2.Imaginary, result.Real, result.Imaginary);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #008000"&gt;// Cerrar el cliente y liberar los recursos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            client.Close();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Pulse &amp;lt;ENTER&amp;gt; para finalizar."&lt;/span&gt;);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.ReadLine();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;}
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Listo, ahora se puede probar.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../image.axd?picture=2008%2f12%2fWcfDemo2Img1.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Espero que lo puedan&amp;nbsp; hacer, sino se bajan el c&amp;oacute;digo completo &lt;a href="../../file.axd?file=2008%2f12%2fWcfDemo2.zip"&gt;WcfDemo2.zip (42,08 kb)&lt;/a&gt; y lo prueban.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-2.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-2.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=5029196f-32ae-46f2-b475-eb0a6f11ca1b</guid>
      <pubDate>Mon, 08 Dec 2008 20:24:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>WCF</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=5029196f-32ae-46f2-b475-eb0a6f11ca1b</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=5029196f-32ae-46f2-b475-eb0a6f11ca1b</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-2.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=5029196f-32ae-46f2-b475-eb0a6f11ca1b</wfw:commentRss>
    </item>
    <item>
      <title>Windows Communication Foundation - 1</title>
      <description>&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;WCF - Windows Communication Foundation&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hoy en d&amp;iacute;a afrontamos el desarrollo de aplicaciones que deben interactuar con otras aplicaciones; es imposible que todas las organizaciones utilicen la misma aplicaci&amp;oacute;n (no tendr&amp;iacute;amos trabajo &lt;img title="Undecided" src="../../editors/tiny_mce/plugins/emotions/images/smiley-undecided.gif" border="0" alt="Undecided" /&gt; !!!). De manera que los Servicios Web (Web Services) son la mejor alternativa para que las aplicaciones de distintas organizaciones interactuen entre s&amp;iacute;. No importan ni la plataforma ni el lenguaje de programaci&amp;oacute;n utilizado.&lt;/p&gt;
&lt;p&gt;WCF - Windows Communication Foundation es la plataforma para servicios web que ofrece Microsoft.&lt;/p&gt;
&lt;p&gt;Se puede obtener m&amp;aacute;s informaci&amp;oacute;n en &lt;a title="MSDN - Windows Communication Foundation (ingl&amp;eacute;s)" href="http://msdn.microsoft.com/en-us/library/dd206678.aspx" target="_blank"&gt;MSDN WCF (ingl&amp;eacute;s)&lt;/a&gt; y en &lt;a title="MSDN Windows Communication Foundation (castellano)" href="http://msdn.microsoft.com/es-ar/library/ms735119.aspx" target="_blank"&gt;MSDN WCF (castellano)&lt;/a&gt;. Incluso hay un set de ejemplos enorme, lamentablemente est&amp;aacute; para Visual Studio 2005 y fu&amp;eacute; realizado para el .NET Framework 3.0 y es muy complicado hacerlo funcionar. Con Visual Studio 2008 las cosas mejorar&amp;oacute;n sustancialmente, hay plantillas para configurar una Aplicaci&amp;oacute;n de Servicis WCF (con VS2005 hay que hacerlo como una librer&amp;iacute;a de clases y otros problemitas). CUIDADO: Hasta la consolidaci&amp;oacute;n del WCF con Visual Studio 2008, los servicios de web se publicaban mediante componentes .ashx; la ventaja que nos ofrece WCF es su relaci&amp;oacute;n con Windows WorkFlow Foundation y Windows CardSpace lo que convierte a esta plataforma en algo muy interesante que adem&amp;aacute;s cumple con todos los est&amp;aacute;ndares.&lt;/p&gt;
&lt;p&gt;A continuaci&amp;oacute;n voy a desarrollar con Visual Studio 2008 un ejemplo que copi&amp;eacute; de MSDN.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Comenzamos creando una soluci&amp;oacute;n en Visual Studio 2008&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img1.jpg" alt="" width="560" height="400" /&gt;&lt;/p&gt;
&lt;p&gt;Les recomiendo crear una soluci&amp;oacute;n en blanco, y luego incorporar los proyectos del tipo que se necesite. Observn que se utilizar&amp;aacute; el .NET Framework 3.5&lt;/p&gt;
&lt;p&gt;Ahora agregamos un proyect, para eso hay que selecci&amp;oacute;n los del tipo Visual C# - Web - WCF Service Application. Le dan un nombre (utilicen el que propone as&amp;iacute; pueden copiar el el c&amp;oacute;digo de ejemplo)&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img2.jpg" alt="" width="560" height="400" /&gt;&lt;/p&gt;
&lt;p&gt;Deber&amp;iacute;a quedar lo siguiente:&lt;/p&gt;
&lt;p&gt;IService1.cs&amp;nbsp;&amp;nbsp; -&amp;gt; es la interf&amp;aacute;z que define el servicio&lt;/p&gt;
&lt;p&gt;Service1.svc&amp;nbsp; -&amp;gt; es la implementaci&amp;oacute;n del servicio, utiliza la t&amp;eacute;cnica de CodeBehind esto significa que en el archivo Service1.svc.cs est&amp;aacute; el c&amp;oacute;digo asociado al archivo .svc. Estos tipos de archivos tienen un comportamiento especial en los servidores web.&lt;/p&gt;
&lt;p&gt;Web.Config&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; archivo de configuraci&amp;oacute;n de la aplicaci&amp;oacute;n&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img3.jpg" alt="" width="555" height="286" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bien vamos a borrar lo que est&amp;aacute; en Service1.svc.cs y ponemos lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Componente: Service1.svc.cs&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.ServiceModel.Activation;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; WcfService1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;// NOTE: If you change the class name "Service1" here, you must also update the &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;// reference to "Service1" in Web.config and in the associated .svc file.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;// Clase de servicio, implementa el contrato&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// Clase de servicio, es la que implementa el contrato de servicio que se &lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// indica en la interfaz IService1&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Service1 : IService1
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; result;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Clear()
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            result = 0.0D;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; AddTo(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n)
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result += n;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; SubtractFrom(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n)
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result -= n;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; MultiplyBy(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n)
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result *= n;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; DivideBy(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n)
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result /= n;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Result()
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Lo novedoso en este punto es que estamos indicando que la compatibilidad con AspNet est&amp;aacute; permitida (Allowed), pero no es obligatoria&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n borramos lo que est&amp;aacute; en IService1.cs y ponemos lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Componente: IService1.cs&lt;/strong&gt; &amp;nbsp;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.ServiceModel;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; WcfService1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// Interface para el contrato de servicio.&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// Define las operaciones que se pueden realizar con este servicio&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    [ServiceContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IService1
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Borra la memoria de almacenamiento&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Clear();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Suma el valor dado a la memoria de almacenamiento&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n"&amp;gt;valor a sumar&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; AddTo(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Resta el valor dado a la memoria de almacenamiento&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n"&amp;gt;valor a restar&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; SubtractFrom(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Multiplica la memoria de almacenamiento por el valor dado&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n"&amp;gt;valor a multiplicar&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; MultiplyBy(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Divide la memoria de almacenamiento en el valor dado&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;param name="n"&amp;gt;valor en el que se divide (denominador)&amp;lt;/param&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; DivideBy(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; n);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Obtiene el valor de la memoria de almacenamiento&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        [OperationContract]
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Result();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Ac&amp;aacute; tenemos dos puntos interesantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ServiceContrac. Indica que se trata de un contrato de servici. &lt;/li&gt;
&lt;li&gt;OperationContract. Indica que se trata de ua operaci&amp;oacute;n (m&amp;eacute;todo) que se muestra en el contrato de servicio. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lo interesante de esto es que podemos tener m&amp;eacute;todos que no formen parte del contrato de servicio, basta con no ponerle el [OperationContract] y listo.&lt;/p&gt;
&lt;p&gt;Todo esto sirve para indicar lo que estamos publicando de manera que el resto del mundo pueda "verlo" y utilizarlo. La forma en que se publica es el est&amp;aacute;ndard para servicios web solo que se utiliza un compoente espec&amp;iacute;fico para la de serializaci&amp;oacute;n que opera en el entorno de Windows Communication Foundation.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bueno en este punto y&amp;aacute; deber&amp;iacute;an poder compilar y ejecutar el servicio (dentro del visual studio). Van a Build - Build WcfService1 o simplemente pulsan F5. Si todo funciona como se espera, el explorador que tengan habilitado deber&amp;iacute;a mostrar el detalle de archivos que tienen en la carpeta del proyect; esto es as&amp;iacute; porque no hay un Default.aspx u otro de los documentos que se buscan por defecto.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img4.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; Seleccionan Service1.svc y le dan al enter o doble click, deber&amp;iacute;a aparecer lo siguiente:&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img5.jpg" alt="" width="716" height="378" /&gt;&lt;/p&gt;
&lt;p&gt;Los felicito &lt;img title="Surprised" src="../../editors/tiny_mce/plugins/emotions/images/smiley-surprised.gif" border="0" alt="Surprised" /&gt; si llegaron hasta aqu&amp;iacute; sin problemas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bien ahora vamos a incorporar un proyecto con el cliente, la aplicaci&amp;oacute;n que consume los servicios provistos. Esto se puede hacer en otro proyecto (para eso deber&amp;aacute;n publicar los servicios mediante IIS u otras modalidades que est&amp;aacute;n disponibles, lo que explicar&amp;eacute; en otras publicaciones &lt;img title="Wink" src="../../editors/tiny_mce/plugins/emotions/images/smiley-wink.gif" border="0" alt="Wink" /&gt;). Para no complicarnos la vida vamos a utilizar una aplicaci&amp;oacute;n de consola (los jovenes desarrolladores no saben lo que es esto, si no hay ventanas y mouse no saben que hacer ...). Aclaro que una a aplicaci&amp;oacute;n de consola en Windows XP, Vista, Server 2003 o Server 2008 es mucho m&amp;aacute;s que lo se conoce como una aplicaci&amp;oacute;n del viejo DOS; los comandos y posiblidades que ofrecen estos sistemas operativos estan a la altura de Unix - Linux, lo que ocurre es que nadie los usa.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img6.jpg" alt="" width="560" height="400" /&gt;&lt;/p&gt;
&lt;p&gt;En el nuevo proyecto aparece un componente Program.cs por ah&amp;iacute; comienza la ejecuci&amp;oacute;n de la aplicaci&amp;oacute;n (esto se puede cambiar pero no es parte de esta publicaci&amp;oacute;n de manera que lo dejamos as&amp;iacute;). Borramos el c&amp;oacute;digo que est&amp;aacute; por defecto y copiamos el siguiente:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Componente: Program.cs&lt;/strong&gt; &amp;nbsp;&lt;/p&gt;
&lt;div class="code-wrapper"&gt;
&lt;div style="font-size: 12px; color: black; font-family: Consolas; background-color: #f1f1f1; line-height: normal"&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; ConsoleApplication1
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;{
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #008000"&gt;/// Esta clase es la que define por donde comienza la aplicaci&amp;oacute;n&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;    &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    {
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #008000"&gt;/// Este el metodo inicial de la aplicaci&amp;oacute;n&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;        &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main()
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        {
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #008000"&gt;// Crear el cliente&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            ServiceReference1.Service1Client client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ServiceReference1.Service1Client();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            client.Clear();
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            client.AddTo(100.0D);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Parcial = {0}"&lt;/span&gt;, client.Result());
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Parcial = {0}"&lt;/span&gt;, client.SubtractFrom(50.0D));
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Parcial = {0}"&lt;/span&gt;, client.MultiplyBy(17.65D));
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Parcial = {0}"&lt;/span&gt;, client.DivideBy(2.0D));
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; result = client.Result();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Desde el Servicio: 0, + 100, - 50, * 17.65, / 2 = {0}"&lt;/span&gt;, result);
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"C&amp;aacute;lculado a mano.: 0, + 100, - 50, * 17.65, / 2 = {0}"&lt;/span&gt;, ((100 - 50) * 17.65D) / 2.0D);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            &lt;span style="color: #008000"&gt;// Cerrar el cliente y liberar los recursos&lt;/span&gt;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            client.Close();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.WriteLine();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;            Console.WriteLine(&lt;span style="color: #a31515"&gt;"Pulse &amp;lt;ENTER&amp;gt; para finalizar."&lt;/span&gt;);
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;            Console.ReadLine();
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;        }
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;    }
&lt;/pre&gt;
&lt;pre style="margin: 0px"&gt;}
&lt;/pre&gt;
&lt;pre style="margin: 0pt; background-color: #f4f4f4; width: 100%;"&gt;&amp;nbsp;
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Si tratan de compilar, les va a dar dos errores. Esto es porque todav&amp;iacute;a no se hizo la referencia al servicio.&lt;/p&gt;
&lt;p&gt;Esto se hace en Refernces - Add Service Reference ...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img7.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Hay que seleccionar Discover; esto busca los servicios en la misma soluci&amp;oacute;n (en caso de referenciar a otros servicios, se debe introducir el URL correspondiente, En ese momento arracan el servidor web de desarrollo y muestra el servicio que hicieron. Lo eligen y le dan a OK.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img8.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Listo, ahora se puede compilar la aplicaci&amp;oacute;n de consola, van a Build - Build Solution le dan a F5 que compila y luego ejecuta.&lt;/p&gt;
&lt;p&gt;&lt;img src="../../BlogEngine/image.axd?picture=WcfDemo1Img9.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Espero que lo puedan&amp;nbsp; hacer, sino se bajan el c&amp;oacute;digo completo &lt;a href="../../file.axd?file=2008%2f12%2fWcfDemo1.zip"&gt;WcfDemo1.zip (37,29 kb)&lt;/a&gt; y lo prueban.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-1.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-1.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=f8a712f2-6887-455b-9e90-a9a8ae6f2263</guid>
      <pubDate>Mon, 08 Dec 2008 14:35:00 -0200</pubDate>
      <category>ASP.NET</category>
      <category>WCF</category>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=f8a712f2-6887-455b-9e90-a9a8ae6f2263</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=f8a712f2-6887-455b-9e90-a9a8ae6f2263</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/Windows-Communication-Foundation-1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=f8a712f2-6887-455b-9e90-a9a8ae6f2263</wfw:commentRss>
    </item>
    <item>
      <title>No solo de Post vive el hombre</title>
      <description>&lt;p&gt;
No puedo creer que pas&amp;oacute; tanto tiempo desde mi &amp;uacute;ltimo post.
&lt;/p&gt;
&lt;p&gt;
Estuve ocupad&amp;iacute;simo; entren&amp;aacute;ndome, aprendiendo y desarrollando prototipos. En breve voy a compartir mis apreciaciones sobre Windows Communication Foundation, Windows Work Flow y otras cosillas que vi &amp;uacute;ltimamente. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
</description>
      <link>http://www.jtentor.com.ar/post/No-solo-de-Post-vive-el-hombre.aspx</link>
      <author>jtentor</author>
      <comments>http://www.jtentor.com.ar/post/No-solo-de-Post-vive-el-hombre.aspx#comment</comments>
      <guid>http://www.jtentor.com.ar/post.aspx?id=b4a7bad3-99f6-48e8-bd64-7a32fe1b3d3d</guid>
      <pubDate>Wed, 03 Dec 2008 20:07:00 -0200</pubDate>
      <dc:publisher>jtentor</dc:publisher>
      <pingback:server>http://www.jtentor.com.ar/pingback.axd</pingback:server>
      <pingback:target>http://www.jtentor.com.ar/post.aspx?id=b4a7bad3-99f6-48e8-bd64-7a32fe1b3d3d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.jtentor.com.ar/trackback.axd?id=b4a7bad3-99f6-48e8-bd64-7a32fe1b3d3d</trackback:ping>
      <wfw:comment>http://www.jtentor.com.ar/post/No-solo-de-Post-vive-el-hombre.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.jtentor.com.ar/syndication.axd?post=b4a7bad3-99f6-48e8-bd64-7a32fe1b3d3d</wfw:commentRss>
    </item>
  </channel>
</rss>