<?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:blogger='http://schemas.google.com/blogger/2008' 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-3632036944036143832</id><updated>2024-10-24T08:05:56.976-07:00</updated><category term="videotutorial"/><category term="Java"/><category term="video explicativo"/><category term="aprender"/><category term="programación"/><category term="C++"/><category term="objetos"/><category term="programa"/><category term="programa en java"/><category term="C"/><category term="POO"/><category term="clases"/><category term="descargar"/><category term="herencia"/><category term="inglés"/><category term="interfaces"/><category term="interfaz"/><category term="patron de diseño"/><category term="tutorial"/><category term="Illustrator"/><category term="aplicacion Java"/><category term="aprender a programar"/><category term="aprender inglés"/><category term="biblioteca"/><category term="clase abstracta"/><category term="diseño"/><category term="ejemplo"/><category term="ejemplos"/><category term="expresiones en inglés"/><category term="frases usuales"/><category term="lenguaje"/><category term="métodos"/><category term="patron"/><category term="patron diseño"/><category term="programas"/><category term="pronunciar inglés correctamente"/><category term="studio"/><category term="tipos"/><category term="tutoriales"/><category term="16F84A"/><category term="Adobe"/><category term="Alan Kay"/><category term="Arquímedes"/><category term="CSV"/><category term="Fallen"/><category term="Google"/><category term="HTML"/><category term="IReport"/><category term="ISIS"/><category term="IUPAC"/><category term="JInternalFrame"/><category term="JSlider"/><category term="JTabbedPane"/><category term="JTextArea"/><category term="JasperReports"/><category term="Jaspersoft"/><category term="Otland"/><category term="PDF"/><category term="PHP"/><category term="PIC"/><category term="Perl"/><category term="Python"/><category term="Simula-67"/><category term="Smalltalk"/><category term="SyntaxHighlighter"/><category term="Tibia"/><category term="UML"/><category term="abstracción"/><category term="abstract"/><category term="abstract builder"/><category term="abstract class"/><category term="abstracta"/><category term="abstracto"/><category term="acceder"/><category term="acceso"/><category term="acceso aleatorio"/><category term="actionlistener"/><category term="adapter"/><category term="al azar"/><category term="aleatorios"/><category term="algoritmos"/><category term="allowed"/><category term="ampere"/><category term="aplicacion"/><category term="aplicacion en java"/><category term="aprender Illustrator"/><category term="aprender escuchando"/><category term="aprender java"/><category term="aprender repitiendo"/><category term="aprendiendo"/><category term="aprendizaje"/><category term="archivos"/><category term="assembly"/><category term="automotriz"/><category term="backend"/><category term="basico"/><category term="biblioteca math"/><category term="bienvenida"/><category term="bruce eckel"/><category term="builder"/><category term="builders"/><category term="bullet"/><category term="buscador Google"/><category term="básico"/><category term="búsquedas eficientes"/><category term="calcular"/><category term="calcular total"/><category term="cantidad de sustancia"/><category term="cantidad pequeña"/><category term="caracteristicas"/><category term="carrito de compras"/><category term="circulo"/><category term="clase Timer"/><category term="clase adaptada"/><category term="clase adaptadora"/><category term="clase cliente"/><category term="clase random"/><category term="class"/><category term="clientes"/><category term="clásica"/><category term="columnas"/><category term="comma-separated"/><category term="comparaciones"/><category term="componentes visuales"/><category term="compuestos"/><category term="concrete builder"/><category term="concursos"/><category term="conocimiento"/><category term="consola"/><category term="constante"/><category term="contenido"/><category term="cpp"/><category term="creadores de clases"/><category term="crear archivo"/><category term="crear instancias"/><category term="crear juego"/><category term="cronometro"/><category term="curso"/><category term="círculo en ASM"/><category term="código"/><category term="cómo buscar en google"/><category term="cómo usar"/><category term="datos"/><category term="derivadas"/><category term="descargar codigo"/><category term="descargar programa"/><category term="desde cero"/><category term="design"/><category term="design pattern"/><category term="diferenciación"/><category term="diferencial"/><category term="director"/><category term="diseño grafico"/><category term="diseño paisaje"/><category term="diseño sencillo"/><category term="ejemplo aplicativo"/><category term="ejemplo buscador"/><category term="ejemplo básico"/><category term="ejercicio"/><category term="ejercicio tipo examen"/><category term="ejercicios"/><category term="elevar un número"/><category term="ensamblador"/><category term="entre intervalos"/><category term="enunciado"/><category term="enviar mensajes"/><category term="escribir"/><category term="estequiometría"/><category term="estrategia"/><category term="estrategia concreta"/><category term="etiquetas"/><category term="eventos"/><category term="experto artificial"/><category term="experto humano"/><category term="exponentes en C++"/><category term="exportar"/><category term="facade"/><category term="fachada"/><category term="factoria"/><category term="factory"/><category term="ficheros"/><category term="filas"/><category term="filtros Google"/><category term="flujo"/><category term="frontend"/><category term="fuente"/><category term="funcional"/><category term="funciones"/><category term="función"/><category term="fundamentos"/><category term="generar valores"/><category term="geometrico"/><category term="graficar"/><category term="graficar círculo"/><category term="graficar en Assembler"/><category term="graficos"/><category term="guardar información"/><category term="haloideas"/><category term="herencia de clases"/><category term="herencia en java"/><category term="herramienta elipse"/><category term="hidruros"/><category term="hidrácidos"/><category term="hidrógeno"/><category term="hidróxidos"/><category term="implementación oculta"/><category term="infinitesimal"/><category term="infinito"/><category term="infinitésimo"/><category term="inglés básico"/><category term="inherit"/><category term="inorgánica"/><category term="inorgánicos"/><category term="inserción"/><category term="instanciar"/><category term="instancias"/><category term="integral indefinida"/><category term="integrales"/><category term="intensidad de corriente"/><category term="interesantes"/><category term="interface"/><category term="interfaz grafica"/><category term="interfaz java"/><category term="interrupciones"/><category term="introducción"/><category term="inverso"/><category term="kelvin"/><category term="layout"/><category term="leer matrices C++"/><category term="leer textos en inglés"/><category term="lenguaje ensamblador"/><category term="libreria"/><category term="librería"/><category term="librerías"/><category term="lista de operadores"/><category term="longitud"/><category term="luminosa"/><category term="límites"/><category term="lógica difusa"/><category term="magnitudes fundamentales"/><category term="masa"/><category term="matriz en C++"/><category term="mega"/><category term="mesas de trabajo"/><category term="metal"/><category term="metodos abstractos"/><category term="microcode"/><category term="milisegundos"/><category term="modificar archivo"/><category term="modo de video"/><category term="modo gráfico"/><category term="mostrar"/><category term="mostrar matriz"/><category term="motion"/><category term="motor"/><category term="multiplicar matrices en C++"/><category term="netbeans"/><category term="no metal"/><category term="nomenclatura"/><category term="números aleatorios"/><category term="obtener números"/><category term="operador de extracción"/><category term="operadores"/><category term="ordenadores"/><category term="ovalo"/><category term="oxisales"/><category term="oxácidos"/><category term="oxígeno"/><category term="palabras"/><category term="palabras en inglés"/><category term="palabras y su significado"/><category term="paleta de colores"/><category term="paquetes"/><category term="pattern"/><category term="perform"/><category term="peticiones"/><category term="petición"/><category term="placa madre"/><category term="polimorfismo"/><category term="polimorfismo en java"/><category term="pop"/><category term="por extensión"/><category term="poster"/><category term="potencias"/><category term="potencias en C++"/><category term="precio total"/><category term="prefijos"/><category term="private"/><category term="procedimientos"/><category term="proceso"/><category term="producto"/><category term="producto abstracto"/><category term="producto concreto"/><category term="producto de matrices"/><category term="programa de ejemplo"/><category term="programa ejemplo"/><category term="programacion"/><category term="programacion Java"/><category term="programacion orientada a objetos"/><category term="programadores"/><category term="programar"/><category term="programas Java"/><category term="progreso"/><category term="protected"/><category term="proteus"/><category term="public"/><category term="push"/><category term="química"/><category term="random"/><category term="realizar reportes"/><category term="rectángulo"/><category term="released"/><category term="reportes en Java"/><category term="resolver"/><category term="restricciones"/><category term="retos"/><category term="rocket"/><category term="sales"/><category term="segmento de datos"/><category term="segundos"/><category term="selección directa"/><category term="sencilla"/><category term="simulación"/><category term="singleton"/><category term="sistema"/><category term="sistema difuso"/><category term="sistemas expertos"/><category term="stock"/><category term="strategy"/><category term="subsistemas"/><category term="subtotal"/><category term="sufijos"/><category term="sustituibilidad"/><category term="tabla"/><category term="target"/><category term="team"/><category term="tiempo compilación"/><category term="tiempo ejecución"/><category term="tienda"/><category term="tipos de sistemas"/><category term="total pagar"/><category term="tradicional"/><category term="tutorial Illustrator"/><category term="tutorial básico"/><category term="tutorial de java"/><category term="términos"/><category term="unica"/><category term="unico"/><category term="usar librería math"/><category term="venta libros"/><category term="youtube"/><category term="ácidos"/><category term="óxidos básicos"/><title type='text'>Programación y más</title><subtitle type='html'>Hacemos la programación más fácil.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-6564197823601425902</id><published>2016-07-25T13:49:00.001-07:00</published><updated>2016-07-25T13:50:11.205-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="conocimiento"/><category scheme="http://www.blogger.com/atom/ns#" term="experto artificial"/><category scheme="http://www.blogger.com/atom/ns#" term="experto humano"/><category scheme="http://www.blogger.com/atom/ns#" term="lógica difusa"/><category scheme="http://www.blogger.com/atom/ns#" term="sistema difuso"/><category scheme="http://www.blogger.com/atom/ns#" term="sistemas expertos"/><category scheme="http://www.blogger.com/atom/ns#" term="tipos de sistemas"/><title type='text'>Conceptos básicos sobre Sistemas Expertos</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Recientemente he subido un nuevo video a mi canal. Este video es sobre conceptos básicos relacionados a los sistema expertos.&lt;br /&gt;
Los sistemas expertos se consideran como una rama de la inteligencia artificial, es por ello que el video empieza dando un panorama general, para luego centrarse en definir los tipos de sistemas expertos, cómo se construyen y quiénes intervienen en su desarrrollo.&lt;br /&gt;
Finalmente, el video concluye con una explicación sobre el funcionamiento de un sistema experto difuso.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=ZUsicE_TUpw&quot; target=&quot;_blank&quot;&gt;Haga clic acá para ver el video en Youtube.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Si prefiere ver los gráficos a modo de resumen, los tiene a continuación:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXC55U6h4Wyv5HqiJ-rBw0ZxEeGbqdzNsWgN8gi2YLV6CMO0h_aHiXthiIeqJu5zNgTSl4NcBtV_YFdNSrztC2eiYOT7zPd8enxZvkh8waCA73KOVGdmUYO6A2B-fFBRCkaReMcKn-A9Q/s1600/09-pyramid.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXC55U6h4Wyv5HqiJ-rBw0ZxEeGbqdzNsWgN8gi2YLV6CMO0h_aHiXthiIeqJu5zNgTSl4NcBtV_YFdNSrztC2eiYOT7zPd8enxZvkh8waCA73KOVGdmUYO6A2B-fFBRCkaReMcKn-A9Q/s400/09-pyramid.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Pirámide del conocimiento&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_UYxQ9vWEFGThFblWxhyxNmyAbaa9Bvtlx2ecf1kGjqbTwIcqfDbx9hR6012iravK0LKEkNoCqModLS8dUc-gW96KrBe7xhZa2ITUhXF22cBfoROz6M8ufQ0d9qOMU1FxbAQdZfaUMjE/s1600/15-Expertos.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_UYxQ9vWEFGThFblWxhyxNmyAbaa9Bvtlx2ecf1kGjqbTwIcqfDbx9hR6012iravK0LKEkNoCqModLS8dUc-gW96KrBe7xhZa2ITUhXF22cBfoROz6M8ufQ0d9qOMU1FxbAQdZfaUMjE/s400/15-Expertos.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Experto humano VS Experto artificial&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ2TfxcE-UYvIVxS-E-wDNkACBZv4JAdXhB2KUi8bF2_VUS_Tlij4TkubskVMIQ1P5uKYN95AGTBhg_nM8Bq1CzOTu5PzHshKKexo9n780zyM-BQS6QjuKQecUrigX-TnIl9p2trW_4zA/s1600/17-Equipo.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ2TfxcE-UYvIVxS-E-wDNkACBZv4JAdXhB2KUi8bF2_VUS_Tlij4TkubskVMIQ1P5uKYN95AGTBhg_nM8Bq1CzOTu5PzHshKKexo9n780zyM-BQS6QjuKQecUrigX-TnIl9p2trW_4zA/s320/17-Equipo.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Equipo de desarrollo de un sistema experto&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgZs98KrE2vyheSQyfjTlE5uCSo0R99TZ3AphTrS3UxYZ5cw2ETnjxezXVE8yrn4nb2kqOLZWp72GMt-vuq4NgGvdMX-7NcsWcJS_UWNUDWiJmO5lesF1sYSHjMYaGuO4NaUeTYvNlxUY/s1600/18-constr.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgZs98KrE2vyheSQyfjTlE5uCSo0R99TZ3AphTrS3UxYZ5cw2ETnjxezXVE8yrn4nb2kqOLZWp72GMt-vuq4NgGvdMX-7NcsWcJS_UWNUDWiJmO5lesF1sYSHjMYaGuO4NaUeTYvNlxUY/s400/18-constr.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Pasos para la construcción de un sistema experto&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0PgxD8zej69LFRRBVAIgMY8imdibrGOt9GA6MfND_QpRcgUg4QESM2GZh1z6kXZKIgL91-n-UvQA76l7hl1j0BzBj0NFTs_V7fFyPyQeZ4Ktzcc5nqhHrgoVFgOmaYuEWbD4NBj4YLU/s1600/19-tipos.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0PgxD8zej69LFRRBVAIgMY8imdibrGOt9GA6MfND_QpRcgUg4QESM2GZh1z6kXZKIgL91-n-UvQA76l7hl1j0BzBj0NFTs_V7fFyPyQeZ4Ktzcc5nqhHrgoVFgOmaYuEWbD4NBj4YLU/s320/19-tipos.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Tipos de sistemas expertos (determinísticos y no determinísticos)&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXpz_pUbLKCh2L9uQVq-ncTQnkWRaDRR6nIEylb58p_GREEymd_oqIUpWs2c6zlMzY5PMoAL-1nQZRGHYBAMQOBqYFfHym5pN3OWKhAKSZtIc74pnvfQzboZSWa5olVD3zAuR4N3KJ8c/s1600/21-ctxt.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUXpz_pUbLKCh2L9uQVq-ncTQnkWRaDRR6nIEylb58p_GREEymd_oqIUpWs2c6zlMzY5PMoAL-1nQZRGHYBAMQOBqYFfHym5pN3OWKhAKSZtIc74pnvfQzboZSWa5olVD3zAuR4N3KJ8c/s320/21-ctxt.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Incertidumbre.- Variables y términos linguísticos.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7Lw1JOyveuBcNtLdfwqUYe8E6YQksBm-CroDc9fBMf1PfhZoONII_6yl8xG6nIPDa3GZL1h5xJyAfnDGnt4io82EOHqR4RJ5mgIC2r_OnT8PBpYBSKxgI4zTLld2eQAlCimlGnCwEuM/s1600/22-univ_disc.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;154&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV7Lw1JOyveuBcNtLdfwqUYe8E6YQksBm-CroDc9fBMf1PfhZoONII_6yl8xG6nIPDa3GZL1h5xJyAfnDGnt4io82EOHqR4RJ5mgIC2r_OnT8PBpYBSKxgI4zTLld2eQAlCimlGnCwEuM/s320/22-univ_disc.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Sistemas expertos difusos. Universo del discurso. Conjuntos difusos. Funciones de membresía.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLkJ6-GAlM8AtNY21VEsUoqE2iO76PnGm2oNtWyaUyNuhsk-kR2XpHjJ8zEz46xm3aEWX9tsXS8q_r8wfDl2fvqUX2qNyuLXIB4m80ozIzdzkJ_UHvN2XDN4E1KDV-fFxMehULD5-01kQ/s1600/23-Dise%25C3%25B1o-SE-Difuso.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLkJ6-GAlM8AtNY21VEsUoqE2iO76PnGm2oNtWyaUyNuhsk-kR2XpHjJ8zEz46xm3aEWX9tsXS8q_r8wfDl2fvqUX2qNyuLXIB4m80ozIzdzkJ_UHvN2XDN4E1KDV-fFxMehULD5-01kQ/s320/23-Dise%25C3%25B1o-SE-Difuso.png&quot; width=&quot;282&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Diseño de un sistema experto difuso.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdW3FD6-_coc05UtXBdaIxEnjVYQWVpuQgJVsihtx_jLh1ObH_LWMjoTkTSqcC4nF__HSyrbPBFQR8IEpxzmyynSlFEPIqrJ7dCYjJt3tgONHCVKnzuAh7cqnNZRqCzEguiMBMW_7q1iw/s1600/24-Electrodom.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;113&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdW3FD6-_coc05UtXBdaIxEnjVYQWVpuQgJVsihtx_jLh1ObH_LWMjoTkTSqcC4nF__HSyrbPBFQR8IEpxzmyynSlFEPIqrJ7dCYjJt3tgONHCVKnzuAh7cqnNZRqCzEguiMBMW_7q1iw/s400/24-Electrodom.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Funcionamiento de un sistema experto difuso.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Gracias por su visita. Recuerde ver el video para comprender mejor los conceptos.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/6564197823601425902/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2016/07/conceptos-basicos-sobre-sistemas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6564197823601425902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6564197823601425902'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2016/07/conceptos-basicos-sobre-sistemas.html' title='Conceptos básicos sobre Sistemas Expertos'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXC55U6h4Wyv5HqiJ-rBw0ZxEeGbqdzNsWgN8gi2YLV6CMO0h_aHiXthiIeqJu5zNgTSl4NcBtV_YFdNSrztC2eiYOT7zPd8enxZvkh8waCA73KOVGdmUYO6A2B-fFBRCkaReMcKn-A9Q/s72-c/09-pyramid.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-1929315070206292269</id><published>2014-11-25T07:28:00.000-08:00</published><updated>2014-11-25T07:28:24.668-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="abstracto"/><category scheme="http://www.blogger.com/atom/ns#" term="aprender"/><category scheme="http://www.blogger.com/atom/ns#" term="diseño grafico"/><category scheme="http://www.blogger.com/atom/ns#" term="diseño sencillo"/><category scheme="http://www.blogger.com/atom/ns#" term="geometrico"/><category scheme="http://www.blogger.com/atom/ns#" term="graficos"/><category scheme="http://www.blogger.com/atom/ns#" term="Illustrator"/><category scheme="http://www.blogger.com/atom/ns#" term="poster"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial Illustrator"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Tutorial básico de Illustrator</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Cómo crear un diseño geométrico abstracto.&lt;/h2&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=DYKvvQCYRyI&quot; target=&quot;_blank&quot;&gt;Ver videotutorial explicativo&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibTV6Ue7u2lgmz4plT2qi383ucLKeDsbNwq8OisYSyPVYq-50Cd6plO6SgH9VGYVRF5oafNXwnrCnZApqjPM8B42jEvZqKA78N1nKCjQgk92YGNz1P-gTl9ASmaW0zE5PSPLS6ZZqbwPM/s1600/0.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibTV6Ue7u2lgmz4plT2qi383ucLKeDsbNwq8OisYSyPVYq-50Cd6plO6SgH9VGYVRF5oafNXwnrCnZApqjPM8B42jEvZqKA78N1nKCjQgk92YGNz1P-gTl9ASmaW0zE5PSPLS6ZZqbwPM/s1600/0.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Buenos diseños pueden crearse incluso usando las herramientas más simples. En este tutorial vamos a crear un diseño geométrico usando básicamente hexágonos, colores y una serie de texturas.&lt;br /&gt;
Este diseño fácilmente puede usarse como un poster, o incluso como portada para un libro o álbum.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44okvtrmfReUsFr3YpEZ3jwRql_4caTZ9BrjBivl3tPKxB_0UgCEidufwpgf2BYQzLG_lfSgGpzMcTQpA07fzf1kjuCV7NrQ5edOWdyKKsype69xS9E9_S3ZnwsRgjUuoIYQbMGoofM4/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44okvtrmfReUsFr3YpEZ3jwRql_4caTZ9BrjBivl3tPKxB_0UgCEidufwpgf2BYQzLG_lfSgGpzMcTQpA07fzf1kjuCV7NrQ5edOWdyKKsype69xS9E9_S3ZnwsRgjUuoIYQbMGoofM4/s1600/1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
El diseño que estamos creando se compone de una serie de hexágonos repetidos. La inyección de colores al azar da vida a la presentación, y el uso de texturas permite crear un estilo similar a los patrones geométricos usados en los años 70.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DYe16bK-P2sp1R6cWXcN-VT2ad-twLL_-nZiZYSNHmUE6BR0KzkKVhYSVrOGQOM_XTktp23VbZ_kdU1atBdqiB38LvE0OfwWhGWm7Ix1UdOroLee2WX-yM7QTysYUWVhl8jTi5pbJaM/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2DYe16bK-P2sp1R6cWXcN-VT2ad-twLL_-nZiZYSNHmUE6BR0KzkKVhYSVrOGQOM_XTktp23VbZ_kdU1atBdqiB38LvE0OfwWhGWm7Ix1UdOroLee2WX-yM7QTysYUWVhl8jTi5pbJaM/s1600/2.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos a hacer uso de Illustrator y Photoshop para esta creación. Empezamos usando Illustrator y dibujamos un polígono de 6 caras en la mesa de trabajo. Giramos tal figura 90º y luego vamos a Objeto&amp;gt;Trazado&amp;gt;Desplazamiento e introducimos 3mm.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsK8Srp7zwjSm1fKHU92eihk9S8rlWKIQ0FBXmxH0yByol8kKIwlNmPFKwGROttsyAWvGEpZZszjELa5KYPdaEkaNa3KicbOzw6RLTYGIOUaYJm0w_5ycJpAlTTkSd_wGaAqoZlBpq10A/s1600/3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsK8Srp7zwjSm1fKHU92eihk9S8rlWKIQ0FBXmxH0yByol8kKIwlNmPFKwGROttsyAWvGEpZZszjELa5KYPdaEkaNa3KicbOzw6RLTYGIOUaYJm0w_5ycJpAlTTkSd_wGaAqoZlBpq10A/s1600/3.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Seleccionamos la nueva forma y le quitamos el relleno y el trazo. Para ello seleccinamos las casillas de relleno y trazo, e individualmente elegimos el pequeño ícono con una línea roja diagonal.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhq4RCVfP-FJjm5QNIxzirNFmOPr6mk9pi2beYb3bTsb0gKZ8nOQ8yxUYZqWf5GpFph9GL2kgVYb0U_bddmhPbCg5OQj4VQuIXA129omy8CRZ2W5-mt72uPNh_7OdHiaTBo1z9MBV4gE/s1600/4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhq4RCVfP-FJjm5QNIxzirNFmOPr6mk9pi2beYb3bTsb0gKZ8nOQ8yxUYZqWf5GpFph9GL2kgVYb0U_bddmhPbCg5OQj4VQuIXA129omy8CRZ2W5-mt72uPNh_7OdHiaTBo1z9MBV4gE/s1600/4.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Presionamos Ctrl+Y para activar el modo de esquema, y luego presionamos Ctrl+U para activar las guías inteligentes. Manteniendo ALT presionado hacemos clic y arratramos para obtener un duplicado de las formas, horizontalmente, hasta que queden alineados.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCt2rS5hdJGK8IvNpCL7pAw2ZkzmKZXk-YEJnZ-4HZcC0B6dy9OOeNvLMRVwxM2vMuJpS0XP3thpO5DmCOeuLoZlEcyVYbpPm6EHEdXIfHfg7FdwclbcdwZXlXWl-_oKGBG3TcirdSPfc/s1600/5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCt2rS5hdJGK8IvNpCL7pAw2ZkzmKZXk-YEJnZ-4HZcC0B6dy9OOeNvLMRVwxM2vMuJpS0XP3thpO5DmCOeuLoZlEcyVYbpPm6EHEdXIfHfg7FdwclbcdwZXlXWl-_oKGBG3TcirdSPfc/s1600/5.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Presionamos Ctrl+D varias veces, para repetir la transformación, hasta obtener una larga lista de hexágonos.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvLoT65h1mwK1FLsqG5KhrdXFwWYe4mDoH60UwNKXLgJxEjn_aQ98KRzqV1jNFu1UUhYIMXuolw6nXZLN9JT2oD0fm9m3H3uT6NrQnAIjX3c69DhGHtmipvXQAVXrtUAacf2HIW-mBrSc/s1600/6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvLoT65h1mwK1FLsqG5KhrdXFwWYe4mDoH60UwNKXLgJxEjn_aQ98KRzqV1jNFu1UUhYIMXuolw6nXZLN9JT2oD0fm9m3H3uT6NrQnAIjX3c69DhGHtmipvXQAVXrtUAacf2HIW-mBrSc/s1600/6.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Seleccinamos el conjunto de hexágonos en línea y escalamos a un menor tamaño para que quepan en la mesa de trabajo. Debemos mantener SHIFT pulsado mientras hacemos ello para conservar las proporciones.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5dM3ZiuLU5rwmvl2a2SOnTNpCbEmIdi9-QIKyhQ-2jZbEKYsMwEL4K7x7uSQ51jk7PRb-vWgf6HN7MBM_RBexXrnQ9pbkPZiCjDQsotoK3Iq7iJbXr_MVZWFToCtlTxvrDhjuF7KGG74/s1600/7.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5dM3ZiuLU5rwmvl2a2SOnTNpCbEmIdi9-QIKyhQ-2jZbEKYsMwEL4K7x7uSQ51jk7PRb-vWgf6HN7MBM_RBexXrnQ9pbkPZiCjDQsotoK3Iq7iJbXr_MVZWFToCtlTxvrDhjuF7KGG74/s1600/7.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Sin quitar la selección mantenemos presionado ALT y arrastramos para obtener otro duplicado. Ahora, debemos alinear el contorno entre los bordes inferiores de los originales.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXcPkl9alUbgmW8hqoygjY6nLcWZPU285qtecaB3-NVXJZn4_zkZPeAX4wYpfckHHGjwNxYPWtJJb2K3JLr2z0KxLUUeSUpxAL9tfKdJwhZAXc1KOhUL0kTpLoqoVksbPXzzhHmx6eDoA/s1600/8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXcPkl9alUbgmW8hqoygjY6nLcWZPU285qtecaB3-NVXJZn4_zkZPeAX4wYpfckHHGjwNxYPWtJJb2K3JLr2z0KxLUUeSUpxAL9tfKdJwhZAXc1KOhUL0kTpLoqoVksbPXzzhHmx6eDoA/s1600/8.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Clic y arrastramos para obtener otro duplicado de la primera fila. Esta vez desplazamos el duplicado solo horizontalmente.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD9JQJ1mQpoWChpgXF1Nm4wHBW-zR48kH1600b_7GrJRFm9qs3xtO-LPIe_c5vD4_nVFGnor2RMaM6h77nKHBqXy8QLH0x9g4QRJcLHMwLcnGkoazAyK19TuHXqMicwccZuZJeuzW2Mlc/s1600/9.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD9JQJ1mQpoWChpgXF1Nm4wHBW-zR48kH1600b_7GrJRFm9qs3xtO-LPIe_c5vD4_nVFGnor2RMaM6h77nKHBqXy8QLH0x9g4QRJcLHMwLcnGkoazAyK19TuHXqMicwccZuZJeuzW2Mlc/s1600/9.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Usamos Ctrl+D para repetir esta transformación. No debemos prestar atención a los vacíos que van quedando en el diseño ya que en seguida lo solucionaremos.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZlJUMEa2i9CmJnke7mlJ_9kAZHbUdLsPYIRVgGcYMDvdbwp-IafvdOiis7yh95JqJiQcZohqIrxHOQX7tE9I2-lUUQmSqNKe9zJBXQi-dPeas-mfdkU_PCCWh_LD8L6SMTYnb_ZfZuWA/s1600/10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZlJUMEa2i9CmJnke7mlJ_9kAZHbUdLsPYIRVgGcYMDvdbwp-IafvdOiis7yh95JqJiQcZohqIrxHOQX7tE9I2-lUUQmSqNKe9zJBXQi-dPeas-mfdkU_PCCWh_LD8L6SMTYnb_ZfZuWA/s1600/10.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora obtenemos un duplicado de la segunda fila y repetimos esta transformación usando el atajo Ctrl+D hasta que el patrón esté completamente lleno.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit718Dx3xgkiAYlRmrtxXUat1QZrCRi125UoKTqvA1xAhyjVlfka0hgevevEyjNJ7igvQDjXP22SK33z4aHHyG-33M8g6iaF8MI6gDfE8wEu3j1DFFRMZAvIq5wlGTlWZCflJufwZRqtM/s1600/11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit718Dx3xgkiAYlRmrtxXUat1QZrCRi125UoKTqvA1xAhyjVlfka0hgevevEyjNJ7igvQDjXP22SK33z4aHHyG-33M8g6iaF8MI6gDfE8wEu3j1DFFRMZAvIq5wlGTlWZCflJufwZRqtM/s1600/11.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Para dar simetría al patrón, seleccionamos y eliminamos todos los hexágonos que sobresalen por la derecha.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_tHIRot7H12cu7_i0OH5CiR2hPh1P76PhBpsj6ig3blY8nHThOGcci6stEXOoryOtK_DqI3PO_DYaBvdzsILUO_WXXtibyunB9ip5lZqU-z1oCDiPy94BO36HXqfNc6lOSoQYm6Xhcs/s1600/12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_tHIRot7H12cu7_i0OH5CiR2hPh1P76PhBpsj6ig3blY8nHThOGcci6stEXOoryOtK_DqI3PO_DYaBvdzsILUO_WXXtibyunB9ip5lZqU-z1oCDiPy94BO36HXqfNc6lOSoQYm6Xhcs/s1600/12.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Seleccionamos todo el patrón y pulsamos Ctrl+G para crear un nuevo grupo. Centramos el diseño en la mesa de trabajo con la paleta Alinear. Luego, clic derecho y seleccionamos Desagrupar.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPDE6w6EdzF6vKu3TT_Uba8-4LbdvBRRORT3J-vrmtPbqcj28WMB7jUyt8nM0_iSTfm96zqBl8KpT3CvQJzXoXliETqoDK3vEA4_unOBdXalVWaHve7An0j64wIJrJ_8D9dHa32tnAKjg/s1600/13.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPDE6w6EdzF6vKu3TT_Uba8-4LbdvBRRORT3J-vrmtPbqcj28WMB7jUyt8nM0_iSTfm96zqBl8KpT3CvQJzXoXliETqoDK3vEA4_unOBdXalVWaHve7An0j64wIJrJ_8D9dHa32tnAKjg/s1600/13.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Presionamos Ctrl+Y para desactivar el modo de esquema. Los hexágonos con los que trabajamos están todos presentes, solo que no son visibles los de mayor tamaño por el hecho de haberles quitado tanto relleno como trazo al inicio.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-XqL9Oy6iDdtEXmJgW-b9hFMYZnDG4uzvFTxWhYYmwxsQOR0xhQRQfoKRoDioyEzIwcXTZrpO4_Ga-xbmCFY0jGoJ-6jd8WWQ9meaum46CiZm77v5WnlEBTCzea72k2UTtfBf_MqmiGg/s1600/14.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-XqL9Oy6iDdtEXmJgW-b9hFMYZnDG4uzvFTxWhYYmwxsQOR0xhQRQfoKRoDioyEzIwcXTZrpO4_Ga-xbmCFY0jGoJ-6jd8WWQ9meaum46CiZm77v5WnlEBTCzea72k2UTtfBf_MqmiGg/s1600/14.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Usando una agradable paleta de colores dibujamos unos rectángulos para que los colores queden a nuestro alcance (luego podríamos usar cuentagotas para facilitarnos las cosas).&lt;br /&gt;
Luego, con un color determinado, dibujamos un gran rectángulo de fondo.&lt;br /&gt;
De hecho el rectángulo quedará sobre las demás formas, por lo que habría que enviarlo atrás.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Vepke9IXoulGgevAKJTuCQtDH_RmhWD34s2GOTzj6v-OwCaezPHqVIje3iCR2SsyUge95l6TZQW54ZtbpoQsMcWr8feAyJRykWGHS3KXu3sy-DTs0lJDueqOey_mGhh0CDYIN22NqJ8/s1600/15.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Vepke9IXoulGgevAKJTuCQtDH_RmhWD34s2GOTzj6v-OwCaezPHqVIje3iCR2SsyUge95l6TZQW54ZtbpoQsMcWr8feAyJRykWGHS3KXu3sy-DTs0lJDueqOey_mGhh0CDYIN22NqJ8/s1600/15.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Manteniendo pulsada la tecla SHIFT seleccionamos al azar una serie de hexágonos, y asignamos a dicha selección el primer color de la paleta elegida.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBWWfnCi6QJ9MP7H46f6bii94ZSlZb3GhGjKJZNB6BFRL8lwK7GHLgmifpBoAamlPhCZ9VKBHETJ4U4vlWdOc2Au5HBUC0-jMqh1-rRb8AjW65bPKQlFWgjxLaW1HV9_UBGQH8ANVAAyE/s1600/16.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBWWfnCi6QJ9MP7H46f6bii94ZSlZb3GhGjKJZNB6BFRL8lwK7GHLgmifpBoAamlPhCZ9VKBHETJ4U4vlWdOc2Au5HBUC0-jMqh1-rRb8AjW65bPKQlFWgjxLaW1HV9_UBGQH8ANVAAyE/s1600/16.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Repetimos el proceso, esta vez eligiendo el segundo color de la paleta. Si seleccionamos un grupo de hexágonos de una forma no deseada luego podemos asignar colores a algunos hexágonos individualmente.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMQIaqO2bPYoijmFN2PLDIn9ftsykf302Sy0e2BQdJdZylP_-tp0sB0Ipt_cxAGyhLW4sKby-aKP_OvTLueOvgS4RunvSh_ekE-ouEaJpryGyv2d9l-hWSibjlKPbDxn2TCW1QF2Pn-sk/s1600/17.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMQIaqO2bPYoijmFN2PLDIn9ftsykf302Sy0e2BQdJdZylP_-tp0sB0Ipt_cxAGyhLW4sKby-aKP_OvTLueOvgS4RunvSh_ekE-ouEaJpryGyv2d9l-hWSibjlKPbDxn2TCW1QF2Pn-sk/s1600/17.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego de asignar los colores de nuestra paleta a cada hexágono vamos a hacer uso de Photoshop para superponer texturas a estos colores y dar un mayor realce al diseño.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8AQNxOaDhyphenhyphenq-KtpOrKnEwQLTW-aKyx6S5Bqp1BP8JVybnWqWOF9VuWKFP1MI2pDABia9h4Nht0KIAOspltJ_s0eGJ_iI8QVNWNmeagT8pdZcaz0la8M2VUxdFcyG1Cuzm8JcObjtg8qU/s1600/18.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8AQNxOaDhyphenhyphenq-KtpOrKnEwQLTW-aKyx6S5Bqp1BP8JVybnWqWOF9VuWKFP1MI2pDABia9h4Nht0KIAOspltJ_s0eGJ_iI8QVNWNmeagT8pdZcaz0la8M2VUxdFcyG1Cuzm8JcObjtg8qU/s1600/18.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Podríamos simplemente pegar todo el diseño a Photoshop y aplicar una textura general. Sin embargo, podemos lograr un mejor efecto si agregamos texturas diferentes para cada grupo de hexágonos del mismo color. Empezamos copiando el fondo a Photoshop.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJ2ALFzCI6y27OwRo9u6LYeIGyIJKu31Oy-kPIAVsRF2KZ0DyJ6UL52RwxMX8_ALlRnhraqfJH1auDiLr1FZ98t8cRLMVs9UgSxEsk5nd0hm9jrYtG23k9ONI1e-x5aMeItZLKTk1IdE/s1600/19.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJ2ALFzCI6y27OwRo9u6LYeIGyIJKu31Oy-kPIAVsRF2KZ0DyJ6UL52RwxMX8_ALlRnhraqfJH1auDiLr1FZ98t8cRLMVs9UgSxEsk5nd0hm9jrYtG23k9ONI1e-x5aMeItZLKTk1IdE/s1600/19.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Quitamos el relleno del fondo. Seleccinamos ahora un primer color y vamos a Seleccionar &amp;gt; Mismo &amp;gt; Color de relleno. Presionamos SHIFT y añadimos el gran contorno rectangular a la selección.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyehT9e2zNVmCmPA_lB4G4sMfP7wwbjsjYF4Jd_sTgEDDxOh4fffpj21u7Jf1BIFhKM3tYopOFMdnJLxIW9hyssG5SYtn8LYQqGGmBht0mQLiIyB61FVlezMC2tqaIV3y770t1-ivPak8/s1600/20.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyehT9e2zNVmCmPA_lB4G4sMfP7wwbjsjYF4Jd_sTgEDDxOh4fffpj21u7Jf1BIFhKM3tYopOFMdnJLxIW9hyssG5SYtn8LYQqGGmBht0mQLiIyB61FVlezMC2tqaIV3y770t1-ivPak8/s1600/20.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Copiamos y pegamos nuestra selección a Photoshop, creando otra capa, exclusiva para esta selección.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6oF8-6lSCoQTKs0cJqnNP4_YU6DDvd5yfiy2bEes393Xszpv08YL6SezmyIMAmuwHEDZH8bM07xC6k7O_lu89mRUpU9fTu6u-TG21r8k2lgWjn1jmpjJqgY0MENsW6U3-ZQQaqR4-fj4/s1600/21.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6oF8-6lSCoQTKs0cJqnNP4_YU6DDvd5yfiy2bEes393Xszpv08YL6SezmyIMAmuwHEDZH8bM07xC6k7O_lu89mRUpU9fTu6u-TG21r8k2lgWjn1jmpjJqgY0MENsW6U3-ZQQaqR4-fj4/s1600/21.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Repetimos el proceso, seleccionando otros grupos de hexágonos con los colores restantes.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1rnoT0hBBilW6dwyiMTOvIvjUGM7dk87CDV2r53C97_Ugc8xEz0p7eVKXcQU_gFC9qyVSFnJyeCJzOLFyP7_qpNwowsdFYTHmC0JeULHH-w2gw-ikp9X_8P-KbfFV_RmuY2Teh6cAgfE/s1600/22.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1rnoT0hBBilW6dwyiMTOvIvjUGM7dk87CDV2r53C97_Ugc8xEz0p7eVKXcQU_gFC9qyVSFnJyeCJzOLFyP7_qpNwowsdFYTHmC0JeULHH-w2gw-ikp9X_8P-KbfFV_RmuY2Teh6cAgfE/s1600/22.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Buscamos algunas texturas en este enlace: http://lostandtaken.com/gallery&lt;br /&gt;
Pegamos una textura a Photoshop, sobre nuestra primera capa, y la desaturamos cambiando el modo de fusión a &quot;Multiplicar&quot; con un 30% de opacidad.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc6d-oxCn6ZQd51PpGClYuH7a1XBm9Fz6A1tCd74_AKVCDFoLFtXawB-O9sYlnJlG5yVFNDVXhz9j1ThYxrxrKrmUz0riEdn2Uv-BOZo5zsAkX85EmzhEKp5nk1EbA8DO5dTl7IH-IVDU/s1600/23.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc6d-oxCn6ZQd51PpGClYuH7a1XBm9Fz6A1tCd74_AKVCDFoLFtXawB-O9sYlnJlG5yVFNDVXhz9j1ThYxrxrKrmUz0riEdn2Uv-BOZo5zsAkX85EmzhEKp5nk1EbA8DO5dTl7IH-IVDU/s1600/23.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Pegamos otra textura sobre la capa de hexágonos del primer color y desaturamos.&lt;br /&gt;
Hacemos CTRL+click sobre la miniatura de la capa de hexágonos para cargar su selección, y a continuación, aplicamos &quot;Layer Mask&quot; sobre la capa de la textura para recortar al tamaño adecuado.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpf3BioL86JBHQO1fGm2WyCmCx98WytiE2aOKE_YZIsU6LqMr9yAdaFxDUfHplwZjfRiYUN7Ikn_UA0LK7Inei5CI9MxKWUg5FcIcdOnzZBQf-B6i5-o0bxAqK4bLeQlpUETK9lqfJmg8/s1600/24.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpf3BioL86JBHQO1fGm2WyCmCx98WytiE2aOKE_YZIsU6LqMr9yAdaFxDUfHplwZjfRiYUN7Ikn_UA0LK7Inei5CI9MxKWUg5FcIcdOnzZBQf-B6i5-o0bxAqK4bLeQlpUETK9lqfJmg8/s1600/24.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Cambiamos la capa de la textura a &quot;Luz suave&quot; con 70%, para crear una serie de marcas sobre el diseño. La aplicación de una textura general habría afectado a todo el diseño. En este caso solo alteramos las primeras formas.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg0Yjs3VPG2qE6_EWRZu1B7BNIvdZ6IGyP_aX_kUKjhx-Fn6H7k4qMYgnKKGz0prwqCLAsxEibFkWc3WQw0ejE9OP91pTYCllzGgt_ywjYh-sWSWpz4OgzsnpLeQk6cuL6xbSta9n1bjo/s1600/25.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg0Yjs3VPG2qE6_EWRZu1B7BNIvdZ6IGyP_aX_kUKjhx-Fn6H7k4qMYgnKKGz0prwqCLAsxEibFkWc3WQw0ejE9OP91pTYCllzGgt_ywjYh-sWSWpz4OgzsnpLeQk6cuL6xbSta9n1bjo/s1600/25.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Repetimos el proceso con otras texturas para las capas de hexágonos siguientes. Cargamos la selección y aplicamos &quot;Layer mask&quot; (Máscara de capa).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44okvtrmfReUsFr3YpEZ3jwRql_4caTZ9BrjBivl3tPKxB_0UgCEidufwpgf2BYQzLG_lfSgGpzMcTQpA07fzf1kjuCV7NrQ5edOWdyKKsype69xS9E9_S3ZnwsRgjUuoIYQbMGoofM4/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg44okvtrmfReUsFr3YpEZ3jwRql_4caTZ9BrjBivl3tPKxB_0UgCEidufwpgf2BYQzLG_lfSgGpzMcTQpA07fzf1kjuCV7NrQ5edOWdyKKsype69xS9E9_S3ZnwsRgjUuoIYQbMGoofM4/s1600/1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
La superposición de texturas elimina la apariencia limpia y plana de un diseño digital y da a nuestro diseño un aspecto más realista.&lt;br /&gt;
&lt;br /&gt;
Esto es todo. Si desean ver el contenido original en inglés pueden hacerlo dando &lt;a href=&quot;http://blog.spoongraphics.co.uk/tutorials/how-to-create-an-abstract-geometric-poster-design&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;click aquí&lt;/a&gt;.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/1929315070206292269/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/11/como-crear-un-diseno-geometrico.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1929315070206292269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1929315070206292269'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/11/como-crear-un-diseno-geometrico.html' title='Tutorial básico de Illustrator'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibTV6Ue7u2lgmz4plT2qi383ucLKeDsbNwq8OisYSyPVYq-50Cd6plO6SgH9VGYVRF5oafNXwnrCnZApqjPM8B42jEvZqKA78N1nKCjQgk92YGNz1P-gTl9ASmaW0zE5PSPLS6ZZqbwPM/s72-c/0.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-1279303181443712389</id><published>2014-09-09T20:00:00.002-07:00</published><updated>2014-09-10T18:21:12.177-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algoritmos"/><category scheme="http://www.blogger.com/atom/ns#" term="concursos"/><category scheme="http://www.blogger.com/atom/ns#" term="consola"/><category scheme="http://www.blogger.com/atom/ns#" term="ejercicios"/><category scheme="http://www.blogger.com/atom/ns#" term="interesantes"/><category scheme="http://www.blogger.com/atom/ns#" term="programación"/><category scheme="http://www.blogger.com/atom/ns#" term="programas"/><category scheme="http://www.blogger.com/atom/ns#" term="resolver"/><category scheme="http://www.blogger.com/atom/ns#" term="retos"/><category scheme="http://www.blogger.com/atom/ns#" term="tiempo compilación"/><category scheme="http://www.blogger.com/atom/ns#" term="tiempo ejecución"/><title type='text'>Retos de Programación</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLPT0I1wtuXpeKMfay3MtbWpYMTyN74_NyizgQMaFYq3c2c6bB8ehV7C6a620BwmB3xc0cL-eTPlimHswa59P9tOhB6jTaHppqtRaXRiZ36P1rPri9MHkqWeV0JogfqS1JmXTPFh2YKzU/s1600/retos.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLPT0I1wtuXpeKMfay3MtbWpYMTyN74_NyizgQMaFYq3c2c6bB8ehV7C6a620BwmB3xc0cL-eTPlimHswa59P9tOhB6jTaHppqtRaXRiZ36P1rPri9MHkqWeV0JogfqS1JmXTPFh2YKzU/s1600/retos.png&quot; height=&quot;380&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
He aperturado una nueva sección en el canal de &quot;Programación y más&quot;.&lt;br /&gt;
De hecho se trata de una lista de reproducción, en la que incluiré videos relacionados a retos de programación. Es decir, aquí se propondrán enunciados de ejercicios de programación.&lt;br /&gt;
&lt;br /&gt;
Cabe resaltar que estos ejercicios tienen una solución netamente lógica. Es decir, pueden resolverse usando cualquier lenguaje de programación, sin necesitar conocer acerca de interfaces gráficas, pues basta mostrar la solución por consola o en el método más simple de salida que presente el lenguaje.&lt;br /&gt;
&lt;br /&gt;
Los ejercicios que en tal lista incluya podrían llegar allí por diversos motivos:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;propuesta interesante que se me haya ocurrido&lt;/li&gt;
&lt;li&gt;enunciado interesantes que haya leído, escuchado o soñado&lt;/li&gt;
&lt;li&gt;enunciado propuesto por alguno de los visitantes al canal&lt;/li&gt;
&lt;li&gt;enunciado de algún concurso de programación, siempre que sea interesante&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y aquí el primer video de la lista de reproducción, que es más que todo una introducción:&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=WHXgyCU2NB0&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
¡ Éxitos !&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/1279303181443712389/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/09/retos-de-programacion.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1279303181443712389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1279303181443712389'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/09/retos-de-programacion.html' title='Retos de Programación'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLPT0I1wtuXpeKMfay3MtbWpYMTyN74_NyizgQMaFYq3c2c6bB8ehV7C6a620BwmB3xc0cL-eTPlimHswa59P9tOhB6jTaHppqtRaXRiZ36P1rPri9MHkqWeV0JogfqS1JmXTPFh2YKzU/s72-c/retos.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-4124217845349671985</id><published>2014-08-21T10:00:00.001-07:00</published><updated>2014-08-21T10:06:42.711-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="comparaciones"/><category scheme="http://www.blogger.com/atom/ns#" term="círculo en ASM"/><category scheme="http://www.blogger.com/atom/ns#" term="etiquetas"/><category scheme="http://www.blogger.com/atom/ns#" term="graficar círculo"/><category scheme="http://www.blogger.com/atom/ns#" term="graficar en Assembler"/><category scheme="http://www.blogger.com/atom/ns#" term="interrupciones"/><category scheme="http://www.blogger.com/atom/ns#" term="lenguaje ensamblador"/><category scheme="http://www.blogger.com/atom/ns#" term="modo de video"/><category scheme="http://www.blogger.com/atom/ns#" term="modo gráfico"/><category scheme="http://www.blogger.com/atom/ns#" term="pop"/><category scheme="http://www.blogger.com/atom/ns#" term="procedimientos"/><category scheme="http://www.blogger.com/atom/ns#" term="push"/><category scheme="http://www.blogger.com/atom/ns#" term="segmento de datos"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Cómo graficar un círculo en Assembler</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
En esta ocasión veremos cómo graficar un círculo usando el lenguaje ensamblador o ASM.&lt;br /&gt;
El programa además de ello permite desplazar el círculo con el teclado numérico, de forma que pueda moverse a los costados, hacia arriba, hacia abajo y en cualquiera de las diagonales. Adicionalmente es posible aumentar o disminuir el radio del círculo en tiempo de ejecución, mientras se desplaza o incluso si está detenido. Y, finalmente, es posible cambiar el color del círculo de forma aleatoria.&lt;br /&gt;
&lt;br /&gt;
En esta entrada se explica de manera general el programa, lo que incluye una explicación breve sobre los siguientes temas:&lt;br /&gt;
- Modo de video: texto o modo gráfico&lt;br /&gt;
- Segmentos de uso general&lt;br /&gt;
- Segmento de datos, segmento de pila, segmento extra, segmento de código&lt;br /&gt;
- Cómo usar las instrucciones PUSH y POP&lt;br /&gt;
- Zero flag y otros registros bandera&lt;br /&gt;
- Comparaciones, como JNZ, etiquetas y saltos&lt;br /&gt;
- Procedimientos&lt;br /&gt;
- Funciones e interrupciones&lt;br /&gt;
&lt;br /&gt;
La explicación, como de costumbre, se encuentra detallada en un videotutorial, al que pueden acceder desde el siguiente enlace:&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=h9KqifgNpwY&quot; target=&quot;_blank&quot;&gt;Tutorial sobre cómo graficar un círculo en Assembler&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5a8CRqOZhhdVZ4nVZvQE-GI-YZm6H32z4JpLOFiAZDBYtdgjOJkjr7xScvg5tYPs_C3QeJpDvGPTsW2rXo8CFaB101qyeUk_bjLLKhN2RGhWRfJo6-1dF3RejWD5pbvx4Kwm_PykggDk/s1600/cirMove.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5a8CRqOZhhdVZ4nVZvQE-GI-YZm6H32z4JpLOFiAZDBYtdgjOJkjr7xScvg5tYPs_C3QeJpDvGPTsW2rXo8CFaB101qyeUk_bjLLKhN2RGhWRfJo6-1dF3RejWD5pbvx4Kwm_PykggDk/s1600/cirMove.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
De hecho olvidé hacer antes un tutorial explicativo sobre cómo ejecutar código Assembler, por lo que pronto agregaré este video a la lista de reproducción. De todas formas, si tienen dudas pueden comentarlas y les responderé.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Si desean, pueden incluso acceder al código fuente del programa desde el siguiente enlace:&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://mega.co.nz/#!3Q4GDSrK!A1i-wMhRWSPjisyTTWNUmfpVobqZhKaHVw9EqqBsg_4&quot; target=&quot;_blank&quot;&gt;Descargar código Assembler para graficar un círculo de colores y desplazable&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/4124217845349671985/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/08/como-graficar-un-circulo-en-assembler.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4124217845349671985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4124217845349671985'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/08/como-graficar-un-circulo-en-assembler.html' title='Cómo graficar un círculo en Assembler'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5a8CRqOZhhdVZ4nVZvQE-GI-YZm6H32z4JpLOFiAZDBYtdgjOJkjr7xScvg5tYPs_C3QeJpDvGPTsW2rXo8CFaB101qyeUk_bjLLKhN2RGhWRfJo6-1dF3RejWD5pbvx4Kwm_PykggDk/s72-c/cirMove.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-4679667146638979826</id><published>2014-08-12T19:49:00.000-07:00</published><updated>2014-08-28T07:39:44.368-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="aprender Illustrator"/><category scheme="http://www.blogger.com/atom/ns#" term="desde cero"/><category scheme="http://www.blogger.com/atom/ns#" term="diseño paisaje"/><category scheme="http://www.blogger.com/atom/ns#" term="herramienta elipse"/><category scheme="http://www.blogger.com/atom/ns#" term="Illustrator"/><category scheme="http://www.blogger.com/atom/ns#" term="mesas de trabajo"/><category scheme="http://www.blogger.com/atom/ns#" term="paleta de colores"/><category scheme="http://www.blogger.com/atom/ns#" term="rectángulo"/><category scheme="http://www.blogger.com/atom/ns#" term="selección directa"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial básico"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Cómo diseñar un paise en Adobe Illustrator</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Tutorial básico de Adobe Illustrator&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
Sinceramente, muy aparte de programar, siempre he sido particularmente &quot;no muy bueno&quot; en crear imágenes por mí mismo. Si necesitaba alguna imagen, en algún momento, simplemente realizaba búsquedas y tomaba alguna que se adecuara.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Sin embargo, recientemente he decidido comenzar a practicar un poco de diseño gráfico, y al menos, decidí empezar con &lt;b&gt;Illustrator&lt;/b&gt;. Este primer &lt;u&gt;tutorial&lt;/u&gt; es muy básico y es una buena oportunidad si usted también empieza.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El siguiente tutorial está &lt;a href=&quot;http://blog.spoongraphics.co.uk/tutorials/how-to-create-a-simple-landscape-scene-in-illustrator&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;escrito originalmente en inglés&lt;/a&gt;. Lo que les presento entonces es solo una traducción (no una traducción completamente literal, pues he cambiado un poco la redacción según creía conveniente).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
De todas formas, si usted prefiere seguir un video en vez de texto e imágenes, también puede hacerlo desde el siguiente enlace:&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=J_3J_pg5IYg&quot; target=&quot;_blank&quot;&gt;Clic para ver el videotutorial&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
-----------------------------------------------&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El diseño que haremos en esta ocasión es un paisaje sencillo, compuesto de formas básicas y una paleta limitada de colores verdes y amarillos. Un diseño realizado con vectores tiende a lucir relativamente plano y sin vida, por lo que luego de usar Illustrator pasaremos a usar Photoshop para aplicar sobre nuestro diseño algunas texturas. Esto mejorará notablemente la apariencia final de nuestro trabajo.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7YkKt9GKOUlTXLXoAvJa99OQ7yix-X-AV4_Bwqds5yTRNq1g1zxS8tJOK6JZ9IBG-vNetpSNEjjeKXyW4d1YarUeF-SFGZh1h60OwjWxijwHUyXf9dGnNH0t421pdLS6mvACiTTo0ZY/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7YkKt9GKOUlTXLXoAvJa99OQ7yix-X-AV4_Bwqds5yTRNq1g1zxS8tJOK6JZ9IBG-vNetpSNEjjeKXyW4d1YarUeF-SFGZh1h60OwjWxijwHUyXf9dGnNH0t421pdLS6mvACiTTo0ZY/s1600/1.jpg&quot; height=&quot;282&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
Abrimos &lt;b&gt;Adobe Illustrator&lt;/b&gt; y creamos un nuevo documento. Las dimensiones del documento no tienen importancia, lo importante es ir a Ver-&amp;gt;Ocultar &lt;u&gt;mesas de trabajo&lt;/u&gt;, para quitar los límites del documento.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Vamos a necesitar una &lt;i&gt;paleta de colores&lt;/i&gt; que se adecue a nuestra ilustración. El autor del tutorial ha usado la combinación de colores mostrada anteriormente. Nosotros podríamos dirigirnos a la ventana &quot;Guía de color&quot; y seleccionar la que mejor nos parezca.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El primer paso es crear un rectángulo grande, que sería el fondo de nuestra ilustración, usando el color más claro de nuestra paleta.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZhwVIL6Xn2Ve8Cc73dZ36Ehgjqr-_g3YjkcXicssYwEVmjuxTIvx9g5HH2DklFSIwYRCmRd__hJJw9GZ_I0Ms_Zd2DlQCjE7jK7143OM8xpcTthDTBH3vWPSMwz3X7632hqMLU5qWRkM/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZhwVIL6Xn2Ve8Cc73dZ36Ehgjqr-_g3YjkcXicssYwEVmjuxTIvx9g5HH2DklFSIwYRCmRd__hJJw9GZ_I0Ms_Zd2DlQCjE7jK7143OM8xpcTthDTBH3vWPSMwz3X7632hqMLU5qWRkM/s1600/2.jpg&quot; height=&quot;272&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego, usando el color más cercano al verde de nuestra paleta dibujamos un rectángulo y un óvalo, para representar una colina. Dado que ambas formas tienen el mismo color parecerán ser una sola pero realmente pueden moverse por separado.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw3AcgCx6GujUCotcyRDDDOcwWS4HLiGWhJoKNqRWYK0VK2RVb04THkCmZmZyUGpUxtw-IAfZ3ojKsldnto952-sm0eJrvHL812Wnq2605ANZu9wbOkU2w9Mx-e5wWaIp9V2HX_v6cKEk/s1600/3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw3AcgCx6GujUCotcyRDDDOcwWS4HLiGWhJoKNqRWYK0VK2RVb04THkCmZmZyUGpUxtw-IAfZ3ojKsldnto952-sm0eJrvHL812Wnq2605ANZu9wbOkU2w9Mx-e5wWaIp9V2HX_v6cKEk/s1600/3.jpg&quot; height=&quot;293&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ahora elegimos un color verde más oscuro y dibujamos nuevamente un óvalo para representar otra colina. Esta nueva colina la seleccionamos y damos click derecho sobre ella, luego elegimos la opción Organizar-&amp;gt;&quot;Enviar atrás&quot;, de modo que se encuentre detrás de la primera colina pero sobre el fondo que pintamos inicialmente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCeCgfev4Y2TGKpvpyrQHqoBfJVtbOW70FxyEk73Tko3_F6iPqoJdErBl8QvE5HNVory4VYo3EDUwdDm-tNA8mVon4T5C_joaIs6thhP8bNzDrBQjJTD5OceMLdXnrWpRSLggLmfBF1H8/s1600/4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCeCgfev4Y2TGKpvpyrQHqoBfJVtbOW70FxyEk73Tko3_F6iPqoJdErBl8QvE5HNVory4VYo3EDUwdDm-tNA8mVon4T5C_joaIs6thhP8bNzDrBQjJTD5OceMLdXnrWpRSLggLmfBF1H8/s1600/4.jpg&quot; height=&quot;327&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ahora usamos la herramienta elipse nuevamente, pero manteniendo pulsado SHIFT, para dibujar un círculo.&lt;/div&gt;
&lt;div&gt;
Así mismo, usando la herramienta pluma dibujamos un triángulo con 4 clicks. Podemos ajustar la forma del triángulo usando la herramienta &quot;Selección directa&quot;, que nos permitirá mover cualquiera de los 3 puntos que fijamos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTVINnEfNfcf4TsM-jxTp1ZaNhcYJD4RXRPuMaC9iUUc8m0wtrytmYZOdkN8YPh_ptaMELo7KtGAXlzAyRYhyphenhyphenWDCxfBTN6B1STk67_hlB1Z_Uf4-hj8vZSSl2iFEqKpi9p0zp2Cjgo3bM/s1600/5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTVINnEfNfcf4TsM-jxTp1ZaNhcYJD4RXRPuMaC9iUUc8m0wtrytmYZOdkN8YPh_ptaMELo7KtGAXlzAyRYhyphenhyphenWDCxfBTN6B1STk67_hlB1Z_Uf4-hj8vZSSl2iFEqKpi9p0zp2Cjgo3bM/s1600/5.jpg&quot; height=&quot;342&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ahora movemos el triángulo que acabamos graficar y lo posicionamos como el tronco de un árbol. Entonces copiamos el triángulo y pegamos un duplicado, escalamos y rotamos el duplicado para que forme una rama del árbol. Superponemos la rama sobre el tronco y vemos cómo combinan bastante bien.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1sCNw9nqEHGJXKEjWuPD2oMUdj_oSXZrqcmQucpOR6ce5I2wTYgpzJmhJVkmyPuMVZA3X2uNuH8_YX0NsEZn2DcWIrh0WlnRi7O4WNMPccotgbOH4lmuOVUvMNljFSdzRaYO_uxvBkc/s1600/6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1sCNw9nqEHGJXKEjWuPD2oMUdj_oSXZrqcmQucpOR6ce5I2wTYgpzJmhJVkmyPuMVZA3X2uNuH8_YX0NsEZn2DcWIrh0WlnRi7O4WNMPccotgbOH4lmuOVUvMNljFSdzRaYO_uxvBkc/s1600/6.jpg&quot; height=&quot;303&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Presionando SHIFT seleccionamos todas las formas que componen un árbol y entonces, luego de seleccionar, presionando ALT arrastramos lo seleccionado a otra posición, para generar duplicados.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwHL7jyCrTaXvB8r4o_QtJjU_-iQThIXGsCibTWyGw0nU5WuXn5R4Yimt2qQI3TTD2eRathaYaBE7AbwH_yAYZhIxX8Ziu7F4zxXCD_eQr5G4sZXzwfVmDEur-sey2iRokvXO2IjwAgiU/s1600/7.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwHL7jyCrTaXvB8r4o_QtJjU_-iQThIXGsCibTWyGw0nU5WuXn5R4Yimt2qQI3TTD2eRathaYaBE7AbwH_yAYZhIxX8Ziu7F4zxXCD_eQr5G4sZXzwfVmDEur-sey2iRokvXO2IjwAgiU/s1600/7.jpg&quot; height=&quot;306&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ajustamos la orientación de las ramas, de modo que cada árbol tenga un aspecto único.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyS0vJrFjtsreQmyQJae_hJ1yZEyO3tCYdw_rX7wrH4ONnTZVG2v9Q7Qkcbrev07ho2_XHMVA6K_AkDPBTet-01kP_sfCfInMzM8rvcBif8fbLkowLlEXkYRuMAifbyfj1ISwwIjBGPE8/s1600/8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyS0vJrFjtsreQmyQJae_hJ1yZEyO3tCYdw_rX7wrH4ONnTZVG2v9Q7Qkcbrev07ho2_XHMVA6K_AkDPBTet-01kP_sfCfInMzM8rvcBif8fbLkowLlEXkYRuMAifbyfj1ISwwIjBGPE8/s1600/8.jpg&quot; height=&quot;311&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Seleccionamos el rectángulo que está de fondo, lo copiamos y pegamos encima. Le quitamos el color de relleno en la barra de herramientas, pues solo nos interesa su forma.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNGNgk8rqyndFMfKihmf1MJqfdMoz9a8wdPDOoPF-KL-C2LyWlfa-SEqDOtvK0gIbC3xICSLKp7OdfnpsyBOQeneo-ZhH70CsNcXn5MogvNOfovHnHXZsttPoQ_ve0cAitZ9Iq5R4UcTw/s1600/9.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNGNgk8rqyndFMfKihmf1MJqfdMoz9a8wdPDOoPF-KL-C2LyWlfa-SEqDOtvK0gIbC3xICSLKp7OdfnpsyBOQeneo-ZhH70CsNcXn5MogvNOfovHnHXZsttPoQ_ve0cAitZ9Iq5R4UcTw/s1600/9.jpg&quot; height=&quot;320&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Presionando SHIFT añadimos a la selección el rectángulo verde y las 2 colinas. Seguidamente presionamos el botón &quot;Recortar&quot; de la paleta &quot;Buscatrazos&quot;, para recortar estas formas a la medida.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh58mvZMnqdmxM_BLqynopo2Q-WBI0uL5S7bcgpStubFzhrDXYOZtTvSQxj0G_hgGcvRxtNJ0PmIDvfjjJkvR7TAkD8a6657vAZIAarquvFdc7Iyn-r11O8_2J6xj6py8X8RGaR65L8K0w/s1600/10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh58mvZMnqdmxM_BLqynopo2Q-WBI0uL5S7bcgpStubFzhrDXYOZtTvSQxj0G_hgGcvRxtNJ0PmIDvfjjJkvR7TAkD8a6657vAZIAarquvFdc7Iyn-r11O8_2J6xj6py8X8RGaR65L8K0w/s1600/10.jpg&quot; height=&quot;305&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El proceso de &quot;Recortar&quot; modifica la ubicación de los elementos, por lo que debemos seleccionarlos y con click derecho usar Organizar (tal como se hizo antes) según convenga.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_oe3pmJEx21VViWEUKRsnucEyTbeHfSzrne86oDEn2_uRw5idkU9H4Oqe6v_TL0HFVyJqZvc1WaKPlb5_OI3kit6aZpqN29daFJlSsX3EaZQrYZsDwxTL1oeMxXvCqT7W78_7EL5NTjo/s1600/11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_oe3pmJEx21VViWEUKRsnucEyTbeHfSzrne86oDEn2_uRw5idkU9H4Oqe6v_TL0HFVyJqZvc1WaKPlb5_OI3kit6aZpqN29daFJlSsX3EaZQrYZsDwxTL1oeMxXvCqT7W78_7EL5NTjo/s1600/11.jpg&quot; height=&quot;280&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Hasta este punto hemos usado Illustrator para crear los vectores de un paisaje, pero ahora vamos a dar más vida a nuestro diseño en Photoshop. Por ello, copiamos y pegamos absolutamente todo (como objeto inteligente).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjz9Wyh1JObQYMGNnIQEK1SjVcP0oQ0uGHq2rV25F0N2fNgf6sWbpbmh_YQLA6qRWIBGRrnoF09hUrj1LRkFTldoohOnSekIGMPPRNuUYRrQ-wcPH1tSXXIcFRIdzZY3LcuctP735JWPY/s1600/12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjz9Wyh1JObQYMGNnIQEK1SjVcP0oQ0uGHq2rV25F0N2fNgf6sWbpbmh_YQLA6qRWIBGRrnoF09hUrj1LRkFTldoohOnSekIGMPPRNuUYRrQ-wcPH1tSXXIcFRIdzZY3LcuctP735JWPY/s1600/12.jpg&quot; height=&quot;302&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Pegamos sobre nuestro diseño una textura para dar una mejor presentación a nuestro diseño.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
El tutorial sugiere el siguiente enlace: http://lostandtaken.com/blog/2013/2/28/10-simply-subtle-grunge-textures.html&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvYfK7Cf-Q1NQVGxAEtBHqXCSMJ5CogmT91fn24kqcf4aNfH7-OChNSsaUUIYyjXFjS4E9LIxyspc_IOkIrnQNUvc6-bMRs4kYAMnWupTGJEb0aTpCGEiTH86vqQoln-A0YJoanGY5ZQ/s1600/13.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvYfK7Cf-Q1NQVGxAEtBHqXCSMJ5CogmT91fn24kqcf4aNfH7-OChNSsaUUIYyjXFjS4E9LIxyspc_IOkIrnQNUvc6-bMRs4kYAMnWupTGJEb0aTpCGEiTH86vqQoln-A0YJoanGY5ZQ/s1600/13.jpg&quot; height=&quot;315&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Luego de pegar la textura, esta aparecerá en una nueva capa, sobre nuestro diseño, y entonces cambiamos su modo de fusión a &lt;b&gt;luz suave &lt;/b&gt;&lt;i&gt;(soft light)&lt;/i&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIfooXXdnjzvJdrMPTzH-MZXqF67jjvjt_xFqb5cgdRvb-9Ol_lErrsyEiPwIkjQcJv_XpG663DprH4K7jyzgctzi2PP7Fd5WWOPnx7zNc0tZBigAH18A1Zz0f3ddt9daHsaW7qkJGgK8/s1600/14.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIfooXXdnjzvJdrMPTzH-MZXqF67jjvjt_xFqb5cgdRvb-9Ol_lErrsyEiPwIkjQcJv_XpG663DprH4K7jyzgctzi2PP7Fd5WWOPnx7zNc0tZBigAH18A1Zz0f3ddt9daHsaW7qkJGgK8/s1600/14.jpg&quot; height=&quot;312&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Así llegamos al resultado final. Y como se observa, podemos llegar a crear diseños muy agradables incluso usando las herramientas más básicas de Illustrator. Espero poder subir algunos tutoriales más según vaya explorando.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/4679667146638979826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/08/como-disenar-un-paise-en-adobe.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4679667146638979826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4679667146638979826'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/08/como-disenar-un-paise-en-adobe.html' title='Cómo diseñar un paise en Adobe Illustrator'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy7YkKt9GKOUlTXLXoAvJa99OQ7yix-X-AV4_Bwqds5yTRNq1g1zxS8tJOK6JZ9IBG-vNetpSNEjjeKXyW4d1YarUeF-SFGZh1h60OwjWxijwHUyXf9dGnNH0t421pdLS6mvACiTTo0ZY/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-2788675013422854974</id><published>2014-07-28T16:10:00.001-07:00</published><updated>2014-07-28T16:10:24.575-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="biblioteca"/><category scheme="http://www.blogger.com/atom/ns#" term="cómo usar"/><category scheme="http://www.blogger.com/atom/ns#" term="datos"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplo"/><category scheme="http://www.blogger.com/atom/ns#" term="exportar"/><category scheme="http://www.blogger.com/atom/ns#" term="IReport"/><category scheme="http://www.blogger.com/atom/ns#" term="JasperReports"/><category scheme="http://www.blogger.com/atom/ns#" term="Jaspersoft"/><category scheme="http://www.blogger.com/atom/ns#" term="librería"/><category scheme="http://www.blogger.com/atom/ns#" term="PDF"/><category scheme="http://www.blogger.com/atom/ns#" term="programa"/><category scheme="http://www.blogger.com/atom/ns#" term="realizar reportes"/><category scheme="http://www.blogger.com/atom/ns#" term="reportes en Java"/><category scheme="http://www.blogger.com/atom/ns#" term="studio"/><title type='text'>Cómo realizar reportes en Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;height: 0px; text-align: center;&quot;&gt;
Reportes en Java&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrflO7QkqOQdx9kKaqGqUMH6kh2Yf1xh7Z8MYYdb9ntGEnzN90ICJAveIHiG4-TRDOin6pzotdtgU07OIhaixI2YCsDidr7oYDUemGjrf2dYh-cYY-XnD0_6rIqEnJPgOvxYafjk9H9I/s1600/reportePDF_Java.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrflO7QkqOQdx9kKaqGqUMH6kh2Yf1xh7Z8MYYdb9ntGEnzN90ICJAveIHiG4-TRDOin6pzotdtgU07OIhaixI2YCsDidr7oYDUemGjrf2dYh-cYY-XnD0_6rIqEnJPgOvxYafjk9H9I/s1600/reportePDF_Java.png&quot; height=&quot;233&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Por lo general, cuando recién empezamos a aprender Java, manejamos los datos temporalmente, es decir, por cuestiones prácticas no salvamos los datos en archivos ni en bases de datos y estos se pierden de una ejecución a otra.&lt;/div&gt;
&lt;div&gt;
Luego aprendemos a manejar archivos, y posteriormente a modelar y usar bases de datos en nuestros programas. Es en este punto -aunque no necesariamente- en donde nos entra curiosidad por aprender a exportar nuestros datos en archivos PDF.&lt;/div&gt;
&lt;div&gt;
Esto último comúnmente es conocido como realizar reportes, y es un trabajo que resulta no muy complejo gracias al uso de bibliotecas como JasperReports. Con esta biblioteca es posible exportar nuestros datos en formato PDF, DOCX (archivos de Microsoft Word), CSV, XML, o incluso como un reporte que se muestra en una página web (HTML).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Puede seguir el videotutorial sobre JasperReports y IReport Designer desde el siguiente enlace:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=Evt0pAL8QRI&quot; target=&quot;_blank&quot;&gt;Clic para acceder al video explicativo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y puede descargar la biblioteca JasperReports desde:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!ycpRnBRZ!0M7QqMU_yDgwCSgcBXdWzRwomkWZxcSl7Etg8g4xMqA&quot; target=&quot;_blank&quot;&gt;Clic para descargar algunos .JAR que conforman la biblioteca JasperReports&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/2788675013422854974/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/07/como-realizar-reportes-en-java.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2788675013422854974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2788675013422854974'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/07/como-realizar-reportes-en-java.html' title='Cómo realizar reportes en Java'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrflO7QkqOQdx9kKaqGqUMH6kh2Yf1xh7Z8MYYdb9ntGEnzN90ICJAveIHiG4-TRDOin6pzotdtgU07OIhaixI2YCsDidr7oYDUemGjrf2dYh-cYY-XnD0_6rIqEnJPgOvxYafjk9H9I/s72-c/reportePDF_Java.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-5547736084892542078</id><published>2014-07-20T14:50:00.000-07:00</published><updated>2014-07-20T14:50:16.301-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="acceso aleatorio"/><category scheme="http://www.blogger.com/atom/ns#" term="archivos"/><category scheme="http://www.blogger.com/atom/ns#" term="crear archivo"/><category scheme="http://www.blogger.com/atom/ns#" term="guardar información"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="modificar archivo"/><category scheme="http://www.blogger.com/atom/ns#" term="programa de ejemplo"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Archivos de Acceso Aleatorio en Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;clear: both; text-align: center;&quot;&gt;
Archivos de Acceso Aleatorio&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqa-7q5pnz7L7mqYxLxbLmvG3W9qcY-QT_kvnh3VvJphCBcfywuTK9M2qH8d3Q-XZCAsorcZFdsV57tH4KALdaa45GZkq1ceFdD5y9LCx-E_4C8M3vl7AgVwN0Jklpp6BgM2LHTr4jMkw/s1600/accesoAleatInterf.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqa-7q5pnz7L7mqYxLxbLmvG3W9qcY-QT_kvnh3VvJphCBcfywuTK9M2qH8d3Q-XZCAsorcZFdsV57tH4KALdaa45GZkq1ceFdD5y9LCx-E_4C8M3vl7AgVwN0Jklpp6BgM2LHTr4jMkw/s1600/accesoAleatInterf.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En esta ocasión vamos a ver cómo hacer uso de &lt;u&gt;archivos de acceso aleatorio&lt;/u&gt; en un programa Java.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Para ello he realizado dos videos explicativos. En el primero veremos cómo escribir datos en un archivo, cómo como leer datos previamente escritos y cómo realizar búsquedas de registros sobre tal archivo.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Si estamos guardando información de empleados, un &lt;b&gt;registro&lt;/b&gt; se refiere a los datos referentes a dicho empleado, y así tendríamos un registro por cada empleado, que incluye toda su información, guardada en base a tipos de datos más específicos.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En el segundo video se continua explicando sobre cómo &lt;b&gt;eliminar registros de un archivo de acceso aleatorio&lt;/b&gt;. Esta eliminación puede ser tanto física como lógica o incluso una mezcla de ambas. En el video se explica más a detalle sobre porqué usar una u otra eliminación. Se demuestra demás cómo hacerlo.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Espero les sea de utilidad.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Si tienen dudas pueden comentar en esta entrada o en los videos respectivos, en Youtube.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Enlace de descarga del programa de ejemplo:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://mega.co.nz/#!6Ix1CQpS!o1j_nsPgmm3z5wt5HCjQgAU597YGelO15XooXpvw9bY&quot; target=&quot;_blank&quot;&gt;Descargar programa Java sobre Acceso Aleatorio&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Enlaces sobre los videos explicativos:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=CfieXoJpwd4&quot; target=&quot;_blank&quot;&gt;Primer video - Cómo leer y escribir en archivos de acceso aleatorio&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=jRS8LD0ecWU&quot; target=&quot;_blank&quot;&gt;Segundo video - Cómo eliminar registro de un archivo de acceso aleatorio&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/5547736084892542078/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/07/archivos-de-acceso-aleatorio-en-java.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/5547736084892542078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/5547736084892542078'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/07/archivos-de-acceso-aleatorio-en-java.html' title='Archivos de Acceso Aleatorio en Java'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqa-7q5pnz7L7mqYxLxbLmvG3W9qcY-QT_kvnh3VvJphCBcfywuTK9M2qH8d3Q-XZCAsorcZFdsV57tH4KALdaa45GZkq1ceFdD5y9LCx-E_4C8M3vl7AgVwN0Jklpp6BgM2LHTr4jMkw/s72-c/accesoAleatInterf.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-4457136207803219342</id><published>2014-06-21T22:04:00.000-07:00</published><updated>2014-06-21T22:24:29.176-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="16F84A"/><category scheme="http://www.blogger.com/atom/ns#" term="basico"/><category scheme="http://www.blogger.com/atom/ns#" term="descargar"/><category scheme="http://www.blogger.com/atom/ns#" term="ISIS"/><category scheme="http://www.blogger.com/atom/ns#" term="microcode"/><category scheme="http://www.blogger.com/atom/ns#" term="PIC"/><category scheme="http://www.blogger.com/atom/ns#" term="programa"/><category scheme="http://www.blogger.com/atom/ns#" term="programacion"/><category scheme="http://www.blogger.com/atom/ns#" term="proteus"/><category scheme="http://www.blogger.com/atom/ns#" term="studio"/><title type='text'>Configuración de Microcode Studio - ISIS de Proteus</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Programación de PICs&lt;/h2&gt;
&lt;div&gt;
Inicialmente había subido algunos videos mostrando el uso de &lt;b&gt;ISIS&lt;/b&gt; de &lt;b&gt;Proteus&lt;/b&gt;, y ciertos ejercicios usando compuertas lógicas para crear decodificadores, multiplexores, multiplicación de números en binario, semáforos, flip-flops, entre otros temas.&lt;/div&gt;
&lt;div&gt;
En ese entonces requeríamos insertar múltiples compuertas para conseguir un funcionamiento decente. Pero ahora, que estoy estudiando acerca de la &lt;i&gt;programación de PICs&lt;/i&gt; he decidido hacer algunos videos explicativos para no olvidarlo posteriormente.&lt;/div&gt;
&lt;div&gt;
Suponiendo que nunca escuché sobre el tema, empezaré a explicar detalladamente cómo hacer uso de Microcode Studio y el programa ISIS de Proteus. El primero nos permite escribir código para programar los PICs y el segundo nos permite simular las conecciones que han de realizarse con referencia al PIC que usaremos (&lt;b&gt;16F84A&lt;/b&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZcM4F7Hi4XdXqqafvzKshi5PlSHWifLezXrvGHT45S7x8A9XoTcRsG6DAs_Tx0K9RwUDYBFwPNWf4sCOfnROoK3mT2AK-FZRGKtufY4SwZ530t7rNVf7TnU66L7oU7ABI-Y-sHEcpHZY/s1600/proteus.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZcM4F7Hi4XdXqqafvzKshi5PlSHWifLezXrvGHT45S7x8A9XoTcRsG6DAs_Tx0K9RwUDYBFwPNWf4sCOfnROoK3mT2AK-FZRGKtufY4SwZ530t7rNVf7TnU66L7oU7ABI-Y-sHEcpHZY/s1600/proteus.png&quot; height=&quot;164&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Dejaré entonces los enlaces de descarga respectivos a estos programas, en versión portable.&lt;/div&gt;
&lt;div&gt;
De esta forma bastará descargar los comprimidos, descomprimirlos (lógicamente) y luego abrir el ejecutable sin mayor inconveniente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.mediafire.com/download/xcwwigo80x699on/Proteus+7+Professional.rar&quot; target=&quot;_blank&quot;&gt;Clic para descargar ISIS de Proteus&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.mediafire.com/download/2xd4r9rcf5d59o5/micro+code+studio+plus+3.0.0.0+XP.rar&quot; target=&quot;_blank&quot;&gt;Clic para descargar Microcode Studio&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.mediafire.com/download/cd1p533f1m4f923/PBP247.rar&quot; target=&quot;_blank&quot;&gt;Clic para descargar la librería PBP para Microcode Studio&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El primer video consiste en cómo configurar el&lt;b&gt; Microcode Studio&lt;/b&gt;, para que puedan seguir los videos siguientes.&lt;/div&gt;
&lt;div&gt;
Se explican los fundamentos básicos para los videos siguientes y finalmente se muestra un pequeño ejemplo de cómo mostrar por displays números de dos dígitos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=-T3Dl3Y6EhU&quot; target=&quot;_blank&quot;&gt;Clic para ver el video-tutorial en Youtube&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/4457136207803219342/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/configuracion-de-microcode-studio-isis.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4457136207803219342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4457136207803219342'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/configuracion-de-microcode-studio-isis.html' title='Configuración de Microcode Studio - ISIS de Proteus'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZcM4F7Hi4XdXqqafvzKshi5PlSHWifLezXrvGHT45S7x8A9XoTcRsG6DAs_Tx0K9RwUDYBFwPNWf4sCOfnROoK3mT2AK-FZRGKtufY4SwZ530t7rNVf7TnU66L7oU7ABI-Y-sHEcpHZY/s72-c/proteus.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-7422817038776301710</id><published>2014-06-18T19:45:00.002-07:00</published><updated>2014-06-18T19:46:27.032-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="acceder"/><category scheme="http://www.blogger.com/atom/ns#" term="descargar"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplos"/><category scheme="http://www.blogger.com/atom/ns#" term="facade"/><category scheme="http://www.blogger.com/atom/ns#" term="fachada"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaz"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="métodos"/><category scheme="http://www.blogger.com/atom/ns#" term="netbeans"/><category scheme="http://www.blogger.com/atom/ns#" term="patron de diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="programas"/><category scheme="http://www.blogger.com/atom/ns#" term="sencilla"/><category scheme="http://www.blogger.com/atom/ns#" term="subsistemas"/><title type='text'>Patrón de Diseño Facade o Fachada</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Patrón de Diseño Facade&lt;/h2&gt;
El patrón de diseño &lt;b&gt;Facade&lt;/b&gt;, en resumidas cuentas, se encarga de &lt;i&gt;proveernos de una interfaz más sencilla&lt;/i&gt;, para trabajar sólo con ella, y ello nos evita tener que instanciar objetos de un conjunto de clases para sólo aprovechar algunos métodos de tales clases.&lt;br /&gt;
Fachada por lo general requiere de una única instancia, por ello suele aplicarse el patrón singleton sobre la fachada, o bien sus métodos se definen como métodos estáticos (de clase).&lt;br /&gt;
&lt;br /&gt;
Sólo presenta 2 componentes: la fachada y los subsistemas, hacia los que se facilita el acceso.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohUH0PKxmtnPxUfN1UxZZMnFi6gkETzR0aMdi2Oq9GxtkAGDHbEmMXShgEwVvI2rWTXcIwRsefBv5f7dpb3ug8zOxlwEXdGamrcaBgGhsA_WxhaXYEf5zH0kAogS-dP5X-FhxmY2DFoE/s1600/Patr%C3%B3nFacade.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohUH0PKxmtnPxUfN1UxZZMnFi6gkETzR0aMdi2Oq9GxtkAGDHbEmMXShgEwVvI2rWTXcIwRsefBv5f7dpb3ug8zOxlwEXdGamrcaBgGhsA_WxhaXYEf5zH0kAogS-dP5X-FhxmY2DFoE/s1600/Patr%C3%B3nFacade.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En el video explicativo siguiente se detalla la creación de 3 proyectos en Java, como ejemplos del patrón de diseño Facade:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=dDEiorJtjOI&quot; target=&quot;_blank&quot;&gt;Clic para ver la explicación del patrón de diseño Fachada&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Y desde el siguiente enlace es posible descargar los 3 ejemplos:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://www.mediafire.com/download/gbdl9xgetzndj26/Patr%C3%B3n_Facade.rar&quot; target=&quot;_blank&quot;&gt;Clic para descargar los programas de ejemplo de Facade&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/7422817038776301710/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/patron-de-diseno-facade-o-fachada.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/7422817038776301710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/7422817038776301710'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/patron-de-diseno-facade-o-fachada.html' title='Patrón de Diseño Facade o Fachada'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiohUH0PKxmtnPxUfN1UxZZMnFi6gkETzR0aMdi2Oq9GxtkAGDHbEmMXShgEwVvI2rWTXcIwRsefBv5f7dpb3ug8zOxlwEXdGamrcaBgGhsA_WxhaXYEf5zH0kAogS-dP5X-FhxmY2DFoE/s72-c/Patr%C3%B3nFacade.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-1998340257816654288</id><published>2014-06-18T19:16:00.000-07:00</published><updated>2014-06-18T19:21:04.447-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ejemplo"/><category scheme="http://www.blogger.com/atom/ns#" term="estrategia"/><category scheme="http://www.blogger.com/atom/ns#" term="estrategia concreta"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="patron de diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="programa"/><category scheme="http://www.blogger.com/atom/ns#" term="strategy"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Patrón de Diseño Strategy</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Patrón de Diseño Strategy o Estrategia&lt;/h2&gt;
&lt;div&gt;
Si tuviera que describir el patrón de diseño Strategy en &lt;u&gt;pocas palabras&lt;/u&gt;, podría resumirlo del siguiente modo:&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;i&gt;El patrón de diseño Estrategia es aplicable cuando tenemos varios algoritmos que hacen lo mismo de distinto modo, y cada forma de hacerlo es conveniente en casos determinados. Entonces el patrón permite intercambiarlos y usar el que mejor se adapte.&lt;/i&gt;&lt;/blockquote&gt;
Así se establece una &lt;b&gt;estrategia&lt;/b&gt; para aplicar el algoritmo más conveniente siempre, y ello se decide en tiempo de ejecución.&lt;br /&gt;
¿Y si tuviera que explicarlo en&lt;u&gt; muchas palabras&lt;/u&gt;? Pues preferiría explicarlo en pocas palabras y lo definiría del mismo modo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ4FjEI8WqdwYw2Wdt9lcZaqmkzvKh-DbUwdvQ9GcQd9eEF4U_CEHicdj6NEtCdaWIuyOfv90TUnBt_pDENLnRMd4I8o1XBO40PZqssSK0UDP3sq-Jt057cXms_bKMFssPV5si5rsO6is/s1600/Patr%C3%B3nStrategy.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ4FjEI8WqdwYw2Wdt9lcZaqmkzvKh-DbUwdvQ9GcQd9eEF4U_CEHicdj6NEtCdaWIuyOfv90TUnBt_pDENLnRMd4I8o1XBO40PZqssSK0UDP3sq-Jt057cXms_bKMFssPV5si5rsO6is/s1600/Patr%C3%B3nStrategy.png&quot; height=&quot;244&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Bueno, ahora sí, como es de costumbre, aquí un video-tutorial para inmortalizar el concepto y hacerlo prevalecer con el paso del tiempo:&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=EgbWtnn2amE&quot; target=&quot;_blank&quot;&gt;Clic para ver un video-tutorial sobre el patrón de diseño Strategy&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Y desde el siguiente enlace es posible descargar el código fuente del programa:&lt;br /&gt;
&lt;a href=&quot;https://www.mediafire.com/?rmk7s7kq8mfohpe&quot; target=&quot;_blank&quot;&gt;Clic para descargar un programa de ejemplo sobre el patrón de diseño Strategy&lt;/a&gt;&lt;br /&gt;
El ejemplo está desarrollado en Java, y se creó usando el IDE Netbeans.&lt;br /&gt;
&lt;br /&gt;
Gracias por visitar el sitio. Si tiene dudas, usted puede comentar aquí mismo o en el video, en YT.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/1998340257816654288/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/patron-de-diseno-strategy.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1998340257816654288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1998340257816654288'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/06/patron-de-diseno-strategy.html' title='Patrón de Diseño Strategy'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ4FjEI8WqdwYw2Wdt9lcZaqmkzvKh-DbUwdvQ9GcQd9eEF4U_CEHicdj6NEtCdaWIuyOfv90TUnBt_pDENLnRMd4I8o1XBO40PZqssSK0UDP3sq-Jt057cXms_bKMFssPV5si5rsO6is/s72-c/Patr%C3%B3nStrategy.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-4310395185775738982</id><published>2014-04-03T13:30:00.001-07:00</published><updated>2014-06-18T19:28:59.305-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="circulo"/><category scheme="http://www.blogger.com/atom/ns#" term="descargar codigo"/><category scheme="http://www.blogger.com/atom/ns#" term="graficar"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="JInternalFrame"/><category scheme="http://www.blogger.com/atom/ns#" term="JSlider"/><category scheme="http://www.blogger.com/atom/ns#" term="layout"/><category scheme="http://www.blogger.com/atom/ns#" term="mega"/><category scheme="http://www.blogger.com/atom/ns#" term="ovalo"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Graficar un Círculo en Java y modificar gradualmente sus Colores y Tamaño</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Graficar Óvalo o Círculo en Java&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCu18-UgQdB7VmV8y0xWihpUHkBovgggn97NP5qfYQ-J9Yi0QyHHd_9qCQabteakZl2FioZS5ADMhWeHTr7uQDYKEZ74kZqUW4xZzMaUAiDy-MlJuTO9zfaVvBXIB-z7LVEcxft7gLKA/s1600/JSlider.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCu18-UgQdB7VmV8y0xWihpUHkBovgggn97NP5qfYQ-J9Yi0QyHHd_9qCQabteakZl2FioZS5ADMhWeHTr7uQDYKEZ74kZqUW4xZzMaUAiDy-MlJuTO9zfaVvBXIB-z7LVEcxft7gLKA/s1600/JSlider.png&quot; height=&quot;253&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Veremos cómo graficar un círculo en Java (y se explicará cómo hacerlo para un óvalo). Pero lo destacable es que podremos modificar el tamaño del círculo y sus colores, moviendo ciertas barras conocidas como JSlider.&lt;/div&gt;
&lt;div&gt;
Tendremos entonces barras de desplazamiento para modificar la tonalidad de los colores (rojo, verde y azul, RGB) y el diámetro del círculo, que estarán inmersas en ventanas internas (JInternalFrame).&lt;/div&gt;
&lt;div&gt;
Se explica además acerca de algunos layout: FlowLayout, BorderLayout y AbsolutLayout.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Es posible descargar el código fuente desde MEGA:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!3cZVVbaT!IZLn1t4RdL7ulcyZeaLpOa_KiMtbo-gelIj-v9-57to&quot; target=&quot;_blank&quot;&gt;Haz clic para descargar código&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Es posible ver el videotutorial desde Youtube:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=aa8QPePsbTo&quot; target=&quot;_blank&quot;&gt;Haz clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/4310395185775738982/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/04/graficar-un-circulo-en-java-y-modificar.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4310395185775738982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/4310395185775738982'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/04/graficar-un-circulo-en-java-y-modificar.html' title='Graficar un Círculo en Java y modificar gradualmente sus Colores y Tamaño'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrCu18-UgQdB7VmV8y0xWihpUHkBovgggn97NP5qfYQ-J9Yi0QyHHd_9qCQabteakZl2FioZS5ADMhWeHTr7uQDYKEZ74kZqUW4xZzMaUAiDy-MlJuTO9zfaVvBXIB-z7LVEcxft7gLKA/s72-c/JSlider.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-8171021121687936638</id><published>2014-03-20T11:08:00.001-07:00</published><updated>2014-06-18T19:29:17.807-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="actionlistener"/><category scheme="http://www.blogger.com/atom/ns#" term="aplicacion"/><category scheme="http://www.blogger.com/atom/ns#" term="clase Timer"/><category scheme="http://www.blogger.com/atom/ns#" term="cronometro"/><category scheme="http://www.blogger.com/atom/ns#" term="ejercicio"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="milisegundos"/><category scheme="http://www.blogger.com/atom/ns#" term="segundos"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Cronómetro en Java - Clase Timer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Cronómetro en Java&lt;/h2&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVWxvCLcccQP3Opf0ydTOOGkJM3ZdOCo4REDGeR5eQ5P7h2J8rUrVqKeJUzlJJ_PRQOqteebOYEAzmZ5j6N_YBZlQZfoxbzBiJ3XJPud73Im6Tn9mZKyLmkG9H6KB6H5CfPdRPdB_vgX0/s1600/Cronometro.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVWxvCLcccQP3Opf0ydTOOGkJM3ZdOCo4REDGeR5eQ5P7h2J8rUrVqKeJUzlJJ_PRQOqteebOYEAzmZ5j6N_YBZlQZfoxbzBiJ3XJPud73Im6Tn9mZKyLmkG9H6KB6H5CfPdRPdB_vgX0/s1600/Cronometro.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
He subido un nuevo video sobre programación en Java. En este caso, se explica detalladamente el funcionamiento de una aplicación que hace de cronómetro. Es decir, muestra el tiempo transcurrido en horas, minutos, segundos y centésimas de segundos.&lt;/div&gt;
&lt;div&gt;
Para ello se hace uso de la clase Timer y la interfaz ActionListener.&lt;/div&gt;
&lt;div&gt;
El programa es relativamente sencillo pero puede resultar bastante útil como ejercicio práctico para aquellos que recién se inician en Java. El video explicativo puede verse desde:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=BUQcPgVTfhE&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El código fuente de la aplicación puede descargarse también...&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!edYBDSbL!3XHKXweIseXrAXwqtWoX_4DnyAlVRZNLCftejCQPmx4&quot; target=&quot;_blank&quot;&gt;Clic para descargar el código fuente&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/8171021121687936638/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/cronometro-en-java-clase-timer.html#comment-form' title='18 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/8171021121687936638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/8171021121687936638'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/cronometro-en-java-clase-timer.html' title='Cronómetro en Java - Clase Timer'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVWxvCLcccQP3Opf0ydTOOGkJM3ZdOCo4REDGeR5eQ5P7h2J8rUrVqKeJUzlJJ_PRQOqteebOYEAzmZ5j6N_YBZlQZfoxbzBiJ3XJPud73Im6Tn9mZKyLmkG9H6KB6H5CfPdRPdB_vgX0/s72-c/Cronometro.png" height="72" width="72"/><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-6016426016843113930</id><published>2014-03-12T15:13:00.000-07:00</published><updated>2014-04-03T13:12:25.824-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aplicacion Java"/><category scheme="http://www.blogger.com/atom/ns#" term="biblioteca"/><category scheme="http://www.blogger.com/atom/ns#" term="calcular total"/><category scheme="http://www.blogger.com/atom/ns#" term="carrito de compras"/><category scheme="http://www.blogger.com/atom/ns#" term="enunciado"/><category scheme="http://www.blogger.com/atom/ns#" term="libreria"/><category scheme="http://www.blogger.com/atom/ns#" term="precio total"/><category scheme="http://www.blogger.com/atom/ns#" term="programa"/><category scheme="http://www.blogger.com/atom/ns#" term="restricciones"/><category scheme="http://www.blogger.com/atom/ns#" term="sistema"/><category scheme="http://www.blogger.com/atom/ns#" term="subtotal"/><category scheme="http://www.blogger.com/atom/ns#" term="tienda"/><category scheme="http://www.blogger.com/atom/ns#" term="total pagar"/><category scheme="http://www.blogger.com/atom/ns#" term="venta libros"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Sistema de ventas para una Librería</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Aplicación sobre Venta de Libros&lt;/h2&gt;
&lt;div&gt;
Este ejercicio fue propuesto por Juan Angulo, en uno de los grupos de programación de Facebook que suelo frecuentar. El programa de hecho había sido desarrollado en parte, pero faltaba agregarle ciertas funcionalidades más.&lt;/div&gt;
&lt;div&gt;
A fin de cuentas se llegó a implementar un carrito de compras. Así, es posible agregar libros a la librería, venderlos por cantidades, retirar el libro del carrito si así se desea, o agregar más unidades a la venta del mismo.&lt;/div&gt;
&lt;div&gt;
El programa calcula el subtotal a pagar, es decir, suma el precio a pagar por los libros seleccionados en el carrito de compra, y además calcula el total a pagar, de todos los libros que se encuentran en el carrito de compras.&lt;/div&gt;
&lt;div&gt;
La aplicación en Java cuenta además con ciertas restricciones, como asegurarse de que no se agregue el mismo libro más de una vez, ni que se repita un libro en el carrito de compras, sino que se modifique la cantidad del mismo o que sea retirado.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
He realizado un video explicativo sobre este ejercicio, el cuál puede verse desde la siguiente dirección:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=lXOCQU9CvOc&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Así mismo es posible descargar el código fuente del programa:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!HJBVwZqA!Qi1JNohpGbNipDA7rkM9CTNaSigSS10CL95gpfoYVLk&quot; target=&quot;_blank&quot;&gt;Clic para descargar la aplicación&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Bu7Bs1a-aciAfks9FDJZhyphenhyphenZ_KGBOOm8tm4tCA1BR_3QlGdbZz9lr0sv7YXZHkLwS7L9DSpLFFqHZkvoxtqdwNhGt6CeiP8jSJ7KR6nSWKCSH1ATk4AWGX7nXQtG9QAOo1SCBZFx-eRk/s1600/sistemaLibros.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Bu7Bs1a-aciAfks9FDJZhyphenhyphenZ_KGBOOm8tm4tCA1BR_3QlGdbZz9lr0sv7YXZHkLwS7L9DSpLFFqHZkvoxtqdwNhGt6CeiP8jSJ7KR6nSWKCSH1ATk4AWGX7nXQtG9QAOo1SCBZFx-eRk/s1600/sistemaLibros.png&quot; height=&quot;320&quot; width=&quot;249&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como siempre, si usted tiene dudas, &lt;b&gt;no dude&lt;/b&gt; ;)&lt;/div&gt;
&lt;div&gt;
Es decir,&lt;i&gt; no dude en comentar&lt;/i&gt;las en el video mismo o como comentario en esta entrada.&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/6016426016843113930/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/sistema-de-ventas-para-una-libreria.html#comment-form' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6016426016843113930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6016426016843113930'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/sistema-de-ventas-para-una-libreria.html' title='Sistema de ventas para una Librería'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Bu7Bs1a-aciAfks9FDJZhyphenhyphenZ_KGBOOm8tm4tCA1BR_3QlGdbZz9lr0sv7YXZHkLwS7L9DSpLFFqHZkvoxtqdwNhGt6CeiP8jSJ7KR6nSWKCSH1ATk4AWGX7nXQtG9QAOo1SCBZFx-eRk/s72-c/sistemaLibros.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-6550113433278642649</id><published>2014-03-10T08:52:00.002-07:00</published><updated>2014-04-03T13:19:48.084-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="buscador Google"/><category scheme="http://www.blogger.com/atom/ns#" term="componentes visuales"/><category scheme="http://www.blogger.com/atom/ns#" term="descargar programa"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplo buscador"/><category scheme="http://www.blogger.com/atom/ns#" term="eventos"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaces"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaz grafica"/><category scheme="http://www.blogger.com/atom/ns#" term="JTabbedPane"/><category scheme="http://www.blogger.com/atom/ns#" term="JTextArea"/><category scheme="http://www.blogger.com/atom/ns#" term="programa en java"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Buscador tipo Google en Java con Archivos e Interfaces Gráficas</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Buscador tipo Google en Java&lt;/h2&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFrmCYDtU_puPFp9_eo0UtvsbweqbsAjf_zywJ8If7MoX7DL5MZgrLFTK-beIcNFc_IjidmejkjoqD5sEWAI_RdPmbyuM8IkbKzT8-vVeaUV9yKd2MlcYzDylnhoc8TNHSKQtCEjhIaAg/s1600/busqGoogle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFrmCYDtU_puPFp9_eo0UtvsbweqbsAjf_zywJ8If7MoX7DL5MZgrLFTK-beIcNFc_IjidmejkjoqD5sEWAI_RdPmbyuM8IkbKzT8-vVeaUV9yKd2MlcYzDylnhoc8TNHSKQtCEjhIaAg/s1600/busqGoogle.png&quot; height=&quot;182&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Se desarrolla una aplicación en Java haciendo uso de interfaces gráficas, es decir, los componentes visuales de Swing.&lt;/div&gt;
&lt;div&gt;
La aplicación permite registrar empleados e información principal de los mismos. Luego es posible buscar a los empleados a tiempo real según sus apellidos paternos. Es decir, a medida que se escribe el apellido la lista de resultados va filtrando a los que coinciden. La lista de resultados se actualiza cada vez que una tecla es liberada, haciendo uso del evento correspondiente.&lt;/div&gt;
&lt;div&gt;
Con ello decimos que no se necesita hacer clic en algún botón ni siquiera es necesario presionar enter.&lt;/div&gt;
&lt;div&gt;
Lo mejor es que no tenemos que estar ingresando datos cada vez que ejecutamos el programa, ya que los datos son salvados en archivos, y se cargan cada vez que el programa es abierto, lo que hace posible armar un buen listado, a diferencia de los programas que no hacen uso de archivos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
Videotutorial en Youtube&lt;/h4&gt;
&lt;div&gt;
He realizado un video explicativo que explica con detalle el desarrollo de este programa, en el que se hacen uso de componentes como JTabbedPane, JTextArea, JTextField, entre otros.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=vYPrghYje0Y&quot; target=&quot;_blank&quot;&gt;Clic acá para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
Descargar programa&lt;/h4&gt;
&lt;div&gt;
Es posible descargar el código fuente del programa expuesto en el videotutorial. Hay que tener en cuenta que el programa se desarrollo en Netbeans, sin embargo, puede ser abierto desde otros IDE con un mínimo esfuerzo.&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!iBwlyQxQ!NPORQ-QJwwyBb2rd83-iGQKEOl8SP8IS1pBYYAgA2Cc&quot; target=&quot;_blank&quot;&gt;Clic acá para descargar el programa en Java&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/6550113433278642649/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/buscador-tipo-google-en-java-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6550113433278642649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6550113433278642649'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/03/buscador-tipo-google-en-java-con.html' title='Buscador tipo Google en Java con Archivos e Interfaces Gráficas'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFrmCYDtU_puPFp9_eo0UtvsbweqbsAjf_zywJ8If7MoX7DL5MZgrLFTK-beIcNFc_IjidmejkjoqD5sEWAI_RdPmbyuM8IkbKzT8-vVeaUV9yKd2MlcYzDylnhoc8TNHSKQtCEjhIaAg/s72-c/busqGoogle.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-8775212291129107386</id><published>2014-02-24T08:35:00.002-08:00</published><updated>2014-02-24T08:37:11.817-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="abstract"/><category scheme="http://www.blogger.com/atom/ns#" term="abstracta"/><category scheme="http://www.blogger.com/atom/ns#" term="clase cliente"/><category scheme="http://www.blogger.com/atom/ns#" term="factoria"/><category scheme="http://www.blogger.com/atom/ns#" term="factory"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaces"/><category scheme="http://www.blogger.com/atom/ns#" term="metodos abstractos"/><category scheme="http://www.blogger.com/atom/ns#" term="patron diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="producto"/><category scheme="http://www.blogger.com/atom/ns#" term="producto abstracto"/><category scheme="http://www.blogger.com/atom/ns#" term="producto concreto"/><category scheme="http://www.blogger.com/atom/ns#" term="programa ejemplo"/><category scheme="http://www.blogger.com/atom/ns#" term="programa en java"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><title type='text'>Patrón de diseño Abstract Factory [Incluye descarga del ejemplo en Java]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Abstract Factory&lt;/h2&gt;
&lt;div&gt;
Es incorrecto pensar que Abstract Factory es igual al patrón de diseño Builder. La principal diferencia es que Builder permite la creación de objetos de una única clase, asignando valores predeterminados a los atributos de cada objeto. En Abstract Factory, se gestiona la creación de objetos pero de distintas clases.&lt;/div&gt;
&lt;div&gt;
Los objetos que van a ser creados son denominados Productos Concretos, que implementarán una interface determinada, la cual es denominada Producto Abstracto.&lt;/div&gt;
&lt;div&gt;
Así mismo, la creación de estos objetos se hace a través de factorías, que son clases que se encargan de gestionar recursos para la creación de estas instancias. Así, existe una Factoría Abstracta (que es no es más que otra interface), y por lo tanto, Factorías Concretas, que son clases que implementan tal interface.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para comprender mejor estos conceptos, se recomienda ver el siguiente video explicativo:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=xNsPGA7zrVQ&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Incluso, es posible descargar el ejemplo en Java que aparece en el video, desde el siguiente enlace:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!aJgWFLCZ!5TqBv7pIHhwzJMzxo7J3vYdICgRurtqwdXqfJpCGO-A&quot; target=&quot;_blank&quot;&gt;Clic para descargar el programa en Java&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Si dudas se le presentan, no duda en escribirlas aquí mismo o en el video en Youtube.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/8775212291129107386/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-abstract-factory.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/8775212291129107386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/8775212291129107386'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-abstract-factory.html' title='Patrón de diseño Abstract Factory [Incluye descarga del ejemplo en Java]'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-6608094910832825872</id><published>2014-02-23T18:15:00.000-08:00</published><updated>2014-02-23T18:15:42.162-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adapter"/><category scheme="http://www.blogger.com/atom/ns#" term="aplicacion en java"/><category scheme="http://www.blogger.com/atom/ns#" term="automotriz"/><category scheme="http://www.blogger.com/atom/ns#" term="clase abstracta"/><category scheme="http://www.blogger.com/atom/ns#" term="clase adaptada"/><category scheme="http://www.blogger.com/atom/ns#" term="clase adaptadora"/><category scheme="http://www.blogger.com/atom/ns#" term="design pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplo aplicativo"/><category scheme="http://www.blogger.com/atom/ns#" term="interface"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaz"/><category scheme="http://www.blogger.com/atom/ns#" term="motor"/><category scheme="http://www.blogger.com/atom/ns#" term="patron diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="target"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><title type='text'>Patrón de diseño Adapter [Incluye descarga del ejemplo en Java]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Adapter&lt;/h2&gt;
&lt;div&gt;
Llega un momento en el que queremos hacer uso de cierta clase, pero observamos que esta clase no es totalmente compatible con nuestra aplicación. Hemos desarrollado un programa que permite el funcionamiento de una empreza automotriz, dando órdenes para que determinados motores se activen. Sin embargo, se ha adquirido un nuevo motor y su programa para funcionamiento es distinto al que manejamos hasta entonces.&lt;/div&gt;
&lt;div&gt;
Sucede que no podemos modificar el código fuente de tal clase, sólo hacer uso de ella, pero no es compatible con nuestra interfaz Motor que define a los métodos de modo general, y que son implementados por los distintos tipos de motores.&lt;/div&gt;
&lt;div&gt;
¿Qué hacer? Crear una clase adaptadora, que sirva como puente entre la clase Adaptee (clase a adaptar) y el Target (interface o clase abstracta que define los métodos que queremos adecuar).&lt;/div&gt;
&lt;div&gt;
La aplicación de este proceso se corresponde con el patrón de diseño Adapter, y para comprenderlo mejor es que he creado un video explicativo del mismo, el cual puede verse desde:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.youtube.com/&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Así mismo, el ejemplo en Java que aparece en el video puede descargarse desde el siguiente enlace en Mega:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!vNICUJRJ!vA3RMEy0Ee80rAFiQlcvXd1rOOvQ2pVCESzUUi7MvgI&quot; target=&quot;_blank&quot;&gt;Clic para descargar el programa en Java&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/6608094910832825872/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-adapter-incluye.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6608094910832825872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6608094910832825872'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-adapter-incluye.html' title='Patrón de diseño Adapter [Incluye descarga del ejemplo en Java]'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-2648101822272306990</id><published>2014-02-23T12:51:00.001-08:00</published><updated>2014-02-23T12:51:25.958-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="abstract builder"/><category scheme="http://www.blogger.com/atom/ns#" term="abstract class"/><category scheme="http://www.blogger.com/atom/ns#" term="aplicacion Java"/><category scheme="http://www.blogger.com/atom/ns#" term="builder"/><category scheme="http://www.blogger.com/atom/ns#" term="builders"/><category scheme="http://www.blogger.com/atom/ns#" term="clase abstracta"/><category scheme="http://www.blogger.com/atom/ns#" term="concrete builder"/><category scheme="http://www.blogger.com/atom/ns#" term="director"/><category scheme="http://www.blogger.com/atom/ns#" term="diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="patron"/><category scheme="http://www.blogger.com/atom/ns#" term="patron de diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="video explicativo"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>Patrón de diseño Builder [Incluye descarga del ejemplo en Java]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Builder&lt;/h2&gt;
&lt;div&gt;
El patrón de diseño se usa para crear objetos de una clase en particular (a la que se refiere como clase Producto), asignando valores predeterminados a sus atributos.&lt;/div&gt;
&lt;div&gt;
Los valores que serán asignados son definidos en los Concrete Builders, que son clases concretas que herdan de una clase abstracta denominada Abstract Builder.&lt;/div&gt;
&lt;div&gt;
Existe además una clase Director que gestiona el uso de las clases anteriores. Así, desde una clase Principal simplemente habrá que hacer uso de la clase Director para instanciar objetos de la clase Producto, dependiendo del Concrete Builder que se le asigne.&lt;/div&gt;
&lt;div&gt;
Esto puede parecer un juego de palabras, pero le parecerá gracioso luego de comprender mejor cómo funciona todo esto.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para ello es que explico un ejemplo en el que se aplica este patrón (Builder), pueden ver tal explicación en el siguiente video:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=M1VOvNaiJPc&quot; target=&quot;_blank&quot;&gt;Clic para ver el vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Así mismo pueden descargar el ejemplo realizado con Java usando Netbeans desde el siguiente enlace:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!nYpCFRCA!dnYNa_6Jai3b9aDnccy3QoWJ-4fJAuOhIX9L7LVlSl4&quot; target=&quot;_blank&quot;&gt;Clic para descargar la aplicación Java&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Si tienen dudas pueden escribirlas acá mismo o como comentarios en el video en Youtube. Les responderé en la brevedad de lo posible.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/2648101822272306990/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-builder-incluye.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2648101822272306990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2648101822272306990'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-builder-incluye.html' title='Patrón de diseño Builder [Incluye descarga del ejemplo en Java]'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-3413227985542270576</id><published>2014-02-22T21:55:00.001-08:00</published><updated>2014-02-22T22:04:55.690-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="caracteristicas"/><category scheme="http://www.blogger.com/atom/ns#" term="crear instancias"/><category scheme="http://www.blogger.com/atom/ns#" term="descargar"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="diseño"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplos"/><category scheme="http://www.blogger.com/atom/ns#" term="instanciar"/><category scheme="http://www.blogger.com/atom/ns#" term="objetos"/><category scheme="http://www.blogger.com/atom/ns#" term="patron"/><category scheme="http://www.blogger.com/atom/ns#" term="pattern"/><category scheme="http://www.blogger.com/atom/ns#" term="programacion Java"/><category scheme="http://www.blogger.com/atom/ns#" term="programas Java"/><category scheme="http://www.blogger.com/atom/ns#" term="singleton"/><category scheme="http://www.blogger.com/atom/ns#" term="unica"/><category scheme="http://www.blogger.com/atom/ns#" term="unico"/><category scheme="http://www.blogger.com/atom/ns#" term="videotutorial"/><title type='text'>Patrón de diseño Singleton [Incluye descarga de los ejemplos]</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Singleton&lt;/h2&gt;
&lt;div&gt;
Singleton es uno de los patrones diseño más fáciles de aplicar, pero no por ello debe usarse exhaustivamente. Debemos aprender cuándo y porqué hacer uso de este patrón.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Como &lt;b&gt;característica principal&lt;/b&gt; del mismo tenemos:&lt;/div&gt;
&lt;div&gt;
Singleton&lt;i&gt; restringe la creación de instancias&lt;/i&gt; de una clase, limitando a que sólo pueda crearse una única instancia.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
He realizado un video que explica con mayor detalle la aplicación de Singleton. En tal video se explica cómo se ha integrado este patrón a dos aplicaciones creadas usando Java:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=f_KJScnY7TA&quot; target=&quot;_blank&quot;&gt;Clic para acceder al vídeo&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y es posible &lt;b&gt;descargar &lt;/b&gt;el código de tales aplicaciones desde el siguiente enlace:&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://mega.co.nz/#!GRgV0ZwT!rsYB3_S67yy8oHIObdE89ZQuK4DPHi1z3LZ8KtWqeMM&quot; target=&quot;_blank&quot;&gt;Clic para descargar los ejemplos&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En caso de tener dudas, puede comentar en el video o aquí mismo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/3413227985542270576/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-singleton-incluye.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/3413227985542270576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/3413227985542270576'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2014/02/patron-de-diseno-singleton-incluye.html' title='Patrón de diseño Singleton [Incluye descarga de los ejemplos]'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-2550076318106929221</id><published>2013-11-26T19:29:00.001-08:00</published><updated>2013-11-26T19:36:09.859-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aprender java"/><category scheme="http://www.blogger.com/atom/ns#" term="backend"/><category scheme="http://www.blogger.com/atom/ns#" term="clases"/><category scheme="http://www.blogger.com/atom/ns#" term="ejercicio tipo examen"/><category scheme="http://www.blogger.com/atom/ns#" term="frontend"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaces"/><category scheme="http://www.blogger.com/atom/ns#" term="interfaz java"/><category scheme="http://www.blogger.com/atom/ns#" term="POO"/><category scheme="http://www.blogger.com/atom/ns#" term="programa en java"/><category scheme="http://www.blogger.com/atom/ns#" term="programacion orientada a objetos"/><title type='text'>Ejercicio tipo examen sobre Clases e Interfaces en Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Bueno, el siguiente ejercicio fue propuesto como un &lt;i&gt;ejercicio tipo examen&lt;/i&gt; para el curso &quot;Tecnología de la programación I&quot; que estoy siguiendo (IV ciclo de &lt;i&gt;Ingeniería de Sistemas&lt;/i&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Enunciado.&lt;/h2&gt;&lt;div&gt;
El departamento de Informática de un hospital está realizando un nuevo registro de datos de todas las personas que tienen relación con esa institución, que son: los empleados, los médicos y los pacientes.&lt;br /&gt;
Los empleados son categorizados en función de si son contratados por Planilla o de forma Eventual y son los encargados de los procesos administrativos.&lt;/div&gt;&lt;br /&gt;
Los médicos (que podrían considerarse un tipo especial de empleados contratados por Planilla) se encargan de las atenciones de las consultas médicas.&lt;br /&gt;
Para solicitar una cita, el paciente es atendido por un empleado. El paciente indica el servicio en el cual quiere pasar consulta y el empleado le indica el nombre del médico, la fecha y la hora de la cita.&lt;br /&gt;
&lt;br /&gt;
Los atributos de cada uno de ellos se indican a continuación:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Persona: número de DNI, nombre, apellido, fecha de nacimiento, dirección, ciudad de procedencia.&lt;/li&gt;
&lt;li&gt;Paciente: número de historia clínica, sexo, grupo sanguíneo, lista de medicamentos a los que es alérgico.&lt;/li&gt;
&lt;li&gt;Empleado: código de Empleado, número de horas extras, fecha de ingreso, área, cargo.&lt;/li&gt;
&lt;li&gt;Empleado por Planilla: salario mensual, porcentaje adicional por hora extra.&lt;/li&gt;
&lt;li&gt;Empleado Eventual: honorarios por hora, número de horas totales (normales + extras) trabajadas, fecha de término del contrato.&lt;/li&gt;
&lt;li&gt;Médico: especialidad (cirujano, oftalmólogo, etc.), servicio (cirugía, oftalmología, etc.), número de consultorio.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Las operaciones que involucren algún cálculo, deben desarrollarse a través de interfaces.&lt;br /&gt;
La aplicación a desarrollar debe permitir:&lt;br /&gt;
a) Registrar los datos de los empleados, los pacientes y los médicos.&lt;br /&gt;
b) Registrar los datos de una cita médica.&lt;br /&gt;
c) Listar los datos de los médicos ordenados en forma descendente por la especialidad.&lt;br /&gt;
d) Listar los datos (nombres y apellidos) de los pacientes atendidos por un médico determinado (ingresando su código).&lt;br /&gt;
&lt;br /&gt;
Nota: En el diagrama y en la codificación deben mostrarse e implementarse los aspectos de ocultación, composición y/o agregación, herencia (simple y múltiple) y polimorfismo.&lt;br /&gt;&lt;br&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Solución.&lt;/h2&gt;
&lt;div&gt;
El desarrollo se compone de clases e interfaces, a fin de cumplir todos los requisitos expuestos.&lt;/div&gt;
&lt;div&gt;
En este caso, se ha ordenado el programa en 2 paquetes: &lt;b&gt;backend &lt;/b&gt;y &lt;b&gt;frontend&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
El primero incluye toda la lógica interna del programa y el segundo sólo lo referente a la lectura de datos y acerca de cómo se presentan las opciones y respuestas al usuario.&lt;/div&gt;
&lt;div&gt;
Dentro del primer paquete se encuentran las clases e interfaces: EEventual, EPlanilla, Empleado, Fecha, Medico (que contiene una clase interna llamada CitaMedica), Paciente, Persona, Saldo, SaldoEventual y SaldoPlanilla.&lt;/div&gt;
&lt;div&gt;
Dentro del segundo paquete se tiene: Aplicacion, Lector y Principal.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El siguiente video explica detalladamente el desarrollo del programa:&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=hQ-X0Eop9us&quot; target=&quot;_blank&quot;&gt;Clic para ver el video.&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Desde el siguiente enlace pueden descargar el código fuente, para analizar más a fondo la aplicación:&lt;br /&gt;
&lt;a href=&quot;https://mega.co.nz/#!GBgl1bYa!Jes-qUwckITWqpamXjqwpWWcijAuXuIw5zzxhkJ_QMk&quot; target=&quot;_blank&quot;&gt;Clic para descargar la aplicación.&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/2550076318106929221/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/11/ejercicio-tipo-examen-sobre-clases-e.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2550076318106929221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2550076318106929221'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/11/ejercicio-tipo-examen-sobre-clases-e.html' title='Ejercicio tipo examen sobre Clases e Interfaces en Java'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-3771754169199424372</id><published>2013-10-23T22:01:00.001-07:00</published><updated>2014-04-16T19:49:47.595-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aprender a programar"/><category scheme="http://www.blogger.com/atom/ns#" term="ejemplo básico"/><category scheme="http://www.blogger.com/atom/ns#" term="herencia"/><category scheme="http://www.blogger.com/atom/ns#" term="herencia de clases"/><category scheme="http://www.blogger.com/atom/ns#" term="herencia en java"/><category scheme="http://www.blogger.com/atom/ns#" term="paquetes"/><category scheme="http://www.blogger.com/atom/ns#" term="polimorfismo"/><category scheme="http://www.blogger.com/atom/ns#" term="polimorfismo en java"/><category scheme="http://www.blogger.com/atom/ns#" term="programa en java"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial de java"/><title type='text'>Herencia y Polimorfismo en Java (Ejemplo 01)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Enunciado:&amp;nbsp;&lt;/b&gt;La empresa XYZ requiere una aplicación informática para administrar los datos de su personal.&lt;/div&gt;
&lt;div&gt;
Del personal se conoce: número de DNI, nombre, apellidos y fecha de ingreso.&lt;/div&gt;
&lt;div&gt;
Existen dos categorías de personal: el personal contratado y el personal a destajo.
Los empleados contratados tienen un sueldo básico y un porcentaje adicional en función al tiempo laborado: 
de 0 a 3 años: 5%; de 4 a 7 años: 10%; de 8 a 15 años: 15% y más de 15 años: 20%.
Los empleados a destajo tienen un número de clientes captados y un monto por cliente captado.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
El desarrollo se compone de 3 paquetes: &lt;b&gt;datos&lt;/b&gt;, &lt;b&gt;entidades &lt;/b&gt;y &lt;b&gt;presentacion&lt;/b&gt;.&lt;br /&gt;
En el paquete datos se encuentra una clase llamada &lt;i&gt;ListaEmpleados&lt;/i&gt;.&lt;br /&gt;
Dentro de entidades tenemos la clase padre &lt;i&gt;Empleado &lt;/i&gt;de la que heredan las clases &lt;i&gt;EContratado &lt;/i&gt;y &lt;i&gt;EDestajo&lt;/i&gt;.&lt;br /&gt;
Finalmente, el paquete presentacion incluye las clases: &lt;i&gt;Aplication &lt;/i&gt;y &lt;i&gt;AplicationRunner&lt;/i&gt;.&lt;br /&gt;
El video explicativo de este ejercicio (que hace uso de Herencia y Polimorfismo) puede verse desde la siguiente dirección:&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
&lt;br&gt;
Enlace: https://www.youtube.com/watch?v=2tO_v8gYk74
&lt;br&gt;&lt;br&gt;
Y el código fuente de cada una de las clases mencionadas se presenta a continuación.
&lt;br /&gt;&lt;br&gt;

