20 marzo 2009

Jugando con el tiempo (de nuevo)

Hace tiempo mostré como se usa el control Timer en Visual Basic 6 al mover una pelotita por la pantalla y al animar a unos dibujos, pero el otro día preparé un video con otro proyecto que también usa el Timer para una clase.  Aquí pueden bajar la primera parte y la segunda parte.  Vienen en formato RAR (así que búsquense su copia de WinRAR o algo por el estilo) y abran los archivos HTML en su navegador.
También lo pueden ver en aquí:


¡Saludos!

19 marzo 2009

Creando archivos ejecutables y programas de instalación en Visual Basic 6.0

Cuando desarrollas una aplicación usando Visual Basic (o cualquier otro lenguaje), es necesario que hagas un programa ejecutable para entregárselo a tu cliente.  El cliente no quiere ni necesita pagar una licencia de Visual Basic (o cualquier otro compilador) para poder correr la aplicación que le estás dando.  Yo nunca he bajado/comprado un programa que me obligue a usar un entorno de programación para correrlo, viene un programa de instalación.
Visual Basic 6.0 puede generar archivos ejecutables.  También tiene un asistente que crea programas de instalación que le permiten al usuario elegir en dónde lo quiere instalar, etc.  Hice un video que muestra la manera de hacer ambas cosas.  Como mide 14 minutos, no lo pude subir a mi canal de YouTube, pero lo puedes bajar aquí.  Vienen varios archivos comprimidos en formato RAR (vas a necesitar el WinRAR o algo similar para descomprimirlos) y abre el archivo HTML en tu navegador.
Espero que les sea útil.  ¡Saludos!

08 marzo 2009

Marcos (Frames) en Dreamweaver

Hace mucho escribí acerca de marcos (o frames) de páginas güev y cómo hacerlas en Dreamweaver (puedes leerlo aquí).  Sin embargo, debido a que tuve que voy a faltar a una clase donde iba a discutir eso, elaboré un par de videos que complementan esa información (y lo amplía un poquito más).
Aquí les pongo los dos videos (están en dos partes para que quepan en mi canal de YouTube).  Abajo pongo ligas donde los puedes bajar con una calidad mejor.
Video, parte 1:

Y parte 2:


Puedes bajar los videos en mejor resolución.  Baja todos los archivos que se encuentran aquí y descomprímelos en tu máquina (vas a necesitar el WinRAR para poder descomprimirlos)

06 marzo 2009

¡Protege tu USB! Panda USB Vaccine te ayuda

Las memorias USB son una bendición en muchísimos sentidos.  Poder llevar muchísima información en mi bolsillo es una gran ventaja (para aquellos que recordamos el uso de diskettes que se dañaban con el calor, si se maltrataba poquito, polvo, etc.), sin embargo no todo es bello en el panorama informático: hoy en día muchísimos virus se propagan por medio de estas memorias y pocos antivirus los detectan.
Una de las maneras más comunes en que infectan a tu máquina es ejecutando un archivo llamado AUTORUN.INF que le dice a la memoria (o CD o DVD o cualquier otro medio extraible) que programa correr al insertarlo.  Panda Security desarrolló este programa gratuito, el Panda USB and AutoRun Vaccine que no deja que los programas ejecuten cosas al insertarlos.
Este programa desactiva la ejecución de los AUTORUN.INF en la computadora y si se aplica a una memoria USB, bloquea un archivo AUTORUN.INF inocuo para que no se pueda leer, crear, borrar o modificar.
Ya lo probé y parece funcionar muy bien.  Es gratis y es bueno, así que vale la pena que le eches un vistazo.  Los puedes descargar aquí:

Creando ejecutables y programas de instalación con Visual Basic 6.0

