Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Qbasic Tutorial 1




Enviado por lukpo86



    Capítulo 1

    A veces si tu cargas Qbasic desde DOS te
    encontrarás con que los restos de los comandos quedan
    en el fondo. Por ejemplo C:>QBasic quedaría al fondo si
    lo cargas desde DOS. No necesitas preocuparte por ello, se
    resuelve con el comando CLS, el cual permite limpiar la pantalla
    antes de hacer la siguiente operación. Por ejemplo escribe
    lo siguiente y luego presiona F5.

    CLS

    PRINT "Hola Mundo"

    Una vez que hayas corrido el programa
    verás que la información que queda es limpiada de nuevo
    y que queda la pantalla negra con "Hola Mundo" escrito en la
    esquina. Los comandos "PRINT y CLS " son útiles en mi
    sección de Referencia. Puedes usar el comando PRINT tantas
    veces como quieras en tu programa. Por ejemplo escribe lo
    siguiente:

    CLS

    PRINT "Hola Mundo"

    PRINT "Hola de nuevo"

    PRINT "Adiós"

    Escribirá las tres líneas completas, una
    tras otra en la pantalla. Hasta ahora no deberías haber
    tenido ningún error y si lo has tenido tal vez será
    uno de los siguientes:

    PRINT " "Hola Mundo" "

    No puedes poner mas de dos comillas en ninguna sentencia
    de PRINT

    CLS

    Este comando debería leerse CLS no CL
    S.

    CLS

    PRINT "Hola Mundo

    Nunca debes olvidarte de abrir o cerrar comillas al
    principio o fin de la sentencia de PRINT.

    Este es un consejo útil. Mueve el cursor al final
    de la sentencia de "PRINT". No ocurrirá nada en ella.
    Presiona F1. Un menú de ayuda se activará
    conteniendo información de esa sentencia particular. Esto
    te ayudará mucho si estás bloqueado dentro de un
    comando particular.

    Hasta aquí has conocido dos nuevos comandos:
    PRINT y CLS. Ahora te enseñaremos dos nuevos
    comandos llamados "FOR" Y "NEXT". Ambos comandos son muy
    útiles. Para eliminar el programa anterior presiona
    simultáneamente ALT + F. Sigue las
    instrucciones hasta que comience con una página
    limpia.

    Ahora escribe el siguiente programa tal como se te
    muestra
    abajo:

    CLS

    FOR i=1 to 10

    PRINT "Hola Mundo"

    NEXT i

    Presiona F5 para correr el programa y observa lo
    que sucede. Te encontrarás con que la frase "Hola Mundo"
    aparece en una lista 10 veces seguidas en la pantalla. Ahora
    vamos a mirar como funciona cada parte de este
    programa.

    CLS

    Limpia la pantalla de los restos de programas
    anteriores los cuales podrían estar
    ahí.

    FOR i=1 to 10

    Esta es una parte interesante; "i" es una variable ,
    las variables
    son comentadas en el tutorial 2, la variable contiene un
    valor. Para
    empezar la variable tomará el valor 1. Cada vez que la
    sentencia "NEXT i" es alcanzada el programa comprobará
    que la variable "i" es 10. Si no es 10 el programa
    continuará y regresará donde estaba el comando
    FOR. Esto es como un requisito para que el programa
    continúe, siempre que la variable "i" no sea 10 el
    regresará y sumará 1 al numero que tenía.
    Si tú modificas la orden FOR para que llegue hasta 20
    "NEXT" comprobará que "i" ha alcanzado el valor de 20.
    Por ejemplo:

    1,2,3,4,5,6,7,8,9,10 SE DETIENE!!!!

    Ó

    FOR i=1 to 20

    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

    SE DETIENE!!!!

    Cada vez que el programa vuelve atrás ejecuta
    todas las sentencias contenidas entre "FOR" y "NEXT". Si
    escribieses un programa como éste:

    CLS

    FOR i=1 to 10

    NEXT i

    Este programa todavía hará lo mismo pero
    no ejecutará nada entre "FOR" y "NEXT". La razón es
    porque no hay nada en primer lugar. Imagina que tienes un reloj
    con sólo 10 segundos. El reloj irá
    1,2,3,4,5,6,7,8,9,10 y luego empezará de nuevo. Lo mismo
    sucede con el ejemplo anterior, sólo que no estamos
    empezando de nuevo.

    En el anterior ejemplo el programa está sumando 1
    a la variable "i" cada vez que llega a la sentencia "NEXT".
    Podríamos cambiar el programa y sumar 2 a la variable "i".
    Verás lo que podrá hacer el siguiente programa
    antes de correrlo presionando F5.

    CLS

    FOR i=1 to 10 STEP 2

    PRINT "Hola Mundo"

    NEXT i

    Acabamos de enseñarte otro comando
    llamado "STEP". Este comando especifica en cuanto puedes
    incrementar el intervalo de forma continua hasta llegar a la
    sentencia "NEXT". El bucle de "FOR" y "NEXT" es como un contador.
    Es como si tú y yo tenemos contamos cuantos dedos tenemos.
    En el anterior ejemplo incrementaremos en 2 el intervalo en todas
    las sucesiones hasta
    la sentencia "NEXT". Éste es un ejemplo:

    2,4,6,8,10 SE DETIENE!!!!

    Comprendemos lo que hace la sentencia "PRINT".
    Escribirá "Hola Mundo" 10 veces una columna a menos que
    cambies algún valor contenido en la sentencia
    "FOR":

    La sentencia "NEXT" es fácil y está
    claramente explicada anteriormente. Intenta cambiar la sentencia
    "NEXT i" a "NEXT" y observa lo que sucede. Básicamente
    sólo debes quitar la "i" del final de la frase. Si lo
    haces eliminando la variable y de la sentencia "NEXT", el
    programa aún trabajará. Pero lo que yo te sugiero
    es que hagas lo que te expliqué arriba porque en un
    programa largo es bueno ver que hará "NEXT". Mas tarde
    explicaré la sentencia "NEXT" con mayor
    profundidad.

    Así el programa escribirá "Hola Mundo"
    cinco veces en la pantalla porque hemos incrementado el intervalo
    al doble. Puede parecer complicado al principio pero como en
    cualquier lenguaje todas
    las cosas ocupan su lugar. Lo mejor es intentar cambiar el valor
    del "STEP" para ver que tipo de resultados se obtienen.
    Además intenta cambiar el valor de "i" y el de "to" por
    otro. Te digo que tendrás un buen juego.

    Por tanto en la parte uno de este tutorial habrás
    aprendido cinco nuevos comandos. Son estos:

    PRINT, CLS, FOR, NEXT, STEP.

    Más tarde te mostraré que más
    puedes hacer con estos comandos, pero intenta echar un vistazo al
    menú de ayuda. Necesitarás comprender las variables
    y cadenas y cómo utilizarlas. En el siguiente
    capítulo te lo enseñaré.

    Capitulo 2

    Las variables son muy importantes en todos los programas
    de una forma u otra. Con las variables podrás guardar
    información numérica relevante con la que
    podrás operar más tarde. Por ejemplo
    prodrías tener cinco números diferentes que quieres
    sumar juntos. Puedes hacerlo muy fácilmente en basic. Has
    visto en el Tutorial 1 como una variable es utilizada en las
    sentencias "FOR" y "NEXT". Nosotros dimos a la variable "i" el
    valor 1 para empezar, luego le añadíamos 1 cada vez
    que comenzaba el bucle utilizando las sentencias "FOR" y "NEXT".
    Para hacer las cosas sencillas aquí tenemos una descripción formal.

    Una variable es simplemente un nombre que das a un
    área de la memoria en
    la cual el valor dato es guardado. Cuando necesites sacar esta
    parte del dato, o modificar este valor, puedes referirte a la
    localización en memoria por el
    nombre de la variable. Por ejemplo en un programa
    telefónico la variable edad tal vez contenga la
    edad de la persona en la
    actualidad. Como el programa corre, el valor guardado en
    nombre podría cambiar muchas veces en un par de
    años.

    Nombrar Variables

    Eres libre, en un programa, de dar a la variable un
    significado, un nombre descriptivo. Cuando escribas un programa
    piensa que los nombres de las variables deberían ser
    significativas. En un programa intenta hacer el nombre de la
    variable aplicable a cualquier variable que estés
    guardando. Por ejemplo el nombre de variable
    teléfono es obvio que contendrá algún
    tipo de número de teléfono. Entonces si es un número
    de teléfono que quieres guardar es mejor no llamarlo algo
    como huevos. Créeme, te hará la vida
    más fácil cuando más tarde vayas a escribir
    programas largos.

    Las variables aparecen en cualquier forma y
    tamaño. Ésta es una lista común de
    variables:

    1. El primer carácter deberá ser siempre una
    letra (i.e A,G,D,F,z,e,t, ó y)

    2. Después la verdadera primera letra en el
    nombre de la variable podrá ser letras, números o
    subrayados ( _ ).

    3. El carácter final puede ser %,&,!,#;$ o
    nada. Los usuarios de Vbasic deberían utilizar un
    carácter propio como letra final y no dejarlo sin
    nada.

    4. Recuerda que el nombre de la variable no puede ser
    una palabra reservada. Por ejemplo en QBasic hay una sentencia
    llamada "PRINT", no debes usar esta ni cualquier otra sentencia
    como nombre de variable.

    En QBasic no importa si los nombres de tus variables
    están en mayúsculas o minúsculas. Por
    ejemplo si tu escribes una variable llamada coste y
    más tarde en tu programa la llamas con el nombre
    coste, te encontrarás con que el nombre de la
    variable la relacionará con cualquier otra en el
    programa. Si tienes un programa por ahí, por favor
    límpialo usando NEW del la fila del menú de la
    parte superior de la pantalla. Aquí tienes un programa
    que podrías escribir tal y como se te muestra
    debajo:

    CLS

    coste=123456

    PRINT coste

    COSTE=789101

    PRINT coste

    como puedes observar hay numerosas cosas sucediendo
    cuando escribes el programa en QBasic. En primer lugar se
    consciente de cómo las sentencias cambian de
    mayúsculas a minúsculas. Puedes verlo sólo
    si lo escribes dentro del programa tal y como está arriba.
    Lo siguiente que tienes que notar es cómo varían
    los nombres de mayúsculas a minúsculas. Como se
    mencionó antes todo cambiará según lo
    escribas en el programa, pero la sentencia será siempre la
    misma.

    Si has escrito en el programa desde antes, presiona
    F5 ahora. El programa correrá. La pantalla se
    limpiaría y el programa será mostrado. Lo que
    está haciendo este programa es guardar dos valores
    diferentes dentro del nombre de la variable "COSTE" ó
    "coste" (dependiendo de cómo lo hayas escrito). En
    principio se mostrará el primer valor y a partir de ese
    momento irá cambiando durante el programa mostrando el
    nuevo valor. Así los programas podrán cambiar la
    variable información inmediatamente y cuantas veces se
    quiera.

    Imagina una variable como una caja. Primero pones un
    número en la caja, por ejemplo el 1. Luego lo reemplazas
    por el cinco. Esta operación es la misma que sacar el 1 de
    la caja y poner el 5 dentro. Debes recordar que QBasic
    sólo permite nombres de variables no superiores a 40
    caracteres. Ahora hemos hablado de variables numéricas.
    Hablaremos ahora sobre cadenas.

    Cadenas

    Hablaremos de las cadenas en el QBasic Tutorial 2, pero
    por ahora sólo haremos una breve
    descripción.

    Una cadena es una forma en basic de guardar
    información en la variable. Por ejemplo podrías
    guardar el nombre del usuario o la dirección en una cadena. Aquí tienes
    un pequeño código
    para mostrarte cómo funciona:

    nombre2$="Freddy Bloggs Sister"

    PRINT nombre1$

    PRINT nombre2$

    Éste es un programa muy simple que guarda
    información en una variable de cadena. Si escribes este
    programa y presionas F5 para correrlo, te mostrará
    cual es el nombre de la variable línea por línea.
    El nombre de la variable cadena no tiene que tener valores
    numéricos dentro. En el ejemplo de arriba he usado dos
    nombres de variables ambos con los números "1" ó
    "2" al final. Sólo he hecho esto para separar las
    diferentes partes del texto.
    Podría tener ésto:

    CLS

    nombreuno$="Freddy Bloggs"

    nombredos$="Freddy Bloggs sister"

    PRINT nombreuno$

    PRINT nombredos$

    El signo del dólar ($) debe ir al final de la
    variable nombre. Esto da a entender que es una variable de cadena
    (de cadena sólo). VBasic puede manejar cadenas y variables
    en diferentes formas, éstas se llaman Variantes. Pero por
    ahora es mejor conocer el método
    fácil que QBasic puede entender. QBasic puede manejar
    hasta 32.767 caracteres en cualquier cadena. La única vez
    que podrías excederte es si estás escribiendo en un
    editor de texto. Hay métodos en
    los que puedes adoptar otro camino para este problema. Si me
    acuerdo te lo explicaré más
    tarde. 

    Capitulo 3

    Si has leído el Tutorial anterior habrás
    visto cómo tratar cadenas de variables en QBasic o
    virtualmente en cualquier otro nivel de basic. Si no le has
    echado un vistazo te sugiero que lo hagas ahora.

    Debajo tenemos un pequeño programa el cual tiene
    información para que aparezca en pantalla y al mismo
    tiempo
    contiene información variable para guardar en memoria.
    Escribe el programa exactamente como se te muestra y presiona
    F5 para correrlo.

    CLS

    nombre1$="Freddy Bloggs"

    valor1=500

    nombre2$="Mr Blob"

    valor2=350

    PRINT nombre1$

    PRINT valor1

    PRINT nombre2$

    PRINT valor2

    (valor=dinero)

    Una vez que hayas corrido el programa comprobarás
    que escribirá toda la información contenida en las
    variables en pantalla. Éste es un método sencillo
    de escribir variables. Por ejemplo puedes reescribir el programa
    para cambiar los valores
    contenidos en las variables, pero preguntando al usuario para
    introducir la información por teclado. Vamos
    a hacerlo ahora, así que limpia el programa que acabamos
    de hacer y escribe el siguiente:

    CLS

    INPUT "Tu Nombre:"; nombre$

    INPUT "Tu Edad:"; edad

    PRINT "Hola";nombre$;"Tu edad
    es";edad

    Éste es un buen ejemplo de cómo introducir
    información desde teclado. En primer lugar el programa
    limpiará la pantalla. Luego el programa preguntará
    por el nombre que debe ser introducido desde teclado. Luego
    preguntará por la edad y después mostrará
    los resultados en pantalla.

    Vamos a dar otro paso a la vez y echar un vistazo
    más de cerca a la sentencia "INPUT". "INPUT" permite leer
    caracteres del teclado y de archivos.
    Echaremos un vistazo a los archivos más tarde. La
    sentencia "INPUT" puede ser utilizada en muchas situaciones,
    éstas son algunas por ahora.

    INPUT "Tu Nombre:", nombre$

    Debes notar que las ";" han sido reemplazadas por ",".
    Éste parará con un signo "?" apareciendo al final
    de la sentencia de INPUT que estoy metiendo una vez que el
    programa está corriendo. Cambia el programa que
    está mostrando a la línea que se muestra arriba
    .

    INPUT name$

    El ejemplo de encima no te dará una señal
    para que introduzcas algo y esperará que el usuario meta
    algo. Una vez que hayas pulsado return guardará la
    información en la variable nombre$. Si intentas llevar a
    cabo el ejemplo anterior observa cómo aparece el signo "?"
    en la pantalla. Puedes aclararlo haciendo lo
    siguiente:

    INPUT "", nombre$

    Éste no muestra nada y sólo espera por un
    input desde teclado. Una vez que presionas return se
    moverá hasta la siguiente frase (si la hay). Lo
    único que debes recordar es cuando una cadena es una
    cadena y ¡un! valor es un valor. Sabes que tendrás
    "$" al final de la variable nombre, y un valor variable
    sólo tendrá el valor estándar y nada
    más.

    Así que recapitularemos el segundo programa en
    este tutorial.

    CLS

    INPUT "Tu Nombre:"; nombre$

    INPUT "Tu Edad:"; edad

    PRINT "Hola "+nombre$d

    Sé consciente que en el anterior ejemplo ha sido
    cambiada la sentencia "PRINT" ahora. He reemplazado algunos de
    los caracteres ";" con caracteres "+". Esto lo hace parecer
    más comprensible y el trabajo es
    más eficiente que antes. La parte que no funciona bien
    usando el carácter "+" es que sólo funciona con
    cadenas de variables. Esto es debido a que no podemos ponerla al
    final de la línea para unir el final del texto con la
    variable "edad". Es una lástima pero de nuevo el lado
    bueno de este método es que es mucho más usado en
    Visual Basic.
    Comprobarás en el siguiente tutorial que este
    método es mucho más utilizado.

    TAREA 1

    1.1. Haz un programa que permita meter
    información personal y
    escríbelo en pantalla. El programa deberá mostrar
    el domicilio personal en la pantalla en una sola línea con
    cuatro variables de cadena para cada parte del domicilio.
    Recuerda que la variable cadena puede contener caracteres
    numéricos. La solución está al final de esta
    parte del Tutorial.

    Las sentencias IF…..THEN…..ELSE

    Seguro que en más de un programa podrás
    usar la sentencia "IF". "IF" ejecuta una sentencia o un bloque
    de sentencias dependiendo de las condiciones especificadas. Si
    esto te parece complicado echa un vistazo a la siguiente parte
    del código. No lo dejes si te parece complicado,
    sólo míralo una y otra vez hasta que lo
    comprendas y lo comprenderás.

    CLS

    INPUT "Cuántos AÑOS tienes:",
    años

    If años < 18 THEN

    PRINT "Eres menor de edad"

    ELSE

    PRINT "Es estupendo!!!!"

    END IF

    Guau! Mira esto. Un interesante programa que te
    permitirá comprobar la información que tecleas y
    operar con ella. Lo que está haciendo este programa es
    comprobar que el valor introducido es mayor, menor o igual a 18.
    Escribirá la solución al valor que has metido. Lo
    mejor que puedes hacer es escribirlo exactamente como se muestra
    y pulsar F5. He usado la tecla del tabulador para dejar
    los espacios en la sentencia "PRINT". Es una buena forma de
    comenzar a hacerlo. La forma de programarlo es muy
    importante.

    Antes vamos a echar un vistazo a este programa con
    más detalle, vamos a exponer unas condiciones bastante
    importantes cuando escribes programas
    informáticos.

    =

    ———->

    es igual a

    <>

    ———->

    no es igual a

    >

    ———->

    es mayor que

    <

    ———->

    es menor que

    >=

    ———->

    es mayor o igual que

    <=

    ———->

    es menor o igual que

    En el ejemplo anterior hemos utilizado la
    condición "es menor que". Vamos a poner la
    sentencia en un castellano
    simple. Todo lo que estás haciendo es:

    Si los años son menos que 18 después
    escribe "eres menor de edad". Si son 18 o más
    escribirá "es estupendo!!!!"

    Cuando en los anteriores operadores tenemos "IGUAL", nos
    referimos al mismo o ese valor en sí. Por ejemplo "IF
    años <>18 THEN END"
    significaría que si
    los años no son 18 terminaría. Sólo
    reflexiona un minuto sobre ello, una vez que lo hayas echo
    irás por buen camino con las sentencias "IF","THEN" y
    "ELSE".

    INPUT "1 ó 2? ", i%

    IF i% = 1 ó i%=2 THEN

    PRINT "OK"

    ELSE

    PRINT "Fuera de rango"

    END IF

    El anterior es un ejemplo tomado de QBasic. Observa lo
    que está sucediendo. En primer lugar el programa
    preguntará por un número. Tú podrás
    meter un 1 o un 2. El programa correrá la sentencia "IF"
    para ver si el número introducido es un 1 ó 2. Si
    el número que has metido es un 1 ó 2
    escribirá "OK", sino escribirá "Fuera de
    rango".

    Después de esto sólo pondrá un "END
    IF" estándar al final.

    Con sólo echar un vistazo a algunos de los
    programas que han sido escritos podrás comprobar que
    fácil resulta hacer el trabajo.
    Puedes obtener información más complicada sobre las
    sentencias "IF", "THEN", y "ELSE" en el menú de ayuda de
    QBasic. Puedes acceder a el escribiendo "IF" y pulsando
    "F1".

    Solución a la Tarea 1

    CLS

    INPUT "Nombre:", nombre$

    INPUT "Domicilio1:", domicilio1$

    INPUT "Domicilio2:", domicilio2$

    INPUT "Domicilio3:", domicilio3$

    INPUT "Domicilio4:", domicilio4$

    INPUT "Teléfono:",
    teléfono$

    PRINT nombre$

    PRINT domicilio1$ + ", " + domicilio2$ + ", " +
    domicilio3$ + ", " + domicilio4$

    PRINT teléfono$

    Así has aprendido las sentencias
    "IF","ELSE","INPUT" y brevemente "THEN".  

    Capitulo 4

    Cuando escribas un programa en QBasic la
    situación en pantalla es una de las características
    más importantes de tu programa. Tú debes limpiar la
    pantalla del programa a leer y no tener restos inútiles de
    otros programas por la pantalla. En el programa anterior hemos
    utilizado como base una pantalla negra con el texto escrito en
    blanco. En el siguiente programa vamos a cambiar todo esto para
    que tu programa resalte. Escribe lo siguiente exactamente y
    presiona "F5" para correrlo:

    SCREEN 12

    COLOR 10

    PRINT "Estamos usando una letra de color verde
    sobre fondo negro"

    PRINT "¡ La resolución de la pantalla
    es 640*480 con 256 Colores!"

    FOR i = 1 TO 60000

    NEXT i

    SCREEN 9

    COLOR 10, 8

    PRINT "Estamos usando una letra de color verde
    sobre fondo azul"

    PRINT "¡ La resolución de la pantalla
    es 640*350 con 64 colores!"

    En el anterior ejemplo de código hemos
    introducido dos nuevos comandos. Éstos comandos son
    "SCREEN" y "COLOR". Vamos a echar un vistazo a la sentencia
    "SCREEN".

    QBasic puede trabajar con diferentes modos de pantalla.
    Cuando digo modos de pantalla estoy hablando de diferentes
    tamaños y colores. Aquí tienes una pequeña
    lista de diferentes modos en QBasic.

    SCREEN 0: Sólo modo de texto

    SCREEN 1: 320 * 200 gráficos

    SCREEN 2: 640 * 200 gráficos

    SCREEN 4: 640 * 480 gráficos

    SCREEN 7: 320 * 200 gráficos

    SCREEN 8: 640 * 200 gráficos

    SCREEN 9: 640 * 350 gráficos

    SCREEN 10: 640 * 350 gráficos, sólo monitor
    monocromo

    SCREEN 11: 640 * 480 gráficos

    SREEN 12: 640 * 480 gráficos

    SCREEN 13: 320 * 200 gráficos

    Éstos modos de pantalla son útiles para
    todos los usuarios de QBasic. Los modos de pantalla son muy
    importantes en los programas. Por ejemplo, si tu quieres dibujar
    lineas, cubos y círculos en la pantalla con alguna
    clase de
    método gráfico debes usar un modo de pantalla que
    te admita el dibujo de
    gráficos. Muchos de los modos de pantalla anteriores
    trabajan con todos los PC´s recientes. Hace unos
    años no era posible trabajar con algunos de ellos porque
    seguramente necesitarías un adaptador gráfico. Es
    por ello que muchos PC´s recientes son diseñados
    para trabajar con los viejos modos de pantalla tales como
    CGA,EGA,VGA y ahora SVGA.

    Muy bien, así que puedes beneficiarte de
    diferentes modos de pantalla. Bien, algunos de los anteriores
    modos de pantalla te permiten usar más colores que los
    otros. En el primer programa de este tutorial tuvimos un programa
    que podía usar dos modos de pantalla. Uno tenía un
    máximo de 256 colores y el otro sólo te
    permitía utilizar 64 colores. Cuando escribas un programa
    piensa en los colores que realmente vas a necesitar y la
    resolución que deba tener la pantalla. 640*480 es una
    resolución muy buena que se encuentra en el modo de
    pantalla 11. Intenta cambiar los modos de pantalla del primer
    programa de este tutorial y mira lo que obtienes. Recuerda que
    algunos de éstos modos de pantalla podrían no
    funcionar, así que no te preocupes si esto ocurre. Para
    más información de los modos de pantalla escribe
    "SCREEN" y presiona F1.

    Usando pantallas en color.

    Por tanto el primer programa usado utilizaba dos modos
    de pantalla distintos y algunas gamas de color distintas. Vamos a
    echar un vistazo al comando "COLOR".

    En principio la sentencia color permite al usuario
    seleccionar unos colores específicos para el fondo y
    letras del programa. Esto también permite seleccionar el
    color del borde. El borde es el área que encuadra la
    pantalla. La sentencia "COLOR" puede ocupar cualquier
    posición en el programa entre los comandos mencionados
    hasta ahora.

    Al final de este capítulo hay una breve
    descripción de los comandos aprendidos hasta ahora. Para
    poner este comando en práctica vamos a escribir este
    interesante programa. No voy a decirte que hace todavía,
    así que por ahora, sólo escríbelo y
    córrelo presionando "F5".

    SCREEN 12

    CLS

    FOR i = 1 TO 15

    COLOR i

    PRINT "Comprobando Comprobando
    1.2.3"

    NEXT i

    Así que vamos, es un programa simple.
    ¿Puedes adivinar lo que hace con lo que hemos aprendido
    hasta ahora?. Bien, vamos a ver comando a comando y ver
    cómo funciona. SCREEN 12

    Ahora vamos a seleccionar el Modo de Pantalla 12.
    Éste nos permite usar 16 colores escogidos de una paleta
    de 256 colores. Tienes más información en el
    Menú de Ayuda de QBasic.

    CLS

    Sabemos que este comando nos limpiará la
    pantalla de restos de letras que han quedado en la pantalla de
    antes.
    FOR i = 1 TO 15

    Estamos dando al comando "COLOR" un valor "i" inicial
    de uno que se irá incrementando en 1 después.
    COLOR

    Estamos dando a la sentencia "COLOR" un valor inicial
    de 1 que viene dado por la "i" del comando "FOR".
    PRINT "Comprobando Comprobando 1.2.3"

    Ahora estamos escribiendo palabras que
    aparecerán sobre la pantalla.
    NEXT i

    Cuando se corre el programa repetirá el bucle
    de "FOR" y "NEXT" hasta que la variable "i" alcanza 15, valor
    definido en la anterior sentencia "FOR".

    Así cuando el programa corra mostrará 15
    partes de texto cada una con un color distinto. Date cuenta que
    sólo aparecerán 15 partes de texto cuando,
    realmente deberíamos estar mostrando todas las posibles
    que son 16. Para que esto suceda deberíamos cambiar el
    comando FOR a esto:

    FOR i = 0 TO 15

    Date cuenta de cómo hemos cambiado el valor
    inicial de "i" a cero. Es porque el valor del color 0 es negro.
    Si lo cambiamos a 1 TO 16 nos dará un error
    porque la sentencia "COLOR" en el Modo de Pantalla 12
    sólo puede manejar 16 colores a la vez. Vamos a hacer un
    pequeño juego con el bucle de "NEXT" y "FOR".

    Así es como funciona el comando
    "COLOR".

    COLOR (foreground) (,(background) (,border)) —
    Screen mode 0

    COLOR (background) (,paleta) — Screen mode
    1

    COLOR (foreground) (,background) — Screen modes
    7-10

    Como puedes ver en el primer programa de éste
    tutorial nosotros podemos definir el color de fondo pero
    también el de superficie (letras,números…). La
    sentencia "COLOR" funciona de forma bastante diferente con otros
    Modos de Pantalla. Para ver cuando funciona y cuando no, echa un
    vistazo debajo de la fila de ayuda "COLOR".

    Será una referencia ideal a usar cuando
    selecciones colores para varias partes de tus programas. La
    sentencia "COLOR" es explicada es explicada con más
    detalle en un par de tutoriales
    desde ahora. ¡Ah! El comando color no es usado por todos
    los lenguajes de
    programación de Basic. Cuando necesites comprobar esto
    echa un vistazo a la guía del usuario.

    Tarea 1.2

    Escribe un programa dando muchos colores en el que
    preguntes al usuario por su nombre y edad. Cuando aparezca en la
    pantalla asegúrate de que lo escrito está en un
    color diferente. Pista: usa el modo 12 de pantalla. La respuesta
    está al final de este tutorial.

    Revisión de los programas
    aprendidos

    • PRINT
    • FOR
    • NEXT
    • CLS
    • SCREEN
    • COLOR INPUT
    • STEP
    • IF
    • ELSE
    • THEN
    • ENDIF

    Muchos de estos comandos se mencionarán con
    más detalle en el tutorial mas adelante, pero no lo
    estás haciendo mal. Lo más importante es que
    experimentes con lo que has aprendido y lo comprenderás
    sin esfuerzo.

    Tarea 1.2 Solución

    SCREEN 12

    CLS

    COLOR 3

    INPUT "Nombre:", nombre$

    COLOR 5

    INPUT "Edad", edad

    COLOR 9

    PRINT "Hola" ; nombre$

    COLOR 10

    PRINT "Tu edad es" ; edad

    El código está bueno, simple y da buen
    resultado. Tu programa debería ser similar a esto, pero
    los colores serán probablemente diferentes a los
    míos. Intenta escribir mi programa y observa si obtienes
    el mismo resultado que yo. ¡Si es parecido al mío
    muy bien, pero sino no te preocupes!.

    Así que ahora has aprendido un poco sobre los
    modos de pantalla y colores en QBasic, recuerda que
    éstos pueden ser colocados en cualquier lugar en el
    programa en QBasic. Recuerda que no es necesario que uses el
    comando "CLS" todo el tiempo, la pantalla deberá
    limpiarse automáticamente cada vez que se seleccione un
    nuevo modo de pantalla. Continúa y muy bien.

    En el siguiente capítulo vamos a prender sobre
    el orden en pantalla y te adentraremos un poco en el uso de
    comandos como "LOCATE" y "DATE$". También
    aprenderás como hacer que el ordenador te responda
    usando una señal de advertencia como "BEEP". La
    sentencia "IF" y "ELSE" será mencionada y usada con
    más detalle más adelante.

    Capitulo 5

    Cuando escribes un texto en QBasic debes situar el texto
    en un buen lugar en la pantalla. En los ejemplos previos vistos
    hasta ahora el testo estaba escrito en la esquina superior
    izquierda de la pantalla. Podemos usar un comando
    específico para situar el texto en cualquier lugar
    específico de la pantalla; este comando se llama "LOCATE".
    Debajo hay una síntesis
    simple:

    LOCATE fila, columna,cursor

    row

    El número de una fila en la pantalla; fila es
    una expresión numérica y debe ser un valor
    entero. Si el número de fila no se especifica, luego no
    podremos cambiar la fila.

    column

    El número de columna en la pantalla; columna es
    una expresión numérica y debe ser especificado
    para poder
    cambiar su localización.

    cursor

    Un valor indica si el cursor es visible o no. El valor
    0 (cero) indica que el cursor está apagado, el valor 1
    indica que el cursor está encendido.

    Sigamos, déjame sólo explicar brevemente
    déjame sólo explicar lo que es un entero. Un
    entero es un número entre -32.768 y 32767. Esto
    significa que el valor de 21566 es un entero, y un valor de
    2342992 es un entero largo. Por favor busca en la
    sección de tipo de archivo
    más detalles de esto. Pero desde ahora las variables
    enteras van a ser usadas como el ejemplo de debajo en este
    tutorial.

    Money%=599

    O.k este es un pequeño código que te
    mostrará cómo funciona el comando
    "LOCATE".

    SCREEN 12

    CLS

    LOCATE 5, 10

    PRINT "Hola mundo estamos en 5, 10"

    LOCATE 10, 1

    PRINT "Hola mundo estamos en 10, 15"

    Si escribes este programa y presionas "F5"
    encontrarás que las palabras "Hola Mundo nosotros estamos
    en y,x" están localizados en distintos lugares en la
    pantalla. La y,x en la frase anterior es cualquier cosa que
    esté metida en el programa originalmente. Intenta cambiar
    la sentencia "LOCATE" en el programa anterior a algo diferente.
    Presiona "F5" para correrlo. Éste es un capítulo
    que te enseñará como funcionan las coordenadas de
    fila y columna.

    ——–columna———-

    La primera sentencia "LOCATE" en el programa que
    acabamos de traducir hace mover la siguiente sentencia "PRINT" 5
    filas más abajo y desplazada 10 caracteres. Lo que debes
    recordar es que cualquier sentencia de "PRINT" seguido de
    "LOCATE" sólo hará la operación seguido de
    sentencia.

    La sentencia locate no tiene que tener un valor
    representando la fila y al columna todo el tiempo. Por ejemplo
    nosotros podemos tener:

    LOCATE 5

    Esto simplemente mueve la sentencia "PRINT"
    situándose 5 columnas debajo en la pantalla.
    También podemos tener esto:

    LOCATE ,5

    Esto simplemente moverá las sentencias "PRINT"
    5 columnas desplazando la pantalla. Así que no
    tendrás que especificar los argumentos todo el tiempo de
    nuevo. Los argumentos son información que es necesaria
    para que la sentencia trabaje. Por ejemplo:

    LOCATE argumento1,argumento2

    En este caso el argumento1 corresponde a fila y el
    argumento2 a la columna. Juega con el comando "LOCATE" y mira
    lo que obtienes.

    Sonando un BEEP!!!

    Dentro de QBasic puedes obligar a tu ordenador con un
    simple sonido sabiendo
    que es una advertencia o mostrando información. Este
    comando se llama "BEEP". Es muy fácil de usar.
    Inténtalo metiendo lo siguiente en la línea 1 de
    tu programa y presionando "F5" para correrlo.

    BEEP

    ¡Simple!. Generará un sonido en un tono
    alto. Puedes situar el comando "BEEP" en cualquier lugar dentro
    del programa. En el siguiente programa el comando "BEEP" es
    usado junto a otras partes que has aprendido hasta ahora.
    Escribe lo siguiente y presiona "F5" para correrlo. Recuerda
    borrar el programa que has escrito anteriormente.

    SCREEN 12

    CLS

    Comprobación$ = "Fred"

    LOCATE 5, 5

    INPUT "Por favor introduce la contraseña.",
    contraseña$

    IF contraseña$ = comprobación$
    THEN

    CLS

    LOCATE 5, 5

    PRINT " Acceso Concedido"

    ELSE

    CLS

    LOCATE 5, 5

    PRINT "¡¡¡ Acceso
    Denegado!!!"

    BEEP

    ENDIF

    El programa anterior puede parecer complicado al
    principio, pero realmente es muy fácil. En primer lugar el
    programa cambia la pantalla al modo 12. Después
    barrerá la pantalla para limpiar los restos de otro
    programa anterior. La siguiente sentencia hará que la
    variable "comprobación$" tenga la palabra "fred" guardada
    dentro. Nosotros prepararemos la pantalla para preguntar por la
    contraseña. Una vez que la contraseña ha sido
    escrita se guardará la información dentro de la
    variable llamada "contraseña$". La siguiente sentencia
    "IF" comprueba que la variable "contraseña$" es la misma
    que la contenida dentro de la variable "comprobación$", en
    cuyo caso escribirá "Acceso concedido". Si la
    contraseña no es correcta saltará a la sentencia
    "ELSE" y escribirá "¡¡¡
    Contraseña Incorrecta!!!". Además sonará un
    alto pitido procedente del altavoz.

    Vamos a hacer un programa simple de introducir y
    comprobar. También puedes comprobar números
    correctos. Este es un programa que te permite hacerlo:

    SCREEN 12

    CLS

    comprobaciónnúmero% =
    50

    LOCATE 5, 5

    IF número% >=
    comprobaciónnúmero% THEN

    CLS

    LOCATE 5, 5

    PRINT "¡¡¡ 50 o
    mayor

    ELSE

    CLS

    LOCATE 5, 5

    PRINT "49 o menor"

    ENDIF

    De nuevo otro simple programa que comprueba si un
    número entero es mayor o menor que otro guardado en la
    variable "comprobaciónnúmero%". En principio la
    variable "comprobaciónnúmero%" está fijada
    en 50, la cual es comprobada por las sentencias "IF" y "ELSE",
    como la contraseña del programa anterior. La sentencia
    "IF" está comprobando para ver si el valor que has
    escrito es mayor que o igual que el valor guardado en la
    variable llamada "comprobaciónnúmero". Por
    ejemplo si tú escribes 49 podrás obtener un
    resultado de "49 ó menor" escrito en la pantalla. Sin
    embargo si tú escribes 50 o más en tu programa
    obtendrás un resultado de "¡¡¡50 o
    mayor!!!" escrito en la pantalla.

    Fecha y hora

    QBasic permite al usuario enterarse del sistema del
    sistema de fecha y hora que tiene. Para hacer esto puedes usar
    dos simples comandos como "DATE$" y "TIME$". Tu también
    puedes poner la fecha y hora dentro de un programa de QBasic,
    pero esto será explicado mucho más
    tarde.

    Escribe el siguiente programa y presiona "F5" para
    correrlo. Recuerda limpiar la pantalla del programa anterior
    que tienes en la memoria.

    CLS

    PRINT "La fecha de hoy es:", DATE$

    PRINT "La hora es:", TIME$

    Presiona "F5" para correrlo y podrás ver la fecha
    y hora en tu pantalla. No hay mucho más que pueda decirte
    acerca de las sentencias "DATE$" y "TIME$" hasta más
    tarde. Podrías intentarlo escribiendo un programa que
    muestre la fecha y hora en la parte superior de la pantalla y
    pregunte al usuario por una contraseña. Vas a aprender
    ahora 4 comandos más de QBasic. Recuerda que puedes
    obtener un menú de ayuda presionando "F1" sobre
    algún comando de la pantalla. En el siguiente
    capítulo te mostraré algunos bucles técnicos
    básicos que continúan la operación hasta que
    algo suceda como que el usuario presione una tecla o algo
    provoque que el bucle se detenga.

    Capitulo 6

    Dentro de QBasic puedes crear un programa que haga algo
    en uno u otro período de tiempo o hasta que el usuario
    haga al ordenador hacer algo más. En esta parte del
    tutorial voy a mostrarte un par de técnicas
    que te permitan hacer esto. Ya hemos visto un bucle de este tipo
    como "FOR" y "NEXT". Este bucle permite operar por un camino
    completamente distinto a los vistos en ejemplos
    anteriores.

    Ahora voy a adentrarte en los comandos de bucle "DO" y
    "LOOP". Este es un programa básico en el cual el bucle se
    repite una y otra vez hasta que el usuario lo para presionando
    las teclas CTRL & SUPR. Escríbelo y córrelo
    presionando "F5".

    CLS

    DO

    PRINT "HOLA MUNDO"

    LOOP

    Para este ejemplo puedes ver las palabras "HOLA MUNDO"
    escritas siempre debajo en la pantalla. Tal vez no esté
    muy claro en este momento pero el programa realmente
    está haciendo algo. Muchas veces podrás notarlo
    si el cursor está en la parte baja de la
    pantalla.

    Como puedes ver los comandos "LOOP" y "DO" son
    bastante eficaces incluso en este momento. Vamos a separar los
    comandos para ver lo que hacen realmente.

    DO

    Este comando prepara el comienzo del bucle que
    ejecutó anteriormente entre los comandos "DO" y
    "LOOP":

    LOOP

    El comando "LOOP" sólo es ejecutado si
    está presente "DO", como en los ejemplos anteriores.
    Todo el tiempo el comando "DO" de tu programa está
    esperando encontrar un comando "LOOP".

    Hay más sobre "LOOP" y "DO" que se están
    repitiendo siempre. Vamos a insertarlo en los comandos
    consiguiendo extraer alguna clase de resultado de nuestro
    ordenador. Ahora te voy a enseñar un comando más
    llamado "WHILE". Este comando es bastante efectivo pero a veces
    es complicado de entender. Aquí tienes un ejemplo simple
    que necesitas copiar y correr.

    CLS

    DO WHILE I < 10

    I= I + 1

    PRINT I

    LOOP

    El programa puede parecer complicado pero realmente no
    lo es. Cuando corras el programa simplemente escribe de 1 a 10
    uno debajo de otro en la pantalla. El programa está
    realmente comprobando para ver si la variable I=10 y si esto
    hace que el programa finalice el bucle.

    En principio comenzamos el bucle y decimos que
    mientras que I no sea 10 escriba el valor en la pantalla. En
    este caso el programa volverá al principio y
    comprobará la variable para ver si ha alcanzado el valor
    10. Es simple, pero asegúrate que lo alcanza. Intenta
    cambiar la primera línea a un valor de 20 y mira lo que
    sucede. En la línea debería leerse
    ahora:

    DO WHILE I < 20

    Puede parecerte extraño, pero si ahora corres
    el programa te escribirá de 1 a 20 uno debajo de otro en
    la pantalla. Para dar el siguiente paso, puedes hacerlo
    eligiendo dónde poner el comando "WHILE". Antes de darte
    otro ejemplo de programación déjame explicarte
    brevemente un poco más del comando "WHILE".

    WHILE

    Esto es sólo un poco de lo que te
    contaré sobre el comando "WHILE" porque está
    mejor explicado junto a otro comando llamado "WEND". El comando
    "WHILE" permite que compruebes una condición de algo al
    dar el resultado. Como explicamos en un ejemplo anterior
    está clasificado como un comando comprobador.

    El comando "WHILE" puede ser situado en otro lugar en
    el ejemplo de programación que te di antes y
    obtendrás el mismo resultado. Este es un código
    que hace lo mismo que antes.

    CLS

    DO

    I=I+1

    PRINT I

    LOOP WHILE I < 10

    Así que como puedes ver el programa de arriba
    te dará el mismo resultado si presionas "F5" y lo
    corres. Así que los bucles "DO" y "LOOP" te darán
    la misma clase de flexibilidad cuando decidas dónde
    situar el código en tu programa. Esto permite mayor
    control
    sobre resultados y diseños en el programa,
    recuérdalo. Los bucles son explicados y usados con
    más detalle en los tutoriales después.

    Comprensión de la introducción al usuario

    La introducción al usuario es una parte vital
    en cualquier programa. Por ejemplo ya hablé de como
    manejar variables y cadenas. También hablé de
    cómo usar el comando "PRINT" en pequeño detalle.
    Vamos a poner todos nuestros conocimientos previos en
    práctica en un programa completo. No te preocupes si el
    programa parece un poco complicado y laborioso, es
    fácil, sólo sigue poco a poco y todo
    saldrá claro.

    CLS

    Contraseña$="MANZANA"

    DO

    INPUT "Cual es tu contraseña:",
    Pase$

    IF Pase$ = Contraseña$ THEN
    Enter=1

    LOOP WHILE Enter <> 1

    CLS

    PRINT " ¡Has
    accedido!&quo;

    Después de haber escrito el programa y
    presionar "F5" la pantalla se limpiará y te
    pedirá la contraseña. Si metes cualquier cosa que
    no sea "MANZANA" te la pedirá una y otra vez hasta que
    la introduzcas correctamente.

    Recuerda que el programa está comprobando a ver
    si lo escribes en mayúscula o minúscula. Este
    programa sólo lo aceptará si tú escribes
    la palabra manzana como "MANZANA" no como "manzana". En
    turoriales posteriores explicaremos como cambiar palabras que
    estás en minúsculas a mayúsculas y
    viceversa sin presionar las teclas de BLOQ MAYÚS o
    SHIFT.

    Un vistazo rápido a WHILE

    Debajo tienes el código principal para un
    simple programa más en el que te mostraré el
    comando "WHILE". Escribe lo siguiente en QBasic y presiona "F5"
    para correrlo.

    DO

    I = I + 1

    PRINT I

    LOOP WHILE I <> 1000

    El programa anterior hace más sencilla la
    comprensión de los comandos"DO, LOOP, WHILE". Si
    escribes el programa y lo corres, contará de 1 a 1000.
    Esto es fácil de comprender si echas un vistazo a como
    está hecho. Primero te mostraré como el ordenador
    comienza el bucle usando el comando "DO". Luego estamos
    preguntando al ordenador para empezar por una variable llamada
    "I". La siguiente sentencia escribirá el valor de i en
    la pantalla, en cuyo caso el valor inicial debe ser 0. El
    ordenador ha empezado la variable con un valor 0. La siguiente
    parte del programa comprobará para ver si el valor "I"
    de la variable es 1000, si no es así saltará al
    comienzo del bucle, que en este caso es la sentencia "DO".
    Luego el ordenador te dirá que sumes la variable 1 al
    valor anterior de la variable "I", en este caso debe hacer "I"=
    1 luego 2 luego 3 etc.

    Con el programa anterior puedes cambiar la "I = I + 1"
    a "I = I + 2". Esto provocará que el ordenador sume 2 a
    la variable "I" hasta que el ordenador alcance la sentencia
    final que es "LOOP WHILE" para comprobar si "I" ha alcanzado el
    valor 1000.

    CLS

    Nombreantiguo$ = "FRED"

    DO

    INPUT " cual es tu nombre:", nombre$

    IF nombre$ = Nombreantiguo$ THEN acceso =
    1

    LOOP WHILE acceso <> 1

    Arriba hemos usado de nuevo una clase de programa
    parecido, como el programa de contraseña, el cual
    permitía al usuario comprobar la información de
    entrada de una variable respecto a otra. El anterior programa
    te pide un nombre. Si la información que has escrito es
    la misma que la contenida en la variable "Nombreantiguo$" el
    programa continuará, si no es la misma
    saldrá.

    Ten una pequeña practica usando variables con
    clases de bucles "DO LOOP" y mira lo que puedes obtener. En
    este capítulo has aprendido los bucles de control
    básicos introduciendo información desde el
    teclado. En el siguiente capítulo te mostraré un
    menú de programa simple el cual usa nuevos comandos como
    "SELECT", "CASE" e

    "IS". Voy a advertirte que ahora, en el siguiente
    capítulo tal vez te perderás un poco, pero no
    pasa nada esto es sólo una parte del proceso de
    aprendizaje.
    Si te pierdes no lo dejes, sólo lee el capítulo
    de nuevo hasta que veas todas las cosas claras. Muy pronto
    escribiré un programa en el que usaremos casi todos los
    comandos vistos hasta ahora. Este programa será ideal
    como referencia y para darte sólo un sentido general de
    cómo poner los comandos juntos y hacer buenos
    programas.

    Capitulo 7

    En este capítulo vamos a escribir un menú
    simple de programa que puede ser usado en muchos de tus propios
    programas sólo cortándolo e insertándolo en
    él. Puedes necesitar cambiar un par de cosas, tales como
    el texto en el que está escrito en pantalla. Antes de
    seguir aquí tienes el código que debes
    escribir.

    CLS

    SCREEN 12

    COLOR 12

    LOCATE 3, 35

    PRINT "Menú Principal del
    Usuario"

    LOCATE 4, 35

    PRINT
    "————————————"

    COLOR 10

    LOCATE 10, 35

    PRINT "1. Suma"

    LOCATE 12, 35

    PRINT "2. Resta"

    LOCATE 14, 35

    PRINT "3. División"

    LOCATE 16, 35

    PRINT "4. Multiplicación"

    COLOR 6

    LOCATE 25, 32

    INPUT "Introduce un Número (1-4):",
    número

    SELECT CASE número

    CASE 1

    PRINT "Has seleccionado el número
    1"

    CASE 2

    PRINT "Has seleccionado el número
    2"

    CASE 3

    PRINT "Has seleccionado el número
    3"

    CASE 4

    PRINT "Has seleccionado el número
    4"

    CASE ELSE

    PRINT "El número que has seleccionado no era
    de 1 a 4"

    END SELECT

    ¡Oh sí! Las cosas están empezando a
    ponerse emocionantes. Tómate un minuto y repásate
    el código. Como puedes ver contiene bastantes cosas de las
    que has aprendido hasta ahora. La única parte que no has
    aprendido es ésta:

    SELECT CASE número

    CASE 1

    PRINT "Has seleccionado el numero 1"

    CASE 2

    PRINT "Has seleccionado el número
    2"

    CASE 3

    PRINT "Has seleccionado el número
    3"

    CASE 4

    PRINT "Has seleccionado el número
    4"

    CASE ELSE (CUALQUIER CASO)

    PRINT "El número que has seleccionado no era
    de 1 a 4)

    END SELECT

    Confía en mi, esta parte es muy fácil.
    Primero vamos a echar un breve vistazo al significado de la
    sentencia "SELECT CASE".

    La sentencia "SELECT CASE" te permite ejecutar una de
    las muchas sentencias de un bloque. Por ejemplo una sentencia de
    un bloque es esto:

    CASE 2

    PRINT "Has seleccionado el número
    2"

    En el programa principal anterior tenemos 5 sentencias
    en un bloque que son "CASE 1", "CASE 2", "CASE 3", "CASE 4" y
    "CASE ELSE". Dentro de la parte "SELECT CASE" del programa
    anterior, la primera línea dice:

    SELECT CASE número

    Este comando pregunta para ejecutar una sentencia de un
    bloque en la que está contenida la variable llamada
    "número". Si echas un vistazo a esta parte del programa
    verás que tenemos un comando "INPUT" que está
    preguntando al usuario un número. El comando "SELECT CASE
    número" usará cualquier sentencia del bloque que se
    pregunte. Así que si yo escribo "2", dentro del programa,
    la sentencia "SELECT CASE" usará el "CASE 2", y luego
    ejecutará cualquier cosa que esté contenida en el
    programa después de esta y antes de que la frase "CASE 3"
    aparezca.

    El comando "CASE ELSE" es usado sólo en caso de
    que el usuario no haya puesto un número de 0 a 4. Si el
    comando "SELECT CASE número" no encuentre un caso al que
    referir lo que ha escrito el usuario lo referirá al "CASE
    ELSE" para dar un mensaje de error o cualquier cosa que el
    usuario pregunte.

    Avanzando con "SELECT CASE"

    Vamos a evolucionar algo que es un poco más
    avanzado que el primer programa de "SELECT CASE". Dentro del
    siguiente programa vamos a utilizar un comando llamado "TO".
    Podrás ver lo que hace después, pero antes vamos
    a escribir el programa que mostramos debajo y correrlo
    presionando "F5".

    CLS

    SCREEN 12

    COLOR 12

    LOCATE 3, 35

    PRINT "Menú del Usuario
    Principal"

    LOCATE 4, 35

    PRINT
    "———————————–"

    COLOR 10

    LOCATE 10, 35

    PRINT "1-2. Suma"

    LOCATE 12, 35

    PRINT "3-4. Resta"

    LOCATE 14, 35

    PRINT "5-6. División"

    LOCATE 16, 35

    COLOR 6

    LOCATE 25, 32

    INPUT "Número Entero (1-8):",
    número

    SELECT CASE número

    CASE 1 TO 2

    PRINT "Has seleccionado el número 1 ó
    2"

    CASE 3 TO 4

    PRINT "Has seleccionado el número 3 ó
    4"

    CASE 5 TO 6

    CASE 7 TO 8

    PRINT "Has seleccionado el número 7 ó
    8"

    CASE ELSE

    PRINT "El número elegido no es de 1 a
    8"

    END SELECT

    Al primer vistazo puede no parecerte diferente del
    primer programa, pero debes darte cuenta de que insertamos la
    sentencia "TO" dentro de "SELECT CASE", "END SELECT" forma parte
    del programa. La sentencia "TO" te permite introducir un rango de
    algo dentro de la sentencia "SELECT CASE" e incluso dentro de los
    bucles "NEXT" y "FOR". Recuerda que has usado "TO" dentro de las
    sentencias "NEXT" y "FOR" en capítulos
    anteriores.

    El programa actual te permitirás responder no
    sólo a uno, si no a dos números seleccionados
    dentro del rango. Así que para ejecutar la cuarta
    sentencia "CASE" necesitarías escribir 7 u 8 en el
    programa cuando se está corriendo.

    El comando de abajo es de sentido común y puede
    ser comprendido si piensas en qué está haciendo el
    programa. En el siguiente capítulo te adentraré en
    un camino en el que manejarás números dentro del
    programa. Te he explicado brevemente el uso en turoriales
    anteriores. Vamos a echar un vistazo más a esto un poco
    más en profundidad.

    Capitulo 8

    Usar números en QBasic es probablemente una de
    las cosas más importantes que vas a necesitar conocer
    cuando escribas un programa en QBasic. Por ejemplo si
    estás escribiendo un juego probablemente
    necesitarás guardar la puntuación de los jugadores
    y algunos bonos que
    obtenga. Un ejemplo simple de sumar un bono al marcador es
    probablemente este:

    bono = 100

    puntuación = 500

    puntuación = puntuación –
    bono

    PRINT score

    El programa anterior muestra como QBasic guarda el valor
    100 en la variable "bono" y 500 en la variable
    "puntuación". La siguiente línea suma ambas
    "puntuación" y "bono" juntas y le asigna un nuevo valor a
    la variable "puntuación". Este ejemplo acaba de mostrarnos
    un camino para sumar valores variables e igualarlas a un nuevo
    resultado.

    Podrías hacer cosas un poco más
    complicadas que ésta. ¿Que harías si
    tuvieses 4 variables y quisieses sumarlas juntas?. Podrías
    hacer algo como lo siguiente:

    bono = 100

    puntuación = 500

    levelbonus = 200

    luckscore = 100

    puntuación = puntuación – bono –
    levelbonus – luckscore

    PRINT puntuación

    Recuerda que puedes sumar variables numéricas de
    cualquier manera, pero sólo estando seguro de que no
    son cadenas que estás sumando juntas todavía. Los
    siguientes ejemplos muestran otros caminos para manejar
    números en algún programa:

    age = 21

    new = 3

    age = age – new

    PRINT age

    El programa anterior está usando el operador "-"
    para hacer el trabajo requerido. En nuestro lenguaje esto es
    llamado resta o substracción. El siguiente programa te
    permite ver cómo trabaja con números puede afectar
    al resultado final de un programa.

    CLS

    "manzanas = 2"

    "ciruelas = 5"

    "naranjas = 3"

    LOCATE 2, 1

    PRINT " En el almacén
    tenemos:" ; manzanas; "Manzanas, " ;ciruelas;

    "Ciruelas, " ; naranjas; "Naranjas"

    LOCATE 6, 8

    PRINT "Ahora hemos vendido dos ciruelas y una
    naranja"

    ciruelas = ciruelas – 2

    naranjas = naranjas – 1

    LOCATE 10, 1

    PRINT "En almacén tenemos:" ; manzanas; "
    Manzanas," ; ciruelas; "Ciruelas," ; naranjas;
    "Naranjas"

    Ya he explicado en tutoriales anteriores como se usan
    muchos de estos operadores.

    =

    ———->

    es igual a

    <>

    ———->

    no es igual a

    >

    ———->

    es mayor que

    <

    ———->

    es menor que

    >=

    ———->

    es mayor o igual que

    <=

    ———->

    es menor o igual que

    Durante algún programa largo probablemente
    utilices alguno o más de los anteriores. Con los
    anteriores operadores puedes hacer operaciones sobre
    diferentes números. Por ejemplo tú puedes comprobar
    si algo es mayor o igual que. No se si lo sabrás pero en
    el Reino Unido hay un programa de televisión
    llamado "Juega bien tus cartas". En el
    juego del programa has de decir si la siguiente carta es mayor
    que la precedente. Por ejemplo supongamos que la primera carta es
    un 6. El concursante ha de decir si la carta es mayor
    o menor que la siguiente. Si el dice mayor y sale de un 7 hasta
    un as habrá ganado en esta ocasión. Si sale 5 o
    menor y el jugador que aparece en pantalla ha dicho mayor resulta
    que pierden. Los juegos como
    este serían muy fáciles de escribir, y se utilizan
    bastantes de lo operadores anteriores para simularlos. El de
    abajo es un simple juego de adivinanzas.

    CLS

    RANDOMIZE TIMER

    número = INT(RND * 10)

    DO

    INPUT "Adivina el número:",
    adivina

    IF adivina > número THEN PRINT "Es
    Alto"

    IF adivina < número THEN PRINT "Es
    Bajo"

    LOOP UNTIL adivina = número

    PRINT "¡Has ganado!"

    Oh si, ahora te lo voy a poner más
    difícil. Te voy a adentrar en dos nuevos comandos. El
    primero es "RANDOMIZE TIMER" y el otro es "INT(RND)". No te
    preocupes si parece un poco complicado porque realmente es muy
    simple. Déjame explicarte los dos comandos. "RANDOMIZE
    TIMER" es una forma de generar realmente números al azar.
    "RANDOMIZE" es un número que pone sin fórmula, sin
    un comando, lo pone simplemente y permite mezclar los
    números, cuando introduces el comando "TIMER"

    los mezcla mucho más. Probablemente no
    usarás "RANDOMIZE" a menos que estés escribiendo un
    juego de números o algo de esa naturaleza.

    Sin embargo "INT(RND)" es probablemente algo que
    usarás mucho. La parte "INT" explica que está
    buscando la parte entera. Ya te he explicado antes los enteros en
    este tutorial. Para explicarlo un poco más, un entero es
    un número entero y no con decimales como 4,3454. Las
    variables enteras son buenas a veces porque te aseguran obtener
    un número entero. Si omitieses la parte "INT"(parte del
    programa anterior, encontrarás que el comando "RND * 10"
    generará algún valor decimal entre 1 y 10, como
    5,3. Ahí es a dónde me lleva el siguiente punto. La
    parte "(RND * 10)" me generará un número aleatorio
    entre 0 y 10. Si pongo (RND * 10)" obtendrás un
    número aleatorio entre 0 y 20 generado por ti. Recuerda
    que el número al azar generado será situado en la
    variable número en el programa anterior.

    La comprobación rutinaria de un número es
    esta parte.

    IF adivina > número THEN PRINT "Es
    Alto"

    IF adivina < número THEN PRINT "Es
    Bajo"

    La primera línea nos comprueba si el
    número adivinado por el usuario es mayor que el
    número generado al azar. Si es demasiado alto luego el
    programa escribirá "Es Alto". La siguiente línea de
    arriba es lo contrario. Está comprobando para ver si el
    número adivinado por el usuario es menor que el
    número seleccionado al azar.

    En el siguiente par de tutoriales verás muchos
    operadores en uso, especialmente algunos que no hemos explicado
    todavía. En el siguiente tutorial te
    enseñaré algunos comandos gráficos.
    También puedes adornar tus propios programas para atraer
    al usuario.

    Capitulo 9

    Bienvenido al siguiente tutorial de QBasic. Dentro de
    este tutorial te enseñaré algunas técnicas
    básicas de programar gráficos. La
    presentación del programa es gráfica para atraer al
    usuario. La mayoría de los programas de ahora contienen
    algún gráfico desde simplemente subrayar el texto
    hasta todas las ventanas llenas de colores y efectos. Puedes
    crear cualquier cosa que te guste en QBasic con un simple juego
    de pasos gráficos.

    En cualquier ordenador que programes gráficos en
    todos los idiomas debes pensar un poco. Primero has de conocer
    dónde vas a poner los gráficos en la pantalla. Eso
    es tal vez lo que has pensado hasta ahora pero no lo has
    conseguido. Si te fijas de cerca en la pantalla del ordenador o
    de la
    televisión verás pequeños pixels
    cuadraditos formando la imagen en la
    pantalla. Cada uno de esto pixel representa una simple
    localización en el monitor. Para colocar un punto muy en
    la esquina superior izquierda de tu pantalla necesitas una
    coordenada. Una coordenada es un número específico
    de localización. No me dejes confundirte, pero por ejemplo
    si quieres tener un punto en el medio de la pantalla
    necesitarías tener un valor donde situar el punto. Mira al
    diagrama de
    abajo:
    Para ver el
    gráfico seleccione la opción "Descargar" del
    menú superior
    El diagrama de arriba se impone al representar el la
    pantalla del monitor o de la televisión. Si nos desplazamos sobre la
    pantalla hacia arriba lo haremos sobre el eje y. Si nos
    desplazamos a lo largo de la parte baja de la pantalla lo haremos
    sobre el eje x. Ahora si miras de cerca verás un punto en
    las cercanías del lado izquierdo de la pantalla buscada.
    Si queremos situar un punto ahí necesitaríamos
    saber el valor de la coordenada en la pantalla. Podríamos
    hacer esto con bastante facilidad en QBasic. Dentro de QBasic la
    esquina superior izquierda de la pantalla es la coordenada 0,0.
    Este valor de la coordenada representa los ejes x,y como explique
    arriba. Ahora vamos a crear el punto en la pantalla buscada ,
    necesitaremos unas coordenadas aproximadas de 100,100. Estas
    coordenadas desplazarán el punto 100 pixels en la pantalla
    hacia la izquierda y 100 de arriba hacia abajo. Si queremos
    desplazar el punto mas hacia abajo necesitaremos una coordenada
    aproximada de 100,300. Déjame enseñarte un simple
    programa que haga lo que acabo de explicar arriba.
    Escríbelo y presiona "F5" para correrlo.

    SCREEN 12

    PSET (100,100),2

    El programa anterior es muy simple. Primero estamos
    cambiando la pantalla del texto por omisión a la pantalla
    gráfica. La siguiente línea es nuestro comando
    gráfico que se llama "PSET", que creo que significa
    código de puntos. El la línea de código
    anterior preguntamos para tener un pequeño punto (lunar)
    dibujado en la pantalla en las coordenadas 100,100. 100 pixels
    hacia la izquierda y 100 hacia arriba. El número siguiente
    es el color del punto situado en la pantalla. En el anterior
    programa hemos utilizado un simple color de verde. Si tu no
    introduces el número de color cogerá por defecto el
    blanco.

    El comando "PSET" puede ser usado en otros muchos modos
    de pantalla como otros comandos gráficos.
    Necesitarás intentar probar deferentes modos de pantalla,
    pero recuerda que la resolución podrá cambiar.
    Resolución es lo que se conoce como diferentes
    tamaños como el modo estándar de ventana que
    podría ser de 800*600 pixels. La resolución de la
    pantalla que usamos en el anterior ejemplo es 640 pixels a lo
    largo y 480 hacia abajo. Así que puedes situar un punto
    (lunar) en cualquier valor dentro de éstos.

    Ahora "PSET" es un comando muy simple. Déjame que
    te adentre ahora en algo un poco diferente. Las líneas son
    muy populares y usadas con bastante frecuencia en los programas.
    Por ejemplo una línea puede construir formas como un
    rectángulo o un cuadrado. El comando "LINE" trabaja un
    poco diferente al comando "STEP" en la forma de dibujar las
    formas en la pantalla. Debajo hay un simple ejemplo de
    cómo lo debes escribir

    SCREEN 12

    LINE (100,100)-(200,100)

    El programa anterior dibujará una línea de
    una posición a otra. Primero estamos pidiendo que sea
    puesto de nuevo en un modo gráfico. Luego nosotros
    dibujaremos la línea de una posición en la pantalla
    a otra. Por ejemplo estamos dibujando una línea desde 100
    a lo largo y 100 abajo a 200 a lo largo y 100 hacia abajo. Es
    bastante sencillo si piensas de ésta manera. Escribe lo
    siguiente en el programa.

    SCREEN 12

    LINE (100,100)-(200,100)

    LINE (200,100)-(200,200)

    El programa de arriba es virtualmente el mismo que el
    anterior pero el siguiente comando "LINE" está dibujando
    una línea recta hacia abajo en la pantalla desde el primer
    comando "LINE".

    Tarea 3

    Mira a ver si puedes dibujar un simple programa que
    dibuje un simple cubo en la pantalla usando las partes del que
    acabas de aprender antes. Consejo: recuerda que sólo
    necesitas información que esté incluida en este
    tutorial para escribir el programa. El programa ha sido escrito
    al final del programa para ver si lo haces bien.

    Incluso más gráficos

    Para extender tus conocimientos de QBasic a las
    características gráficas voy a adentrarte en un comando que
    amplia tus conocimientos aprendidos antes. El siguiente comando
    gráfico es llamado "CIRCLE".

    "CIRCLE" funciona parecido al comando "STEP" excepto que
    requiere un importante valor al final del comando. Por favor,
    escríbelo e inténtalo en el siguiente
    programa.

    SCREEN 12

    CIRCLE (100,100) ,50

    Este programa dibujará un círculo en tu
    pantalla. Primero nosotros simplemente nos cambiaremos al modo de
    pantalla gráfico y luego pondremos una localización
    de coordenadas en tu pantalla. La siguiente parte del comando
    pone el radio del
    círculo. Antes usamos un pequeño radio de
    sólo 50 pero se puede poner mucho mayor. El comando
    "CIRCLE" pone el círculo de forma diferente en tu
    pantalla. Si no quieres confundirte no leas el siguiente párrafo.

    Cuando dibujes un círculo en la pantalla del
    ordenador no lo estará dibujando realmente en 100,100.
    Como verás si cambias la línea de arriba
    a:

    SCREEN 12

    CIRCLE (0,100), 50

    Cuando corras este programa verás que sólo
    la mitad del círculo ha sido dibujado. El valor de la
    coordenada del círculo es el centro del círculo.
    Esto parece complicado pero cierto. Observarás que si usas
    mucho el comando "CIRCLE" aprenderás como
    funciona.

    Extendiendo Líneas a Cubos

    Las líneas están muy bien en un programa;
    pero ¿qué haces si estás dibujando cubos?.
    Bien, en principio el comando "LINE" puede hacer todo el trabajo
    por ti. Escribe el siguiente programa y luego
    pruébalo.

    SCREEN 12

    LINE (100,100)-(200,200), 4, B

    ¡Oh!, sí. Hemos creado una simple caja.
    Antes de avanzar me gustaría decir que el programa
    anterior no es una solución a la tarea que te di hace un
    rato. La solución a la tarea se da provechosamente un poco
    más tarde.

    El programa anterior dibujará un simple cubo con
    sólo una línea de código. El cubo es creado
    en un color rojo y hace todo lo posible a partir de un simple
    cambio de
    código. El comando "LINE" tiene ahora una letra "B" al
    final que significa "BOX". Para avanzar un paso más que
    éste intenta cambiar "B" a "BF". Corre el programa, y
    sí, tú has creado ahora un simple cubo
    coloreado.

    Así que como puedes ver, muchos efectos
    diferentes pueden ser creados con apenas unos pocos comandos
    gráficos. Tendrás que experimentar con los comandos
    gráficos para hacer las cosas perfectamente bien.
    Encontrarás que el sistema de coordenadas de QBasic te
    quitará además un poco de tiempo para comprenderlo.
    Después de un rato de tiempo podrás realmente dar
    color a tus programas.

    Solución a la Tarea 3

    Para dibujar un simple cubo usando el cuarto comando
    "LINE" es como sigue. ¡Inténtalo!

    SCREEN 12

    LINE (100, 100)-(200, 100)

    LINE (200, 100)-(200, 200)

    LINE (200, 200)-(100, 200)

    LINE (100, 200)-(100, 100)

    El comando te ha mostrado un simple juego de comandos
    gráficos provechosos en QBasic. Recuerda que sólo
    estamos tratando superficialmente lo que QBasic puede hacer. En
    posteriores tutoriales te enseñaré más
    comandos gráficos y les añadiremos lo que has
    aprendido hasta ahora. En el siguiente tutorial te
    adentraré en caminos a través del uso de procedimientos
    con los que puedas mejorar tu código de
    programación. Con esto podrás hacer que tus
    programas parezcan mejore y más fáciles de
    entender.

    Capitulo 10

    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

    Un comando "GOSUB" es una sentencia de control que se
    extiende a otra parte del programa. En otras palabras, une
    parte de tu programa básico a otra parte del programa
    cumpliendo alguna clase de acción. Con el comando "GOSUB"
    necesitarás una etiqueta específica. Una etiqueta
    es una parte que se encadenará con "GOSUB", ahora te
    mostraré un ejemplo de programación dentro de un
    momento.

    Return

    El comando "RETURN" permite saltar atrás o a
    una etiqueta. Por ejemplo puedes tener "GOSUB" en una parte de
    tu programa para poder volver atrás o para continuar
    más tarde. El método es diferente y todos los
    tipos de programas pueden ser construidos. Aquí hay un
    simple comando de programación usando estos dos
    comandos.

    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

    PRINT "Hemos finalizado, volvemos con seguridad a
    la

    etiqueta1"

    PRINT

    PRINT "Después vamos a saltar a la Segunda
    Etiqueta"

    GOSUB etiqueta2

    PRINT "Hemos finalizado, volvemos con seguridad a
    la

    etiqueta2"

    END

    etiqueta1

    PRINT "Hola he saltado a la
    Etiqueta1"

    PRINT "Vamos a regresar y saltar de
    nuevo.

    RETURN

    etiqueta2

    PRINT "Hola vamos a saltar a la
    Etiqueta2"

    PRINT "vamos a regresar y finalizar el
    programa.

    RETURN

    Como puedes ver es bastante usual hacer subrutinas en
    algunos programas de QBasic. Déjame simplemente
    aconsejarte sobre un par de cosas:

    1. Asegúrate de no usar palabras reservadas
    como "PRINT", "STOP", "LOCATE", etc para tus
    etiquetas.

    2. Asegúrate de llamar a tus etiquetas por
    algunos nombres significativos que tengan que ver con lo que la
    subrutina está haciendo. Por ejemplo podrías
    llamar "puntos: a la subrutina puntuación de un
    juego.

    3. Las etiquetas de subrutina siempre tienen dos
    puntos al final. Si te olvidas de ella te dará un
    error.

    Programando un ejemplo de la selección 1

    Aquí hay un par de ejemplos de programas que
    debes querer intentar. Yo he usado muchos comandos de totorales
    anteriores para mostrar cómo se encadenan los programas
    juntos.

    Contraseña de
    programa

    CL

    PRINT "Contraseña del programa
    2"

    PRINT
    "———————————–"

    PRINT

    INPUT "Por favor, introduce la contraseña:",
    contraseña$

    IF contraseña$= "manzana" THEN GOSUB
    introduce ELSE GOSUB error

    END

    introduce:

    CLS

    PRINT " Bienvenido, lo has introducido
    correctamente"

    RETURN

    error:

    CLS

    PRINT "Lo siento, has metido la contraseña
    errónea"

    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

    CLS

    PRINT "Menú del programa"

    PRINT "————————–"

    PRINT

    PRINT "1. Abrir Archivo"

    PRINT "2. Salvar Archivo"

    PRINT "3. Guardar Programa"

    PRINT

    regresar:

    LOCATE 8, 10

    INPUT "Selección:",
    número

    IF número = 1 THEN GOSUB
    opción1

    IF número = 2 THEN GOSUB
    opción2

    IF número = 3 THEN GOSUB opción3 ELSE
    GOSUB regresar

    opción1:

    LOCATE 10, 10

    PRINT "Opción 1 Seleccionada"

    RETURN

    opción2:

    LOCATE 10, 10

    PRINT "Opción 2 Seleccionada"

    RETURN

    opción3:

    LOCATE 10, 10

    PRINT "Has finalizado el programa"

    END

    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.

    CLS

    REM "Debajo hay un simple Programa
    Escribiendo"

    PRINT "HOLA"

    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 "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

    Como puedes ver "REM" y el símbolo ´ es
    un comando usado que debes conocer. Es un excelente camino para
    comentar tu código de programación y que otros
    usuarios lo entiendan. Ahora deberías encontrar en
    alguno de mis programas ejemplos del uso de el comando "REM" y
    el símbolo ´. Intenta usarlo donde sea posible, no
    sabes que fácil es olvidar lo que hace cada parte del
    programa

    Introducción a los Subprocedimientos

    Debo advertirte que algunas cosas pueden parecerte un
    poco complicadas cuando empieces a leer la siguiente parte del
    tutorial. Si te pierdes, por favor, intenta leerlo de nuevo
    hasta que sea de sentido común. Sin embargo
    intentaré hacer las cosas lo más fácil de
    entender que sea posible.

    El Subprocedimiento funciona de modo un poco diferente
    que las subrutinas, como expusimos arriba. Con un
    Subprocedimiento tú puedes trabajar en una parte
    particular del programa sin que el resto intervenga. Por
    ejemplo podrías escribir el menú de un programa y
    poner los detalles del menú de cada programa separados
    fuera de tu programa, pero poder acceder a él muy
    fácil. Déjame darte una perspectiva más de
    esto.

    Por ejemplo si has escrito un juego de ordenador que
    permite matar alienígenas. Cad vez que un alien ha sido
    disparado incrementas tu puntuación en 50.
    Podrías crear un subprocedimiento para hacer esto sin
    tener que escribir el código una y otra vez. Antes de
    enseñarte cómo escribir un Subprocedimiento
    completo, déjame enseñarte cómo crear uno
    dentro del Editor de QBasic.

    Cómo crear un
    Subprocedimiento

    Asegúrate de que has empezado con una pantalla
    limpia, si no la tienes, por favor selecciona "NEW"
    desplegándolo del archivo "FILE" del menú. En
    cuanto está hecho estamos preparados para crear un Nuevo
    Subprocedimiento. Escribe "SUB hola". Una vez que lo has hecho
    y pulsado return, debes ahora meter el Subprocedimiento en el
    modo edición. Ésta es la parte
    desarrollada abajo.

    Usuario del Microsoft
    QuickBasic

    La anterior teoría funciona bien con
    QuickBasic, pero también podrías hacer esto.
    Dentro del editor de QBasic mueve tu ratón sobre el
    menú desplegable de "EDIT" y pulsa sobre "NEW SUB". Si
    no tienes ratón, pulsa simultáneamente ALT+E.
    Esto desplegará el menú "EDIT" hacia la barra de
    título. Ahora mueve con la flecha la marca brillante
    hacia la opción "NEW SUB". Ahora pulsa
    return.

    Una vez que has hecho lo que expliqué arriba
    debería aparecer una ventana preguntando por el nombre del
    nuevo New Sub. Llamémosle "hola". Escribe la palabra
    "hola" en la caja "nombre:". Si haces ahora un click ( pulso con
    el ratón) o pulsas return sobre la caja "OK", tu
    área de pantalla cambiará y te presentará
    algo que parece un poco diferente. La presentación
    debería ser como esto.

    Para ver el gráfico
    seleccione la opción "Descargar" del menú
    superior

    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

    PRINT "Hola, has accedido a un
    subprocesador."

    END SUB

    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.

    Para ver el gráfico
    seleccione la opción "Descargar" del menú
    superior

    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.

    Para ver el gráfico
    seleccione la opción "Descargar" del menú
    superior

    *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

    Cada vez que creas un nuevo Subprocedimiento debes
    declarar su uso en el programa principal (módulo). La
    razón es muy simple, todo el tiempo que el programa se
    corre en QBasic necesitas contar al programa cada
    Subprocedimiento que está allí para ser usado.
    Así en la construcción del actual programa vamos a
    crear un Subprocedimiento simple. Pero para poder usarlo
    tenemos que informar a QBasic que está allí
    disponible para usar. En principio vamos a mirar los
    métodos básicos de la sentencia "DECLARE". Para
    decirnos que tenemos un Subprocedimiento llamado "hola" debemos
    teclear primero esta línea en la ventana del programa
    principal (módulo), que deberías tener en frente
    de ti ahora y no debería contener ningún
    código de programación en ella. Por favor,
    introduce el siguiente código.

    DECLARE SUB hola ()

    CLS

    hola

    La sentencia "DECLARE" funciona así. En
    principio estamos diciendo que el Subprocedimiento se llama
    "hola", como ya sabes. En segundo lugar tenemos algunos
    paréntesis de abrir y cerrar. Estos paréntesis
    representan algún argumento que vamos a añadir
    después. No te preocupes por esto por ahora, sólo
    asegúrate de introducirlos en el programa siempre a
    menos que te digan lo contrario.

    La siguiente línea os limpia la pantalla. La
    siguiente línea es una parte interesante. Allí es
    dónde ocurre todo lo interesante. Ahora estamos llamando
    a un Subprocedimiento llamado "hola" que habíamos
    escrito previamente. Todo lo que necesitas hacer es escribir el
    nombre del Subprocedimiento y correrlo todo dentro del
    subprocedimiento, dentro del programa. Es muy fácil de
    entender una vez que sepas cómo. Presiona "F5" para
    correr el programa y ver qué sucede.

    Así tenemos una introducción muy
    básica en Subrutinas y Subprocedimientos. Recuerda que
    este tutorial cubre de forma muy básica los
    subprocedimientos, sobre los que aprenderás más
    en tutoriales fufuros. En el siguiente tutorial
    escribiré un programa que usa no sólo un
    Subprocedimiento, sino un par, sólo mostrarte
    cómo funciona.

    Bibliografía:

    LUCAS G. MARINO –

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter