28 octubre 2008

Preparándose para la OMIJAL 2008

El otro día les mencioné que ya va a comenzar la OMIJAL 2008, o sea la Olimpiada Mexicana de Informática, eliminatoria Jalisco.  Sin embargo, quiero dejarles unos tips para aquellos que desean participar.

El concurso tiene tres etapas.  La primera consta de un examen escrito de problemas lógicos este 15 de noviembre en el auditorio Pedro Arrupe del ITESO.  No son cosas difíciles, pero hay que ir agarrando práctica y para ello lo mejor es ponerse a resolver problemas.

Antes que nada, vean la sección ¿Cómo me preparo? de la página de la OMIJAL.  Allí vienen datos y tips para los exámenes lógicos y de Karel e incluso vienen los exámenes de ejemplo de Karel, el lógico y el de C++ que puedes bajar y resolver para que te vayas dando cuenta como está la movida.  De Karel te sugiero que veas mi blog los problemas que tienen que ver con Karel.  Otra página que tiene más problemas en búsqueda de solución es este.  Traten de resolver todos los problemas que les sean posibles.

En esta página, del sitio viejito de la OMIJAL, puedes encontrar problemas lógicos y exámenes de Karel para ir afinando.

Espero que esta información te sea útil para participar en el concurso pero sobre todo para aprender algo nuevo.  ¡Hasta la próxima!

21 octubre 2008

La Olimpiada de Informática regresa

La OMIJAL está listo para arrancar.  A diferencias de años anteriores, se adelanta la fecha (antes comenzaba en febrero y esta vez comienza en noviembre) y se han cambiado algunas reglas para hacerlos más emocionante.

Recuerda que los ganadores a nivel Jalisco luego concursan a nivel nacional (y hasta eso que Jalisco siempre ha sido de los mejores) y los vencedores viajan a Ontario, Canadá en el 2010 para participar en la justa internacional. Hay diversión para gente desde primaria hasta universidad, así que no hay excusa.

Les dejo el poster y si te animas, contacta a Fernando y sus chavos.  Ojalá participes (y si ganas, me traes un llavero de Canadá, jeje).  Recuerda que lo importante no es ganar o perder, sino divertirse y aprender.

¡Que te diviertas!

14 octubre 2008

Accesa la página que quieras desde GPass

Un problema que tengo con frecuencia en mi trabajo es que tienen muchas páginas bloqueadas.  Esto se debe a que los empleados no deben estar viendo cosas ajenas a su trabajo.  Sin embargo, yo tengo algunos problemas con esto y no tienen nada que ver con simple rebeldía.  Mi tesis de maestría se trata de la relación entre videojuegos y educación, y todas las páginas que tengan la palabra videojuego, videogame, juego, game, etc. está bloqueada.  Por otro lado, dejo archivos a mis alumnos sobre los proyectos que hacemos en clase o videos tutoriales que creo en línea, usando servidores para compartir archivos (como el FreeDrive).  El problema es que no puedo accesar a estas cosas de forma legítima desde mi trabajo aunque tengo que hacerlos debido a mi trabajo.

Pero ayer me topé con un programa que me ayuda a accesar todos estos sitios desde el trabajo.  Es el GPass el cual rutea el tráfico de red por a través de servidores proxy encriptados.  Después de instalarlo, para ejecutar una aplicación usando el proxy solo tienes que darle doble click desde la ventana de GPass (como se ve en la imagen que está abajito).

Además de que funciona bien, no es tan lento.  La red en mi trabajo es muy, pero muy lenta y el GPass no me bajó velocidad.  Si te interesa conseguir el programa, haz click aquí.


Ojalá te sea útil.  ¡Hasta la próxima!

12 octubre 2008

Karel: resurrección de Hansel y Gretel

Hace mucho tiempo, había dejado un problema de Hansel y Gretel en el mundo virtual de Karel.  Te aconsejo que antes de seguir leyendo esto, leas ese artículo que describe el problema.  Lo puedes leer aquí.