Algo que es de suma importancia es saber como llevar los proyectos que haces en Visual Basic 6.0 a otras computadoras.  Hice un video donde puedes ver como crear archivos ejecutables y paquetes de instalación para poder instalar tu creación en otros lados y que funcione a la perfección.
Descárgalo aquí en formato SWF o AVI (el AVI está comprimido en formato RAR).
Espero que les sea útil.  ¡Hasta la próxima!

05 marzo 2009

Ciclos en C/C++

Hace mucho tiempo escribí acerca de la manera de usar ciclos en Visual Basic 6.0 (puedes leer el mensaje aquí).  En C y C++ se tienen los mismos ciclos, aunque la forma de escribirlos es diferente y tienen muchas otras opciones interesantes.  En este mensaje voy a hablar y escribir acerca de los ciclos en C/C++ con algunos ejemplos.  En el archivo de audio que puedes escuchar en seguida, voy hablar acerca de los 3 tipos de ciclos (el for, el while y el do while) con la sintaxis y toda la onda, y luego les explicaré unos ejemplos.  Voy a hacer mención a las imágenes que vienen a continuación en mi narración.  Si las quieres ver más grande, puedes hacer clic sobre la imagen para ampliarla.
Mi narración está aquí (también lo puedes bajar aquí):


Y las imágenes a las que hago referencia son estas:
ejemplo-sin-ciclos Figura 1. Programa que calcula una tabla de multiplicar sin ciclos
ejemplo-con-ciclos Figura 2. Programa que calcula una tabla de multiplicar con ciclos
sintaxis-forFigura 3: Sintaxis del ciclo for
ejemplo-for-1 Figura 4: Primer ejemplo del uso del for.
sintaxis-while Figura 5: Sintaxis del ciclo while
sintaxis-do-while Figura 6: Sintaxis del ciclo do while
Cambio-con-ciclos   Figura 7: Programa que calcula el cambio de una cantidad con diferentes ciclos
Aquí pongo algunas ligas a páginas interesantes sobre el tema que te pueden servir:
Espero que todo esto te haya resultado útil.  ¡Hasta la próxima!

01 marzo 2009

Super TuxKart: reviviendo videojuegos de antaño…


¿Quién no recuerda el juego de Mario Kart?  Es un juego sencillo, pero pese a ello, bastante divertido.  Es tan popular que, pese a que es muy viejo, existe en las nuevas consolas de videojuego como el Wii.
En el mundo del software libre han aparecido muchos “clones” de videojuegos clásicos (para que puedas disfrutar algo gratuito y, si te gusta y quieres, puedes ver el código y modificarlo) y hoy me topé con Super TuxKart, un clon del juego de carreras de Mario y otros tantos personajes clásicos de Nintendo, que parece ser bastante divertido.  Los gráficos se ven muy padres (hasta poquito mejor que los de Mario Kart en algunos casos), un chorro de entornos en donde competir y muchas otros detallitos interesantes.  Aquí puedes ver el video aquí:

Si te interesa, puedes visitar la página oficial aquí.  Una vez que lo pruebes, deja un comentario con tu opinión.  ¡Hasta la próxima!

19 febrero 2009

Otro compilador de C gratuito

Hace unos días les escribí un mensaje recomendándoles un compilador de C/C++ que ahora es gratuito y funciona muy bien, sin embargo ahora estuve experimentando con la versión en Windows y me gustó más.
El compilador es el Borland C++ versión 5.5 y lo puedes descargar aquí (tienes que darte de alta para que te dejen descargarlo, pero es gratuito).
¡Hasta la próxima!

Virtualbox: Una máquina virtual a todo dar

