martes, 24 de noviembre de 2009

APPLETS

Qué son los Applets de Java

Una manera de incluir programas complejos en el ámbito de una página web. Estos applets se programan en Java y por tanto se benefician de la potencia de este lenguaje para la Red.
Por Miguel Angel Alvarez
Un applet no es más que una aplicación Java que se encuentra en web. El applet presenta unas diferencias con las aplicaciones porque no tienen ningún main, y son clases que tienen el mismo nombre que el del archivo que las incluye, que amplían la clase Applet del paquete java.applet.
Incluso para los applets existe la versión JApplet de swing, que se utiliza para introducir componentes Swing en lugar de componentes AWT. Un applet necesita un archivo html que lo invoque. Por ejemplo, PrimoApplet.java, el applet que queremos poner en marcha, lo redactamos y el compilador genera PrimoApplet.class. Para ponerlo en marcha necesitamos un archivo html que incluya el TAG en su interior:

Si este archivo se llama tribilín.html, llegados a este punto tenemos dos posibilidades para poner en marcha el applet. La primera, en fase debug, es utilizar el programa appletviewer de JDK y, para esto, tendremos que escribir partiendo del prompt de dos:
appletviewer tribilín.html
La segunda es utilizar un web browser, como Explorer o Netscape invocando el archivo tribilín.html.
Como se puede ver, se pone en marcha siempre el archivo html, y no el archivo .class como ocurría para las aplicaciones. Es el archivo html el que invoca la aplicación .java.
Para más informaciones sobre las páginas html os aconsejo visitar el sito HTMLpoint donde se encuentran apartados que tratan este tema. Nosostros prepararemos unas páginas sencillas que sirven sólo para cargar nuestros applets. por ejemplo, para el applet PrimoApplet.class de antes, el archivo tribilín.html será algo parecido a:


Applet PrimoApplet <br /></head> <br /><body> <br />El siguiente es el applet PrimoApplet.class <br /><applet code="PrimoApplet.class" width=100 height=100>¡Tu browser es viejo, tienes que cambiarlo!</APPLET> <br /></body> <br /></html> <br />Ciclo de vida de un applet <br />Para seguir el ciclo de vida de un applet, supondremos que estamos ejecutando en nuestro navegador el applet básico HolaMundo, a través de la página HTML que lo carga y corre. <br /> <br />Lo primero que aparece son los mensajes "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es: <br /> <br /> <br /> <br />Se crea una instancia de la clase que controla al applet <br />El applet se inicializa a si mismo <br />Comienza la ejecución del applet <br /> <br />Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución. <br /> <br />Si se utiliza la opción del navegador de Reload, es decir, volver a cargar la página, el applet es descargado y vuelto a cargar. El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización. <br /> <br />Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador. <br /> <br /> <br />Autor: htmlpoint <br />http://www.htmlpoint.com/guidajava/java_18.htm <br />Agustín Froufe. <br />Extraido de: http://www.publispain.com/supertutoriales/ <br /> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Publicado por <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://www.blogger.com/profile/11274018804682176170' itemprop='url'/> <a class='g-profile' href='https://www.blogger.com/profile/11274018804682176170' rel='author' title='author profile'> <span itemprop='name'>jasg587</span> </a> </span> </span> <span class='post-timestamp'> en <meta content='http://jasg587.blogspot.com/2009/11/applets.html' itemprop='url'/> <a class='timestamp-link' href='https://jasg587.blogspot.com/2009/11/applets.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2009-11-24T17:26:00-08:00'>17:26</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://jasg587.blogspot.com/2009/11/applets.html#comment-form' onclick=''> No hay comentarios: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/524931798993985876/2067053675507371533' title='Enviar entrada por correo electrónico'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-844765198'> <a href='https://www.blogger.com/post-edit.g?blogID=524931798993985876&postID=2067053675507371533&from=pencil' title='Editar entrada'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>lunes, 23 de noviembre de 2009</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='524931798993985876' itemprop='blogId'/> <meta content='4307639349724912196' itemprop='postId'/> <a name='4307639349724912196'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://jasg587.blogspot.com/2009/11/mruv.html'>MRUV</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-4307639349724912196' itemprop='description articleBody'> M.R.U.V.<br />MATRIZ<br />public class Matriz {<br />public int numeroFilas;<br />public int numeroColumnas;<br />public double [][]matriz;<br /><br />public Matriz(){<br />}<br /><br />public Matriz(int nF, int nC){<br />numeroFilas = nF;<br />numeroColumnas = nC;<br />matriz = new double [numeroFilas][numeroColumnas];<br /><br />for(int i=0; i < numeroFilas; i++)<br />for(int j=0; j < numeroColumnas; j++)<br />matriz[i][j]=0;<br />}<br />public Matriz suma(Matriz b){<br />Matriz resultado;<br />if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){<br />resultado = new Matriz(this.numeroFilas, this.numeroColumnas);<br />for(int i=0; i < this.numeroFilas; i++)<br />for(int j=0; j < this.numeroColumnas; j++)<br />resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];<br />return resultado;<br />}<br />else<br />System.out.println("DIMENSIONES ERRADAS");<br />resultado=null;<br />return resultado;<br />}<br />public Matriz multiplicacion(Matriz b){<br />Matriz resultado;<br />if((this.numeroFilas == b.numeroColumnas)){<br />resultado = new Matriz(this.numeroFilas, this.numeroColumnas);<br />for(int i=0; i < this.numeroFilas; i++){<br />for(int j=0; j < b.numeroColumnas; j++){<br />for(int k=0; k < this.numeroColumnas; k++)<br />resultado.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];<br />}<br />}<br />return resultado;<br />}<br />else<br />System.out.println("DIMENSIONES ERRADAS ");<br />resultado=null;<br />return resultado;<br />}<br />public String toString(){<br />String aux="\n[\n";<br />for(int i=0; i < numeroFilas; i++){<br />for(int j=0; j < numeroColumnas; j++){<br />aux += matriz[i][j]+" ";<br />}<br />aux+="\n";<br />}<br />aux+= "]";<br />return aux;<br />}<br /><br /><br />}<br /><br /><br /> VECTOR<br />public class Vector3D extends Matriz {<br />double coordenadaX;<br />double coordenadaY;<br />double coordenadaZ;<br /><br />public Vector3D(){<br />super(1,3);<br />}<br /><br />public Vector3D(double x, double y, double z){<br />super(1,3);<br />this.matriz[0][0] = x;<br />this.matriz[0][1] = y;<br />this.matriz[0][2] = z;<br />coordenadaX = x;<br />coordenadaY = y;<br />coordenadaZ = z;<br />}<br /><br />public double magnitud(){<br />double resultado = 0;<br />for(int i=0; i < 3; i++){<br />resultado += this.matriz[0][i]*this.matriz[0][i];<br />}<br />resultado = Math.sqrt;<br />return resultado;<br />}<br />public double magnitud1(){<br />double resultado;<br />resultado = this.coordenadaX*this.coordenadaX+this.coordenadaY*this.coordenadaY+this.coordenadaZ*this.coordenadaZ;<br />resultado = Math.sqrt(resultado);<br />return resultado;<br />}<br />public double magnitud2(){<br />double resultado;<br />resultado = Math.pow(this.coordenadaX, 2)+Math.pow(this.coordenadaY, 2)+Math.pow(this.coordenadaZ, 2);<br />resultado = Math.sqrt(resultado);<br />return resultado;<br />}<br />public Vector3D unitario(){<br />Vector3D unitario = new Vector3D();<br />for(int i=0; i < 3; i++)<br />unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();<br />return unitario;<br />}<br />public double productoEscalar(Vector3D v){<br />double resultado = 0;<br />for(int i=0; i < 3; i++)<br />resultado += this.matriz[0][i]*v.matriz[0][i];<br />return resultado;<br />}<br />public Vector3D productoEscalarVector(double a){<br />Vector3D resultado = new Vector3D();<br />for(int i=0; i < 3; i++)<br />resultado.matriz[0][i] = this.matriz[0][i]*a;<br />return resultado;<br />}<br />public Vector3D productoCruz(Vector3D v){<br />Vector3D resultado;<br />resultado = new Vector3D();<br />resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];<br />resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];<br />resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];<br />return resultado;<br />}<br />public static void main(String args[]){<br />Vector3D v1 = new Vector3D(-1,1,-1);<br />Vector3D v2 = new Vector3D(0,2,0);<br />System.out.println(v1+"\n"+v2);<br />System.out.println("COORDENADA X =: "+v1.coordenadaX);<br />System.out.println("\n SUMA DE VECTORES = "+(v1.suma(v2)));<br />System.out.println("\n MAGNITUD VECTOR = "+v1.magnitud());<br />System.out.println("\n MAGNITUD VECTOR = "+v1.magnitud1());<br />System.out.println("\n MAGNITUD VECTOR = "+v1.magnitud2());<br />System.out.println("\n VECTOR UNITARIO = "+v1.unitario());<br />System.out.println("\n PRODUCTO ESCALAR ENTRE VECTORES = "+v1.productoEscalar(v2));<br />System.out.println("\n PRODUCTO CRUZ ENTRE VECTORES = "+v1.productoCruz(v2));<br />}<br />}<br /> MRUV<br />public class MRUV extends Vector3D{<br />Matriz posicion;<br />Matriz velocidad;<br />Matriz aceleracion;<br />Matriz desplazamiento;<br />Matriz velocidad2;<br /><br />public MRUV(){<br />}<br /><br />public MRUV (Vector3D pos, Vector3D vel0, Vector3D ace, Vector3D des){<br />posicion = pos;<br />velocidad = vel0;<br />aceleracion = ace;<br />desplazamiento = des;<br />}<br />public void calcularPosicion(Vector3D ro, Vector3D vel0, Vector3D ace, double t){<br />posicion = ro.suma((vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t,2))).productoEscalarVector(1/2)));<br />}<br />public void calcularVelocidad(Vector3D vel0, double t, Vector3D ace){<br />velocidad = vel0.suma(ace.productoEscalarVector(t));<br />}<br />public void calcularDesplazamiento(Vector3D vel0, double t, Vector3D ace){<br />desplazamiento = (vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t, 2))).productoEscalarVector(1/2));<br />}<br />public static void main(String args[]){<br />MRUV m = new MRUV();<br />Vector3D r0 = new Vector3D (1,0,-1);<br />Vector3D vel0 = new Vector3D (0,5,0);<br />Vector3D ace = new Vector3D (-4,0,9);<br />double t = 2;<br />System.out.println("POSICION A t = 2s rO = i-k v0 = 5j a = -4i+9k ES: \n" +m.calcularPosicion(r0, vel0, ace, t));<br />System.out.println("VELOCIDAD A t = 2s v0 = 5j a = -4i+9k ES: \n" +m.calcularVelocidad(vel0, t, ace));<br />System.out.println("DESPLAZAMIENTO A t = 2s v0 = 5j a = -4i+9k ES: \n" +m.calcularDesplazamiento(vel0, t, ace));<br />}<br /><br />} <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Publicado por <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://www.blogger.com/profile/11274018804682176170' itemprop='url'/> <a class='g-profile' href='https://www.blogger.com/profile/11274018804682176170' rel='author' title='author profile'> <span itemprop='name'>jasg587</span> </a> </span> </span> <span class='post-timestamp'> en <meta content='http://jasg587.blogspot.com/2009/11/mruv.html' itemprop='url'/> <a class='timestamp-link' href='https://jasg587.blogspot.com/2009/11/mruv.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2009-11-23T17:11:00-08:00'>17:11</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://jasg587.blogspot.com/2009/11/mruv.html#comment-form' onclick=''> No hay comentarios: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/524931798993985876/4307639349724912196' title='Enviar entrada por correo electrónico'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-844765198'> <a href='https://www.blogger.com/post-edit.g?blogID=524931798993985876&postID=4307639349724912196&from=pencil' title='Editar entrada'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> <div class="date-outer"> <h2 class='date-header'><span>domingo, 22 de noviembre de 2009</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='524931798993985876' itemprop='blogId'/> <meta content='436923021034288650' itemprop='postId'/> <a name='436923021034288650'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='https://jasg587.blogspot.com/2009/11/mru.html'>MRU</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-436923021034288650' itemprop='description articleBody'> MRU<br />MATRIZ<br /><br />public class Matriz {<br />public int numeroFilas;<br />public int numeroColumnas;<br />public double [][]matriz;<br /><br /><br />public Matriz(){<br />}<br />public Matriz(int nF, int nC){<br />numeroFilas = nF;<br />numeroColumnas = nC;<br />matriz = new double [numeroFilas][numeroColumnas];<br /><br />for(int i=0; i < numeroFilas; i++)<br />for(int j=0; j < numeroColumnas; j++)<br />matriz[i][j]=0;<br />}<br /><br />public Matriz suma(Matriz b){<br />Matriz resultado;<br />if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){<br />resultado = new Matriz(this.numeroFilas, this.numeroColumnas);<br />for(int i=0; i < this.numeroFilas; i++)<br />for(int j=0; j < this.numeroColumnas; j++)<br />resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];<br />return resultado;<br />}<br />else<br />System.out.println("DIMENSIONES ERROR");<br />resultado=null;<br />return resultado;<br />}<br /><br />public Matriz multiplicacion(Matriz b){<br />Matriz resultado;<br />if(this.numeroFilas == b.numeroColumnas){<br />resultado=new Matriz(this.numeroFilas,b.numeroColumnas);<br />for(int i=0; i < this.numeroFilas; i++){<br />for(int j=0; j < b.numeroColumnas; j++){<br />for(int k=0; k < this.numeroFilas; k++)<br />resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);<br />}<br />}<br />return resultado;<br />}<br />else<br />System.out.println("DIMENSIONES ERROR ");<br />resultado = null;<br />return resultado;<br />}<br />public String toString(){<br />String aux="\n[\n";<br />for(int i=0; i < numeroFilas; i++){<br />for(int j=0; j < numeroColumnas; j++){<br />aux += matriz[i][j]+" ";<br />}<br />aux+="\n";<br />}<br />aux+= "]";<br />return aux;<br />}<br />}<br /><br />VECTOR3D<br /><br />public class Vector3D extends Matriz {<br />private static Object v;<br />double coorX;<br />double coorY;<br />double coorZ;<br /><br />public Vector3D (){<br />super(1,3);<br />}<br />public Vector3D(double x, double y, double z){<br />super(1,3);<br />this.matriz[0][0] = x;<br />this.matriz[0][1] = y;<br />this.matriz[0][2] = z;<br />coorX = x;<br />coorY = y;<br />coorZ = z;<br />}<br />public double magnitud(){<br />double resultado = 0;<br />//double suma;<br />for(int i = 0; i < 3; i++ ){<br />resultado += this.matriz[0][i]*this.matriz[0][i];<br />}<br />resultado = Math.sqrt(resultado);<br />return resultado;<br />}<br /><br />public double magnitud1(){<br />double resultado;<br />resultado = this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;<br />resultado = Math.sqrt(resultado);<br />return resultado;<br />}<br />public Vector3D unitario(){<br />Vector3D unitario = new Vector3D(); <br />for(int i = 0; i < 3; i++)<br />unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud();<br />return unitario;<br />}<br /><br />public double productoEscalar(Vector3D v){<br />double resultado = 0;<br />for(int i = 0; i < 3; i++)<br />resultado += this.matriz[0][i]*v.matriz[0][i];<br /><br />return resultado;<br />}<br />public double magnitud2(){<br />double resultado;<br />resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;<br /><br />return resultado;<br />}<br />public Vector3D productoCruz (Vector3D v){<br />Vector3D productocruz;<br />productocruz = new Vector3D();<br /><br />productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];<br />productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];<br />productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];<br />return productocruz;<br />}<br />public static void main(String args[]){<br />Vector3D v1 = new Vector3D(-1, 1, -1);<br />Vector3D v2 = new Vector3D(0,2,0);<br />System.out.println(v1+"\n"+v2+"\n suma "+(v1.suma(v2)));<br />System.out.println("Coordenada x "+v1.coorX);<br />System.out.println(v1.magnitud()+"\n"+v1.magnitud1());<br />System.out.println(v1.unitario());<br />System.out.println((v1.unitario()).magnitud());<br />System.out.println("Producto escalar "+v1.productoEscalar(v2));<br />System.out.println("Producto cruz "+v1.productoCruz (v2));<br /><br />}<br />}<br />MRU<br /><br />public class MovRecUni {<br />Matriz posicion;<br />Matriz velocidad;<br />Matriz aceleracion;<br /><br />public MovRecUni(){<br />}<br />public MovRecUni(Vector3D pos, Vector3D velo, Vector3D ace){<br />posicion = pos;<br />velocidad = velo;<br />aceleracion = ace;<br />}<br />public void calculaPosición(Vector3D r0, Vector3D vel,double t){<br />posicion = r0.suma(vel.productoVectorEscalar(t));<br /><br />}<br />public void calculaVelocidad(Vector3D vel, double t){<br />velocidad = vel;<br />}<br />public void calculaAceleracion(double t){<br />Vector3D a = new Vector3D();<br />aceleracion = a;<br />}<br />public static void main(String args[]){<br />MovRecUni m = new MovRecUni();<br />Vector3D r0 = new Vector3D(1,0,-1);<br />Vector3D v = new Vector3D(0,5,0); <br />double t = 4;<br /><br />m.calculaPosición(r0, v, t);<br />m.calculaVelocidad(v, t);<br />m.calculaAceleracion(t); <br />System.out.println("Posicion a los 2s para r0 = [i-k] y v0 =[5j] )\n <br />" +m.posicion+"\nvelocidad a t = 2s\n"+m.velocidad+"\n <br />aceleracion\n"+m.aceleracion );<br />}<br />} <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Publicado por <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://www.blogger.com/profile/11274018804682176170' itemprop='url'/> <a class='g-profile' href='https://www.blogger.com/profile/11274018804682176170' rel='author' title='author profile'> <span itemprop='name'>jasg587</span> </a> </span> </span> <span class='post-timestamp'> en <meta content='http://jasg587.blogspot.com/2009/11/mru.html' itemprop='url'/> <a class='timestamp-link' href='https://jasg587.blogspot.com/2009/11/mru.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2009-11-22T17:25:00-08:00'>17:25</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='https://jasg587.blogspot.com/2009/11/mru.html#comment-form' onclick=''> No hay comentarios: </a> </span> <span class='post-icons'> <span class='item-action'> <a href='https://www.blogger.com/email-post/524931798993985876/436923021034288650' title='Enviar entrada por correo electrónico'> <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/> </a> </span> <span class='item-control blog-admin pid-844765198'> <a href='https://www.blogger.com/post-edit.g?blogID=524931798993985876&postID=436923021034288650&from=pencil' title='Editar entrada'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://jasg587.blogspot.com/' id='Blog1_blog-pager-newer-link' title='Entradas más recientes'>Entradas más recientes</a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://jasg587.blogspot.com/search?updated-max=2009-11-22T17:25:00-08:00&max-results=7' id='Blog1_blog-pager-older-link' title='Entradas antiguas'>Entradas antiguas</a> </span> <a class='home-link' href='https://jasg587.blogspot.com/'>Inicio</a> </div> <div class='clear'></div> <div class='blog-feeds'> <div class='feed-links'> Suscribirse a: <a class='feed-link' href='https://jasg587.blogspot.com/feeds/posts/default' target='_blank' type='application/atom+xml'>Comentarios (Atom)</a> </div> </div> </div></div> </div> <div id='sidebar-wrapper'> <div class='sidebar section' id='sidebar'><div class='widget Followers' data-version='1' id='Followers1'> <h2 class='title'>Seguidores</h2> <div class='widget-content'> <div id='Followers1-wrapper'> <div style='margin-right:2px;'> <div><script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <div id="followers-iframe-container"></div> <script type="text/javascript"> window.followersIframe = null; function followersIframeOpen(url) { gapi.load("gapi.iframes", function() { if (gapi.iframes && gapi.iframes.getContext) { window.followersIframe = gapi.iframes.getContext().openChild({ url: url, where: document.getElementById("followers-iframe-container"), messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { '_ready': function(obj) { window.followersIframe.getIframeEl().height = obj.height; }, 'reset': function() { window.followersIframe.close(); followersIframeOpen("https://www.blogger.com/followers/frame/524931798993985876?colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByM2NjY2NjYiByM1NTg4YWEqByNmZmZmZmYyByNjYzY2MDA6ByM2NjY2NjZCByM1NTg4YWFKByM5OTk5OTlSByM1NTg4YWFaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26hl\x3des\x26origin\x3dhttps://jasg587.blogspot.com"); }, 'open': function(url) { window.followersIframe.close(); followersIframeOpen(url); } } }); } }); } followersIframeOpen("https://www.blogger.com/followers/frame/524931798993985876?colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByM2NjY2NjYiByM1NTg4YWEqByNmZmZmZmYyByNjYzY2MDA6ByM2NjY2NjZCByM1NTg4YWFKByM5OTk5OTlSByM1NTg4YWFaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26hl\x3des\x26origin\x3dhttps://jasg587.blogspot.com"); </script></div> </div> </div> <div class='clear'></div> </div> </div><div class='widget Profile' data-version='1' id='Profile1'> <h2>Colaboradores</h2> <div class='widget-content'> <ul> <li><a class='profile-name-link g-profile' href='https://www.blogger.com/profile/01811426162978848151' style='background-image: url(//www.blogger.com/img/logo-16.png);'>Andres Narvaez</a></li> <li><a class='profile-name-link g-profile' href='https://www.blogger.com/profile/14669274896199099169' style='background-image: url(//www.blogger.com/img/logo-16.png);'>Diego Tonello</a></li> <li><a class='profile-name-link g-profile' href='https://www.blogger.com/profile/04727004964737030015' style='background-image: url(//www.blogger.com/img/logo-16.png);'>PROGRAMACION 2</a></li> <li><a class='profile-name-link g-profile' href='https://www.blogger.com/profile/11274018804682176170' style='background-image: url(//www.blogger.com/img/logo-16.png);'>jasg587</a></li> </ul> <div class='clear'></div> </div> </div></div> </div> <!-- spacer for skins that want sidebar and main to be the same height--> <div class='clear'> </div> </div> <!-- end content-wrapper --> <div id='footer-wrapper'> <div class='footer section' id='footer'><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <h2>Archivo del blog</h2> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2010/'> 2010 </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2010/01/'> enero </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2009/'> 2009 </a> <span class='post-count' dir='ltr'>(17)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2009/12/'> diciembre </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2009/11/'> noviembre </a> <span class='post-count' dir='ltr'>(3)</span> <ul class='posts'> <li><a href='https://jasg587.blogspot.com/2009/11/applets.html'>APPLETS</a></li> <li><a href='https://jasg587.blogspot.com/2009/11/mruv.html'>MRUV</a></li> <li><a href='https://jasg587.blogspot.com/2009/11/mru.html'>MRU</a></li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2009/10/'> octubre </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://jasg587.blogspot.com/2009/09/'> septiembre </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> </li> </ul> </div> </div> <div class='clear'></div> </div> </div></div> </div> </div></div> <!-- end outer-wrapper --> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/344097953-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'APlU3lwbT9o0BEMqODAlKUPASaSP:1775898679037';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d524931798993985876','//jasg587.blogspot.com/2009/11/','524931798993985876'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '524931798993985876', 'title': 'Mecatr\xf3nica', 'url': 'https://jasg587.blogspot.com/2009/11/', 'canonicalUrl': 'http://jasg587.blogspot.com/2009/11/', 'homepageUrl': 'https://jasg587.blogspot.com/', 'searchUrl': 'https://jasg587.blogspot.com/search', 'canonicalHomepageUrl': 'http://jasg587.blogspot.com/', 'blogspotFaviconUrl': 'https://jasg587.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'es', 'localeUnderscoreDelimited': 'es', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Mecatr\xf3nica - Atom\x22 href\x3d\x22https://jasg587.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Mecatr\xf3nica - RSS\x22 href\x3d\x22https://jasg587.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Mecatr\xf3nica - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/524931798993985876/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'isGoogleEverywhereLinkTooltipEnabled': true, 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/5ddb33369fcd32d1', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Obtener enlace', 'key': 'link', 'shareMessage': 'Obtener enlace', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Compartir en Facebook', 'target': 'facebook'}, {'name': 'Escribe un blog', 'key': 'blogThis', 'shareMessage': 'Escribe un blog', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Compartir en X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Compartir en Pinterest', 'target': 'pinterest'}, {'name': 'Correo electr\xf3nico', 'key': 'email', 'shareMessage': 'Correo electr\xf3nico', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27es\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Leer m\xe1s', 'pageType': 'archive', 'pageName': 'noviembre 2009', 'pageTitle': 'Mecatr\xf3nica: noviembre 2009'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Editar', 'linkCopiedToClipboard': 'El enlace se ha copiado en el Portapapeles.', 'ok': 'Aceptar', 'postLink': 'Enlace de la entrada'}}, {'name': 'template', 'data': {'isResponsive': false, 'isAlternateRendering': false, 'isCustom': false}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Mecatr\xf3nica', 'description': '', 'url': 'https://jasg587.blogspot.com/2009/11/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2009, 'month': 11, 'rangeMessage': 'Mostrando entradas de noviembre, 2009'}}}]); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', document.getElementById('Navbar1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/3672787217-lbx__es.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar', document.getElementById('Followers1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar', document.getElementById('Profile1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'footer', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Cargando\x26hellip;'}, 'displayModeFull')); </script> </body> </html>