martes, 28 de octubre de 2008

Mi primer programa

En esta ocasión deseo proponer un simple ejercicio para el desarrollo del primer programa en QBasic: el típico "Hola Mundo". Para comenzar, abra QBasic dando doble clic en el programa qbasic.exe o si lo tiene, en el acceso directo. Cuando aparezca el programa, tal vez pueda aparecer también una ventana que pide parámetros, esta se la puede obviar pulsando las teclas ENTER o ESC. Cuando haya cargado el programa, en el centro aparece un mensaje de bienvenida que propone la ayuda. En este caso podemos prescindir de él y ocultarlo presionando la tecla ESC.

En la ventana azul que lleva por título Sin_Nombre vamos a escribir la siguiente línea:

print "Hola Mundo"

y luego pulsamos la tecla ENTER para saltar a la línea siguiente. Observamos que la palabra print escrita en minúsculas cambia a mayúsculas: PRINT. Esto se debe a que en cada salto de línea se ejecuta el compilador de QBasic y se revisa la sintaxis, adecuando o complementando las instrucciones, siempre que sea posible. Además, evidencia que en QBasic las instrucciones se pueden escribir en minúsculas o mayúsculas indistintamente.

Después de revisar la línea, el compilador genera la traducción de la instrucción escrita en lenguaje natural a un bytecode (codificación a nivel de bytes en lenguaje de máquina) compatible con el procesador. Hay que entender que en los programas basados en SCRIPTS como QBasic, siempre se realiza esta traducción cada vez que se ejecuta el programa a través de un intérprete, por lo tanto se requiere abrir QBasic para poner en funcionamiento lo que escribamos. En cambio en otros lenguajes como C, existe un programa que genera un archivo ejecutable que no depende después del entorno de programación sino que se puede poner en funcionamiento independientemente, porque internamente ya tiene las instrucciones interpretadas en lenguaje de máquina.

La instrucción que se va a traducir es PRINT, la cual ordena al computador que muestre en pantalla una cadena de caracteres que está encerrada entre un par de comillas dobles, aquí en el ejemplo resaltada con color rojo: "Hola Mundo".

Una vez hayas escrito la línea y después de la revisión que hace QBasic, se procede a pulsar la tecla F5, para poner en funcionamiento el programa. Entonces, aparece una ventana negra con el mensaje Hola Mundo en la parte superior de la pantalla. Puedes regresar al entorno de trabajo pulsando la tecla ESC. Este programa de una sola línea también se puede realizar en la ventana Inmediata. Pulse F6 para pasar a esta ventana y escriba la misma línea que, en cuanto pulse la tecla ENTER, se ejecutará. Esta forma de compilación y ejecución inmediata te puede servir para probar una instrucción antes de ponerla en tu código.

Sin embargo, los programas por computador se construyen escribiendo muchas líneas de instrucción, a veces miles o millones. Avancemos un poco y escribe el siguiente ejemplo (Preste cuidadosa atención a todos los signos de puntuación y símbolos):

CLS 'Limpia la pantalla de mensajes
PRINT "Hola Mundo" 'Imprime en pantalla el mensaje
INPUT "Ingrese su nombre: ", Nombre$ 'Mensaje que pide datos
PRINT "Su nombre es: " + Nombre$ 'Imprime la respuesta
'Esto es un comentario

Ejecuta el programa con la tecla F5 y observa que pasa. Cuando el sistema te lo indique, teclea tu nombre y pulsa ENTER. Por último, presiona ESC para terminar la ejecución de tu primer programa. Ahora una descripción de las instrucciones, resaltadas en azul, en cada línea. Por convención, las cadenas de texto están indicadas de color rojo, las instrucciones en azul, las variables en negro y los comentarios en gris.

En la primera línea, la instrucción CLS sirve para borrar todos los mensajes que se hayan escrito previamente, incluso por otros programas. Sin esta instrucción, cada vez que se ejecute el programa se iría llenando la pantalla de mensajes.