vbox_logo2_gradient Las pocas veces que me ha tocado dar la materia de sistemas operativos he encontrado invaluable el uso de máquinas virtuales para poder mostrar a mis alumnos como funcionan, se configuran, etc. diferentes sistemas operativos.  Antes de tenerlos, era el rollo de crear otra partición e instalar el sistema operativo en la nueva partición para poder trabajar en otro sistema operativo y eso era todo un rollo (recuerdo una vez que dejé que mis alumnos de 4to semestre de bachillerato hicieran eso en un laboratorio de cómputo: después ninguna computadora funcionaba ni con Windows ni con Linux, ¡qué pesadilla!).
Las máquinas virtuales las comencé usando hace muchísimo cuando trabajaba en una planta (Novacel) donde teníamos Macs y PCs y usábamos el Virtual PC para poder usar software de Windows.  Luego con mis alumnos usábamos el Microsoft Virtual PC para explorar sistemas operativos bajo Windows.
Mi nueva laptop tiene el Windows Vista Home Premium de 64 bits y es una lata porque no me deja usar un montón de programas a los que estaba felizmente acostumbrado bajo Windows XP.  No quiero cambiar a XP porque no tengo tiempo ni ganas de andar buscando los drivers para XP en internet y el Windows 7 me da flojera porque el beta que bajé solo funciona durante unos 6 meses y no quiero tener que comprar una copia para poder seguir usándolo.  La solución que se me ocurrió, y que ha funcionado bastante bien, es la de usar una máquina virtual para poder ejecutar mis aplicaciones viejitas favoritas.
VirtualBox de Sun Microsystems es un software que permite hacer máquinas virtuales.  Es gratis, rápido, fácil de usar, estable (tengo un amigo administrador de una red enorme que lo usa a cada rato sin problemas) y eficiente.  Lo he estado usando durante los últimos 2 meses y funciona de maravilla.
Como muchos me han preguntado sobre el software que uso en mi computadora para dar clases, les dejo aquí ligas para que lo puedan descargar, instalar, crear máquinas virtuales y ser un cuasiexperto en VirtualBox en tiempo récord.  Aquí les dejo las ligas:
También les dejo este video que muestra como instalar VirtualBox bajo Windows:
Espero que este software les ayude a aliviar sus penas de Windows Vista y experimentar con otros sistemas operativos (como el Windows 7 que está tan de moda).
¡Hasta la próxima!

18 febrero 2009

Condiciones en C: El gato

Como he dicho en varias ocasiones, uno de los pilares de la programación es hacer que el programa tome decisiones.  En otro ámbito, eso es lo que los papás esperamos de nuestros hijos: de que algún día puedan tomar las decisiones correctas.  Pero al tratar con la computadora es más fácil: nunca va a renegar ni a ignorar lo que le diga (como lo suelen hacer mis hijas) porque siempre va a hacer lo que le indique y siempre lo hará igual.  Claro que mis niñas pueden hacer millones de cosas que mi computadora no, y las amo millones de veces más que mi compu, pero esa es harina de otro costal.
Volviendo al mundo de la programación, casi todos los lenguajes tienen la instrucción IF que nos permite definir las instrucciones que se van a ejecutar en caso que se cumpla alguna condición.  C no es la excepción y en este mensaje voy a hablar brevemente de cómo se programan condiciones usando el IF con C (o C++ que para este caso, da lo mismo).
Antes de que pase otra cosa, mi intención no es dar una clase completa acerca de las sintaxis del IF en C/C++ porque hay miles de páginas que lo hacen muy bien.  Yo solo quiero presentarles un ejemplo para que veas como se puede poner en práctica.  Por esta razón, les presento aquí un pequeño proyecto que hicimos con mis alumnos de Programación Estructurada como un ejemplo que ejemplifique lo que intento ejemplificar.  Dejando a un lado la ejemplificadera, les describí lo que hace el proyecto y una breve explicación de la forma en que funciona en el archivo de audio que puedes escuchar a continuación (o descargar aquí).
Aquí pongo el código del programa y solo quiero hacer un par de notas, por si se te hace que algunos IFs están muy rebuscados (y lo están, por ejemplo fíjate en un IF grandototote que solito revisa si el jugador ganó el gato o no comparando todas las 3 filas, 3 columnas y 2 diagonales).  Es posible usar operadores booleanos para unir varias condiciones para generar un solo resultado lógico, como el AND (&&) para indicar que se tienen que cumplir ambas condiciones para que sea verdadero o el OR (||) para indicar que la condición es verdadera ya sea si cumple cualquiera de las dos condiciones.
Otra aclaración: sé que no es parte del C estándar, pero estoy usando las instrucciones cin y cout simplemente por facilidad.  Sé que estas dos funciones pertenecen a C++, pero cualquier compilador los entiende y me quiero centrar en las condiciones, no que anden lidiando con el printf y scanf.  Para más información y detalles sobre el cin, scanf, cout y printf, consulta esta página de Monografías.com.
Ahora sí, aquí está el código (si no lo alcanzas a ver bien, haz clic sobre la imagen para verlo más grande):
CodigoGato
Si tienes dudas con el IF, te sugiero que visites parte del curso de C hecha por Nacho Cabañas.  Está muy padre y si realmente estás interesado en aprender C, sería buena idea que consultaras todo el curso.
Espero que este ejemplo te sea útil.  ¡Hasta la próxima!

