Bienvenido al tutorial 10. Antes de explicarte qué es un procedimiento déjame adentrarte algo llamado Subrutina. Las subrutinas son secciones de código que se dejan para acceso fácil y básicamente para colocar bien el código en QBasic para que sea fácil de leer y escribir. Primero déjame explicar los dos comandos que harán todo el trabajo en QBasic.
Gosub
Return
CLS PRINT "Un simple programa GOSUB" PRINT "-------------------------------------" PRINT "En principio vamos a saltar a otro programa y escribir algo" GOSUB hola PRINT "Finalmente, hemos regresado con seguridad" END hola: PRINT "Hola, estamos saltando" PRINT "Vamos a regresar y finalizar el programa" RETURN
Como puedes ver todo parece bastante sencillo. En principio estamos haciendo las mismas cosas que has aprendido en tutoriales anteriores. La parte importante es la sentencia "GOSUB hola". Dentro de esta línea estamos contando a dónde va el programa y encontrando la etiqueta llamada "hola". Así el programa busca el resto del programa hasta que la etiqueta es parecida, que es la etiqueta que contiene a "hola". Continúo dentro de la etiqueta "hola", está el código que la ejecuta. El código simplemente escribe un simple texto en la pantalla. Una vez que ha hecho esto, salta hacia atrás a donde viene, que es la sentencia "GOSUB". El ordenador recuerda toda esta información una vez que la sentencia "GOSUB" ha sido alcanzada. Para poner esta teoría en un ejemplo escribiremos otro programa corto que saltará a dos lugares diferentes en el programa. Escribe lo siguiente y presiona "F5" para correrlo.
CLS PRINT "Otro simple programa GOSUB" PRINT "---------------------------------------" PRINT "En principio vamos a saltar a la Primera Etiqueta" GOSUB etiqueta1
Como puedes ver es bastante usual hacer subrutinas en algunos programas de QBasic. Déjame simplemente aconsejarte sobre un par de cosas:
Programando un ejemplo de la selección 1
Contraseña de programa
El anterior es un simple programa que pregunta por una contraseña. Necesitas meter "manzana" para tener éxito, si no el programa dirá que has metido la contraseña errónea.
Menú del programa
El anterior programa te permite seleccionar 1,2 ó 3. Dependiendo de la tecla
que sea presionada lo encadenará a una etiqueta relevante pero se dejará para
recordarte algo. Muchos usuarios usan este comando para acordarse de lo que la
línea hace realmente. Debajo tienes un pequeño ejemplo.
Este programa es realmente básico pero todavía nos enseña este punto. Si lo que quieres realmente es llamar la atención puedes usar una ´ como rem. Aquí está como.
CLS PRINT "HOLA" ´ Este comando escribirá la palabra´s "HOLA"
Cualquier cosa que aparezca después del símbolo ´ no será usado durante el programa. Debes intentar situar el símbolo ´ en su propia línea. Debajo tenemos otro simple programa de ejemplo.
CLS ´ Estamos imprimiendo "HOLA" PRINT "HOLA" ´ Luego podemos terminar el programa con el comando "END" END
Tu menú de opciones puede ser diferente al mío. Esto es porque estoy usando la versión comercial de QBasic llamada QuickBasic. No te preocupes por esto por que todo lo que te explico funcionará igual.
Como puedes ver en la pantalla mostrada arriba tú área de trabajo debería tener sólo líneas escritas. Hay "SUB hola" seguidos en la siguiente línea de "END SUB". Entre estas dos líneas debes meter todo el código que quieras hacer. Escribe lo siguiente en la ventana del Editor.
SUB hola
Una vez hecho esto, ahora estás preparado para continuar escribiendo el
programa en la forma que lo has hecho en tutoriales anteriores. Básicamente
puedes olvidar cómo lo has escrito hasta ahora. Para regresar a la pantalla que
tiene el programa necesitas seleccionar "VIEW" en el menú desplegable. Puedes
hacer esto como antes con "EDIT", pero en vez de hacer click sobre "EDIT" hazlo
sobre "VIEW" con tu ratón. De nuevo puedes presionar ALT + "V" para hacerlo. Una
vez el menú desplegable aparece deberías tener algo como esto.
Mueve la barra de selección de menú al detalle "SUBs" , una vez que brille
haz un click sobre el botón del ratón presiona la tecla "Return". Recuerda que
mi menú puede parecer diferente porque estoy usando una versión comercial de
QBasic. Una vez que hayas echo esto debe ser introducido en otra pantalla en una
ventana diferente. Deberás tener algo como lo siguiente.
*Nota:
Item significa detalle, cancel cancelar y help ayuda.
Ahora verás la palabra "Sin Título" reluciendo en la ventana. La palabra "Sin Título" es el nombre de tu programa principal. Esto es llamado Módulo. Tu programa principal (módulo" se llamará o encadenará al Subprocedimiento para cumplir su tarea. Tu programa principal (módulo) es llamado "Sin Título" seguido del nuevo Subprocedimiento llamado "hola". Para que nosotros podamos llamar este nuevo procedimiento "hola" necesitamos volver a situarnos en el programa principal (modulo). Podemos hacer esto con dos clicks seguidos sobre la pantalla llamada "Sin Título" o presionando la tecla return ahora. Nosotros también podemos presionar el botón "Edit activo" con el ratón.
Si haces lo anterior correctamente entrarás ahora en el programa principal (módulo). Este es donde estábamos al principio antes de meterte en todos estos procedimientos. Tú probablemente estés dando gracias al cielo por ello.
O.k., ahora estarás preparado para escribir un programa nombrando o encadenando el subprocedimiento que has creado. Esta es una parte probablemente fácil, sin embargo para castigarte te adentraré en un nuevo comando de QBasic.
Declare
DECLARE SUB hola () CLS hola