La semana pasada estaba usando este ejemplo con otro grupo y lo resolví de una manera mucho más sencilla que la vez anterior (y más simple que los alumnos de hace un año).  Aquí les dejo el código y espero que les sea de utilidad.

¡Saludos!

Videos cuadro a cuadro con Movie Maker

Cuando quieres crear un video de bajo presupuesto y mucha diversión, puedes echar a volar tu imaginación haciendo un video cuadro a cuadro (o lo que algunos llaman Stop Motion) porque puedes crear tu cast de actores desde monitos de Lego (como enorme paréntesis: si te gusta jugar al Lego y no tienes piezas, puedes bajar el Lego Digital Designer que te deja jugar en tu pantalla), Playmobil, monitos de plástico de luchadores o muñequitos hechos de plastilina.  La idea es que fijas tu cámara digital en un lugar, pones el escenario (muñecos, escenografía, etc.), tomas una foto, luego cambias de lugar las cosas un poquito, y tomas otra foto, y así consecutivamente hasta terminar.

Y como estamos haciendo un video de bajo presupuesto, podemos usar el Windows Movie Maker, un programa que viene gratis con Windows XP.  Encontré un artículo del blog Ale Stop Motion que da consejos para poderlo hacer, especialmente la parte que te permite decir cuánto dura cada imagen y luego como acelerarlo más.  El artículo se llama Stop Motion con Windows Movie Maker.  Vale la pena que le echen un vistazo.
 
Como no se sabe nunca con las páginas web ajenas, bajé todo su artículo en un PDF que puedes bajar aquí.

Seguimos en contacto.  ¡Hasta la próxima!


07 octubre 2008

Insertando orden: ordenamiento inserción

Hace tiempo había escrito de la manera en que se pueden ordenar datos usando el algoritmo conocido como burbuja (puedes ver ese artículo aquí).  Aunque ese algoritmo es el más fácil de entender, también es el meno eficiente.  ¿Por qué digo que es ineficiente?  Es que la eficiencia de un algoritmo de ordenamiento se mide en base al número de comparaciones (o sea, ifs) y el número de asignaciones que tiene que hacer: entre más hace, más se tarda.

Realmente no hay un algoritmo de ordenamiento que sea ideal para todo tipo de arreglos porque unos funcionan mejor para arreglos que están totalmente desordenados (como lo es el QuickSort) o arreglos que están a medio ordenar.  El algoritmo que voy a cubrir aquí es fácil de entender y de implementar.  Además es muy eficiente para ordenar listas que casi están ordenadas.  El algoritmo es el de ordenamiento por inserción.

Para explicar como funciona, tengo varias imágenes que indican el proceso.  Supongamos que tenemos un arreglo de 10 elementos desordenados como el que se ve aquí:


Lo que vamos a hacer es comparar el segundo elemento con el primero.  Si es menor, los intercambio y si no, lo dejo como está y avanzo al siguiente elemento.  En este caso 10 es mayor a 3 así que no hago nada.  Esto se puede ver en esta figura:


Ahora va el tercer elemento.  Lo comparo con el segundo y veo que es menor asi que los intercambio.  Luego lo comparo con el primero y también es menor así que los intercambio.  Como ya es el primer elemento, ahi le paro (es el menor de todos los que he revisado hasta ahorita).  Este proceso lo pueden ver en estas figuras:


Ahora vamos con el cuarto elemento (el 8) y lo comparo con el tercero (10).  Como es menor los intercambio y lo comparo con el segundo (3).  Como no es menor, ahi se queda.  Estas son las imágenes:

Ahora hago lo mismo con el quinto elemento (15) el cual no se mueve por ser mayor que el cuarto (10) como se ve aquí:


Lo mismo con el sexto (5):


Ahora con el séptimo:


Y ahora el octavo:


Ahora el noveno.  Fíjate que como el 5 está repetido en la posición 3, no lo sustituye y se queda en la posición 4 como se ve en estas imágenes:


Y ahora con el último elemento:


Y al final queda el arreglo listo:

Para otra explicación, encontré este video que lo explica bastante bien.  Este es:



Dije que era de fácil implementación, así que vamos a ver como funciona.  Este sería el código en C:


Después de verlo, decidí que se podía optimizar reduciendo el número de asignaciones y quedó así:


Cuando lo ejecutas, se ve así:


Bien, ahora veamos en Visual Basic 6.  Al correrlo, se vería así:


El código sería este.  Fíjate que en el ciclo while tuve que poner un If para comparar el valor del arreglo porque me marcaba error al comparar el elemento del arreglo si j era menor a 0.  Sé que son más comparaciones y disminuye la velocidad de ordenamiento (aunque si lo corres en un CoreDuo o el Quad no notas la diferencia).


Al igual que con el ejemplo de ordenamiento burbuja, implementar el algoritmo en VB 2005 es más engorroso porque no se pueden hacer arreglos de controles (en el ejemplo de VB6, todas las cajas de texto eran un arreglo llamado txtNum), así que hice una subrutina que copia lo que hay en las cajas de texto al arreglo y otro que pasa lo que tiene el arreglo a las cajas de texto.  Fuera de eso, es casi idéntico al código de VB6.  Así se ve cuando se ejecuta:


Y este es el código:


Espero que todo haya quedado claro.  Si te quedaron dudas, déjame un comentario.

¡Saludos!


02 octubre 2008

Grinder.exe: un virus escurridizo

El otro día estuve recibiendo proyectos de programación de mis alumnos.  Practico el peligroso arte de la promiscuidad informática al insertar sus memorias USB en mi lactoc para copiar sus archivos y poder revisar con calma sus proyectos.  En esta ocasión, un alumno traía a saber cuandos viruses en su memoria e infectó mi PC.  Para otra ocasión les voy a dar un CD regrabable a cada grupo para que allí me pongan sus proyectos y evitarme contagios de esos virus que se propagan por las memorias y que pocos antivirus los detectan.

Sin embargo, regresando a mis problemas, apareció la siguiente ventana cuando metí la memoria de uno de mis alumnos:


Parece una ventana normal, ¿no?  ¡Pues no!  ¿Qué causalidad que hasta arriba me aparece la opción Open folder to view files cuando generalmente va hasta abajo, y tampoco es normal que eso venga en inglés mientras todas las otras opciones vienen en español.  Por error (o por menso, dependiendo tu punto de vista), seleccioné esa opción que destapó la caja de Pandora.

Quitar este virus fue todo un show.  Tengo instalado el ESET Smart Security y no me lo detectó.  El que encontró el archivo fue el Kaspersky Online Scanner, pero no lo eliminó.  Pero con el dato que me proporcionó, (el nombre completo del archivo grinder.exe) use  el FILEASSASIN de Malwarebytes Anti-Malware para eliminarlo.  Con eso funcionó la cosa, pero todavía no del todo bien porque no pude eliminar la carpeta que sobraba en RECYCLER y me seguía poniendo archivos allí.  Creo que estos no tenían que ver con el grinder.exe, pero le aventé cuando programa pude.  A mi lactoc le puse el SuperAntispyware que quitó un par de cosas, el mencionado Malwarebytes AntiMalware (que mencioné en este post), el RemoveIT (tiene versión Pro o el gratuito que fue el que yo usé) y algunos otros que no encontraron nada.

Espero que esto les ayude a no contagiarse.  Recuerda de abrir la memoria con la opción "normal" de abrir la carpeta que está hasta abajo de la lista de la ventana que aparece cuando metes tu memoria USB.  ¡Hasta la próxima!
Related Posts Plugin for WordPress, Blogger...