06 febrero 2009

Turbo C: Un compilador viejito, pero bueno

turbo-cpp
Cuando yo aprendí el lenguaje C en aquellos ayeres de principios de los 90s, usé un compilador de Borland llamado Turbo C.  Funciona bajo MS-DOS (apenas estaba saliendo el Windows 3.1) y es rápido, eficiente y pequeño.
El lenguaje C es estándar (si no, pregúntale a ANSI), así que si quieres aprender no necesariamente necesitas el último compilador non plus ultra, así que si lo quieres bajar, lo puedes conseguir aquí (bueno, también hay otros chorrocientos mil lugares donde lo puedes conseguir).
Si de plano quieres un compilador ultra moderno que sea gratis, también está el Free Microsoft Visual C++ 2008 Express que parece estar bastente interesante.  Si lo bajas y lo pruebas, ahi me dices que te pareció.
Otra nota de interés, estos compiladores compilan (valga la redundancia) programas hechas tanto en C como C++.
Espero que esto te haya sido útil.  ¡Hasta la próxima!

25 enero 2009

Comparando C, C++ y Java

Ya que ando en eso de la historia de los lenguajes de programación (ver mi post anterior con imágenes sobre esta historia), me topé con este sitio web que se encarga de hacer una comparación entre C, C++ y Java.
Aunque hay ejemplos de código y toda la onda, creo que incluso los que son recién iniciados en las artes oscuras y claras de la programación lo pueden entender sin demasiado problemas.
Ojalá les sea útil.  ¡Saludos!

Historia de la programación

Vagando errabundo por el internet me encontré con esta imagen que resume el desarrollo de los lenguajes de programación.  Se me hizo muy interesante en lo particular y como muchos me han preguntado sobre la importancia de los lenguajes, de dónde surgieron, etc., decidí compartirles la imagen.  Si haces clic sobre la imagen, te va a llevar a otra página donde lo puedes descargar (es que está muy grande):
ComputerLanguagesChart
Una editorial hizo otra imagen con una línea cronológica del desarrollo de los lenguajes de programación.  No me gustó tanto como la imagen anterior, pero lo puedes conseguir aquí si te interesa.
Ojalá te sea útil estos recursos para despejar dudas acerca de como y cuando surgieron los lenguajes de programación y qué lenguajes tuvieron influencia sobre otros.  ¡Saludos!

19 enero 2009

Tipos de datos y variables