&lt;b&gt;Clase Empleado&lt;/b&gt;
&lt;pre&gt;&lt;code&gt;
package entidades;

public class Empleado {
    private String dni;
    private String nombre;
    private String apellidos;
    protected java.util.GregorianCalendar fechaIngreso;

    public Empleado () {
        dni = &quot;00000000&quot;;
        nombre = &quot;NN&quot;;
        apellidos = &quot;NA&quot;;
        fechaIngreso = new java.util.GregorianCalendar(1800,0,1);
    }

    public Empleado (String dni, String nombre, String apellidos, java.util.GregorianCalendar fechaIngreso) {
        this.dni = dni;
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.fechaIngreso = fechaIngreso;
    }

    public void setDni (String dni) {
        this.dni = dni;
    }

    public String getDni () {
        return dni;
    }

    public void setNombre (String nombre) {
        this.nombre = nombre;
    }

    public String getNombre () {
        return nombre;
    }

    public void setApellidos (String apellidos) {
        this.apellidos = apellidos;
    }

    public String getApellidos () {
        return apellidos;
    }

    public void setFechaIngreso (java.util.GregorianCalendar fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public java.util.GregorianCalendar getFechaIngreso () {
        return fechaIngreso;
    }

    @Override
    public String toString () {
        int dia, mes, año;
        dia = getFechaIngreso().get(java.util.Calendar.DAY_OF_MONTH);
        mes = getFechaIngreso().get(java.util.Calendar.MONTH)+1;
        año = getFechaIngreso().get(java.util.Calendar.YEAR);
        return &quot;DNI: &quot; + getDni() + &quot;\nNombre y Apellidos: &quot; + getNombre() + 
               &quot; &quot; + getApellidos() + &quot;\nFecha de ingreso: &quot; + 
               (dia&lt;=9?&quot;0&quot;+dia:dia) + &quot;/&quot; + (mes&lt;=9?&quot;0&quot;+mes:mes) + &quot;/&quot; + año;
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;br&gt;

&lt;b&gt;Clase EContratado&lt;/b&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package entidades;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class EContratado extends Empleado {
    private float salarioB;

    public EContratado () {
        super();
        salarioB = 0.0f;
    }

    public EContratado (String dni, String nombre, String apellidos, java.util.GregorianCalendar fechaIngreso, float salarioB) {
        super(dni, nombre, apellidos, fechaIngreso);
        this.salarioB = salarioB;
    }

    public void setSalario (float salarioB) {
        this.salarioB = salarioB;
    }

    public float getSalario () {
        GregorianCalendar Actual = new GregorianCalendar();
        int anios = Actual.get(Calendar.YEAR) - fechaIngreso.get(Calendar.YEAR);
        if(fechaIngreso.get(Calendar.MONTH)&gt;Actual.get(Calendar.MONTH)
           || fechaIngreso.get(Calendar.MONTH)==Actual.get(Calendar.MONTH)
              &amp;&amp; fechaIngreso.get(Calendar.DAY_OF_MONTH)&gt;Actual.get(Calendar.DAY_OF_MONTH)
          ) anios--;
        switch(anios)
        {
            case 0: // break;
            case 1:
            case 2:
            case 3: return 1.05f*salarioB;
            case 4: 
            case 5:
            case 6:
            case 7: return 1.10f*salarioB;
            case 8:
            case 9:
            case 10:
            case 11:
            case 12:
            case 13:
            case 14:
            case 15: return 1.15f*salarioB;
            default: return 1.20f*salarioB;
        }
    }

    @Override
    public String toString () {
        return super.toString() + &quot;\nSalario: &quot; + getSalario();
    }
}&lt;/pre&gt;

&lt;br&gt;

&lt;b&gt;Clase EDestajo&lt;/b&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package entidades;

public class EDestajo extends Empleado {
    private int clientesCaptados;
    public static final float salarioD = 130.05f;

    public EDestajo () {
        super();
        clientesCaptados = 0;
    }

    public EDestajo (String dni, String nombre, String apellidos, java.util.GregorianCalendar fechaIngreso, int clientesCaptados) {
        super(dni, nombre, apellidos, fechaIngreso);
        this.clientesCaptados = clientesCaptados;
    }

    public void setClientesCaptados (int clientesCaptados) {
        this.clientesCaptados = clientesCaptados;        
    }

    public int getClientesCaptados () {
        return clientesCaptados;
    }
    
    public float getSalario () {
        return salarioD*clientesCaptados;
    }

    @Override
    public String toString () {
        return super.toString() + &quot;\nSalario: &quot; + getSalario();
    }
}&lt;/pre&gt;

&lt;br&gt;

&lt;b&gt;Clase ListaEmpleados&lt;/b&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package datos;

import entidades.Empleado; 
import java.util.ArrayList; 

public class ListaEmpleados {
    private ArrayList&lt;Empleado&gt; listaE;
    private int posicion; // Última posición.

    public ListaEmpleados () {
        listaE = new ArrayList();
        posicion = -1;
    }

    public void addEmpleado (Empleado empleado) {
        listaE.add(empleado);
        ++posicion;
    }

    public Empleado getEmpleado (int pos) {
        if(pos&gt;=0 &amp;&amp; pos&lt;=posicion)
            return listaE.get(pos);
        return null;
    }

    public int getPosicion () {
        return posicion;
    }

    @Override
    public String toString () {
        String cadena = &quot;&quot;;
        for(int i=0; i&lt;=posicion; i++)
            cadena += &quot;\n\tEmpleado &quot; + (i+1) + &quot;:\n&quot; + listaE.get(i);
        return cadena;
    }
}&lt;/pre&gt;

&lt;br&gt;

&lt;b&gt;Clase Aplication&lt;/b&gt;
&lt;pre class=&quot;brush: java&quot;&gt;/*
 * Menu de opciones:
 * 1. Registrar empleados contratados
 * 2. Registrar empleados a destajo
 * 3. Mostrar salarios por empleado
 * 4. Salir
 */

package presentacion;

import datos.ListaEmpleados;
import entidades.*;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Aplication {

    int opt;
    ListaEmpleados ListaContratados = new ListaEmpleados();
    ListaEmpleados ListaDestajos = new ListaEmpleados();
    private static Scanner Lector = new Scanner(System.in);
    public static final short CONTRATADO = 0;
    public static final short POR_DESTAJO = 1;

    private static String Leer(String msje)
    {
        System.out.print(msje+&quot;: &quot;);
        return Lector.nextLine();
    }

    private void Leer(int Type)
    {
        String dni = Leer(&quot;Ingrese su DNI&quot;);
        String nombre = Leer(&quot;Ingrese su nombre&quot;);
        String apellidos = Leer(&quot;Ingrese sus apellidos&quot;);
        System.out.println(&quot;Ingrese fecha de ingreso:&quot;);
        int anio = Integer.parseInt( Leer(&quot;Año&quot;) );
        int mes = Integer.parseInt( Leer(&quot;Mes (1-12)&quot;) );
        int dia = Integer.parseInt( Leer(&quot;Día&quot;) );
        GregorianCalendar fechaIngreso = new GregorianCalendar(anio,mes-1,dia);

        if(Type == CONTRATADO)
        {
            int salarioB = Integer.parseInt( Leer(&quot;Ingrese salario base&quot;) );
            ListaContratados.addEmpleado( new EContratado(dni, nombre, apellidos, fechaIngreso, salarioB) );
        }else{
            int clientesObtenidos = Integer.parseInt( Leer(&quot;Ingrese clientes reclutados&quot;) );
            ListaDestajos.addEmpleado( new EDestajo(dni, nombre, apellidos, fechaIngreso, clientesObtenidos) );
        }
    }

    private void MostrarSalarios()
    {
        System.out.println(&quot;Salarios de los empleados contratados: &quot;);
        for(int i=0; i&lt;=ListaContratados.getPosicion(); ++i)
            System.out.println( ListaContratados.getEmpleado(i) );
        System.out.println(&quot;Salarios de los empleados por destajo: &quot;);
        for(int i=0; i&lt;=ListaDestajos.getPosicion(); ++i)
            System.out.println( ListaDestajos.getEmpleado(i) );
    }


    private int Menu()
    {
        System.out.print(
          &quot;MENU DE OPCIONES\n&quot;
        + &quot;---- -- --------\n&quot;
        + &quot;1. Registrar empleados contratados.\n&quot;
        + &quot;2. Registrar empleados a destajo.\n&quot;
        + &quot;3. Mostrar salarios por empleado.\n&quot;
        + &quot;4. Salir.\n&quot;);
        return Integer.parseInt( Leer(&quot;Seleccione opción&quot;) );
    }

    private void Accionar(int opt)
    {
        switch(opt)
        {
            case 1:
                Leer(CONTRATADO);
                break;
            case 2:
                Leer(POR_DESTAJO);
                break;
            case 3:
                MostrarSalarios();
                break;
            case 4:
                System.out.println(&quot;Cerrando programa . . .&quot;);
                break;
            default:
                System.err.println(&quot;Al menos ingresa una opción válida ._.&quot;);
        }
    }

    public void Ejecutar () {

        do{
            opt = Menu();
            Accionar(opt);
        }while(opt!=4);
        
    }
}&lt;/pre&gt;

&lt;br&gt;

&lt;b&gt;Clase AplicationRunner&lt;/b&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package presentacion;

public class AplicationRunner {

    public static void main(String[] args) {
        new Aplication().Ejecutar();
    }
    
}&lt;/pre&gt;

Y ello sería todo. Cualquier duda puede escribirse a modo de comentario.</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/3771754169199424372/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/10/herencia-y-polimorfismo-en-java-ejemplo.html#comment-form' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/3771754169199424372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/3771754169199424372'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/10/herencia-y-polimorfismo-en-java-ejemplo.html' title='Herencia y Polimorfismo en Java (Ejemplo 01)'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-7885403364192957174</id><published>2013-10-15T03:43:00.000-07:00</published><updated>2013-10-15T03:53:05.100-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aprender escuchando"/><category scheme="http://www.blogger.com/atom/ns#" term="aprender inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="aprender repitiendo"/><category scheme="http://www.blogger.com/atom/ns#" term="expresiones en inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="frases usuales"/><category scheme="http://www.blogger.com/atom/ns#" term="inglés básico"/><category scheme="http://www.blogger.com/atom/ns#" term="palabras en inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="pronunciar inglés correctamente"/><title type='text'>Términos y expresiones en inglés #002</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;background-color: #eef8f0; border-bottom-color: transparent; border-bottom-style: solid; border-bottom-width: 1px; color: #4d4d4d; font-family: Verdana, Geneva, sans-serif; font-size: 16px; margin: 0px; padding: 0.6em 0px 0.5em; position: relative; text-align: center;&quot;&gt;
Expresiones en Inglés #002&lt;/h2&gt;
&lt;div&gt;
Esta es la segunda entrega de los videos de &quot;aprender inglés escuchando y repitiendo&quot;.&lt;/div&gt;
&lt;div&gt;
Vuelvo a repetir que, aunque parezca exagerado, es probablemente una de las mejores formas de aprender si conocemos aún lo básico del lenguaje.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las expresiones son las siguientes:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;Exceptions provide a way to react to exceptional circumstances.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Las excepciones proporcionan una forma de reaccionar ante las circunstancias excepcionales.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;We must place a portion of code.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Debemos colocar alguna porción de código.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;When an exceptional circumstance arises within that block...&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Cuando una circunstancia excepcional surge dentro de ese bloque&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;As you can see.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Como se puede ver.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;It follows immediately the closing brace.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Esto sigue inmediatamente a la llave de cierre.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;Always has at least one parameter.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Siempre tiene al menos un parámetro.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;The type of this parameter is very important, since the type of the argument passed by the throw expression is checked against it, and...&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;El tipo de este parámeto es muy importante, ya que el tipo de argumento que se pasa por la expresión throw se compara con aquel, y...&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;We can chain multiple handlers.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Podemos encadenar múltiples controladores.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;Each one with a different parameter type.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Cada uno con un tipo de parámetro diferente.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;Until now.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Hasta ahora.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;So each one should be manipulated with its own set of functions or operators.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Por lo tanto, cada uno debe ser manipulado con su propio conjunto de funciones u operadores.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;The first thing we have to know is that...&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;La primera cosa que tenemos que saber es que...&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;Once declared.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Una vez declarado.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;We will now go with another example that includes pointers.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Ahora vamos a ir con otro ejemplo que incluye punteros.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;This operator serves to access a member of an object to which we have a reference.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Este operador sirve para acceder al miembro de un objeto del cual tenemos una referencia.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;The most important new thing in this code is the operator of scope.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;La novedad más importante de este código es el operador de ámbito.&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #660000;&quot;&gt;&lt;b&gt;One of the greater advantages of a class is that, as any other type, we can declare several objects of it.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&quot;Una de las mayores ventajas de una clase es que, como cualquier otro tipo, podemos declarar varios objetos de la misma.&quot;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y éste es el &lt;i&gt;enlace&lt;/i&gt; correspondiente al &lt;b&gt;video&lt;/b&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;http://www.youtube.com/watch?v=fa4Han5h4vU&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/7885403364192957174/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/10/terminos-y-expresiones-en-ingles-002.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/7885403364192957174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/7885403364192957174'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/10/terminos-y-expresiones-en-ingles-002.html' title='Términos y expresiones en inglés #002'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-1926066488092819086</id><published>2013-08-24T09:45:00.002-07:00</published><updated>2013-08-24T09:45:36.662-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="al azar"/><category scheme="http://www.blogger.com/atom/ns#" term="aleatorios"/><category scheme="http://www.blogger.com/atom/ns#" term="clase random"/><category scheme="http://www.blogger.com/atom/ns#" term="entre intervalos"/><category scheme="http://www.blogger.com/atom/ns#" term="generar valores"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="números aleatorios"/><category scheme="http://www.blogger.com/atom/ns#" term="obtener números"/><category scheme="http://www.blogger.com/atom/ns#" term="random"/><title type='text'>Números aleatorios en Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hasta antes he publicado contenido relacionado a &lt;b&gt;C++&lt;/b&gt;, el cual es un lenguaje &lt;u&gt;multiparadigma&lt;/u&gt;, pues nos permite programar usando la &lt;b&gt;POO &lt;/b&gt;(&lt;i&gt;programación orientada a objetos&lt;/i&gt;), sin ella, o mezclando ambos estilos de programación.&lt;br /&gt;
Esta es la primera entrada relacionada a &lt;b&gt;Java&lt;/b&gt;. Es un video en el que se explica cómo &lt;b&gt;generar números aleatorios&lt;/b&gt; haciendo uso de la clase &lt;b&gt;Random&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Como verá, a diferencia de C++, Java es un lenguaje de programación totalmente orientado a objetos, es decir, usa la POO en su totalidad. Tanto es así, que la función main que usábamos en C++ pasará a ser un método estático main de alguna clase principal.&lt;br /&gt;
&lt;br /&gt;
A continuación les dejo el enlace para ver el videotutorial correspondiente:&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=FMuw9odntTM&quot;&gt;http://www.youtube.com/watch?v=FMuw9odntTM&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Si tienen alguna duda pueden comentarla acá, o sugerir la creación de un video de un tema en particular.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/1926066488092819086/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/08/numeros-aleatorios-en-java.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1926066488092819086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/1926066488092819086'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/08/numeros-aleatorios-en-java.html' title='Números aleatorios en Java'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-6190543164454266387</id><published>2013-06-30T21:38:00.000-07:00</published><updated>2013-07-02T21:22:51.358-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aprender inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="expresiones en inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="frases usuales"/><category scheme="http://www.blogger.com/atom/ns#" term="leer textos en inglés"/><category scheme="http://www.blogger.com/atom/ns#" term="palabras y su significado"/><category scheme="http://www.blogger.com/atom/ns#" term="pronunciar inglés correctamente"/><title type='text'>Términos y expresiones en inglés #001</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: center;&quot;&gt;
Expresiones en Inglés #001&lt;/h2&gt;
&lt;div&gt;
Son muchas las palabras y expresiones usuales.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
A mi parecer, aprender inglés podría resultar costoso si únicamente tratamos de memorizar los significados de cada término por separado. Sin embargo, si aprendemos expresiones que suelen usarse con frecuencia, repitiendo la pronunciación respectiva en inglés y analizando su significado palabra a palabra, aprenderemos mucho.&lt;/div&gt;
&lt;div&gt;
Ya existe una sección en la que publico expresiones que suelen usarse, están en inglés y en español. Dicha sección es &quot;English terms&quot;. Sin embargo, allí sólo muestro las frases en ambos idiomas.&lt;/div&gt;
&lt;div&gt;
Las entradas que tengan como título &quot;expresiones y términos en inglés&quot; incluirán además un video que será subido a Youtube, al cual podrán acceder fácilemente y tener un mejor aprendizaje.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Manage dynamic storage.&lt;/b&gt; Gestionar almacenamiento dinámico.&lt;br /&gt;
&lt;b&gt;Exceptionally within the standard library.&lt;/b&gt; Excepcionalmente dentro de la librería estándar.&lt;br /&gt;
&lt;b&gt;Declares several functions.&lt;/b&gt; Declara varias funciones.&lt;br /&gt;
&lt;b&gt;Instead of.&lt;/b&gt; En vez de. / En lugar de.&lt;br /&gt;
&lt;b&gt;These are the operator overloads.&lt;/b&gt; Estas son las sobrecargas de operadores.&lt;br /&gt;
&lt;b&gt;Handle.&lt;/b&gt; Manejar. / Manipular.&lt;br /&gt;
&lt;b&gt;Requests.&lt;/b&gt; Solicitudes. / Peticiones.&lt;br /&gt;
&lt;b&gt;Allocate storage space.&lt;/b&gt; Asignar espacio de almacenamiento.&lt;br /&gt;
&lt;b&gt;Exception thrown on failure allocating memory.&lt;/b&gt; Excepción lanzada en caso de fallar la asignación de memoria.&lt;br /&gt;
&lt;b&gt;To find out.&lt;/b&gt; Para averiguarlo. / Para saber.&lt;br /&gt;
&lt;b&gt;To find out wich.&lt;/b&gt; Para averiguar cual. / Para saber que...&lt;br /&gt;
&lt;b&gt;Most compilers.&amp;nbsp;&lt;/b&gt; La mayoría de los compiladores.&lt;br /&gt;
&lt;b&gt;Although support for C++11 features is growing.&lt;/b&gt; Aunque el soporte para las características de C++ 11 está creciendo.&lt;br /&gt;
&lt;b&gt;Suitable.&lt;/b&gt; Adecuado. / Apropiado. / Conveniente. / Idóneo.&lt;br /&gt;
&lt;b&gt;Suitably aligned.&lt;/b&gt; Adecuadamente alineados.&lt;br /&gt;
&lt;b&gt;Returns a non-null pointer.&lt;/b&gt; Devuelve un puntero no nulo.&lt;br /&gt;
&lt;b&gt;On failure, it throws a exception.&lt;/b&gt; En caso de fallo, se produce una excepción.&lt;br /&gt;
&lt;b&gt;Same as above.&lt;/b&gt; Como el anterior. / Igual que el anterior.&lt;br /&gt;
&lt;b&gt;Notice though that.&lt;/b&gt; Nótese sin embargo que.&lt;br /&gt;
&lt;b&gt;Will be performed.&lt;/b&gt; Se realizará. / Se llevará a cabo.&lt;br /&gt;
&lt;b&gt;The proper initialization will be performed.&lt;/b&gt; Se realizará la inicialización adecuada.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En este caso, para ver el video, visite el siguiente enlace:&lt;/div&gt;
&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
http://www.youtube.com/watch?v=2tURd_GSXJk&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/6190543164454266387/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/terminos-y-expresiones-en-ingles-001.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6190543164454266387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/6190543164454266387'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/terminos-y-expresiones-en-ingles-001.html' title='Términos y expresiones en inglés #001'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-2694091167286590491</id><published>2013-06-29T20:40:00.000-07:00</published><updated>2024-06-14T22:13:32.497-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="leer matrices C++"/><category scheme="http://www.blogger.com/atom/ns#" term="matriz en C++"/><category scheme="http://www.blogger.com/atom/ns#" term="mostrar matriz"/><category scheme="http://www.blogger.com/atom/ns#" term="multiplicar matrices en C++"/><category scheme="http://www.blogger.com/atom/ns#" term="producto de matrices"/><title type='text'>Producto de matrices en C++</title><content type='html'>&lt;script&gt;
setTimeout(function() {
  window.location.href = &quot;https://programacionymas.com/blog/producto-matrices&quot;;
}, 3000);
&lt;/script&gt;

&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Este contenido ha sido desplazado a mi nuevo blog 👽:&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;https://programacionymas.com/blog/producto-matrices&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;

</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/2694091167286590491/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/producto-de-matrices-en-c.html#comment-form' title='11 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2694091167286590491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/2694091167286590491'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/producto-de-matrices-en-c.html' title='Producto de matrices en C++'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3632036944036143832.post-5080441057614499708</id><published>2013-06-27T23:07:00.000-07:00</published><updated>2013-06-29T20:36:29.184-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="biblioteca math"/><category scheme="http://www.blogger.com/atom/ns#" term="elevar un número"/><category scheme="http://www.blogger.com/atom/ns#" term="exponentes en C++"/><category scheme="http://www.blogger.com/atom/ns#" term="potencias"/><category scheme="http://www.blogger.com/atom/ns#" term="potencias en C++"/><category scheme="http://www.blogger.com/atom/ns#" term="usar librería math"/><title type='text'>Usar potencias en C++ sin usar librerías o bibliotecas</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
El código siguiente puede parecer relativamente fácil y sencillo, pero podría ser de mucha ayuda para quienes recién están aprendiendo C++:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush: cpp&quot;&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdlib&amp;gt; // Necesario para poder usar system
using namespace std;

// Prototipo de funciones.
int Cubo(int);
int Elevar(int, int);

// Definición de funciones.
int Cubo(int x){return x*x*x;}

int Elevar(int B, int P)
{
    int Resultado = 1; // No se inicializa en 0 porque el resultado devuelto siempre sería 0.
    for(int i=1; i&amp;lt;=P; ++i)
        Resultado *= B; // Es lo mismo que escribir Resultado = Resultado * B;
    return Resultado; // Devolvemos el resultado.
}

int main()
{
    int N;
    cout&amp;lt;&amp;lt;&quot;Ingrese un nro para elevar al cubo: &quot;;
    cin&amp;gt;&amp;gt;N;
    cout&amp;lt;&amp;lt;N&amp;lt;&amp;lt;&quot; elevado al cubo es: &quot;&amp;lt;&amp;lt;Cubo(N)&amp;lt;&amp;lt;endl;

    system(&quot;pause&quot;); // Pausamos para ver el resultado...
    system(&quot;cls&quot;); // Esto nos permite limpiar el contenido de la consola.

    int base, potencia;
    cout&amp;lt;&amp;lt;&quot;Ingrese nro base: &quot;; cin&amp;gt;&amp;gt;base;
    cout&amp;lt;&amp;lt;&quot;Ingrese nro potencia: &quot;; cin&amp;gt;&amp;gt;potencia;
    cout&amp;lt;&amp;lt;base&amp;lt;&amp;lt;&quot; elevado al exponente &quot;&amp;lt;&amp;lt;potencia&amp;lt;&amp;lt;&quot; es: &quot;&amp;lt;&amp;lt;Elevar(base, potencia);

    return 0;
}&lt;/pre&gt;

La elaboración del código paso a paso puede verse en el siguiente video:
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.youtube.com/watch?v=Fyu1yy3dgsU&quot;&gt;Clic para ver el video en Youtube&lt;/a&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://programacion-innata.blogspot.com/feeds/5080441057614499708/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/usar-potencias-en-c-sin-usar-librerias.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/5080441057614499708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3632036944036143832/posts/default/5080441057614499708'/><link rel='alternate' type='text/html' href='http://programacion-innata.blogspot.com/2013/06/usar-potencias-en-c-sin-usar-librerias.html' title='Usar potencias en C++ sin usar librerías o bibliotecas'/><author><name>Juan R.</name><uri>http://www.blogger.com/profile/00296875569582139883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>