En la segunda línea, la instrucción PRINT es la misma del primer ejercicio y hace que el programa muestre el mensaje Hola Mundo en pantalla, que en el programa está encerrado entre comillas dobles. Esta se considera una instrucción de salida estándar.

En la tercera línea está escrita una instrucción de entrada estándar, INPUT que muestra un mensaje que se escribe encerrado entre comillas y que en este ejemplo aparece de color rojo, para que el usuario teclee un valor, su nombre. Este valor se va a almacenar en la variable Nombre$ que está después de la coma y a partir de allí, el valor está disponible por el resto de instrucciones del programa. La variable Nombre$ termina en un signo de pesos o dolar ($) para indicarle al programa que solo puede almacenar cadenas de texto. Por ejemplo, si se hubiera ingresado el nombre 123 cuando apareció el mensaje, el computador lo tomaba como una cadena de texto "123" y no como el número ciento veintitrés.

Por último, en la cuarta línea aparece nuevamente una instrucción PRINT pero esta vez se realiza primero una operación de concatenación entre el mensaje "Su nombre es: " y el valor almacenado en Nombre$ mediante el operador +.Dicho en otras palabras, al final del mensaje se agregan, uno a uno, los caracteres contenidos en la variable. Esta nueva cadena de caracteres es la que aparece en pantalla debido a la instrucción de salida estándar.