img_163
Para todo buen programador (véase imagen a la izquierda, jeje), es indispensable saber hacer algoritmos.  Sin embargo, para hacer algoritmos para la computadora, es indispensable guardar información.  No se puede trabajar con datos, si no puedes ponerlos en algún lado, ¿cierto?
Dejando estas obviedades a un lado, vamos viendo lo que son los tipos de datos, cómo se dividen, qué tipos hay, etc. para luego hablar de variables, las cuales son una especie de encarnación de los tipos de datos en un programa.  Ahí vamos…
Pero antes de hablar de tipos de datos, ¿qué es un dato?  Un dato, según la RAE (Real Academia Española) es el antecedente necesario para llegar al conocimiento exacto de algo o para deducir las consecuencias legítimas de un hecho.  He allí la importancia del manejo de datos, la justificación misma por la que las computadoras son indispensables para la humanidad entera (parece exagerado esta afirmación pero, ¿qué pasaría si apagáramos las todas las computadoras del país media hora?  ¿Quién se haría cargo de manejar toda esa información?).  Por otro lado, también aclara que en la informática, un dato es la información dispuesta de manera adecuada para su tratamiento por un ordenador.  Esta definición es exactamente lo que andamos buscando, o por lo menos para los fines de este artículo.
Para la computadora, todo lo que almacenes es un número binario, o sea, puros unos y ceros.  Absolutamente todo.  Es por esta razón que hay que decirle a la computadora cómo queremos que trate a ese número, porque hay información de todo tipo: números, letras, valores booleanos (verdadero o falso), fecha, hora, etc.  Por ejemplo, la computadora podrá guardar el un byte en su memoria que almacene el siguiente número binario: 10000010.  Si lo interpretamos como un número entero, equivaldría al 130 pero si lo interpretamos como una sola letra correspondería al “é” (gracias al código ASCII).
Los datos se pueden dividir en ordinales y escalares (o no-ordinales como dicen algunos autores).  Los datos ordinales son aquellos que almacenan datos que se pueden contar, o sea que se puede establecer una relación uno a uno entre sus elementos y el conjunto de números naturales, como lo son los enteros, lógicos o booleanos y los caracteres o letras.  Los datos escalares o no-ordinales son aquellos que no se pueden contar y se pueden resumir que son los números reales o sea, números que contienen un punto decimal.
Un tipo de dato básicamente en un conjunto de valores que un dato puede tomar durante un programa.  Básicamente hay dos tipos de datos: los numéricos y los de caracteres (letras).
Como decía antes, una variable es algo así como la encarnación de un tipo de dato en un programa.  Formalmente podríamos decir que una variable es un campo de memoria que almacena información, la cual puede cambiar en cualquier momento.  En álgebra lo usan para definir cosas de las que todavía desconoces su valor y en la computación lo usamos para guardar datos, por lo que cada variable tiene un tipo de dato definido.
Haz de cuenta que las variables son como los contenedores (como Tupperware) que tienen en su casa: cada bote contiene un solo tipo de cosa, ya sea café, sal, azúcar, etc.  El tipo de contenido (café, azúcar, etc.) es el tipo de dato y tendrías un error terrible si al bote de azúcar lo llenas con sal.  Probablemente en tu alacena el bote donde pones la sal es idéntico al que usas para la pimienta, pero lo que difiere es la forma en que lo usas, el contexto en el cual usas el contenido de cada bote, al igual que las variables, las cuales son espacios en memoria que contienen dígitos binarios y la única diferencia entre una y otra es la forma en que se usa el número que está almacenado.  Para hacer cualquier cosa en la cocina, necesitas de varios botes de tu alacena con los diferentes ingredientes que vas a usar en tu receta/algoritmo porque guardan cosas/datos indispensables para la solución.
A continuación voy a poner una tabla con los tipos de datos principales (o por lo menos los más usados).  Escribiré el tipo de dato, el número de bytes que ocupa en la memoria y el rango de valores que acepta.  Aunque los nombres de los tipos son en lenguaje C o C++, estos tipos de datos existen en todos los lenguajes de programación.
Tipo
Tamaño (bytes)
Valor mínimo
Valor máximo
char
1
-
-
int
2
-32768
32767
unsigned int
2
0
65536
long int
4
-2^91
2^91 - 1
float
4
-3.2 x 10^38
3.2 x 10^38
double
8
-1.7 x 10^308
1.7 x 10^308
Ok.  Creo que más o menos agarramos la onda de lo que tratan las variables, pero ¿cómo nos referimos a ellas?  Fácil.  Haríamos lo mismo que para hablarle a cualquier amigo: por su nombre.  El único problema radica en decidir qué nombre ponerle.
Las variables, al igual que las personas, pueden tener el nombre que sea.  Sin embargo, no todo nombre es adecuado.  En álgebra, estamos acostumbrados a usar nombres como x, y o z, sin embargo son muy pocas las variables usadas en las funciones matemáticas, a diferencia de un programa para la computadora que puede manejar miles de datos al mismo tiempo.  Es por eso que se debería poner un nombre que tenga que ver con el dato que quiero guardar.  Por ejemplo, en lugar de ponerle juanito_perez a una variable donde almaceno la cantidad que voy a descontar del subtotal del pedido de un cliente, sería mejor ponerle un nombre como descuento.
Hay un estándar que nos ayuda a nombrar variables una nomenclatura húngara que consiste en unos lineamientos que sirven para nombrar variables de tal manera que al solo ver la variable, nos demos cuenta de qué tipo de dato se trata.  Para usar esta nomenclatura inicias los nombre de todas las variables con tres letras que indican el tipo de dato, seguido del nombre de la variable que comienza con una letra mayúscula.  Por ejemplo, si el porcentaje de descuento del que hablaba en el párrafo anterior es de tipo entero, el nombre de variable que sugiere esta nomenclatura sería intDescuento.
Antes de poder usar una variable, hay que declararla (hay lenguajes que no te obligan a hacerlo de forma explícita porque si no lo haces, el lenguaje le asigna un tipo de forma automática).  Al declarar una variable el programa reserva unos cuantos bytes de la memoria RAM y recuerda que a esos bytes los va a conocer como esa variable y va a tratar el dato que está allí de determinado forma (según el tipo de datos).
Cada lenguaje de programación tiene su propia manera de declarar variables.  Por ejemplo, en C y C++ la sintaxis sería esta:
tipo nombre;
Por ejemplo:
int X;
También se pueden declarar muchas variables del mismo tipo en una sola línea, como se ve aquí:
double dblTotal,dblPrecio,dblCambio;
E incluso le puedo asignar un valor a la variable para inicializarla con algún valor (nota: las constantes que son caracteres van entre apóstrofes.  Si no las hubiera puesto en el siguiente ejemplo, estaría tratando de asignarle a chrLetra el valor almacenado en la variable S):
char chrLetra=’S’;
Aquí le paro.  Luego podremos hablar sobre como usar variables en otros lenguajes, pero de todos modos es muy similar.  ¡Hasta la próxima!

17 enero 2009

Crea tu control de videojuego tipo Wii, ¡gratis!


Bueno, casi gratis.  En el blog de Educación Tecnológica, un blog que me gusta revisar de vez en diario (¡gracias por el RSS que me facilita la vida!) me enteré de Camspace, un software gratuito que te deja usar tu webcam y cualquier objeto que se te ocurra para controlar tus videojuegos, casi como lo harías con el Wii, pero gratis.
Solo es cuestión de echar a volar la imaginación.  A mi se me ocurren usos con gente que tiene dificultad con los controles “normales” de una compu (teclado, mouse), como es mi hija de 2 años.  Otros ejemplos los puedes encontrar aquí encontrarás una página donde están haciendo aplicaciones muy padres.
Todavía no lo pruebo, pero parece fascinante.  Aquí les dejo el video para que se emocionen igual que yo, jeje.  Si lo prueba, dejen aquí un comentario con sus experiencias.  ¡Hasta la próxima!





El Tony y sus ondas...

Related Posts Plugin for WordPress, Blogger...