ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º
ɻ˻ɻɻ˻ɻÉ˻ɻɻËɻɻÉ
ɻ˻ɻɻËÉ»
º
º
̼̹ººº»Ì¹Ì¹ºÊºÌ¹º ºººººº
ººÌ¹Ì¹È»ºº
º
º Ê
ÊÈȼȼÊÈÊÊÊ ÊÊÊȼÊȼ¼È¼
ȹʼÊÊȼÊȼ
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º É˻ɻ˻»ÉË É»
É» º
º
º ºÊºººººººº ºº
¹ º
PROGRAMACION ESTRUCTURADA º
º Ê Êȼʼȼȼȼ
ȼ º
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º
º
º
EN ESTA LECCION APRENDERAS...
º
º
º
º ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
º ³
³ º
º ³ þ ¨Qu‚ es programaci¢n descendente?
............. 2 ³ º
º ³ þ ¨C¢mo se programa en QBasic?
.................. 3 ³ º
º ³ þ ¨C¢mo convertir el programa de
³ º
º ³ temperatura en un
programa QBasic? ............
4 ³ º
º ³ þ ¨C¢mo nombrar y guardar tus programas?
........ 5 ³ º
º ³ þ ¨Por qu‚ diferentes versiones para
³ º
º ³ un solo programa?
.............................
8 ³ º
º ³ þ ¨C¢mo darle nombre a las subrutinas
........... 9 ³ º
º ³
³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
º
º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º É»Ë»Ë É»É» ɻɻɻ
º
º
º ººÌ¹º Ì º
¹ºº ¹ º PROGRAMACION
DESCENDENTE
º
º ȹʼȼȼȼ ȼȼȼ
º
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º É»Ë»Ë É»É» ɻɻɻ
º
º
º ººÌ¹º Ì º
¹ºº ¹ º PROGRAMACION
DESCENDENTE º
º ȹʼȼȼȼ ȼȼȼ
º
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
¨QUE ES LA PROGRAMACION DESCENDENTE?
------------------------------------
El programa de temperatura que consideramos en la
lecci¢n
anterior, es algo m s que un programa. Es un PROGRAMA BIEN
PLANEADO, f cil de leer, f cil de entender, y por lo mismo, f cil
de cambiar.
Pero eso no lo es todo, es tambi‚n un programa QUE
SE DOCUMENTA
A SI MISMO. Observa,
que solamente hemos usado
unas cuantas sentencias REM para explicarlo y que lo
comenzamos
presentando UNA IDEA GENERAL de lo que se
supone ‚l haga, y
luego, convertimos la misma en la siguiente rutina principal:
100 'Conversi¢n de temperaturas
110 '--------------------------
120 CLS
130 GOSUB
190 'Selecciona conversi¢n.
140 GOSUB
330 'Haz la conversi¢n.
150 GOSUB
610 'Pide otra conversi¢n.
160 GOSUB
690 'Termina programa.
170 END
Si observas con detenimiendo esta RUTINA GENERAL, te dar s
cuenta que no es otra cosa que UN RESUMEN de lo que el programa
est supuesto hacer.
Otra cosa que no debes pasar por alto, es
que esta rutina se divide a su vez
en estructuras menores
llamadas subrutinas, que son precisamente las que se
encargar n
de los detalles del programa.
De modo que, este programa est
hecho de una RUTINA
PRINCIPAL que nos da una IDEA GENERAL de lo que trata el mismo,
y
a su vez, llama a otros MINIPROGRAMAS o SUBRUTINAS para
que nos
detallen lo que pide ‚l, en ellas. Es decir, este programa se
mueve de una IDEA GENERAL a otras m s
concretas. Dicho de otra
manera, se ha movido DE ARRIBA HACIA ABAJO. As¡ que...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ CUANDO
HACEMOS UN PROGRAMA ³
³ DESCRIBIENDO PRIMERO,
DE UNA FORMA GENERAL, ³
³ LO QUE SE
SUPONE QUE HAGA, ³
³ Y,
LUEGO, DEJAMOS LOS DETALLES ³
³ A UNA SERIE DE
PARTES MAS SIMPLES,
³
³
SE DICE QUE ESTAMOS
³
³ PROGRAMANDO DE
ARRIBA HACIA ABAJO ³
³
(Top-Down programming) ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
3 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Sin embargo, no basta con la PROGRAMACION DE ARRIBA
HACIA
ABAJO o DESCENDENTE para escribir programas bien
estructurados.
Necesitamos algo m s.
Y ese es el tema que veremos en la pr¢xima
lecci¢n. Por ahora,
empezaremos con la programaci¢n de lleno en
QBasic.
DESCUBRIENDO COMO SE PROGRAMA EN QBASIC
---------------------------------------
Casi toda la programaci¢n en QBasic est fundada en nuestro
ejemplo del programa de temperatura. Como ver s dentro de poco,
convertir este programa a un programa
QBasic es una tarea
sensilla. Veamos
porqu‚.
Cuando escribimos el programa de
temperatura, en el
int‚rprete GW-Basic, lo hicimos de tal forma
que dividimos la
tarea o el prop¢sito principal del mismo, CONVERTIR
TEMPERATURAS,
en varias tareas o secciones que
llamamos miniprogramas o
subrutinas.
Por ejemplo, partimos de una
definici¢n general del
programa. Luego,
hicimos un bosquejo general del mismo...
1. Llama al programa
CONVERSION DE TEMPERATURAS.
2. Selecciona Conversi¢n.
3. Haz la conversi¢n.
4. Pide otra conversi¢n.
5. Termina.
...es decir un algoritmo, que m s tarde refinamos con...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Conversi¢n de temperaturas ³
³ Selecciona
conversi¢n ³
³ Haz la
conversi¢n.
³
³ Pide otra
conversi¢n. ³
³ Termina.
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...considerando estos pasos creamos la siguiente
rutina
principal...
100 'Conversi¢n de temperaturas
110 '--------------------------
120 GOSUB 200 'Selecciona conversi¢n
130 GOSUB 300 'Haz la conversi¢n.
140 GOSUB 400 'Pide otra conversi¢n.
150 GOSUB 500 'Termina.
160 END
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303 PROGRAMACION
DESCENDENTE
4 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Luego, cada paso lo convertimos en
un miniprograma o
subrutina.
Llenamos las subrutinas con meramente
sentencias
PRINT que mencionaban lo que hac¡a cada
una. Ejecutamos
el
programa, y al ver lo siguiente...
Selecciona conversi¢n.
Haz la conversi¢n.
Pide otra conversi¢n.
Termina.
...en pantalla, sab¡amos que el programa estaba funcionado
bien.
Luego, lo pr¢ximo ser¡a llenar cada subrutina
con los
detalles correspondientes.
COMO CONVERTIR EL PROGRAMA DE TEMPERATURA
-----------------------------------------
EN UN PROGRAMA QBASIC
---------------------
El int‚rprete QBasic fue hecho con
la PROGRAMACION
DESCENDENTE en mente.
Es decir, teniendo en cuenta la forma en
que hicimos el programa de temperatura.
Tratemos, ahora, de convertir este programa hecho en
GW-
Basic a QBasic.
Empecemos con la RUTINA principal...
100 'Conversi¢n de temperaturas
110 '--------------------------
120 CLS
130 GOSUB
190 'Selecciona conversi¢n.
140 GOSUB
330 'Haz la conversi¢n.
150 GOSUB
610 'Pide otra conversi¢n.
160 GOSUB
690 'Termina programa.
170 END
Lo primero que debes hacer es cargar en la
memoria
principal de tu computadora el int‚rprete Qbasic (ver lec
QB201).
Una vez cargado QBasic, aparecer la pantalla
inicial de EDITOR
QBasic...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
5 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄUntitledÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
^³
³ ±³
³
±³
³
±³
³
±³
³ ±³
³
±³
³
±³
³
±³
³ ±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
COMO
NOMBRAR Y GUARDAR TUS PROGRAMAS
------------------------------------
Una vez que el editor est‚ en pantalla procedes a escribir
el nombre del programa y guardarlo(save) al
mismo tiempo. En
la lecci¢n QB203 aparece el procedimiento completo. Sin embargo,
lo mencionaremos aqu¡ otra vez para tu beneficio.
El guardar tus programas en QBASIC es mucho m s sensillo que
con los int‚rpretes de BASICA o GW-BASIC. Lo £nico que tienes
que hacer, es ir al FILE MENU y ah¡
seleccionar SAVE ¢ SAVE
AS... El
procedimiento es el siguiente:
Primero, selecciona un nombre para tu programa,
digamos,
TEMPRG1.BAS.
Observa como la extensi¢n .BAS
identifica el
archivo como un programa en BASIC.
Segundo, v‚ al FILE MENU presionado la tecla ALT. Nota c¢mo
al presionar ALT los nombres de los distintos men£s se
enfatizan
con un fondo negro.
Tercero, presiona la tecla cursora que tiene la
flechita
hacia abajo.
Notar s que inmediatamente aparece el FILE MENU...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
6 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄUntitledÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ New ³Û
^³
³ Open... ³Û
±³
³ Save ³Û
±³
³ Save as... ³ÛC";"=";F;"F"
±³
³ Print... ³Û
±³
³ Exit ³Û
±³
ÃÄÜÜÜÜÜÜÜÜÜÜÜÜÛ
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Cuarto, presiona dicha tecla nuevamente hasta que llegues a
Save as...
Los tres puntitos indican que inmediatamente despu‚s
que presiones ENTER aparecer la cajita de di logo Save
as...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄUntitledÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ New ³Û
^³
³ Open... ³Û
±³
³ Save ³Û
±³
³ÛSave as... ³ÛC";"=";F;"F"
±³
³ Print... ³Û ±³
³ Exit ³Û
±³
ÃÄÜÜÜÜÜÜÜÜÜÜÜÜÛ
±³
³
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Quinto, presiona ENTER para que aparezca
la cajita de
di logo...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
7 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄSave asÄÄÄÄÄÄÄÄÄÄÄ¿
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
³ File name: ³_
³ ³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
³ C:\QBASIC
³
³
³
³
Dirs\Drives ³
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
³ ³ .......... ³ ³
³ ³ .......... ³ ³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
³
<Ok>
<Cancel>
<Help> ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...denominada Save as... En
la l¡nea de File name y desp£es
del cursor -, escribe...
ÚÄÄÄÄÄÄÄÄÄÄÄSave asÄÄÄÄÄÄÄÄÄÄÄ¿
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
³ File name: ³TEMP1PRG.BAS_ ³ ³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
³ C:\QBASIC
³
³ ³
³
Dirs\Drives ³
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
³ ³ .......... ³ ³
³ ³ .......... ³ ³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
³
<Ok>
<Cancel>
<Help> ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...TEMPRG1.BAS y presiona ENTER.
Ver s que el programa es
guardado en el archivo TEMPPRG1.BAS
y aparecer de nuevo la
pantalla inicial...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
^³
³
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
8 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...con el nombre que escogiste para tu programa. Nota que
el nombre que escogimos para identificar el programa...
ÚÄ programa en BASic
TEMPRG1.BAS
ÀÂÙÀÂÙÀÄ primera versi¢n
³ ³
TEMperatura ÄÄÙ ³
PRoGrama
...tiene abreviada la palabra TEMperatura(TEM) y la palabra
PRGrama(PRG) seguidas ambas del n£mero 1. El n£mero significa la
primera versi¢n del programa. Siempre que
programes, te
recomendamos que llames a tu programa con
diferentes nombres.
Recuerda que al programar ir s mejorando el programa poco a
poco.
Si llamas al programa con diferentes nombres podr s
comparar la
versi¢n mejorada con la versi¢n anterior.
¨POR QUE DIFERENTES VERSIONES
PARA UN SOLO PROGRAMA?
Nuestro programa de temperatura tiene dos versiones:
la
versi¢n esquem tica, o versi¢n uno,
llamada TEPRG1.BAS y la
versi¢n completada o versi¢n dos, llamada
TEMPRG2.BAS. Observa
c¢mo con s¢lo cambiar el n£mero de la versi¢n, tendr s un
nombre
nuevo para tu programa.
Puedes llamar tus programas de la forma que lo
desees.
Pero eso si, aseg£rate de que el nombre
escogido aluda a la
esencia del mismo.
Otra cosa que tienes que tener en cuenta, es
que cuando le vayas a dar un nombre diferente
a los mismos,
debes escoger en el FILE MENU, la opci¢n Save as... La opci¢n
Save s¢lo guardar tus programas con el nombre original.
Despu‚s que le hayas puesto nombre a tu programa y lo hayas
guardado(save), proceder s entonces
a escribir la RUTINA
PRINCIPAL usando enunciados REM. Como estamos convirtiendo el
programa de temperatura directamente usamos la
rutina principal
de este. Si estuvieras haciendo el programa
por primera vez en
QBasic, la rutina principal la har¡as a partir
de tu algoritmo
inicial.
Por ejemplo, el algoritmo inicial del
programa de
temperatura es...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Conversi¢n de temperaturas ³
³ Selecciona conversi¢n ³
³ Haz la
conversi¢n.
³
³ Pide otra
conversi¢n. ³
³
Termina.
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
9 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...pues tendr¡amos que hacer la RUTINA
PRINCIPAL del
programa a partir
de ‚l. Esta es la forma en que
deber¡as hacer
la RUTINA PRINCIPAL...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ REM Conversi¢n de
temperaturas
^³
³ REM
--------------------------
±³
³ ' CLS
±³
³ ' SeleccionaConv ±³
³ ' HazConv
±³
³ ' PideOtraConv
±³
³ ' TerminaPrg
±³
³ END
±³
³
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
COMO DARLE NOMBRE A LAS SUBRUTINAS
----------------------------------
Observa c¢mo se han denominado las subrutinas. Como el
QBasic no tienen n£meros de l¡nea,
utiliza el nombre de la
subrutina (label) para ir a ella. Por esa raz¢n debe escribirse
el nombre de la misma sin ning£n espacio de
separaci¢n. Por
ejemplo, a la subrutina de SELECCIONA CONVERSION,
se le llam¢
SeleccionaConv.
Observa que no se separ¢ Selecciona de Conv,
sino que ambas palabras se escribieron juntas. Observa, tambi‚n,
que para diferenciar una palabra
de la otra se escribi¢ la
primera letra de cada palabra en may£scula.
El nombre de una subrutina en QBasic
puede tener 40
caracteres o menos, no m s. La subrutina llamada SeleccionaConv
pudo haberse llamado SeleccionaConversion, ya que este
nombre no
sobrepasa los 40 caracteres.
Hemos puesto las subrutinas en la RUTINA
PRINCIPAL bajo
sentencias REM para que no se ejecuten por ahora. A medida que
vayamos llenando las mismas, removeremos los REM.
Empecemos a llenar la primera
subrutina, la llamada
SeleccionaConv.
Para conseguirlo debes proceder as¡...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
10 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Elimina la comilla que representa el enunciado REM en
la
l¡neas...
' CLS
'
SeleccionaConv
...en la RUTINA PRINCIPAL.
Despu‚s de eliminarlas, esta
deber¡a aparecer as¡:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ REM Conversi¢n de
temperaturas
^³
³ REM
--------------------------
±³
³ CLS
±³
³
SeleccionaConv
±³
³ ' HazConv
±³
³ ' PideOtraConv
±³
³ ' TerminaPrg
±³
³ END
±³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Ahora, coloca el cursor frente al nombre de la subrutina que
acabas de remover la comilla, o sea, SeleccionaCov. La pantalla
debe verse de esta forma:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ REM Conversi¢n de
temperaturas
^³
³ REM
--------------------------
±³
³ CLS
±³
³ - SeleccionaConv
±³
³ ' HazConv
±³
³ ' PideOtraConv
±³
³ ' TerminaPrg
±³
³ END
±³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
11 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Luego, en la secci¢n de Menu, escoges el EDIT
MENU. Al
hacerlo, el mismo se desplegar ...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options Help³
ÃÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ³ Cut Shift+ Del³
^³
³ ³ Copy Ctrl+Ins ³
±³
³ ³ Paste Shift+Ins ³
±³
³ ³ Clear Del ³
±³
³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
±³
³ ³ NewSub... ³
±³
³ ³ New Function... ³
±³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±³
³
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Entonces, escoges NewSub.
Aparecer la siguiente cajita de
di logo...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
^³
³
±³
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄNew SubÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
±³
³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³
±³
³ ³ Name: ³-SeleccionaConv ³ ³ ±³
³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³
±³
³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
±³
³ ³ <Ok> <Cancel> <Help> ³
±³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
12 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Observa c¢mo el nombre de
la subrutina aparece
autom ticamente escrita en la secci¢n Name, as¡ que al
presionar
ENTER (Ok), ver s...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Sub
SeleccionaConv
^³
³ END Sub
±³
³
±³
³ ±³
³
±³
³
±³
³
±³
³ ±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...la forma esquel‚tica de la misma. Esto significa que
est s listo para llenar la subrutina. Coloca el cursor en END
Sub y presionas ENTER varias veces. De esta forma conseguir s
espacio dentro de la subrutina para llenarla...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Sub
SeleccionaConv
^³
³
±³
³
±³
³
±³
³ END Sub
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Ahora,
llenas la misma.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
13 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ Sub
SeleccionaConv
^³
³
'-----------------
±³
³ PRINT
"SELECCIONA CONVERSION"
±³
³
±³
³
±³
³ END Sub
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Observa, que solamente se han a¤adido dos l¡neas. Una l¡nea
REM entrecortada para enfatizar el nombre de la subrutina,
y la
otra, con el mensaje "SELECCIONA
CONVERSION" en la sentencia
PRINT.
La raya entrecortada es opcional. La l¡nea con el
mensaje es para probar si la subrutina trabaja bien.
No te preocupes ahora por los detalles de esta
subrutina.
Estamos s¢lo en la etapa de construir las subrutinas
pedidas en
la rutina principal y probando si estas funcionan
bien. Por
ejemplo, para probar si la subrutina que
acabamos de hacer,
funciona adecuadamente, hacemos lo siguiente:
Volvemos a la RUTINA PRINCIPAL, presionando ALT, y luego la
V de View. Cuando
aparezca...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³SUBs... F2 ³
^³
³ ³Split ³
±³
³ ³Outpt Screen F4 ³
±³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±³
³ v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Escoges SUBs presionando F2 o ENTER. Aparecer la...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
14 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options
Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄSUBsÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ^³
³ ³ °°°°°°°°°°°°°
^ ³ ±³
³ ³ °TEMPRG1.BAS°
± ³ ±³
³ ³ °°°°°°°°°°°°°
± ³ ±³
³ ³ SeleccionaConv
± ³ ±³
³ ³
± ³ ±³
³ ³
± ³ ±³
³ ³<ÄÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÄ>v ³ ±³
³ ³
³ ±³
³ ³TEMPRG1.BAS is the
Main Module.
³ ±³
³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...cajita de di logo. Como la RUTINA PRINCIPAL
o
TEMPRG1.BAS est seleccionada con el fondo negro, s¢lo tienes
que
presionar ENTER para ir a ella...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³File Edit View Search Run
Debug Options Help³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄTEMPRG1.BASÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ REM Conversi¢n de
temperaturas
^³
³ REM
--------------------------
±³
³ CLS
±³
³
SeleccionaConv
±³
³ ' HazConv
±³
³ ' PideOtraConv
±³
³ ' TerminaPrg
±³
³ END
±³
³
±³
³
v³
³<ı±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Ä>³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄImmediateÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³<Shift+F1=Help <F6=Window> <F2=Subs> <F5=run> <F8=Step>³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Ahora, est s listo para ver si la subrutina SeleccionaConv,
funciona bien.
Para ejecutar el programa
presiona F5.
Observar s el mensaje....
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
15 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ SELECCIONA
CONVERSION
³
³
³
³
³
³
³
³ Press any key to
continue.
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...evidenciando que la subrutina est funcionando bien.
Ya que sabes como llenar la subrutina SeleccionaConv,
las
dem s subrutinas se llenan de la
misma forma.
La £nica
diferencia es su nombre. Pues bien,
usando el programa
siguiente...
DECLARE SUB SeleccionaConv ()
DECLARE SUB HazConv ()
DECLARE SUB PideOtraConv ()
DECLARE SUB TerminaPrg ()
'
REM Conversi¢n de temperaturas
REM --------------------------
CLS
SeleccionaConv
HazConv
PideOtraConv
TerminaPrg
END
SUB HazConv
'----------
PRINT "HAZ LA COVERSION"
END SUB
SUB PideOtraConv
'---------------
PRINT "PIDE CONVERSION"
END SUB
SUB SeleccionaConv
'-----------------
PRINT "SELECCIONA CONVERSION"
END SUB
SUB TerminaPrg
'-------------
PRINT "TERMINA PROGRAMA"
END SUB
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
16 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...llena las dem s subrutinas. No te preocupes por las
l¡neas...
DECLARE SUB SeleccionaConv ()
DECLARE SUB HazConv ()
DECLARE SUB PideOtraConv ()
DECLARE SUB TerminaPrg ()
Notar s que estas entran autom ticamente a tu programa cada
vez que lo guardes(save).
En la pr¢xima lecci¢n te explicaremos
qu‚ significan.
Luego que las hayas llenado todas, compara
el programa
terminado con este otro...
100 'Conversi¢n de temperaturas
110 '--------------------------
120 GOSUB 200 'Selecciona conversi¢n
130 GOSUB 300 'Haz la conversi¢n.
140 GOSUB 400 'Pide otra conversi¢n.
150 GOSUB 500 'Termina.
160 END
170 '
200 'Seleciona conversi¢n
210 '--------------------
220 PRINT
"Selecciona conversi¢n."
230 RETURN
240 '
300 'Haz la conversi¢n
310 '-----------------
320 PRINT
"Haz la conversi¢n."
330 RETURN
340 '
400 'Pide otra conversi¢n
410 '--------------------
420 PRINT
"Pide otra conversi¢n."
430 RETURN
440 '
500 'Termina
510 '-------
520 PRINT
"Termina."
530 RETURN
Observa c¢mo fue convertido a QBasic. Recuerda que al
llenar las dem s subrutinas, haz el
procedimiento que seguimos
para llenar la subrutina
SeleccionaConv. Cuando las hayas
llenado todas, al ejecutar el programa ver s
en pantalla los
t¡tulos...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ QB303
PROGRAMACION DESCENDENTE
17 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ SELECCIONA
CONVERSION
³
³ HAZ LA CONVERSION
³
³ PIDE CONVERSION
³
³ TERMINA PROGRAMA
³
³
³
³
³
³ Press any key to
continue.
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...que significan que el programa est funcionando
bien.
No te olvides de comparar los dos programas, es decir,
el
programa hecho en GW-Basic y el hecho en QBasic. Observa cu nta
semejanza hay entre ellos!
En la pr¢xima lecci¢n continuaremos llenando los detalles en
cada subrutina.
Hasta luego!