tag:blogger.com,1999:blog-36356272214202295992024-03-05T03:20:52.621-08:00HumbertoHumbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.comBlogger31125tag:blogger.com,1999:blog-3635627221420229599.post-57976111179402810332011-07-14T21:33:00.000-07:002011-07-14T21:36:49.905-07:00Extra ANSI C<strong><span style="color: #38761d; font-size: large;">Formato Para Variable</span></strong><br />
<br />
<br />
<br />
<table border="1" style="height: 420px; width: 431px;"><tbody>
<tr><td width="80">Formato</td><td width="300">Descripción</td><td width="80"></td><td width="300"></td></tr>
<tr><td>%c <br />
%d <br />
%i <br />
%e <br />
%E <br />
%f <br />
%g <br />
%G <br />
%o <br />
%s <br />
%u <br />
%x <br />
%X <br />
%% <br />
%p <br />
%n</td><td>Un caracter <br />
Real o Entero <br />
Real <br />
Notacion con "e" <br />
Notacion con "E" <br />
Real <br />
Real <br />
Real con notacion "E" <br />
Octal <br />
Cadena <br />
Real sin signo <br />
Hexadecimal en minusculas <br />
Hexadecimal en mayusculas <br />
Imprime % <br />
Apuntador <br />
Argumento de apuntador</td></tr>
</tbody></table><br />
<br />
<br />
<strong><span style="color: #38761d; font-size: large;">Funciones de Conversion</span></strong><br />
<br />
<br />
<table border="1" style="height: 434px; width: 579px;"><tbody>
<tr><td width="100">Función</td><td>Descripción</td></tr>
<tr><td>fcvt <br />
ecvt <br />
gcvt <br />
itoa <br />
ltoa <br />
ultoa <br />
ctime <br />
atoi <br />
atol <br />
_atold <br />
atof <br />
strtol <br />
strtoul <br />
strtod <br />
asctime <br />
strlwr <br />
strupr <br />
strxfrm <br />
toupper <br />
tolower <br />
toascii</td><td>Convierte un real a string <br />
Convierte un real a string <br />
Convierte un real a string <br />
Convierte un entero a string <br />
Converts a long to a string <br />
Convierte un unsigned long a string <br />
Convierte fecha y hora a un string <br />
Convierte un string a entero. <br />
Convierte un string a un long <br />
Convierte un string to un long double <br />
Convierte un string a real <br />
Convierte un string a long <br />
Convierte un string a unsigned long <br />
Convierte un string a double real <br />
Convierte fecha y hora a ASCII <br />
Convierte el contenido de un apuntador a caracteres a minusculas <br />
Convierte el contenido de un apuntador a caracteres a mayusculas <br />
Transforma una porcion de un string <br />
Translada caracteres a mayusculas <br />
Translada caracteres a minusculas <br />
Translada caracteres a ASCII formato</td></tr>
</tbody></table><br />
<br />
REFERENCIAS<br />
<a href="http://www.publispain.com/supertutoriales/programacion/c_y_cplus/cursos/3/index.htm">http://www.publispain.com/supertutoriales/programacion/c_y_cplus/cursos/3/index.htm</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-69669876631363089242011-07-14T21:20:00.000-07:002011-07-14T21:20:41.869-07:00Extra ANSI C<strong><span style="font-size: large;">C</span></strong><br />
<br />
El lenguaje de programacion en el cual estuvimos enfocados al 100% en este curso fue en el <strong>C</strong>.<br />
Es un programa facil de aprender con practica, pero tambien tiene sus ventajas y desventajas.<br />
<br />
<strong>Ventajas de C</strong><br />
<br />
<li>Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas.</li><br />
<li>A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos.</li><br />
<li>Proporciona facilidades para realizar programas modulares y/o utilizar código o<strong> bibliotecas existentes.</strong></li><br />
<br />
<strong>Inconvenientes</strong><br />
<br />
- La velocidad de desarrollo: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compilador de C se limita a traducir código sin apenas añadir nada.<br />
<br />
- C no dispone de sistemas de control automáticos y la seguridad depende casi exclusivamente de la experiencia del programador.<br />
<br />
- La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo humano y en muchas ocasiones previene errores, aunque también supone mayor carga de trabajo para el procesador.<br />
..<br />
.<br />
REFERENCIAS<br />
<a href="http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n">http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n</a>)Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-46969910367323901122011-07-14T20:56:00.000-07:002011-07-14T20:56:41.825-07:00Extra ANSI C<span style="font-size: large;"><strong>Imagenes en LATEX</strong></span><br />
<br />
El dia de ayer subi una presentacion con diapositivas al blog, y puse un par de formulas, pero las formulas salieron chuecas y no se veian bien, la Dra. Schaeffer me recomendo usar imagenes en<strong> LATEX, </strong>entonses me puse a investigar sobre esto.<br />
<br />
<br />
En cualquier tipo de documento que escribamos, las imágenes son una parte importante para darle realce al mismo o para explicar un tema que contenga demasiada teoria, en Latex insertar imágenes es un tema que a muchos nos da más de un problema, pero la solución es fácil.<br />
<br />
El formato de preferencia para imágenes en Latex son los PostScript (<strong>eps),</strong> y se debe guardar en la misma carpeta que se encuentra el archivo tex, asi se evita de problemas como que la imagen no aparezca cuando se lleve el archivo a otra máquina para ejecutarlo.<br />
<br />
Escribimos el siguiente código:<br />
En el preambulo del documento es decir despues de \documentclass [......] {….} cargamos el paquete de imágenes:<br />
\usepackage{graphicx}<br />
Esto nos permitira ingresar imágenes en cualquier parte del documento con la siguiente estructura:<br />
\begin{figure} [h]<br />
\begin {center}<br />
\includegraphics[width=0.5\textwidth]{nombre de la imágen}<br />
\caption{Descripción}<br />
\end {center}<br />
\end{figure}<br />
En la primera línea se encuentra entre corchetes [h], esto indica el lugar donde va la imágen, pero si lo elimina Latex seleccionará el mejor lugar donde colocarla, que no siempre es el lugar que deseamos.<br />
<br />
- El “truco” para insertar la imagen en el documento consiste en poner la referencia relativa (al archivo fuente.tex) de la imagen, en este ejemplo indicando con el punto y la barra [ <strong>./</strong> ] se le indica al compilador de LaTeX que debe buscar la imagen [<a href="http://ixtchel.cs.buap.mx/~guerrero/valar/img/wow.jpg" target="_blank">./wow.jpg</a>] “<em>en este mismo directorio en donde se localiza el archivo fuente.tex</em>” o en su defecto; con el punto, la barra y el nombre de un directorio, se le indica que debe buscar dentro de ese directorio la imagen deseada [<a href="http://ixtchel.cs.buap.mx/~guerrero/valar/img/aguila.jpg" target="_blank">./images/aguila.jpg</a>]<br />
.<br />
..<br />
Esta pagina que dejo es para hacer las formulas en imagenes latex(es necesario un sistema operativo <strong>linux</strong>) .<br />
<a href="http://dougneubauer.com/2011/01/create-png-images-from-latex-equations/">http://dougneubauer.com/2011/01/create-png-images-from-latex-equations/</a><br />
..<br />
.<br />
REFERENCIAS<br />
<a href="http://jkharlos.wordpress.com/2007/09/03/imagenes-en-latex/">http://jkharlos.wordpress.com/2007/09/03/imagenes-en-latex/</a><br />
<a href="http://valar.wordpress.com/2004/01/30/imagenes-en-latex/">http://valar.wordpress.com/2004/01/30/imagenes-en-latex/</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-5937891659540680832011-07-14T20:25:00.000-07:002011-07-14T20:25:09.040-07:00Extra ANSI C<strong><span style="font-size: large;">CONTROL DE VERSIONES</span></strong><br />
<br />
- Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Los sistemas de control de versiones facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas.<br />
<br />
- El control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del <span style="color: black;">código fuente.</span><br />
<br />
- Existen varios software de control de versiones, como por ejemplo el<strong> git</strong> (recomendado).<br />
<br />
<strong><span style="font-size: large;">GIT</span></strong><br />
<br />
<span style="color: black;"><strong>- </strong>Git es un software de control de versiones , pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.</span><br />
<br />
- Git se ha convertido en un sistema de control de versiones con funcionalidad plena.<br />
<br />
- Hay <span style="color: black;">algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.</span><br />
.. <br />
.<br />
REFERENCIAS<br />
<span style="color: #0645ad;"><a href="http://es.wikipedia.org/wiki/Git">http://es.wikipedia.org/wiki/Git</a></span><br />
<a href="http://es.wikipedia.org/wiki/Control_de_versiones">http://es.wikipedia.org/wiki/Control_de_versiones</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-42089755008936791462011-07-14T19:50:00.000-07:002011-07-14T19:50:49.299-07:00Extra ANSI C<strong>COMPILADOR</strong><br />
<br />
- El compilador que usamos durante todo el curso de verano fue el <strong>gcc<span style="font-size: x-small;">.</span></strong><br />
<br />
- El proceso de compilación involucra cuatro etapas sucesivas:<strong> preprocesamiento, compilación, ensamblado y enlazado</strong>. Para pasar de un programa fuente escrito por un humano a un archivo ejecutable es necesario realizar estas cuatro etapas en forma sucesiva. Los comandos gcc son capaces de realizar todo el proceso de una sola vez.<br />
<br />
- Etapas de compilacion:<br />
<br />
<strong>Preprocesado</strong>:<br />
En esta etapa se interpretan las directivas al preprocesador. Entre otras cosas, las variables inicializadas con <tt>#define</tt> son sustituídas en el código por su valor en todos los lugares donde aparece su nombre.<br />
<br />
<strong>Compilacion</strong><br />
La compilación transforma el código C en el lenguaje ensamblador propio del procesador de nuestra máquina.<br />
<br />
<strong>Ensamblado</strong><br />
<strong> </strong>El ensamblado transforma el programa escrito en lenguaje ensamblador a código objeto, un archivo binario en lenguaje de máquina ejecutable por el procesador.<br />
<br />
<strong>Enlazado</strong><br />
<strong> </strong>Las funciones de C incluídas en nuestro código, tal como printf(), se encuentran ya compiladas y ensambladas en bibliotecas existentes en el sistema. Es preciso incorporar de algún modo el código binario de estas funciones a nuestro ejecutable. En esto consiste la etapa de enlace, donde se reúnen uno o más módulos en código objeto con el código existente en las bibliotecas.<br />
<br />
..<br />
.<br />
REFERENCIAS<br />
<a href="http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm#EtapasCompilacion">http://iie.fing.edu.uy/~vagonbar/gcc-make/gcc.htm#EtapasCompilacion</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-349732365570184442011-07-14T12:29:00.001-07:002011-07-14T12:29:51.144-07:00DECLARACION DE VARIABLES ,,Extra Ansi C<table border="1" style="width: 760px;"><tbody>
<tr><td width="25%">Tipo</td> <td width="25%">Declaración</td> <td width="25%">Limite Inferior</td> <td width="25%">Limite Superior</td> </tr>
<tr> <td><span>Entero</span> <br />
<span>Entero Corto</span> <br />
<span>Entero Largo</span> <br />
<span>Entero sin Signo</span> <br />
<span>Entero con Signo</span> <br />
<span>Real</span> <br />
<span>Real Doble</span> <br />
<span>Real Largo</span> <br />
<span>Caracter</span> <br />
<span>Caracter sin signo</span> <br />
<span>Caracter con signo</span> <br />
<span>Palabra</span> <br />
<span>Valor Nulo</span> <br />
<span>Arreglo</span> <br />
<span>Texto</span> <br />
<span>ante</span> <br />
<span>Apuntador</span></td> <td><span>Int A;</span> <br />
<span>Short Int A;</span> <br />
<span>Long Int A;</span> <br />
<span>Unsigned Int A;</span> <br />
<span>Signed Int A;</span> <br />
<span>Float A;</span> <br />
<span>Double A;</span> <br />
<span>Long DoubleA;</span> <br />
<span>Char A;</span> <br />
<span>Unsigned Char A;</span> <br />
<span>Signed Char A;</span> <br />
<span>Char[ ] A;</span> <br />
<span>Void</span> <br />
<span>Int A[N]</span> <br />
<span>Text A;</span> <br />
<span>A;</span> <br />
<span>*A</span></td> <td valign="TOP"><span>-32768</span> <br />
<span>-128</span> <br />
<span>2E -6</span> <br />
<span>0</span> <br />
<span>-65000</span> <br />
<span>-3.4E37</span> <br />
<span>-1.7E -304</span> <br />
<span>3.4E -4932</span> <br />
<span>-128</span> <br />
<br />
<span>0</span></td> <td valign="TOP"><span>32767</span> <br />
<span>127</span> <br />
<span>2E 6</span> <br />
<span>65535</span> <br />
<span>65000</span> <br />
<span>3.4E 38</span> <br />
<span>1.7E 308</span> <br />
<span>1.1E 4932</span> <br />
<span>127</span> <br />
<br />
<span>0</span></td></tr>
</tbody></table>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com3tag:blogger.com,1999:blog-3635627221420229599.post-81592251431180528112011-07-14T12:26:00.000-07:002011-07-14T12:26:44.195-07:00Extra ANSI C<b> RUTINAS </b><br />
<div style="color: black;"><b><br />
</b></div><div style="color: black;"><span style="font-size: small;">- Una rutina es una especie de subprograma que utiliza el programa principal sólo cuando lo considera necesario para realizar una tarea específica.</span></div><div style="color: black;"><br />
</div><div style="color: black;"><span style="font-size: small;">- En programación, una rutina de software independiente que realiza una tarea para el programa en que está escrita o para algún otro programa. La función ejecuta la operación y devuelve el control a la instrucción siguiente a la que la llamó o al programa que la llamó.</span> </div><div style="color: black;"></div><div style="color: black;"><b> SUBRUTINAS</b></div><div style="color: black;"><b><br />
</b></div><div style="color: black;"><span style="font-size: small;">- Una subrutina se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica.</span></div><div style="color: black;"><br />
</div><span style="font-size: small;"><span style="color: black;">- Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se dirija a ejecutar el código de la subrutina.</span></span><br />
<span style="color: black;"> ..</span><br />
<span style="color: black;"> . </span><br />
<span style="color: black;">REFERENCIAS </span><br />
<span style="color: black;">http://www.mastermagazine.info/termino/5094.php</span><br />
<span style="color: black;">http://es.wikipedia.org/wiki/Subrutina </span>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-91700669075064541232011-07-14T11:40:00.000-07:002011-07-14T11:40:42.328-07:00Extra ANSI C<span style="color: black;">Bueno, como se que todos los de la clase de ANSI C somos IAS o ITS es importante entender esto:</span><br />
<br />
<span style="color: black;"><strong><span style="font-size: large;">Lenguaje de Programacion:</span></strong> </span><br />
<br />
<span style="color: black;">- Un </span><a class="autolink" href="http://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtml" id="autolink"><span style="color: black;">lenguaje</span></a><span style="color: black;"> </span><span style="color: black;">de <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">programación</label></span> es un lenguaje que puede <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">ser</label></span> utilizado para controlar el </span><a class="autolink" href="http://www.monografias.com/trabajos16/comportamiento-humano/comportamiento-humano.shtml" id="autolink"><span style="color: black;">comportamiento</span></a><span style="color: black;"> de una máquina, particularmente una </span><a class="autolink" href="http://www.monografias.com/trabajos15/computadoras/computadoras.shtml" id="autolink"><span style="color: black;">computadora</span></a><span style="color: black;">.</span><br />
<br />
<span style="color: black;">- Aunque muchas veces se usa </span><a class="autolink" href="http://www.monografias.com/Computacion/Programacion/" id="autolink"><span style="color: black;">lenguaje de programación</span></a><span style="color: black;"><span style="color: black;"> y lenguaje informático como si fuesen sinónimos, no tiene por qué <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">ser</label></span> así, ya que los <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">lenguajes</label></span> informáticos engloban a los <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">lenguajes</label></span> de <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">programación</label></span> y a otros más, como, por ejemplo, el HTML (lenguaje para el <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">marcado</label></span></span> de páginas </span><a class="autolink" href="http://www.monografias.com/trabajos5/laweb/laweb.shtml" id="autolink"><span style="color: black;">web</span></a><span style="color: black;">).</span><br />
<br />
<span style="color: black;"><span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">- Lenguajes</label></span> de <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">programación</label></span> y a otros más, como, por ejemplo, el </span><span style="color: black;">HTML</span><span style="color: black;"> (lenguaje para el <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">marcado</label></span> de páginas </span><a class="autolink" href="http://www.monografias.com/trabajos5/laweb/laweb.shtml" id="autolink"><span style="color: black;">web</span></a><span style="color: black;">).</span><br />
<br />
<span style="color: black;">- Un lenguaje de <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">programación</label></span> permite a <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">uno</label></span> o más programadores especificar de manera precisa: sobre qué </span><a class="autolink" href="http://www.monografias.com/trabajos11/basda/basda.shtml" id="autolink"><span style="color: black;">datos</span></a><span style="color: black;"> una <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">computadora</label></span> debe operar, cómo deben <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">ser</label></span> estos almacenados, transmitidos y qué </span><a class="autolink" href="http://www.monografias.com/trabajos4/acciones/acciones.shtml" id="autolink"><span style="color: black;">acciones</span></a><span style="color: black;"> debe tomar <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">bajo</label></span> una variada <span><label style="color: #009900; cursor: pointer; text-decoration: underline; z-index: 0;">gama</label></span> de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural.</span><br />
<br />
- <span style="font-family: Verdana;">El software es un conjunto de instrucciones o secuencias, realizadas por el usuario, las cuales permiten controlar las actividades u funciones de las computadoras u ordenadores.</span><br />
<br />
<span style="color: black;">- Algunos programas en los que aprenderemos a programar a lo largo de la carrera (ya sea en clases o por nuestra cuenta) son:</span><br />
- Java<br />
- C<br />
- HTML<br />
- MySQL<br />
- PHP<br />
- XML<br />
- C #<br />
..<br />
.<br />
REFERENCIAS<br />
<a href="http://www.monografias.com/trabajos61/resolucion-problemas-usando-computadoras/resolucion-problemas-usando-computadoras2.shtml">http://www.monografias.com/trabajos61/resolucion-problemas-usando-computadoras/resolucion-problemas-usando-computadoras2.shtml</a><br />
<a href="http://www.lenguajes-de-programacion.com/software.shtml">http://www.lenguajes-de-programacion.com/software.shtml</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-91418288883238736422011-07-14T11:14:00.000-07:002011-07-14T11:15:05.355-07:00Extra ANSI C<strong><span style="font-size: large;">PILA</span></strong><br />
<br />
- <span style="color: black;">Una pila es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés <i>Last In First Out</i>, último en <i>entrar</i>, primero en <i>salir,</i> a diferencia de la cola que es FIFO First in First Out) que permite almacenar y recuperar datos.</span><br />
<br />
<span style="color: black;">- Para el manejo de los datos se cuenta con dos operaciones básicas: apilar , que coloca un objeto en la pila, y su operación inversa, retirar , que<strong> retira el último elemento apilado</strong>.</span><br />
<br />
<span style="color: black;">- En cada momento sólo se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado.</span><br />
<br />
<span style="color: black;">- Las <strong>pilas</strong> suelen emplearse en los siguientes contextos:</span><br />
<ul><li><span style="color: black;">Evaluación de expresiones en notación postfija (notación polaca inversa).</span></li>
<li><span style="color: black;">Reconocedores sintácticos de lenguajes independientes del contexto</span></li>
<li><span style="color: black;">Implementación de recursividad.</span></li>
</ul><br />
REFERENCIAS<br />
<a href="http://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica">http://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica</a>)Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-58238042815665624582011-07-14T11:05:00.000-07:002011-07-14T11:16:09.020-07:00Extra ANSI C<span style="font-size: large;"><strong>COLAS</strong></span><br />
<br />
<span style="color: black;">Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción <i>push</i> se realiza por un extremo y la operación de extracción <i>pop</i> por el otro. También se le llama estructura FIFO (del inglés <i>First In First Out</i>), debido a que el primer elemento en entrar será también el primero en salir.</span><br />
<br />
<span style="font-size: large;"><strong>Aplicabilidad</strong></span><br />
<br />
<span style="color: black;">Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.</span><br />
<br />
--<br />
--<br />
-<br />
<span style="font-size: large;">Existen 2 tipos de colas:</span><br />
<br />
- <strong>Colas circulares</strong> (anillos): en las que el último elemento y el primero están unidos.<br />
- <strong>Colas de prioridad</strong>: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen.<br />
<br />
...<br />
..<br />
<strong><span style="font-size: large;"> EJEMPLO</span></strong><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeg6OftJ2PMJTXKQ-vIgur4_uvKe8VGpQzy-4QsCSZNGDg50fOmkqSEuQXmed_OOPDBcRP1Rv8l0s3trEVGxQC24s94X8iz83WvibwkGfPpR-OqzTj39VV03Gx8uwWRLHJQRdbdwniA3GQ/s1600/cola_de_datos.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="273" id="il_fi" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeg6OftJ2PMJTXKQ-vIgur4_uvKe8VGpQzy-4QsCSZNGDg50fOmkqSEuQXmed_OOPDBcRP1Rv8l0s3trEVGxQC24s94X8iz83WvibwkGfPpR-OqzTj39VV03Gx8uwWRLHJQRdbdwniA3GQ/s320/cola_de_datos.jpg" style="padding-bottom: 8px; padding-right: 8px; padding-top: 8px;" width="272" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"> </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">REFERENCIAS</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="http://es.wikipedia.org/wiki/Cola_(inform%C3%A1tica">http://es.wikipedia.org/wiki/Cola_(inform%C3%A1tica</a>)</div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-13174867772054468582011-07-14T10:55:00.000-07:002011-07-14T10:55:31.977-07:00Extra ANSI C<span style="color: black;">Bueno, ya que en mi primer tarea obtuve pocos puntos, la modifico en esta entrada poniendo para que se uso hoy en dia <strong>ANSI C</strong></span><br />
<br />
<span style="color: black;">- Se usa para el desarrollo de otros sistemas operativos</span><br />
<br />
<span style="color: black;">- Es muy usado en aplicaciones científicas (como modelos y simuladores), industriales (industria robótica, cibernética, sistemas de información y base de datos para la industria petrolera y petroquímica</span><br />
<br />
<span style="color: black;">- Predominan también todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo</span><br />
<br />
<span style="color: black;">- Se puede seguir encontrando código C en grandes desarrollos de animaciones, modelados y escenas en 3D en películas y otras aplicaciones multimedia.</span><br />
<br />
<span style="color: black;">- C es el lenguaje común para programar <strong>sistemas embebidos</strong>.</span><br />
<br />
<br />
REFERENCIAS:<br />
<a href="http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)#Aplicabilidad">http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)#Aplicabilidad</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-59810909651768464752011-07-14T00:44:00.000-07:002011-07-14T00:44:08.794-07:00Extra Diferentes tipos de algoritmos<strong><span style="color: #073763; font-size: large;">Algoritmos</span></strong><br />
<br />
Existen diferentes tipos de Algoritmos .<br />
<br />
Los algoritmos se clasifican en 2 clases: <br />
- Algoritmos de ordenamiento<br />
- Algoritmos de busqueda<br />
<br />
<strong><span style="color: #073763; font-size: large;">Algoritmos de Ordenamiento</span></strong><br />
<br />
<span style="color: black;">Este tipo de algoritmos pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es desir, hace un reordenamiento.</span><br />
<br />
Hay una serie de algoritmos de ordenamiento, pero los mas utilizados son :<br />
<br />
- Bubble Sort<br />
- Merge Sort<br />
- Insertion Sort<br />
- Shell Sort<br />
- <strong>Quick Sort</strong><br />
<strong>-</strong> Heap Sort<br />
<br />
Estos son solo unos ejemplos de los algoritmos de ordenamiento. La mayoria de estos algoritmos tienen una complejidad "O(<i>n</i>²)" , o "<span style="color: #0645ad;">O</span>(<i>n</i> log <i>n</i>)".<br />
<br />
<strong><span style="color: #073763; font-size: large;">Algoritmos de Busqueda</span></strong><br />
<br />
<span style="color: black;">Es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez.</span><br />
<br />
Entre los mas destacados algoritmos de busqueda estan los siguientes:<br />
<br />
- Algoritmo Boyer-Moore<br />
- Algoritmo A*<br />
- Algoritmo de busqueda en grafos<br />
- Algoritmo <strong>Dijkstra</strong><br />
<br />
....<br />
..<br />
.<br />
Recomiendo que vean esta pagina para que vean todos los tipos de algoritmos de ordenamiento, ya que tiene los links a cada uno de ellos. <a href="http://es.wikipedia.org/wiki/Algoritmos_de_ordenacion">http://es.wikipedia.org/wiki/Algoritmos_de_ordenacion</a><br />
<br />
<br />
REFERENCIAS<br />
<a href="http://www.wikipedia.com/">http://www.wikipedia.com/</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-5480371554698794202011-07-14T00:19:00.000-07:002011-07-14T00:27:19.627-07:00Extra Algoritmos - Algoritmo de prim<strong><span style="font-size: large;">Algoritmo de prim</span></strong><br />
<br />
El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol <span style="color: black;">recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas.</span><br />
<br />
<span style="color: black;">En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el peso total de todas las aristas en el árbol es el mínimo posible</span><br />
<br />
<strong><span style="font-size: large;">Como Funciona</span></strong><br />
<br />
El algoritmo incrementa continuamente el tamaño de un árbol, comenzando por un vértice inicial al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima. Esto significa que en cada paso, las aristas a considerar son aquellas que inciden en vértices que ya pertenecen al árbol.<br />
El árbol recubridor mínimo está completamente construido cuando no quedan más vértices por agregar.<br />
<br />
<strong><span style="font-size: large;">Pseudocodigo del Algoritmo con sus repectivos comentarios</span></strong><br />
<br />
<pre><i>// Inicializamos todos los nodos del grafo. La distancia la ponemos a infinito y el padre de cada nodo a NULL</i>
<i>// Encolamos, en una cola de prioridad donde la prioridad es la distancia, todas las parejas <nodo,distancia> del grafo</i>
<b>por cada</b> <i>u</i> en <i>V[G]</i> <b>hacer</b>
distancia[<i>u</i>] = INFINITO
padre[<i>u</i>] = NULL
Añadir(cola,<<i>u</i>,distancia[<i>u</i>]>)
distancia[<i>u</i>]=0
<b>mientras</b> cola != 0 <b>hacer</b>
<i>// OJO: Se entiende por mayor prioridad aquel nodo cuya distancia[u] es menor.</i>
<i>u</i> = extraer_minimo(cola) //devuelve el minimo y lo elimina de la cola.
<b>por cada</b> <b>v</b> adyacente a '<b>u'</b> <b>hacer</b>
<b>si</b> ((<i>v</i> ∈ cola) <b>&&</b> (distancia[<i>v</i>] > peso(u, v)) <b>entonces</b>
padre[<i>v</i>] = <i>u</i>
distancia[<i>v</i>] = peso(u, v)
Actualizar(cola,<<i>v</i>,distancia[<i>v</i>]>)
</pre><strong>Algoritmo de Prim</strong><br />
<br />
Ya que no me quiso agarrar el embed del video, aqui les dejo el link donde biene muy bien explicado el algoritmo de prim: <a href="http://www.youtube.com/watch?v=O8XEOz8FCDQ">http://www.youtube.com/watch?v=O8XEOz8FCDQ</a><br />
<br />
REFERENCIAS<br />
<a href="http://es.wikipedia.org/wiki/Algoritmo_de_Prim">http://es.wikipedia.org/wiki/Algoritmo_de_Prim</a>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-54604590565633463902011-07-14T00:02:00.000-07:002011-07-14T00:03:23.608-07:00<div style="width:425px" id="__ss_8591431"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/humbertorayados/grafos-8591431" title="Grafos" target="_blank">Grafos</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8591431" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/humbertorayados" target="_blank">humbertorayados</a> </div></div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com2tag:blogger.com,1999:blog-3635627221420229599.post-55664613157110763662011-07-13T13:43:00.001-07:002011-07-13T13:43:44.081-07:00Esta tarde-noche subire el resto de tareas y puntos extra.. :)Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-67765878849042941202011-07-12T13:40:00.000-07:002011-07-12T13:58:10.211-07:00Extra ANSI C , Tablas de Dispersion y Usos- Las tablas de dispersion sirven para realizar inserciones, eliminaciones y busquedas en tiempo promedio constante.<span class="comentParagraph"> </span><br />
<br />
<span class="comentParagraph">- Son estructuras de datos que se usan en aplicaciones que manejan una secuencia de elementos, de tal forma que cada </span><span class="comentParagraph">elemento tiene asociado un valor clave</span><span class="comentParagraph"> </span>.<br />
<br />
- Estructura de datos ideal: un vector con tamano fijo N.<br />
<br />
- Una funcion de dispersion establece la correspondencia<br />
de cada clave con algun numero en el intervalo [0 . . . N − 1].<br />
<br />
- Esta funcion tiene que ser facil de calcular, y asegurar que<br />
dos claves distintas se correspondan con celdas diferentes.<br />
<br />
- Como esto ultimo es imposible, buscamos una funcion que distribuya homogeneamente las claves entre las celdas.<br />
<br />
- Resta escoger una funcion y decidir el tamano de la tabla y que hacer cuando dos claves caen en la misma celda.<br />
<br />
- Si al insertar un elemento, este se dispersa en el mismo valor que un elemento ya insertado tenemos una colision y hay que resolverla.<br />
<br />
<br />
- Las tablas hash se suelen implementar sobre <i>vectores</i> de una dimensión, aunque se pueden hacer implementaciones multi-dimensionales basadas en varias claves<br />
<br />
<b>- Las tablas de dispersion se usan </b>para representar diccionarios en los que se busca una clave y se devuelve su definicion.<br />
<br />
REFERENCIAS:<br />
<cite>www.madsgroup.org/docencia/alg/<b>tablas</b>_<b>de</b>_<b>dispersion</b>.pd</cite><br />
<cite>http://www.ie.uia.mx/acad/atortole/progra2/hash.html </cite>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-60415021675917904032011-07-12T12:02:00.001-07:002011-07-12T12:07:08.057-07:00#5 ANSI C#include "entrada.h"<br />
#include "bool.h"<br />
char pide_opcion(char* permitidos) {<br />
char actual;<br />
bool listo = FALSE;<br />
while (TRUE) {<br />
if (!listo) {<br />
actual = tolower(getchar());<br />
if (strchr(permitidos, actual) != NULL) {<br />
listo = TRUE;<br />
} <br />
} else {<br />
if (getchar() == '\n') {<br />
if (listo) {<br />
break;<br />
}<br />
}<br />
}<br />
}<br />
return actual;<br />
}<br />
<br />
int pide_numero(int minimo, int maximo) {<br />
if(Maximo> pide_numero) {<br />
int numero = SIN_DEFINIR;<br />
char* entrada = NULL;<br />
char actual;<br />
int pos;<br />
double temp;<br />
<br />
entrada = <br />
(char*)malloc(sizeof(char)*<br />
LARGO_MAXIMO + 1);<br />
if (entrada == NULL) {<br />
return SIN_DEFINIR;<br />
}<br />
do {<br />
printf("Dame un valor entre %d y %d: ",<br />
minimo, maximo);<br />
// insistir<br />
pos = 0;<br />
do {<br />
actual = getchar();<br />
if (pos < LARGO_MAXIMO) {<br />
if (isdigit(actual)) {<br />
entrada[pos++] = actual;<br />
}<br />
}<br />
} while (actual != '\n');<br />
entrada[pos] = '\0'; <br />
temp = atof(entrada);<br />
if (temp > INT_MAX - 1) {<br />
continue;<br />
}<br />
numero = atoi(entrada);<br />
} while (numero < minimo || numero > maximo);<br />
printf("Gracias.\n");<br />
free(entrada);<br />
return numero;<br />
}<br />
void pide_cadena(char* entrada) {<br />
char actual;<br />
int pos;<br />
bool ignorar_resto;<br />
<br />
do {<br />
ignorar_resto = FALSE;<br />
// printf("Dame una palabra: ");<br />
// insistir<br />
pos = 0;<br />
actual = getchar();<br />
if (!isalpha(actual)) {<br />
ignorar_resto = TRUE;<br />
} else {<br />
entrada[pos++] = toupper(actual);<br />
//printf("Iniciando con %c.\n", actual);<br />
}<br />
do {<br />
actual = getchar();<br />
if (pos < LARGO_MAXIMO) {<br />
if (!ignorar_resto && <br />
isalnum(actual)) {<br />
entrada[pos++] = toupper(actual);<br />
//printf("Aceptamos %c.\n", actual);<br />
} else {<br />
if (actual == '\n') {<br />
//printf("Procesando.\n");<br />
break;<br />
}<br />
ignorar_resto = TRUE;<br />
//printf("Rechazamos %c.\n", actual);<br />
}<br />
}<br />
} while (TRUE);<br />
if (ignorar_resto) {<br />
pos = 0;<br />
}<br />
} while (pos == 0);<br />
entrada[pos] = '\0'; <br />
printf("Gracias: <%s>\n", entrada);<br />
return;<br />
}Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-46001005619335935092011-07-12T11:11:00.000-07:002011-07-12T11:12:51.838-07:00EXTRA<strong><span style="font-size: large;">GRAFOS</span></strong><br />
<strong>Teoria de Grafos</strong><br />
<span style="color: black;">En matemáticas y en ciencias de la computación, la teoría de grafos estudia las propiedades de los grafos. Un grafo es un conjunto, no vacío, de objetos llamados vértices (o nodos) y una selección de pares de vértices, llamados aristas que pueden ser orientados o no. Típicamente, un grafo se representa mediante una serie de vértices conectados por aristas.</span><br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"> <a class="image" href="http://es.wikipedia.org/wiki/Archivo:6n-graf.svg"><img alt="" class="thumbimage" height="174px" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/6n-graf.svg/263px-6n-graf.svg.png" width="263px" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><span style="font-size: x-small;"> <span style="color: #cc0000;">DIAGRAMA DE UN GRAFO CON 6 VERTICES Y 7 ARISTAS</span></span></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><span style="color: black;"><strong>Grafos Bipartitos</strong></span></div><span style="color: black;">Un Grafo bipartito se denomina en Teoría de grafos a un grafo cuyos vértices se pueden separar en dos conjuntos disjuntos <span class="texhtml"><i>V</i><sub>1</sub></span> y <span class="texhtml"><i>V</i><sub>2</sub></span> y las aristas siempre unen vértices de un conjunto con vértices de otro:</span><br />
<img alt="V_1 \cup V_2 = V" class="tex" src="http://upload.wikimedia.org/math/2/0/2/202b3081263bd23015029d885b963fe0.png" /><br />
<img alt="V_1 \cap V_2 = \empty" class="tex" src="http://upload.wikimedia.org/math/c/2/2/c22ee396bd593ba145e8042fbf7aaffa.png" /><br />
<img alt="\forall x_1,x_2 \in V_1, \forall y_1,y_2 \in V_2 " class="tex" src="http://upload.wikimedia.org/math/c/9/2/c9250c2f989c80285a02169bdfe7568a.png" /> no existe ninguna <a class="mw-redirect" href="http://es.wikipedia.org/wiki/Arista_(Teor%C3%ADa_de_grafos)" title="Arista (Teoría de grafos)"><span style="color: #0645ad;">arista</span></a> <span class="texhtml"><i>e</i> = <i>x</i><sub>1</sub>,<i>x</i><sub>2</sub></span> ni <span class="texhtml"><i>e</i> = <i>y</i><sub>1</sub>,<i>y</i><sub>2</sub></span> <br />
<br />
Siendo <span class="texhtml"><i>V</i></span> el conjunto que contiene todos los vértices del grafo.<br />
Los grafos bipartitos suelen representarse gráficamente con dos columnas (o filas) de vértices y las aristas uniendo vértices de columnas (o filas) diferentes.<br />
<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a class="image" href="http://es.wikipedia.org/wiki/Archivo:Simple-bipartite-graph.svg" style="margin-left: 1em; margin-right: 1em;"><img alt="" class="thumbimage" height="200px" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Simple-bipartite-graph.svg/200px-Simple-bipartite-graph.svg.png" width="200px" /></a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><span style="color: red; font-size: x-small;">EJEMPLO DE GRAFO BIPARTITO</span></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;">REFERENCIAS:</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"><a href="http://es.wikipedia.org/wiki/Grafo_bipartito">http://es.wikipedia.org/wiki/Grafo_bipartito</a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"><a href="http://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos#Grafos_bipartitos">http://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos#Grafos_bipartitos</a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;">Familia de Grafos: http://es.wikipedia.org/wiki/Categor%C3%ADa:Familias_de_grafos</div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-17283488096041877402011-07-12T09:37:00.000-07:002011-07-12T14:02:49.201-07:00Extra Algoritmos Computacionales.<b><span style="font-size: large;">Vectores Propios</span></b><br />
Los vectores propios de un operador lineal son los vectores no nulos que, cuando son transformados por el operador, dan lugar a un múltiplo escalar de sí mismos, con lo que no cambian su dirección.<br />
<br />
A menudo, una transformación queda completamente determinada por sus vectores propios y valores propios. Un espacio propio es el conjunto de vectores propios con un valor propio común.<br />
La formula es:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvbVqWLf75V-_OzMpcNviGTvOwNmf7N2evWGXIA7_7G4r5bV2G8gNq3XGTOZcHFFF0DxA6qd_DE_DP68lrw0ArTV-YgszSdYtr4JIYZKuKBPuS3t3_fnBBKqDH4qISiVl6PD3pNa5if-O/s1600/9d300e1c7fa93da5ceb12f2d4298b37b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="23" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLvbVqWLf75V-_OzMpcNviGTvOwNmf7N2evWGXIA7_7G4r5bV2G8gNq3XGTOZcHFFF0DxA6qd_DE_DP68lrw0ArTV-YgszSdYtr4JIYZKuKBPuS3t3_fnBBKqDH4qISiVl6PD3pNa5if-O/s320/9d300e1c7fa93da5ceb12f2d4298b37b.png" width="117" /></a></div><br />
<span style="font-size: large;"><b>Espectro de Matriz</b></span><br />
<span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"></span></span><br />
<div align="left"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-size: small;">El conocimiento del espectro de una matriz, esto es, el conjunto de sus valores </span><span style="font-size: small;">propios, tiene mucho interes a la hora de estudiar su condicionamiento para </span><span style="font-size: small;">aplicar metodos iterativos de resolucion de sistemas de ecuaciones lineales. El </span><span style="font-size: small;">teorema de Gerschgorin define la zona donde se encuentra dicho espectro.</span></span></span></div><div align="left"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-size: small;">TEOREMA DE GERSCHGORIN </span></span></span></div><div align="left"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="color: black; font-size: small;">El <b>teorema de Gerschgorin</b> nos dice que los autovalores de una matriz compleja (esto incluye también a las reales) de orden <i>n</i>x<i>n</i>, se encuentran en el espacio del plano complejo delimitado por la unión de los círculos <span class="texhtml"><span style="font-family: Batang;"><i>D</i><sub><i>i</i></sub></span></span>.</span></span></span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnYSJVZWPLTQith0wMm9Mtvk6kYagCz1l3_-MicGZY5NeYyPVVZlY_ShN7V4yWUNafMt-SK_93Ou54Ld14J9frvEBWrGs_uUZ7C29CEOBhuuLq_V9z385cIxF_u_G8Nqf0fIsyjo2CX2ti/s1600/342191222db4c0ef4a4fffc1995c2487.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" m$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnYSJVZWPLTQith0wMm9Mtvk6kYagCz1l3_-MicGZY5NeYyPVVZlY_ShN7V4yWUNafMt-SK_93Ou54Ld14J9frvEBWrGs_uUZ7C29CEOBhuuLq_V9z385cIxF_u_G8Nqf0fIsyjo2CX2ti/s1600/342191222db4c0ef4a4fffc1995c2487.png" /></a></span></span></div><div align="left"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><br />
</span></span><br />
<span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><br />
</span></span><br />
<span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><br />
</span></span><br />
<span style="font-family: CMSS8; font-size: x-small;"><span style="font-family: CMSS8;"><br />
</span></span><br />
<span style="font-family: CMSS8; font-size: x-small;"><span style="font-family: CMSS8;">REFERENCIAS:</span></span><br />
<span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-size: x-small;">http://es.wikipedia.org/wiki/Vector_propio_y_valor_propio</span></span></span><br />
<cite>lc.fie.umich.mx/~jrincon/apuntes%20intro%20valores%20<b>propio</b>s.pdf</cite><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-family: CMSS8; font-size: xx-small;"><span style="font-size: x-small;"> </span></span></span></div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-57536618981741102012011-07-12T07:33:00.001-07:002011-07-12T07:42:36.968-07:00<iframe width="480" height="295" src="http://www.youtube.com/embed/oR3KLAWam_o?fs=1" frameborder="0" allowFullScreen=""></iframe>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-16029507749865418802011-07-08T09:47:00.000-07:002011-07-08T09:47:06.925-07:00Steve Jobs Comic<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmlyz7_IqrVt0mueq0KUzmEPbIeMQtCP_brm6nTHUTbDxxgJhfl_lNP9ymRGe9A_kevlfuW0y-bWfegpbTHgANfqq06hFWpHk6xFb_i3hN-a0VmgFBBdHEL7ESvGTMScxrB8P4cxdvZLdh/s1600/fda4a29d6ab14f45480ecd6f1531d739.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" m$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmlyz7_IqrVt0mueq0KUzmEPbIeMQtCP_brm6nTHUTbDxxgJhfl_lNP9ymRGe9A_kevlfuW0y-bWfegpbTHgANfqq06hFWpHk6xFb_i3hN-a0VmgFBBdHEL7ESvGTMScxrB8P4cxdvZLdh/s640/fda4a29d6ab14f45480ecd6f1531d739.jpg" width="163" /></a></div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com0tag:blogger.com,1999:blog-3635627221420229599.post-46477169650545096322011-07-08T02:15:00.000-07:002011-07-08T02:15:43.542-07:00Codigo Ordenamiento de Mezclavoid mergeSort(int numbers[], int temp[], int array_size)<br />
<br />
{<br />
m_sort(numbers, temp, 0, array_size - 1);<br />
<br />
}<br />
<br />
<br />
<br />
void m_sort(int numbers[], int temp[], int left, int right)<br />
<br />
{<br />
int mid;<br />
<br />
if (right > left)<br />
<br />
{<br />
<br />
mid = (right + left) / 2;<br />
<br />
m_sort(numbers, temp, left, mid);<br />
<br />
m_sort(numbers, temp, mid+1, right);<br />
<br />
<br />
merge(numbers, temp, left, mid+1, right);<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
<br />
void merge(int numbers[], int temp[], int left, int mid, int right)<br />
<br />
{<br />
<br />
int i, left_end, num_elements, tmp_pos;<br />
<br />
<br />
left_end = mid - 1;<br />
<br />
tmp_pos = left;<br />
<br />
num_elements = right - left + 1;<br />
<br />
<br />
<br />
while ((left <= left_end) && (mid <= right))<br />
<br />
{<br />
<br />
if (numbers[left] <= numbers[mid])<br />
<br />
{<br />
<br />
temp[tmp_pos] = numbers[left];<br />
<br />
tmp_pos = tmp_pos + 1;<br />
<br />
left = left +1;<br />
<br />
}<br />
<br />
else<br />
<br />
{<br />
<br />
temp[tmp_pos] = numbers[mid];<br />
<br />
tmp_pos = tmp_pos + 1;<br />
<br />
mid = mid + 1;<br />
<br />
}<br />
<br />
}<br />
<br />
<br />
<br />
while (left <= left_end)<br />
<br />
{<br />
<br />
temp[tmp_pos] = numbers[left];<br />
<br />
left = left + 1;<br />
<br />
tmp_pos = tmp_pos + 1;<br />
<br />
}<br />
<br />
while (mid <= right)<br />
<br />
{<br />
<br />
temp[tmp_pos] = numbers[mid];<br />
<br />
mid = mid + 1;<br />
<br />
tmp_pos = tmp_pos + 1;<br />
<br />
}<br />
<br />
<br />
<br />
for (i = 0; i <= num_elements; i++)<br />
<br />
{<br />
<br />
numbers[right] = temp[right];<br />
<br />
right = right - 1;<br />
<br />
}<br />
<br />
}Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-79611355577697819632011-07-08T01:55:00.000-07:002011-07-08T02:02:18.455-07:00TAREA #3 Algoritmos Computacionales (Merge Sort)<div style="width:425px" id="__ss_8541314"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/humbertorayados/merge-sort-8541314" title="Merge Sort" target="_blank">Merge Sort</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8541314" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/humbertorayados" target="_blank">humbertorayados</a> </div></div>Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com2tag:blogger.com,1999:blog-3635627221420229599.post-89972343654657567212011-07-07T12:09:00.000-07:002011-07-07T12:10:38.544-07:00TAREA #4 ANSI C Programa utilizando un ciclo con el comando FOR#include <stdio.h><stdio.h><br />
#include <stdlib.h></stdio.h><b><stdio.h><stdlib.h></stdlib.h></stdio.h></b><br />
<br />
int main(){<br />
int dime,conta,resu;<br />
<br />
<br />
printf("dime el numero a multiplicar: ");<br />
scanf("%d",&dime);<br />
<br />
for(conta=0; conta<21; conta++){<br />
resu=dime*conta;<br />
printf("%d*%d = %d \n" ,dime,conta,resu);<br />
}<br />
<br />
return 1;<br />
}<br />
<br />
<br />
Este es un programa que realize. Se trata de que el usuario le diga un numero , y la maquina le lanzara la tabla de multiplicar del numero introducido hasta el 20.Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1tag:blogger.com,1999:blog-3635627221420229599.post-34598677268171430252011-07-06T01:11:00.000-07:002011-07-06T12:52:16.479-07:00TAREA #2 Algoritmos ComputacionalesPROBLEMA "<span style="color: #20124d;">INDEPENDENT SET</span>" conocido como <span style="color: #20124d;">IND-SET</span><br />
<br />
Problema: Es un problema NP completo. El problema consiste en encontrar el mas largo(maximum) independent set en una grafica. Este problema de optimizacion puede ser tansformado en un problema de desicion, siguiendo el siguiente lenguaje:<br />
<br />
<span style="color: #20124d;">INDSET</span> = {<G,k> : G es una grafica con un independent set de tamano <i>k</i>.<br />
<br />
<br />
La grafica del problema consiste en una serie de aristas unidas por un nodo o vertice quq tienen algun color (color negro) pero algunos nodos tienen un color distinto (color rojo), y los nodos que tienen el color rojo no se pueden conectar mediante aristas, en cambio los negros si lo pueden hacer.<br />
<br />
<br />
<br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<span style="color: #4c1130;">*</span>Un independent set que no es el subconjunto de otro independent set es llamado: <b>Maximal independent set</b><br />
<br />
<span style="color: #4c1130;">*</span>Independent Set : juego independiente.<br />
<br />
<span style="color: #4c1130;">*</span>El nivel de una grafica independent set es el numero de sus aristas.<br />
<br />
En la ciencia computacional , diversos problemas computacionales relacionados con "independent set" han sido estudiados, ejemplos:<br />
<br />
- <b style="color: #073763;"><span style="color: #073763;">Independent set </span>Decision</b>: aqui la entrada(input) es un grafico indirigido y un numero "<i>k</i>", y la salida(output) es una exprecion booleana: verdadero si la grafica contiene un independent set de tamano <i>k</i>, y falso de alguna otra manera.<br />
<br />
- <b style="color: #073763;">Maximum Independent Set</b> problem: aqui la entrada(input) es un grafico indirigido, y la salida(output) es un Maximum independent set en la grafica. Si hay varios Maximum Independent sets solo una necesitara ser la salida. <br />
<br />
- <b><span style="color: #073763;">Maximal independent set listing problem</span></b>: aqui la entrada(input) es un grafico indirigido, y la salida(output) y la salida es una lista de todos sus Maximum Independent sets. El Maximum independent set problem puede ser solucionado usando una subrutina o algoritmo para el Maximal independent set listing problem, poque el Maximun independent set debe ser incluido entre todos los Maximal independent sets.<br />
<br />
<br />
<br />
<span style="color: #660000;">Justificacion</span> : despues de investigar algunas horas este problema, me preguntaba para que sirve esto?, cuales son sus aplicaciones? y aqui encontre algunas:<br />
- sirve para la teroria de informacion/codificacion.<br />
<a href="data:image/png;base64,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" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" border="0" height="142" src="data:image/png;base64,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" width="200" /></a>- para etiquetaje de mapas(map labeling).<br />
- biologia molecular.<br />
- Planificacion<br />
y algunas otras mas, pero estas fueron las que me parecieron mas interesantes.<br />
<br />
<br />
<span style="color: #4c1130;">*</span>Imagen: Map labeled(mapa etiquetado)<br />
<br />
<br />
<br />
<br />
<br />
<br />
1- void conflict( )<br />
2- {<br />
3- int c=0,del=0,rm,J=0;<br />
4- for(int i=0;i<size1;i++)<br />
5- {<br />
6- c=0;<br />
7- for(int j=0;j<size1;j++)<br />
8- if( graph[ind_set[i]][ind_set[j]]=1)<br />
9- c++;<br />
10- if(c>del)<br />
11- {<br />
12- del=c;<br />
13- rm=ind_set[i];<br />
14- }<br />
15- }<br />
16- if(del>0)<br />
17- {<br />
18- size1--;<br />
19- J=0;<br />
20- for(int i=0;i<num_node;i++)<br />
21- if(rm!=ind_set[i] AND J<size1)<br />
22- G1[J++]=ind_set[i];<br />
23- for(i=0;i<J;i++)<br />
24- ind_set[i]=G1[i];<br />
25- size1=J;<br />
26- conflict( );<br />
27- }<br />
28- }<br />
<br />
<br />
Este es un <b>algoritmo</b> para encontrar el Maximum independent Set en una grafica.<br />
<br />
<br />
Derivaciones del problema:<br />
- Un set es independiente si y solo si hay un <b>clique</b> en las graficas complementarias.<br />
- Un set es independiente si y solo si su complemento es un <b>vertex cover</b>.<br />
<br />
<br />
REFERENCIAS<br />
http://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29<br />
http://mathworld.wolfram.com/IndependentSet.html<br />
Muy <b>recomendada</b> esta pag:<br />
http://www.dharwadker.org/independent_set/Humbertohttp://www.blogger.com/profile/08911857688336630470noreply@blogger.com1