Las otras frases son comentarios y están indicadas en el programa porque inician con una comilla simple ('). Estas frases contienen mensajes que no se compilan o interpretan en lenguaje de máquina y que solo sirven para darle información al programador sobre cualquier aspecto relacionado con el funcionamiento del programa. Por ejemplo, sirven para indicar lo que se pretende realizar en cada instrucción. Los comentarios pueden ir al inicio de una línea o después de una instrucción completamente definida, pero tenga en cuenta que el entorno de trabajo de QBasic asumirá como comentario todo lo que esté después de la comilla hasta terminar la línea.

El programa que acaba de escribir puede ser almacenado en disco para que lo pueda modificar y ejecutar después. Para ello, vaya al menú Archivo y seleccione la opción Guardar o Save, si está en Inglés. Aparecerá una ventana de texto donde debe escribir un nombre para el archivo que no pase de 8 caracteres, sin utilizar caracteres especiales, seguido de la extensión .BAS. Seleccione la ruta donde desea almacenar el archivo dando clic en la casilla de unidades [A], [B], [C], [D], [..] etc, y sus respectivas carpetas. Por último, de clic en para guardar o pulse la tecla ENTER. Cuando lo necesite, puede volver a cargar el programa con el menú Archivo->Abrir...


Ya ha realizado su primer programa. Puede usar la herramienta Ayuda de QBasic y explorar para escribir sus propios programas.

jueves, 16 de octubre de 2008

Entorno de trabajo de QBasic

QBasic es una herramienta de programación basada en SCRIPTS, es decir, programas que contienen instrucciones en un lenguaje natural, las cuales son traducidas al lenguaje de máquina (código de bytes) necesario para su ejecución, sin una traducción previa. Cuando se ejecuta QBasic aparece una ventana sobre la cual se puede escribir los programas, abrir programas ya creados, modificarlos y ponerlos a correr. También se puede ejecutar sentencias u instrucciones para que el computador realice inmediatamente.

Abra QBasic, dando doble clic en qbasic.exe o en el acceso directo que se encuentra en el escritorio y aparecerá una ventana que muestra un entorno como el que se describe a continuación. En el centro aparece una ventana con un mensaje de bienvenida que se puede quitar pulsando la tecla ESC y entonces se tiene el programa listo para trabajar.

Entorno de trabajo de QBasic

El entorno de trabajo de QBasic está compuesto por varios elementos que se irán describiendo uno a uno. En la parte superior de la ventana hay una barra de título con el nombre del programa: Microsoft QBasic. Si el programador pulsa el botón principal del ratón sobre esta barra y lo sostiene puede mover la ventana a la par que mueve el ratón.

Barra de título de ventanaEn la esquina superior derecha, sobre la barra de herramientas se encuentran tres botones para control general de la ventana. El botón con la X que normalmente se usa para cerrar un programa no funciona, porque este programa se ejecuta bajo DOS y aquí no se admite el cierre por botones, solo seleccionando la opción salir. Los otros dos botones son para maximizar/restaurar la ventana o para minimizarla. Existen computadores donde se ejecuta el programa QBasic cubriendo toda la pantalla (full screen) y en este caso, no podrá apreciar la barra de título ni los botones de ventana.

Justo debajo de la barra de título, se encuentra una barra de menús que se puede utilizar al dar clic con el ratón sobre una palabra de opción o pulsando la tecla ALT y a continuación se pulsa la letra que está iluminada en blanco para cada palabra de opción.

Barra de menues de QBasic
Menu ArchivoEl menú Archivo contiene opciones generales para generar, abrir o guardar documentos con las instrucciones. Las instrucciones se almacenan en archivos de texto plano con la extensión .bas. La opción Nuevo abre un nuevo campo de texto en blanco para escribir un programa. La opción Abrir... muestra una ventana para localizar y elegir un archivo con instrucciones en QBasic que se puede cargar en el entorno de trabajo y luego ejecutarlo. La opción Guardar permite guardar las instrucciones en un archivo de texto plano. La opción Guardar como... abre una ventana para elegir la ubicación y el nombre del archivo donde se desea guardar las instrucciones. La opción Imprimir... abre una ventana para elegir que se va a mandar a la impresora. Por último, la opción Salir permite terminar el programa QBasic y es la opción correcta para terminar la aplicación.

Menu EdicionEl menú Edición contiene las opciones para manipular el texto y las instrucciones que se le mandan al computador. La opción Cortar permite trasladar el texto seleccionado de una posición a otra y se complementa con la opción Pegar. La opción Copiar permite hacer una réplica del texto seleccionado en una posición determinada y se complementa con la opción Pegar. La opción Pegar inserta el texto que se ha cortado o copiado previamente. La opción Borrar elimina o suprime el texto que se ha seleccionado. La opción Nueva SUB... se utiliza para generar una subrutina dentro del programa que se está escribiendo. Por último, la opción Nueva FUNCTION... se utiliza para generar una función dentro del programa. Además, note que en frente de cada opción hay indicaciones para utilizarla con solo presionar una o varias teclas a la vez.

menu VerEl menú Ver contiene opciones para desplegar información del programa. La opción SUBs... muestra una ventana con el listado de subrutinas que se han creado y permite ubicarlas dentro del archivo. La opción Dividir parte en dos el campo de texto para tener dos vistas del mismo archivo y poder escribir o modificar el programa en dos partes distintas con solo pasar de una división a otra. Por último, la opción Info en Pantalla muestra la consola de salida de mensajes donde se ha impreso o desplegado los mensajes de programas ejecutados anteriormente. Tenga presente que existe una instrucción para que el computador borre los mensajes en pantalla al ejecutar un programa.

menu BusquedaEl menú Búsqueda contiene opciones para la localización y edición de palabras o frases en el archivo. La opción Buscar... abre una ventana donde se escribe la palabra o frase que se desea encontrar en el archivo. La opción Repetir última búsq. permite repetir la búsqueda sin necesidad de volver a abrir la ventana, pues toma la palabra ingresada en la última búsqueda. Esta opción se puede ejecutar directamente pulsando F3. Por último, la opción Cambiar... abre una ventana para escribir una frase a localizar y una frase que reemplazará la encontrada.

menu EjecutarEl menú Ejecutar es uno de los más utilizados, porque contiene las opciones para poner en funcionamiento los programas escritos en QBasic. La opción Iniciar es la que corre el programa desde el principio. Cuando se usa aparece una ventana de fondo negro sobre la que se dibujan todos los mensajes o gráficos que se programaron y al final de la ejecución del programa se puede volver al entorno de trabajo pulsando la tecla ESC. La opción Reiniciar obliga a que el programa se inicie desde la primera instrucción cuando ha parado por un error que necesita ser depurado y por último, la opción Continuar permite seguir realizando las instrucciones después de parar en un punto de depuración Estas opciones funcionan en conjunto con las opciones del menú Depurar. Normalmente el programador invoca la opción de ejecución del programa solo presionando F5.

Menu DepurarEl menú Depurar contiene las opciones y herramientas para ejecutar los programas controladamente con el fin de encontrar errores que se presentan solo en tiempo de ejecución y que no corresponden a fallas de escritura o sintaxis. La opción Paso le indica al computador que ejecute solo una línea escrita en el programa a partir de un punto de donde haya parado la ejecución por un punto de interrupción. Similar ocurre con la opción Paso Procedimiento... pero en este caso se salta el llamado a procedimientos, por lo que una función o subrutina que se haya definido se ejecutará en su totalidad como una sola instrucción. La opción de Rastreo, al ser activada muestra en tiempo de depuración, que instrucción se está ejecutando en cada instante. La opción Comutador ptos/interrup permite fijar o quitar un punto de interrupción en la linea de instrucción donde se encuentre el cursor. Borrar ptos/interrup quita todos los puntos de interrupción del depurador de tal manera que todo el programa se ejecute de principio a fin. La opción Fijar sgte instrucción permite elegir como siguiente instrucción que se va a ejecutar aquella donde esté situado el cursor cuando se ejecuta paso a paso. Esta última opción puede volver inestable el programa y conllevar a errores de ejecución.

Menu OpcionesEl menú Opciones contiene elementos diversos para personalizar el entorno de trabajo. La opción Presentar... muestra una ventana que permite elegir los colores de la pantalla, el texto y las indicaciones. La opción Ruta de Ayuda... permite que QBasic identifique donde se encuentra el archivo de ayuda qbasic.hlp u otro similar para vincularlo al comando Ayuda o a la tecla F1. Por último la opción Verificar sintaxis que normalmente está activada permite que QBasic vaya revisando la forma cómo se escribe cada instrucción. Si se desactiva esta opción el entorno no corrige mientras se escribe, pero esto puede ser útil en virtud de escribir más ágilmente un programa sin preocuparse por la corrección línea tras línea.

Menu AyudaEl menú Ayuda contiene opciones de consulta de temas de QBasic que puedan llegar a serle confusos al programador o sobre los que él quiera hacer un estudio más detallado. La opción Indice muestra una ventana que lista en orden alfabético cada uno de los temas, instrucciones o claves para que sean consultados si se posiciona el cursor sobre una palabra en particular y se pulsa ENTER o se hace doble clic con el ratón sobre el tema. La opción Contenido presenta una ventana de ayuda donde la información está organizada por temas generales y que se puede consultar de la misma manera que en el caso anterior con un doble clic o posicionando el cursor sobre el tema. La opción Tema: identifica la palabra del programa que se está escribiendo donde está posicionado el cursor y la elige para realizar una consulta sobre ella. Esta es la opción que se realiza cuando el programador pulsa F1. Uso de ayuda presenta una pantalla con información de cómo navegar por los contenidos de consulta que trae QBasic. Por último, existe una opción Acerca de... que muestra información general de QBasic como la versión y la ley de protección de derechos de autor.

Cuando el programador inicia el programa, el entorno le presenta una ventana en el centro con un mensaje de bienvenida y que ofrece una introducción a los contenidos de ayuda si se pulsa ENTER.
Mensaje de Bienvenida y entrada inicial a la Ayuda
Cuando se pulsa ENTER aparece una ventana que contiene los accesos a los temas de ayuda ordenados en un índice alfabético, por Contenidos o temas y la forma cómo utilizar la ayuda mientras se escriben los programas en QBasic.Referencia básica de la Ayuda
Flechas de apertura y cierre de ventanas y barras de desplazamientoLa ventana de Referencia Básica se puede ocultar al pulsar la flecha azul y gris que se encuentra justo debajo de ella al lado derecho, sobre la línea que indica el nombre del archivo que estamos construyendo o si este todavía no está creado, entonces la línea dice Sin_Nombre. La ayuda está disponible en todo momento en una ventana que emerge pulsando una flecha que está debajo de la barra de menúes en el lado derecho. Además, el entorno tiene barras de desplazamiento horizontal y vertical para control de la visualización de lo escrito en los campos de texto y en la ventana de ayuda.

Tras ocultar el mensaje de bienvenida y la ventana de la ayuda, la pantalla de fondo azul sirve como campo para escritura de cada una de las instrucciones de los programas que se desean ejecutar en QBasic. Dicho campo de texto está divido en dos secciones: La primera, en la parte superior, sirve para escribir un archivo que se puede guardar en disco y ejecutar con las opciones de la barra de menúes. También en esta parte se cargan los archivos que se hayan guardado previamente. Cuando ya se ha guardado el archivo, la ventana toma el nombre del archivo. Mientras tanto, la ventana lleva por título Sin_Nombre. Esta ventana es el área principal de trabajo y en la que han de desarrollarse ejemplos posteriores.
Area de trabajo o escritura de programas
La segunda ventana, en la parte inferior, es una herramienta de pruebas donde se puede escribir una instrucción de una línea y ejecutarla inmediatamente se pulse ENTER. Esta ventana lleva por título Inmediata. Se puede pasar de la ventana Inmediata a la ventana de trabajo y viceversa, pulsando la tecla F6.

Para terminar, en la parte inferior de la pantalla se encuentra una barra verde con indicaciones para el programador. Esta barra se denomina barra de estado y brinda información de las teclas de acceso rápido (hot keys) y de la posición del cursor en el campo de trabajo.

Barra de estado e informaciónAhora que ya conoces la herramienta de trabajo, puedes comenzar a disfrutarla escribiendo tu primer programa. Buena suerte.

miércoles, 8 de octubre de 2008

Adquisición, instalación y configuración de QBasic

QBasic es un programa de Microsoft que venía incluido en las distribuciones de Windows 3.1 y Windows 95. Actualmente, las versiones desde Windows 98 Segunda edición en adelante no lo traen pero si permiten ejecución.


Los usuarios de la plataforma de robótica y automática educativa pueden copiarlo desde el CD-ROM que Computadores Para Educar les entrega junto con la tarjeta EDERA. Allí buscan la carpeta QBASIC, la seleccionan y la copian, puede ser pulsando el botón secundario del ratón y luego la opción copiar o presionando simultaneamente las teclas CRTL y C.

Luego, van al directorio raiz del sistema, generalmente identificado con C:\ y pegan allí la carpeta.


Si no dispones del CD-ROM, puedes descargar el programa olddos.exe directamente de la página de Microsoft, como lo sugiere el sitio web CyM98. Allí se indica que se puede descargar el programa del ftp de Microsoft, siguiendo la dirección:

http://download.microsoft.com/download/win95upg/tool_s/1.0/w95/en-us/olddos.exe

Es importante que se guarde el archivo en una carpeta vacía. Sugiero que en la unidad C:\ se cree una carpeta llamada QBASIC y que sea allí donde se guarde el programa. Luego, se pone a correr con doble clic o seleccionándolo y pulsando ENTER. Aparece una ventana de confirmación que pregunta si desea extraer las aplicaciones que trae dentro. Pulse y (ye) para aceptar e iniciará la extracción.
Luego, aparecen varios programas dentro de la carpeta. Sugiero dejar solamente los que dicen qbasic.exe, qbasic.hlp y por supuesto, olddos.exe. El resto se pueden borrar.

Una vez tenga almacenado el archivo qbasic.exe en el computador este se puede ejecutar directamente con doble clic o seleccionándolo y pulsando ENTER. Si se encuentra en la consola de DOS, también puede ejecutarlo ubicándose en la carpeta donde quedó almacenando y digitando qbasic y luego ENTER. No es necesario registro de componentes como en otras aplicaciones o la ejecución de un instalador.


Para que le quede más cómodo, puede crear un acceso directo a QBasic en el escritorio. Para ello, simplemente vaya hasta donde tiene almacenado el programa, seleccionelo y pulse el botón secundario del ratón. En el menú que aparece seleccione Enviar a -> Escritorio (crear acceso directo). Cuando haga esto, aparecerá un ícono sobre el cual puede dar ENTER o doble clic y abrirá directamente el programa. Si aparece alguna ventana pidiendo datos adicionales, simplemente ignórela.

Ahora ya está listo para empezar a disfrutar de las bondades de la programación en QBasic. Al abrir el programa aparece una ventana de bienvenida que se puede quitar pulsando la tecla ESC o ir al menú de ayuda pulsando la tecla ENTER. Tómese unos minutos para conocerla y observar las diferentes herramientas que tiene a su disposición.

viernes, 3 de octubre de 2008

Bienvenidos a las Experiencias

Bienvenidos internautas. El objetivo de este blog es dar a conocer un punto de vista en torno a la forma como se construyen algunos pequeños programas en QBasic (Quick Basic de Microsoft), dentro del proyecto Plataforma de Robótica y Automática Educativa que adelanta el programa Computadores para Educar en convenio con la Universidad del Cauca, en la región suroccidente de Colombia.

Para comenzar, podemos decir que Computadores Para Educar es un programa del gobierno nacional que busca impulsar las Tecnologías de la Información y la Comunicación (TIC) en zonas de la nación donde la brecha digital es muy alta y el acceso a medios de información y de tecnologías es limitado, llevando computadores y recursos de comunicación a escuelas y centros de estudio en la mayoría, donados por diferentes empresas e instituciones de Colombia. Una de las líneas de trabajo de este programa es la recuperación y reutilización de partes y componentes de equipos dañados para generar otros dispositivos como las tarjetas de Desarrollo EDERA y las plataformas de robótica y automática educativa.

Para conocer más al respecto visite la página:
www.computadoresparaeducar.gov.co y pulse en el link CENARE (Centro Nacional de Aprevechamiento de Residuos Electrónicos) que se identifica con el símbolo de reciclaje.

Por su parte, la Universidad del Cauca es una institución pública de educación superior, de reconocido prestigio y con un gran compromiso y proyección hacia la sociedad. Es una de las universidades encargadas de llevar a cabo el acompañamiento pedagógicoa las sedes educativas beneficiadas por el programa Computadores Para Educar. La Universidad está actualmente encargada del impulso, evaluación y ampliación de los alcances del proyecto propuesto por CENARE para culturización y enseñanza sobre electrónica, automática, robótica e informática en algunas de las sedes acompañadas, en integración con su propio entorno. Si quieres conocer más detalles, visita la página: www.unicauca.edu.co/cpe

Dentro de este proyecto, uno de los objetivos esenciales es la enseñanza del lenguaje de programación QBasic, lo cual va a servirnos para desarrollar programas de comunicación entre computadores, incluso aquellos que tienen condiciones mínimas de desempeño y la tarjeta de desarrollo EDERA. Una vez se encamine a los formadores y los estudiantes de las escuelas en este entorno, ellos podrán experimentar con la plataforma robótica y de automática y proponer talleres, proyectos e inquietudes generadas en su entorno. La finalidad de este blog es servir de puente en ese proceso de aprehensión de tecnología y recoger todas las experiencias propias, de los formadores, de los docentes y estudiantes de cada comunidad educativa al respecto de este proyecto para que sean conocidas y comentadas por toda la red de internautas.

Amig@, te invito a conocer estas experiencias, a que me envies comentarios y que ampliemos la base de conocimientos sucitados por nuestra intención de reducir la brecha digital y acercar más la tecnología a quien la necesita.
UNIVERSIDAD DEL CAUCA
CONVENIO COMPUTADORES PARA EDUCAR
Región Suroccidente
Popayán - Colombia