<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1341253537722960317</id><updated>2011-12-05T01:31:42.337-03:00</updated><category term='ordenamiento'/><category term='POO'/><category term='inicio'/><category term='C'/><category term='TDA'/><category term='OOP'/><category term='video'/><category term='UML'/><category term='Recursion'/><category term='Recursividad'/><category term='metodologia'/><category term='diseño'/><category term='Java'/><title type='text'>Bitácora Ing. Computación e Informática</title><subtitle type='html'>Bitácora de alumnos universitarios de Ingeniería en computación e informática, donde se van depositando conocimientos aprendido en clases o por cada uno de los publicadores por su cuenta. Aquí se deja información teórica, códigos fuentes, manuales, ppt, etc.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-9111630545768115844</id><published>2007-11-10T18:31:00.000-03:00</published><updated>2007-11-10T18:43:13.160-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>"Hola Mundo" (Java)</title><content type='html'>Aquí va el típico : "Hola Mundo" en Java&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Antes que nadan tienen que tener instalado el compilador de Java. Aquí dejo la guía para que vean como se hace&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dcc.uchile.cl/%7Evramiro/CC10A/"&gt;http://www.dcc.uchile.cl/~vramiro/CC10A/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;//Declaramos nuestra Clase&lt;br /&gt;Class HolaMundo{&lt;br /&gt;&lt;br /&gt;  //Main&lt;br /&gt;  public static void main(String []args){&lt;br /&gt;&lt;br /&gt;      //Mensaje que saldra por Salida Estandar&lt;br /&gt;      System.out.println("Hola Mundo");&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-9111630545768115844?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/9111630545768115844/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=9111630545768115844' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/9111630545768115844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/9111630545768115844'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/11/hola-mundo-java.html' title='&quot;Hola Mundo&quot; (Java)'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-7042620086802836766</id><published>2007-11-10T18:17:00.000-03:00</published><updated>2007-11-10T18:24:24.701-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UML'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologia'/><title type='text'>UML</title><content type='html'>Lenguaje Unificado de Modelado:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_Es un lenguaje gráfico que permite el modelado de sistemas de software mediante el uso de diagramas:&lt;br /&gt;&lt;br /&gt;&lt;dl&gt;&lt;dd&gt; &lt;ul&gt;&lt;li&gt;Diagrama de clases&lt;/li&gt;&lt;li&gt;Diagrama de componentes&lt;/li&gt;&lt;li&gt;Diagrama de objetos&lt;/li&gt;&lt;li&gt;&lt;span class="new"&gt;Diagrama de estructura compuesta&lt;/span&gt; (UML 2.0)&lt;/li&gt;&lt;li&gt;Diagrama de despliegue&lt;/li&gt;&lt;li&gt;Diagrama de paquetes&lt;/li&gt;&lt;li&gt;Diagrama de casos de uso&lt;/li&gt;&lt;li&gt;Diagrama de secuencia&lt;/li&gt;&lt;li&gt;Otros...&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;dt&gt;&lt;blockquote&gt;Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos.&lt;/blockquote&gt;&lt;br /&gt;&lt;/dt&gt;&lt;/dl&gt;fuente: &lt;a href="http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado"&gt;http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-7042620086802836766?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/7042620086802836766/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=7042620086802836766' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7042620086802836766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7042620086802836766'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/11/uml.html' title='UML'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-177939099582967518</id><published>2007-11-03T00:25:00.000-03:00</published><updated>2007-11-10T18:30:47.084-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='POO'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Programacion Orientada a Objetos</title><content type='html'>Defnición:&lt;br /&gt;&lt;br /&gt;Método de implementación en el que los programas están organizados como colecciones de objetos, donde cada uno es instancia de alguna clase, y donde todas las clases son miembros de una jerarquía de clases conectadas por relaciones de herencia.&lt;br /&gt;&lt;br /&gt;Características:&lt;br /&gt;&lt;br /&gt;-         Todo es un objeto que almacena datos y al que se le puede hacer peticiones.&lt;br /&gt;-         Un programa es un conjunto de objetos que intercambian mensajes.&lt;br /&gt;-         Cada objeto tiene su propia memoria que está compuesta por otros objetos.&lt;br /&gt;-         Cada objeto tiene un tipo de mensajes que puede recibir y procesar.&lt;br /&gt;-         Todos los objetos de un cierto tipo pueden procesar los mismos mensajes.&lt;br /&gt;&lt;br /&gt;Clases:&lt;br /&gt;&lt;br /&gt;Estructura de datos abstracta junto con las operaciones que se pueden realizar con ella. Un objeto es una instancia de una clase.&lt;br /&gt;&lt;br /&gt;Dentro de lo que es el estado del objeto cabe distinguir entre las variables de instancia (datos distintos en cada instancia) y las variables de clase (datos comunes a todas las instancias), además tenemos métodos de instancia (que trabajan con el estado de una instancia de clase) y métodos de clase (que funcionan igual en todas las instancias).&lt;br /&gt;&lt;br /&gt;Como una clase describe un conjunto de objetos con características y comportamientos idénticos, se puede pensar en una clase como si fuera un tipo.&lt;br /&gt;&lt;br /&gt;Ocultamiento de información: principio según el cual fuera del objeto sólo se muestran los detalles mínimos necesarios para poder iniciarlo o acceder a él.&lt;br /&gt;&lt;br /&gt;Ventajas&lt;br /&gt;&lt;br /&gt;-         Modularidad: Se puede escribir y mantener el código para un objeto aparte del código para los demás.&lt;br /&gt;-         Encubrimiento de detalles de implementación: Puede mantener información privada y proteger métodos cuyos detalles de implementación pueden cambiar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Las relaciones entre objetos: Se distinguen cuatro tipos à instanciación, asociación, agregación y herencia.&lt;br /&gt;&lt;br /&gt;Las relaciones de instancia son del tipo “es un/a”. Un objeto está asociado con otro si lo usa a través de mensajes que le envía (asociación).&lt;br /&gt;&lt;br /&gt;-Agregación:&lt;br /&gt;&lt;br /&gt;La manera en que se puede construir una clase u objeto en términos de otras clases u objetos ya existentes. Estas relaciones son del tipo “tiene un/a”.&lt;br /&gt;&lt;br /&gt;Se puede distinguir entre dos tipos de objetos formados por agregación:&lt;br /&gt;&lt;br /&gt;1-     Objeto monolítico: No parece desde afuera que se ha construido a partir de otros objetos.&lt;br /&gt;2-     Objeto compuesto: Parece estar construido de otros objetos, en el sentido de que se puede acceder a su estructura desde afuera. Se distinguen dos variantes, el compuesto heterogéneo (compuesto por objetos distintos) y el compuesto homogéneo (compuesto por objetos iguales).&lt;br /&gt;&lt;br /&gt;-Herencia:&lt;br /&gt;&lt;br /&gt;La manera en que se puede definir una clase u objeto como extensión de otra clase u objeto.&lt;br /&gt;&lt;br /&gt;Todas las subclases heredan el estado (en términos de las declaraciones de variables) y los métodos de la superclase. Aún así las subclases no se limitan al estado y comportamiento dado por la superclase, sino que pueden añadir nuevas variables y métodos a los que hereden.&lt;br /&gt;&lt;br /&gt;Características del lenguaje Java:&lt;br /&gt;&lt;br /&gt;-Simple y orientado a objetos: Simple de aprender, alta reutilización y bibliotecas.&lt;br /&gt;-Robusto y seguro: Tipificación fuerte, recolección de basura.&lt;br /&gt;-Interpretado y portable: Se compila el bytecode, interpretado por JVM.&lt;br /&gt;-Distribuido y alto desempeño: Movilidad de código.&lt;br /&gt;-Multi-hilo: Mejora la interactividad de las aplicaciones.&lt;br /&gt;-Dinámico: Permite enlace y carga dinámica de clases.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;Public class HolaMundo {&lt;br /&gt; public satic void main(String[] args) {&lt;br /&gt;&lt;br /&gt;     System.out.println(“Hola Mundo”);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-177939099582967518?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/177939099582967518/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=177939099582967518' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/177939099582967518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/177939099582967518'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/11/programacion-orientada-objetos.html' title='Programacion Orientada a Objetos'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-3765056092789313945</id><published>2007-09-26T17:28:00.001-04:00</published><updated>2007-09-26T17:57:46.326-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recursion'/><category scheme='http://www.blogger.com/atom/ns#' term='Recursividad'/><title type='text'>Ejercicios de Recursividad</title><content type='html'>&lt;a href="http://es.wikipedia.org/wiki/Multiplicaci%C3%B3n_por_duplicaci%C3%B3n"&gt;&lt;span style="font-weight: bold;"&gt;Multiplicación por Duplicación&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;FunciónDuplica&lt;/span&gt;(int a, int b, suma){&lt;br /&gt;   if(b==1)&lt;br /&gt;            suma+=a;&lt;br /&gt;         return suma;&lt;br /&gt;&lt;br /&gt; else&lt;br /&gt;         if(b%2!=0)&lt;br /&gt;                 suma+=a;&lt;br /&gt;     return &lt;span style="font-weight: bold;"&gt;FunciónDuplica&lt;/span&gt;(int a*2, int b/2, suma);&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;Se pide encontrar el &lt;span style="font-weight: bold;"&gt;Máximo Común Divisor &lt;/span&gt;entre dos números.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Función&lt;span style="font-weight: bold;"&gt;MDC&lt;/span&gt;(int a, int b){&lt;br /&gt;&lt;br /&gt;//Caso Base&lt;br /&gt;&lt;br /&gt; if(a==b)&lt;br /&gt;     return a;&lt;br /&gt;&lt;br /&gt; //Caso Recursivo&lt;br /&gt; else&lt;br /&gt;     return Función&lt;span style="font-weight: bold;"&gt;MDC&lt;/span&gt;(a%b, b%a);&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-3765056092789313945?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/3765056092789313945/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=3765056092789313945' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/3765056092789313945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/3765056092789313945'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/09/ejercicios-de-recursividad.html' title='Ejercicios de Recursividad'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-4467966772507200163</id><published>2007-09-23T14:51:00.000-04:00</published><updated>2007-09-23T16:13:11.860-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TDA'/><title type='text'>TDA o Tipo de Datos Abstracto</title><content type='html'>La abstracción de datos consiste en obviar y ocultar las características de un objeto, para que luego, en nuestro programa, solo se utilice el nombre.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejemplo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Cuando yo digo la palabra “perro”, usted no necesita que yo le diga lo que hace el perro. Usted ya sabe la forma que tiene un perro y también sabe que los perros ladran. De manera que yo abstraigo todas las características de todos los perros en un solo término, al cual llamo “perro”.&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;En programación ésto nos permite un gran ahorro de tiempo y líneas de código, debido a que si necesitamos hacer operaciones, en éste caso, con algún perro, sólo necesitamos hacer referencia a "perro" y no tenemos que estar definiendo a cada momento que es un perro.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Con ésto, además, logramos que la programación sea mas estructurada, ordenada y eficiente.&lt;/p&gt;&lt;blockquote&gt;&lt;br /&gt;Al hecho de guardar todas las características y habilidades de un objeto por separado se le llama Encapsulamiento.&lt;br /&gt;&lt;/blockquote&gt;Algo muy importante en los TDAs, es que estós tienen que tener por obligación operadores. Si éstos no existiecen, por algún motivo, el/los dato/s dejarían de ser tipo abstracto. En definitiva, los datos de tipo abstracto tiene que tener definidos sus propios operadores (+, -, *, etc).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aplicacción de TDA en C:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Para éste ejemplo se define un objeto círculo con sus respectivos operadores para calcular su área.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt; # include &lt;stdio.h&gt; &lt;/stdio.h&gt;&lt;/p&gt;  &lt;p&gt; typedef struct circulo circulo; &lt;/p&gt;  &lt;p&gt; struct circulo { &lt;/p&gt; &lt;pre class="code"&gt;  // Datos&lt;br /&gt;float radio;&lt;br /&gt;&lt;br /&gt;// Operaciones&lt;br /&gt;float (*area)(circulo);&lt;br /&gt;void  (*create)(circulo *,float);&lt;/pre&gt;  &lt;p&gt; }; &lt;/p&gt;  &lt;p&gt;  // Implementación de las operaciones float p1( circulo c) { &lt;/p&gt; &lt;pre class="code"&gt;    return 3.1416 * c.radio *c.radio ;&lt;/pre&gt;  &lt;p&gt; } &lt;/p&gt;  &lt;p&gt; void p2(circulo *c, float r) { &lt;/p&gt; &lt;pre class="code"&gt;    c-&gt;radio = r;&lt;/pre&gt;  &lt;p&gt; } &lt;/p&gt;  &lt;p&gt;  int main() { &lt;/p&gt; &lt;pre class="code"&gt;  circulo t;&lt;/pre&gt; &lt;pre class="code"&gt;  t.create = p2;&lt;br /&gt;t.area   = p1;&lt;/pre&gt; &lt;pre class="code"&gt;  t.create(&amp;amp;t,5);&lt;/pre&gt; &lt;pre class="code"&gt;  printf("%f %f\n",t.radio,t.area(t));&lt;/pre&gt; &lt;pre class="code"&gt;  return 1;&lt;/pre&gt;  &lt;p&gt; } &lt;/p&gt;&lt;/blockquote&gt;Fuente(s): &lt;a href="http://es.wikipedia.org/wiki/TAD"&gt;http://es.wikipedia.org/wiki/TAD&lt;/a&gt;&lt;br /&gt;                       &lt;a href="http://www.e-services.cl/unabwiki/doku.php?id=tad"&gt;http://www.e-services.cl/unabwiki/doku.php?id=tad&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-4467966772507200163?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/4467966772507200163/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=4467966772507200163' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/4467966772507200163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/4467966772507200163'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/09/tda-o-tipo-de-datos-abstracto.html' title='TDA o Tipo de Datos Abstracto'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-2407009913377027932</id><published>2007-09-03T06:27:00.001-04:00</published><updated>2007-09-03T06:37:46.149-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologia'/><title type='text'>The Sorter</title><content type='html'>Si no entendiste las metodologías de ordenamiento, te dejamos este lindo video explicativo. Eso si tienes que saber ingles -.-&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2HjspVV0jK4"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/2HjspVV0jK4" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-2407009913377027932?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/2407009913377027932/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=2407009913377027932' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/2407009913377027932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/2407009913377027932'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/09/sorter.html' title='The Sorter'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-692049911624601887</id><published>2007-08-28T21:22:00.000-04:00</published><updated>2007-08-28T21:32:15.788-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Recursion'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologia'/><category scheme='http://www.blogger.com/atom/ns#' term='Recursividad'/><title type='text'>Recursividad o Recursión.</title><content type='html'>La recursividad es una técnica importante dentro de la programación, en la cual se hace el uso de una función que se llama a si misma una cantidad definida de veces para llegar a un resultado. Dentro de esta función no se usan ciclos, ya que esta técnica se puede decir que simula uno. Por esto mismo cualquier ciclo de tipo for, while, do-while, etc.puede ser transformado a recursivo. Una función recursiva debe tener:&lt;br /&gt;&lt;br /&gt;- Un punto de finalización.&lt;br /&gt;&lt;br /&gt;- Una parte recursiva.&lt;br /&gt;&lt;br /&gt;Los valores que se van retornando en la parte recursiva deben tender al punto de finalización para que no se quede llamando infinitamente. El beneficio de la recursividad es que resulta muy ligera, son de códigos mas simples y es de fácil lectura. Aquí les dejo unos ejemplos básicos y clásicos que se usan para ver la funcionalidad de este método. Lo ideal es que hagan la traza de estos programas y vean como se hace la auto llamada de la función y como se mueven las variables, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ejemplos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) Determinar el factorial de un numero N: &lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;int factorial(int N) {&lt;br /&gt;&lt;br /&gt;    if (N==0)&lt;br /&gt;        return 1; // Si N=0 se devuelve 1 con lo que se termina la auto llamada.&lt;br /&gt;    else //Si es distinto de 0....&lt;br /&gt;        return N*Factorial(n-1); // Se retorna la multiplicación del&lt;br /&gt;                                                    // numero por la auto llamada a la funcion&lt;br /&gt;&lt;br /&gt;} //Fin de la función. &lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;__________________________________________&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) Mostrar el elemento numero N de la serie de Fibonacci (0112358...)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;int Fib(int N) {&lt;br /&gt;&lt;br /&gt;    if ( (N==0) || (N==1) ) //Si el elemento N es uno de los 2 primeros numeros de la serie...&lt;br /&gt;        return 1; //Devolvemos 1 y con eso se termina la auto llamada.&lt;br /&gt;    else // Si el elemento N es distinto a los 2 primero numeros de la serie...&lt;br /&gt;        return Fib(n-1)+Fib(n-2); // Se hace la suma de los 2 numeros&lt;br /&gt;                                                       // anteriores mediante la autollamada de la función.&lt;br /&gt;&lt;br /&gt;} //Fin de la función&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;__________________________________________&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) Mostrar el resultado de una potencia&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;int Potencia(int base, int exponente) {&lt;br /&gt;&lt;br /&gt;    if (exponente==0) //Si el exponente es = 0...&lt;br /&gt;        return 1; // Se retorna 1&lt;br /&gt;    else // si es distinto a 0...&lt;br /&gt;        return ( base * Potencia(base,exponente-1) ); // se multiplica la base&lt;br /&gt;                                                  //por la auto llamada a la función dirigida al exponente-1.&lt;br /&gt;&lt;br /&gt;} //Fin de la función&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;__________________________________________ &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4) Sumar los elementos de un arreglo global A de 10 elementos considerando desde el ultimo numero hasta el primero.&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;int Sumar( int i ) { // i = largo del arreglo .&lt;br /&gt;&lt;br /&gt;    if (i&lt;0) // Si el contador i es menor que 0.&lt;br /&gt;        return 0; //Devolvemos 0 y con esto se termina la auto llamada.&lt;br /&gt;    else // Si no es 0.&lt;br /&gt;        return A[i] + Sumar( i-1 ) ; //se retorna el valor que esta dentro de A[i]&lt;br /&gt;                                                        //y se le suma la auto llamada a la función.&lt;br /&gt;} //Fin de la función &lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;__________________________________________ &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5) Determinar el máximo común divisor entre el numero M y N (M: numero mayor, N: numero menor).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;int MCD(int M, int N) {&lt;br /&gt;&lt;br /&gt;    int V; //Se declara la variable que mantendra el valor a retornar.&lt;br /&gt;        if ( (M%N)==0 ) //Si el resto de la división de M/N es = 0&lt;br /&gt;            V=N; //Se guarda en la variable V (para retornar) el valor de N que seria el Min.Co.Div.&lt;br /&gt;        else //Si no&lt;br /&gt;            V=MCD(N,M%N); //Se auto llama la funcion reduciendo los numeros.&lt;br /&gt;    return V;&lt;br /&gt;&lt;br /&gt;} //Fin de la función &lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;__________________________________________ &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-692049911624601887?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/692049911624601887/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=692049911624601887' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/692049911624601887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/692049911624601887'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/recursividad-o-recursin.html' title='Recursividad o Recursión.'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-5842583330954665569</id><published>2007-08-21T21:00:00.000-04:00</published><updated>2007-09-26T23:48:54.183-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologia'/><category scheme='http://www.blogger.com/atom/ns#' term='ordenamiento'/><title type='text'>Métodos de ordenamiento básicos</title><content type='html'>&lt;p&gt;En este  articulo vamos a mostrar los algoritmos, ventajas y  desventajas de los 3 métodos de ordenamiento mas comunes y básicos. Estos son: burbuja, selección, inserción.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Los métodos de  ordenamiento son necesarios para que luego de ordenar, se puedan buscar  datos de una manera mucho mas rápida y eficiente aplicando distintas  técnicas.&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;Ordenamientos Internos y Externos&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-weight: bold;"&gt;Internos:&lt;/span&gt; los valores a ordenar están en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquier elemento sea el mismo (a[1], a[500], etc). &lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-weight: bold;"&gt;Externos:&lt;/span&gt; Los valores a ordenar están en memoria secundaria (disco, cinta,  cilindro magnético, etc), por lo que se asume que el tiempo que se  requiere para acceder a cualquier elemento depende de la última  posición accesada (posición 1, posición 500…)&lt;/p&gt;&lt;p align="center"&gt; &lt;strong&gt;Existen tres casos al ordenar información&lt;/strong&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;strong&gt;1) &lt;/strong&gt;El &lt;strong&gt;peor&lt;/strong&gt; caso para el algoritmo es cuando la información que se tiene  está ordenada al revés.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;2) &lt;/strong&gt;El &lt;strong&gt;Mejor&lt;/strong&gt; es cuando la información está ordenada.&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;3) &lt;/strong&gt;El  caso &lt;strong&gt;Promedio&lt;/strong&gt; es cuando  la información está ordenada al azar.&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;Método de ordenamiento Burbuja&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;for ( i=1; i&amp;lt;n;i++)&lt;br /&gt;for( j=0;j&amp;lt;n-1;j++) {&lt;br /&gt;if (a[j] &amp;gt; a[j+1])&lt;br /&gt;temp = a[j];&lt;br /&gt;a[j]= a[j+1];&lt;br /&gt;a[j+1]= temp;&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ventajas&lt;/strong&gt;:&lt;/p&gt;  &lt;p align="left"&gt;- Fácil implementación.&lt;br /&gt;&lt;br /&gt;- No requiere memoria adicional.&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;Desventajas:&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt; - Muy lento.&lt;br /&gt;&lt;br /&gt;- Realiza numerosas comparaciones.&lt;br /&gt;&lt;br /&gt;- Realiza numerosos intercambios. &lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Metodo de ordenamiento por selección&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;for (i=0; i&amp;lt;TAM - 1; i++){&lt;br /&gt;pos_men = Menor(lista, TAM, i)&lt;br /&gt;temp = lista[i];&lt;br /&gt;lista[i] = lista [pos_men];&lt;br /&gt;lista [pos_men] = temp; }&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;Menor(lista,TAM,i) es una función que busca el elemento menor del arreglo llamado lista que se encuentra entre las posiciones i y la posición TAM, y devuelve la el identificador. A continuación se encuentra el código de la función: &lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;int menor (tipo arreglo, int largo, int j) {&lt;br /&gt;tipo menor=arreglo[j];&lt;br /&gt;int pos_menor=j;&lt;br /&gt;for (j++;j&amp;lt;largo-1;j++)&lt;br /&gt;if (arreglo[j]&amp;lt;menor) {&lt;br /&gt;menor=arreglo[j];&lt;br /&gt;pos_menor=j;&lt;br /&gt;}&lt;br /&gt;return pos_menor;&lt;br /&gt;} //Fin del for&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p align="left"&gt;   &lt;strong&gt;Ventajas:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;- Fácil implementación.&lt;br /&gt;&lt;br /&gt;- No requiere memoria adicional.&lt;br /&gt;&lt;br /&gt;- Realiza pocos intercambios.&lt;br /&gt;&lt;br /&gt;- Rendimiento constante: poca diferencia entre el peor y el mejor caso.&lt;/p&gt;&lt;p align="left"&gt;   &lt;strong&gt;Desventajas:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;- Lento.&lt;/p&gt; &lt;p align="left"&gt;- Realiza numerosas comparaciones.&lt;/p&gt; &lt;p align="center"&gt;&lt;strong&gt;Ordenamiento por inserción&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;for (i=1; i&amp;lt;TAM; i++) {&lt;br /&gt;temp = lista[ i ];&lt;br /&gt;j = i - 1 ;&lt;br /&gt;while ( (lista[ j ] &amp;gt; temp) &amp;amp;&amp;amp;  (j &amp;gt;= 0) ) {&lt;br /&gt;lista[ j+1] = lista[ j ] ;&lt;br /&gt;j-- ;&lt;br /&gt;} //Fin while&lt;br /&gt;lista [ j+1] = temp;&lt;br /&gt;}//Fin for&lt;/span&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;strong&gt;Ventajas:&lt;/strong&gt;&lt;/p&gt;&lt;p align="left"&gt; - Fácil implementación.&lt;/p&gt;&lt;p align="left"&gt;   - Requerimientos mínimos de memoria.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Desventajas:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;- Lento.&lt;/p&gt; &lt;p align="left"&gt;- Realiza numerosas comparaciones&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;strong&gt;Quicksort&lt;/strong&gt;&lt;/p&gt;&lt;div class="level3"&gt;  &lt;p&gt; El algoritmo quicksort es quizá el más eficiente de los algoritmos de ordenamiento, debido a que su complejidad es mínima y por lo tanto su tiempo de ejecución también es mínimo. Se divide la lista en dos sublistas y ordenarlas en forma independiente cada una. El proceso de partición es repetido hasta llegar a listas de tamaño 1 (que están ordenadas).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Lo central en este método es encontrar un método eficiente para particionar la lista en dos partes, tal que: &lt;/p&gt; &lt;pre style="font-family: arial;" class="code"&gt;&lt;span style="font-size:85%;"&gt;Todos los elementos de una sub-lista deben ser menores que un elemento llamado pivote.&lt;br /&gt;Todos los elementos en la otra sub-lista deben ser mayores que el pivote. &lt;/span&gt;&lt;/pre&gt;  &lt;p&gt; Si asumimos que los elementos de la lista están almacenados en un arreglo, el método para particionar el arreglo en dos es como sigue: &lt;/p&gt; &lt;ol&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Escoja un elemento en el arreglo como pivote. Por conveniencia, usaremos el primer elemento del arreglo. &lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Ponga un índice al segundo elemento del arreglo (&lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt;) y otro al último elemento (&lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt;).&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Decremente &lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt; hasta que encuentre un elemento con valor menor que el pivote o &lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt; llegue a &lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt;. Incremente &lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt; hasta que encuentre un elemento mayor que el pivote o hasta que &lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt; llegue a &lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt;. Llamaremos a este proceso “búsqueda”.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Si los dos índices son distintos, los dos elementos del arreglo (los apuntados por &lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt; e &lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt;) están fuera de lugar, por lo que se intercambian. Repita el paso anterior de búsqueda, resumiendo la operación donde se había quedado.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Si los dos índices son iguales y el valor que ambos índices apuntan es menor que el pivote, intercambielos. El arreglo está ahora particionado por el elemento referenciado por &lt;span style="font-weight: bold;"&gt;i2&lt;/span&gt; (o &lt;span style="font-weight: bold;"&gt;i1&lt;/span&gt;). La localización del pivote separa el arreglo en una porción donde todos sus valores son menores que el pivote, y otra porción donde todos sus valores son mayores que el pivote.&lt;/div&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;/div&gt;&lt;p align="left"&gt;Referencia: &lt;a href="http://www.e-services.cl/unabwiki/doku.php?id=ordenamiento"&gt;http://www.e-services.cl/unabwiki/doku.php?id=ordenamiento&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-5842583330954665569?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/5842583330954665569/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=5842583330954665569' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/5842583330954665569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/5842583330954665569'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/mtodos-de-ordenamiento.html' title='Métodos de ordenamiento básicos'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-7010645434972313043</id><published>2007-08-16T14:42:00.001-04:00</published><updated>2007-08-21T16:56:24.226-04:00</updated><title type='text'>Manejo de archivos en C (Parte I)</title><content type='html'>&lt;p class="MsoNormal"&gt;Los nombres de archivos constan de tres partes:&lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; width: 426px; border-collapse: collapse; height: 52px;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 14.6pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 100%; height: 14.6pt;" valign="top" width="100%"&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;dispositivo:&gt;&lt;dispositivo:&gt;Dispositivo:Archivo.EXT&lt;/dispositivo:&gt;&lt;/dispositivo:&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Dispositivo: El nombre del disco en donde vamos a trabajar.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Archivo: nombre del archivo (8 caracteres máximo).&lt;/p&gt;    &lt;p class="MsoNormal" style="text-align: left;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;      -&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;.EXT: Extensión del archivo (3 caracteres máximo).&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Crear un archivo y almacenar datos&lt;/span&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;La creación de archivos y almacenamiento de datos se realiza en cuatro pasos básicos:&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Puntero del archivo (Paso 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Es un puntero de tipo FILE que apunta hacia la dirección del archivo. Al abrir, leer o realizar cualquier accion sobre el archivo se debe llamar a este puntero.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Código:&lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 29.65pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 29.65pt;" width="576"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;FILE   *puntero_del_archivo;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;FILE:&lt;/b&gt; Es el tipo de dato del puntero, como se esta trabajando con un archivo se utiliza el tipo FILE.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b style=""&gt;Puntero_del_archivo: &lt;/b&gt;nombre que se le da al puntero, este puede ser cambiado por el que quieras.&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Indicar al puntero el archivo que se va a trabajar (Paso 2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;En esta parte usando la función &lt;b style=""&gt;fopen&lt;/b&gt; se indica al puntero el archivo en el cual queremos trabajar. El archivo indicado se abre con el permiso de escritura o lectura que uno le indique.&lt;/p&gt;    &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Código: &lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 44.65pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 44.65pt;" width="576"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;puntero_del_archivo   = fopen(“archivo.txt”,”w”);&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;La función &lt;b style=""&gt;fopen&lt;/b&gt; tiene 2 partes:&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;“archivo.txt”: Es el nombre del archivo en el que vamos a trabajar. &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;“w”: es el permiso que se da para utilizar el archivo. En este caso es “w”, que significa: “Abierto para escritura. Los datos son escritos desde el principio o se crea un nuevo archivo (si no existe)”. Al final del artículo se mostraran todos los tipos de datos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Ingreso de carácter al archivo (Paso3)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;En esta parte se usa la función &lt;b style=""&gt;putc&lt;/b&gt; para ingresar &lt;b style=""&gt;solo un carácter&lt;/b&gt; y se le dice que trabaje con el archivo que indica el puntero. Cada ves que se aplique la función &lt;b style=""&gt;putc&lt;/b&gt; se ingresara el carácter indicado, pero sin reemplazar el anterior, es algo un poco “mágico” que solamente tienes que repetir la función y todo se va a ir escribiendo sin problemas, sin indicarle posición, ni línea, ni nada. (Se va a escribir carácter tras carácter desde que se abre el archivo).&lt;/p&gt;    &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Código:&lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 38.65pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 38.65pt;" width="576"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;putc(‘c’,   puntero_del_archivo);&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;Aquí se ingresa el carácter ‘c’ en el archivo &lt;b style=""&gt;puntero_del_archivo. &lt;/b&gt;Recuerda que siempre tienes que escribir el carácter entre comillas simples ‘c’ y no entre comillas dobles “c”.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Cierre del archivo (Paso4)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Aquí se cierra el programa usando la función &lt;b style=""&gt;fclose&lt;/b&gt; indicando el puntero del archivo.&lt;/p&gt;      &lt;p class="MsoNormal" style="text-indent: 35.4pt;"&gt;Código:&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 35.9pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 35.9pt;" width="576"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;fclose(puntero_del_archivo)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;Codigo completo:&lt;br /&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 146.25pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 146.25pt;" width="576"&gt;   &lt;p class="MsoNormal"&gt;#include &lt;stdio.h&gt;&lt;/stdio.h&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;main() {&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;FILE *puntero_del_archivo;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;      &lt;/span&gt;puntero_del_archivo = fopen(“archivo.txt”,”w”);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;      &lt;/span&gt;putc(‘c’,puntero_del_archivo);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;      &lt;/span&gt;fclose(puntero_del_archivo);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;}&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;&lt;span style="font-size:130%;"&gt;Almacenamiento de una cadena de caracteres&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: left;"&gt;&lt;b style=""&gt;Almacenamiento de un string&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Para realizar el almacenamiento de caracteres es necesario ir ingresando carácter por carácter por lo cual si tenemos un &lt;b style=""&gt;string&lt;/b&gt; lo tenemos que recorrer usando un &lt;b style=""&gt;for&lt;/b&gt; o un &lt;b style=""&gt;while&lt;/b&gt;. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Código:&lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 78.5pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 78.5pt;" width="576"&gt;   &lt;p class="MsoNormal"&gt;Int LS=strlen(caracteres); //Largo del string&lt;/p&gt;   &lt;p class="MsoNormal"&gt;for (i=0;i&lt;ls;i++)&gt;&lt;/ls;i++)&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;putc(caracteres[i],puntero_del_archivo);&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Almacenamiento de escritura directa del teclado&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Almacena valores escritos directamente del teclado, en tiempo “real”, o por lo menos casi instantáneamente. Este método consiste en un while que esta todo tiempo iterando hasta que uno ingresa un valor por teclado (clic en alguna tecla), al hacer esto el programa detiene el while e ingresa el valor al archivo y luego continua iterando hasta que se presiona la tecla Enter (valor: ‘\r’).&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Código:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 66.55pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 66.55pt;" width="576"&gt;   &lt;p class="MsoNormal"&gt;While ( (caracter = getchar() )!= ‘\r’)&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;     &lt;/span&gt;caracter =   putc(caracter, puntero_del_archivo);&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;La función &lt;b style=""&gt;getchar&lt;/b&gt; retorna el carácter ingresado por el stream de entrada, que seria el teclado, lo guarda en la variable &lt;b style=""&gt;caracter&lt;/b&gt; y lo compara con ‘\r’. Si es distinto de ‘\r’ ingresa el carácter al archivo mediante putc.&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style=""&gt;Lectura de datos de un archivo&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Para leer archivos no es muy distinto que guardarlos, solamente hay que cambiar el tipo de escritura a lectura (“r”) y cambiar la función &lt;b style=""&gt;putc&lt;/b&gt; por &lt;b style=""&gt;getc &lt;/b&gt;devuelve valores de un archivo de texto.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Código:&lt;/p&gt;    &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 70.7pt;"&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 432.2pt; height: 70.7pt;" width="576"&gt;   &lt;p class="MsoNormal"&gt;#include &lt;stdio.h&gt;&lt;/stdio.h&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;main() {&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;FILE *puntero_del_archivo;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;char caracter;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;puntero_del_archivo = fopen(“archivo.txt”,”r”);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;while (( caracter = getc(puntero_del_archivo) ) != EOF)&lt;/p&gt;   &lt;p class="MsoNormal"&gt;printf(“%c”,caracter);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;fclose(puntero_del_archivo);&lt;/p&gt;   &lt;p class="MsoNormal"&gt;}&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p class="MsoNormal"&gt;Como se puede ver se cambio el tipo de escritura/lectura del archivo abierto en la función fopen, se cambio por “r” que es el tipo de lectura normal: “Abierto para lectura, el archivo debe existir”. Luego viene el while donde la función getc ingresa un carácter del archivo y lo guarda en carácter el cual se compara con EOF (End Of File) que significa que no hay más datos que mostrar. Si es distinto a EOF imprime el carácter y vuelve a hacer la comparación.&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style=""&gt;Lista de tipos de escrituras&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;a&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para añadir datos. Los datos nuevos se añaden al   final del archivo o se crea un archivo nuevo (si no existe).&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;r&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para lectura. El archivo debe existir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;w&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para escritura. Los datos son escritos desde el   principio o se crea un nuevo archivo&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;a+&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para lectura y añadir datos. Si el archivo no   existe se crea.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;r+&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para lectura y escritura. El archivo debe existir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 23.4pt;" valign="top" width="31"&gt;   &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;w+&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 408.8pt;" valign="top" width="545"&gt;   &lt;p class="MsoNormal"&gt;Abierto para lectura y escritura. Se escribe desde el   principio del archivo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;i style=""&gt;Tabla extraída del libro indicado más abajo.&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="text-align: left;"&gt;&lt;i style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/i&gt;Les dejo un link de una página Web donde pueden encontrar toda la información sobre estas y otras funciones, la dirección es: &lt;a href="http://www.conclase.net/c/librerias/funciones.php"&gt;http://www.conclase.net/c/librerias/funciones.php&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;i style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Espero que les sirva todo este material, se pueden hacer muchas cosas útiles con estas pocas líneas de código, sirve mucho. ¡Saludos!&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Toda la información puesta aquí fue aprendida del libro &lt;i style=""&gt;“Programación estructurada en C”,&lt;/i&gt; de James L. Antonakos y Kenneth C. Mansfield Jr. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-7010645434972313043?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/7010645434972313043/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=7010645434972313043' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7010645434972313043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7010645434972313043'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/manejo-de-archivos-en-c-parte-i.html' title='Manejo de archivos en C (Parte I)'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-1975221031463927873</id><published>2007-08-14T17:11:00.000-04:00</published><updated>2007-08-14T17:27:33.000-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inicio'/><title type='text'>Empezamos II.</title><content type='html'>Hola a todos!. Antes que nada quisiera presentarme.Mi nombre es Pablo Barrera (Mordelon), soy estudiante de Ing. en Informática y soy compañero de Gonzalo =P.&lt;br /&gt;&lt;br /&gt;Al igual que Gonzalo desde muy pequeño, me interesó el mundo de la informática, recuerdo que mi bichito por el mundo de la computación empezó el día en que mi padre compró el primer pc de la casa, por haya por año 1996, era un 386 xD; me recuerdo que era muy moderno para esa tiempo, con 1gb de memoria =O... En fin, siempre me preguntaba como le hacia un computador para funcinar, como se hacían los programas, como es que se creaban los virus, etc. entonces de hay que me interesé por saber, por aprender y creo que está carrera es una de las mejores vías para poder resolver mis intereses de niño ^^.&lt;br /&gt;&lt;br /&gt;Por ahora, lo que aprendido me ha gustado mucho y está cumpliendo lejos mis espectatias que tenía sobre la carrera, y estoy convencido de que si pongo(ponemos)mucho empeño en lo que tanto nos apaciona, seguro seremos unos grander profesionales en el rubro de la informática =D.&lt;br /&gt;&lt;br /&gt;Por otro lado espero poder ayudar mucho en Gonzalo en está "Bitácora Informatica", pues me tiene muy emosionado la idea...bueno no tengo que dar las gracias por ser parte de esto =).&lt;br /&gt;&lt;br /&gt;Saludos y espero estar pronto con agunos apuntes sobre Java.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Mordelon&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-1975221031463927873?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/1975221031463927873/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=1975221031463927873' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/1975221031463927873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/1975221031463927873'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/empezamos-ii.html' title='Empezamos II.'/><author><name>Pablo Barrera Y.</name><uri>http://www.blogger.com/profile/01424341273998321690</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-7919759584259086062</id><published>2007-08-11T22:35:00.000-04:00</published><updated>2007-08-12T01:03:44.594-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologia'/><title type='text'>Diseño de programas</title><content type='html'>&lt;p class="MsoNormal"&gt;Bueno, esto es un tema que a veces puede parecer un poco "obvio", pero para alguien que esta empezando puede que no lo sea. Son cosas que uno se da cuenta al tiempo de estar programando directamente o cuando ya se empieza a tratar de resolver problemas de un nivel mas complejo(o cuando te lo enseñan). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;El diseño de programas es una tarea bastante difícil y a veces un poco frustrante cuando se están realizando grandes proyectos, sistemas o solo un problema de alta complejidad. Cuando uno ya esta cómodo con algún lenguaje empieza a tratar de resolver problemas cada ves más grandes hasta que llega el punto donde este te supera y no sabes muy bien como “abordarlo” o desde donde partir. En este resumen voy a escribir en pocas palabras métodos que facilitan el proceso creativo del algoritmo, y por lo tanto, la llegada al resultado necesitado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;El diseño de programas consiste en dos fases principales: &lt;b style=""&gt;resolución del problema&lt;/b&gt; y una de &lt;b style=""&gt;trabajo en la computadora&lt;/b&gt;. Por ahora nos concentraremos solamente en la resolución del problema, luego se vera la fase de trabajo junto con el funcionamiento de compilación.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;Resolución del problema&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Análisis del problema&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En esta parte se requiere información exacta y precisa sobre el problema a solucionar. Se debe examinar cuidadosamente el problema e ir identificando los tipos de información que el programa va a tener que manejar y procesar para después llegar al resultado requerido. En esta parte hay que ser muy cuidadoso y leer varias veces el texto o la información que nos están entregando y que se desea automatizar, ya que si no se tiene un perfecto conocimiento de esto se va a perder mucho tiempo en volver a leer y en rescribir código por no comprender lo que nos están pidiendo.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Diseño y verificación del algoritmo&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;La manera ideal para lograr crear un algoritmo consiste en tomar el problema inicial y dividirlo en varios “sub problemas” los cuales deben ir en orden de ejecución dentro del programa y resolver cada uno por su parte. Al realizar esto ahorras mucho tiempo gastado en pensar como resolver el problema directamente. Este método se conoce como “Divide y vencerás”. La idea es llegar a tener una gran lista de problemas más sencillos de resolver que están ligados unos a otros por variables que se pasan entre ellos. Para problemas más amplios se necesita hacer distintos niveles de refinamiento que van generando más sub problemas. Este proceso se llama “refinamiento paso a paso o sucesivos” (stepwise refinement).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;blockquote&gt;“Muchos programadores principiantes no comprenden la necesidad de diseñar un algoritmo antes de escribir el programa y tratan de omitir este proceso solucionando el problema con la codificación del programa directamente pensando que así se ahorrará tiempo. Esto parece razonable, pero no es así: &lt;u&gt;no se ahorra tiempo&lt;/u&gt;. La experiencia demuestra que el proceso completo de diseño de un programa con las dos fases enunciadas anteriormente simplifica la solución y reduce tiempo. Aunque en problemas sencillos es donde más fácil resulta la codificación directa del lenguaje, nuestra opinión es que se acostumbre desde el principio al diseño de algoritmos. Su codificación al lenguaje le resultará muy fácil con solo conocer las reglas especificas del camino.” &lt;span style="color: rgb(153, 153, 153);"&gt;Libro: “Problemas de la metodología de la&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;programación”, Luis Joyanes.&lt;/span&gt;&lt;/blockquote&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Algoritmos&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;La idea principal de los algoritmos es dividir todo un problema en distintos pasos a seguir para llegar a la solución de este. Para que un algoritmo sea eficaz debe cumplirse que: &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Debe ser preciso&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Tener un orden&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Debe ser Definido, o sea que al resolverlo dos veces se debería llegar al mismo resultado.&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Debe tener un fin. &lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;El algoritmo también consta de tres partes que son: &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Entrada&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Proceso&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Salida&lt;i style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Lo ideal es que el algoritmo sea lo más claro posible para que así sea fácil la traducción al lenguaje de programación que se compilara y luego ejecutara en la computadora.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;b style=""&gt;Verificación de algoritmos&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;En esta etapa se debe verificar manualmente si el algoritmo realizado esta cumpliendo su función de llegar al resultado. Para esto se debe hacer la prueba utilizando la mayor cantidad de valores posibles. Esto se realiza siguiendo paso por paso el algoritmo y anotando en una hoja de papel todos los resultados. &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;b style=""&gt;Herramientas de programación&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;Hay distintas herramientas que se pueden utilizar en la creación de algoritmos, estas son:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://es.wikipedia.org/wiki/Diagrama_de_flujo"&gt;Diagramas de flujo.&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href="http://es.wikipedia.org/wiki/Algoritmo#Pseudoc.C3.B3digo"&gt;Pseudocódigo.&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Diagramas de Nassi-Shneiderman (N-S).&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt; text-align: center;" align="center"&gt;Nota: Clic para ver su definición según Wikipedia.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 18pt;"&gt;Los diagramas de flujo son una herramienta de programación que funciona de manera grafica mostrando los distintos pasos a seguir de un algoritmo, los cuales están representados por figuras. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Como alternativa del diagrama de flujo apareció el Pseudocódigo que funciona con palabras de idioma español o ingles que representan&lt;span style=""&gt;  &lt;/span&gt;al algoritmo pero de una manera mas similar de cómo se vería mas trabajada o cercana al lenguaje de programación.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Los diagramas N-S son una mezcla de los diagramas de flujo (gráfico) y el Pseudocódigo (escrito).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En otro momento entraremos en detalle de cada una de estas herramientas, por ahora es solamente algo generalizado.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:289.5pt;"&gt;  &lt;v:imagedata src="http://www.adrformacion.com/udsimg/calidad/3/Diagrama%20flujo.gif" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="http://www.adrformacion.com/udsimg/calidad/3/Diagrama%20flujo.gif" shapes="_x0000_i1025" border="0" height="273" width="386" /&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;i style=""&gt;Diagrama de flujo, adrformacion.com&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Todo lo escrito aquí fue un resumen generalizado la parte teórica del capitulo 1 del libro &lt;span style=""&gt; &lt;/span&gt;“Problemas de la metodología de la programación” de Luis Joyanes.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Espero que les haya sido de ayuda este pequeño texto y ojalá no tenga malos comentarios o cosas sin sentido, acepto solo agradecimientos, felicitaciones y criticas &lt;b style=""&gt;&lt;i style=""&gt;&lt;u&gt;CONSTRUCTIVAS&lt;/u&gt;&lt;/i&gt;&lt;/b&gt; (no supe como remarcarlo más xD).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-7919759584259086062?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/7919759584259086062/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=7919759584259086062' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7919759584259086062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/7919759584259086062'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/diseo-de-programas.html' title='Diseño de programas'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1341253537722960317.post-6490146474674286323</id><published>2007-08-10T00:02:00.000-04:00</published><updated>2007-08-10T00:51:52.145-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inicio'/><title type='text'>Empezamos.</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Bienvenidos!. Mi nombre es Gonzalo Pérez, estudiante de Ingeniería en computación e informática y antes de empezar les quiero contar un poco de mis inicios en esto.&lt;/span&gt;&lt;/p&gt;    &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Estoy en primer año de esta carrera que es la que yo he querido estudiar desde que era niño, por lo que siempre fue mi primera opción de estudios universitarios desde que tengo memoria. Yo me “inicie” en la informática al entrar en la educación media, buscando formas de aprender sobre programación o cualquier tema que tenga que ver con computación pero me costaba mucho trabajo encontrar un lugar en Internet donde ir poder aprendiendo sobre estos temas de manera gradual. &lt;/span&gt;&lt;/p&gt;    &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;En primero medio me inicie en la programación estudiando Delphi. Tuve muchos problemas ya que mi método de aprendizaje funcionaba mediante prueba y error con códigos que encontraba en Internet, por lo que me costaba mucho avanzar parejo y decidí dejar este lenguaje un poco de lado y probar con otro (no me sentí cómodo con el). Luego me oriente en las páginas Web y encontré PHP, y desde ese momento que estoy aprendiendo a hacer paginas Web dinámicas en este lenguaje que también aprendí a prueba y error y hasta hace poco mi manera de escribir los códigos era “muy carretera” y poco eficiente (ahora esta en “carretera” a secas, jajajaja). &lt;/span&gt;&lt;/p&gt;    &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Este año entre a la universidad a estudiar Ingeniería en computación e informática, pase mi primer semestre y ahora estoy comenzando el segundo. &lt;span style=""&gt; &lt;/span&gt;Hoy se me ocurrió la idea de crear un Blog donde yo pueda ir volcando todo lo que vaya aprendiendo sobre informática.&lt;/span&gt;&lt;/p&gt;&lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Les aviso que yo no tengo grandes conocimientos de informática, esto lo hago para que los que no tienen o no encuentran lugares para aprender puedan ver mis apuntes tomados de la universidad o directamente de lo que aprendo aquí en mi escritorio, y recuerden que esto es una bitácora de lo que voy aprendiendo, no son manuales ni tutoriales de nada, ni tampoco me las doy de profesor. &lt;/span&gt;&lt;/p&gt;    &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Nota: si encuentran algún error de código, de información mal redactada o de conceptos erróneos por favor avísenme para hacer los cambios necesarios.&lt;/span&gt;&lt;/p&gt;    &lt;p  class="MsoNormal" style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Bueno, espero comentarios constructivos para que todos aprendamos bien y no tengamos problemas, Saludos!!!.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1341253537722960317-6490146474674286323?l=bitici.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitici.blogspot.com/feeds/6490146474674286323/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1341253537722960317&amp;postID=6490146474674286323' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/6490146474674286323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1341253537722960317/posts/default/6490146474674286323'/><link rel='alternate' type='text/html' href='http://bitici.blogspot.com/2007/08/empezamos.html' title='Empezamos.'/><author><name>Gonzalo Pérez P.</name><uri>http://www.blogger.com/profile/18081648536043728213</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
