<<Programas que hacen Preguntas y otros Comentarios>> |
Dificultad: Se necesitan muy pocos conocimientos previos. Lecciones anteriores: Simulando una Calculadora Paso por paso como comenzar a programar en QuickBasic Calculadora con Ans(la respuesta anterior) Como almacenar números en la computadora |
|
Resumen: Vamos a ver como hacer que la computadora pregunte un número y después haga cuentas con él. Esto sirve para resolver una familia de problemas, en la que solamente cambia el valor de algunos números. De esta manera uno puede pensarlo, ver que cuentas tiene que hacer y escribir un programa que pregunte los números y lo resuleva. Además vamos a ver como colocar comentarios en un programa, de manera que el programa sea más fácil de entender al leerlo o revisarlo posteriormente. Ya es hora de un repaso En estas lecciones vamos a ver como empezar a programar. En la primera lección vimos los pasos para utilizar el QB, paso a paso, pantalla por pantalla. En la segunda lección explicamos como simular las memorias y la tecla Ans de la calculadora utilizando variables. En esta lección vamos a suponer que ya las leyeron y ya saben como empezar a escribir y ejecutar un programa simple. Haciendo preguntas Para que el programa haga preguntas se utiliza la instrucción Input . En esta instrucción se puede poner primero un cartelito, para que el que usa el programa sepa qué cosa le están preguntando. Además hay que indicar una variable para que guarde el número, así después lo podemos usar para algo útil. Dim Ans Input "Escribi tu edad ", Ans Print Ans Ans = Ans*365 Print Ans Print "Vos ya viviste por lo menos", Ans, "dias." ¿Pueden adivinar que es lo que hace? Veamos el programa línea por línea: Dim Ans Volvemos a definir a nuestra vieja amiga la variable Ans, sólo para que el programa se parezca a los de la lección anterior. Input "Escribi tu edad ", Ans Pone un cartel en la pantalla (lo que está antes de la coma, todos los carteles van entre comillas) y espera a que escribas un número. Para indicar que ya terminaste de escribirlo hay que tocar la tecla Enter. Después lo guarda en la variable Ans que es lo que está después de la coma. Print Ans Ahora mostramos el valor de Ans, que debería ser igual que escribimos. Ans = Ans*365 Multiplicamos por 365 para pasar de años a días y guardamos en Ans el resultado. (En otra lección podríamos discutir como considerar los años bisiestos y otras cosas raras, pero cada año tiene seguro por lo menos 365 días.) Print Ans Mostramos el nuevo valor. Print "Vos ya viviste por lo menos", Ans, "dias." Ponemos el resultado en la pantalla con un par de carteles simpáticos. Como siempre lo que está entre comillas lo escribe directamente y lo que no esta encerrado entre comillas lo toma como variables y lo calcula. Normalmente habría que sacar los dos Prints del medio, para que en la pantalla sólo aparezcan los carteles simpáticos que al usuario le interesan. Así se esconde toda la basurita con las cuentas auxiliares que hizo el programa. Además es bueno poner un Cls o por lo menos un Print vacío al principio para que no se mezclen los nuevos mensajes con los anteriores. De vuelta los piratas En la lección anterior vimos un problema sobre unos piratas muy simpáticos que decía:
Aprovechando la instrucción Input lo podemos modificar, de manera que uno piensa sólo una vez al escribir el programa y después es sólo cuestión de escribir un numerito. Tantear de esta manera es un poco más seguro porque cada vez que se modifica el programa se corre el riesgo de modificar involuntariamente el resto del programa. Dim Ans Input "Cantidad inicial de cocos ", Ans Print Ans Ans = Ans-Ans/5-1 Print Ans Ans = Ans-Ans/5-1 Print Ans Ans = Ans-Ans/5-1 Print Ans Si lo comparan con el anterior van a ver que sólo cambió una línea, se podrían agregar algunos carteles más como por ejemplo "Cantidad final de cocos". Nuevamente hay que recordar ir cambiando el valor inicial hasta obtener el resultado correcto. Para poder volver a utilizar un programa anterior es bueno poder guardarlo y cargarlo. Estas operaciones son idénticas a las de un procesador de texto (por ejemplo el Bloc de Notas). Para guardar hay que ir al menú File(Archivo) y tocar Save(Guardar). Para cargar hay que ir al mismo menú y tocar Open(Abrir). Los archivos tienen la extensión .bas y se pueden abrir con el Notepad o Word si es necesario. (En QB hay dos opciones, ¡siempre es preferible guardarlo en modo texto!) |
|
Más preguntas y menos
variables Como siempre se puede utilizar cualquier variable en vez de Ans. Por ejemplo el siguiente programa calcula la superficie de un rectángulo.: Dim Base Dim Altura Dim Superficie Print "------------------------" Input "Escribir la base ", Base Input "Escribir la altura ", Altura Superficie = Base * Altura Print "La superficie del rectangulo es", Superficie Print "------------------------" También se puede acortar el programa eliminando la variable superficie de la siguiente manera Dim Base Dim Altura Print "------------------------" Input "Escribir la base ", Base Input "Escribir la altura ", Altura Print "La superficie del rectangulo es", Base * Altura Print "------------------------" En la penúltima línea primero escribe el mensaje simpático. Después el programa ve que el resto no está encerrado entre comillas así que se fija cuanto valen las variables y calcula el producto y muestra el resultado en la pantalla. El resultado lo guarda en una variable temporal que no tiene nombre y que no se puede ver, es sólo para uso interno. Así que después no pueden ver cuanto fue el resultado utilizando ni Ans ni Superficie ni Resultado ni PorFavor ni Nada. Así los programas quedan más cortos y si hay suerte más fáciles de entender. Esto es importante porque en general uno comete errores al escribirlos y para arreglarlos hay que tratar de recordar que es lo que esa línea hacía. Otros comentarios Es bueno agregar comentarios al programa que expliquen qué es lo que hace. Principalmente contar que hace cada bloque, no línea por línea. La idea es que la persona que tenga que revisar, evaluar o reparar el programa pueda entender a grandes rasgos que es lo que hace. Para poner comentarios se utiliza un apóstrofe así ' (Hay varios cositos parecidos en el teclado así que hay que probar un rato hasta encontrar el correcto.). Todo lo que esta después del apóstrofe es ignorado por el programa hasta que comienza una nueva línea. También es posible agregar líneas en blanco que no hacen nada pero separan visualmente las partes del programa. Por ejemplo podemos decorar un poco el programa del segundo problema de la vez pasada:
Dim Ans Dim Mem Dim Pi Dim LadoAB Pi=3.1415926 Print Pi LadoAB = 10 Print LadoAB 'Calculo la superficie del Cuadrado Ans = LadoAB * LadoAB Print Ans Mem = Ans 'Calculo la superficie del SemiCirculo Ans = LadoAB/2 Print Ans Ans = Pi*Ans*Ans Print Ans Ans = Ans/2 Print Ans 'Calculo el total Ans = Ans + Mem Print Ans Buceando en la ayuda Recuerdan que la ayuda se pide tocando la tecla F1. Aparece un pequeño resumen sobre cada instrucción y algún ejemplo que pueden copiar y probar. El curso no es infinito y la mayor parte del lenguaje va a quedar afuera así que váyanse acostumbrando a tocar F1. Para los inquietos queda de tarea usar F1 para averiguar
Ejercicios:
Lecciones siguientes: |
|
La idea es que hagan los ejercicios y piensen que otras cosas interesantes se pueden hacer relacionadas con estos temas. Cuéntennos lo que consiguieron y pregunten lo que no les salió. Envíen sus preguntas, dudas, sugerencias, experiencias y propuestas. Nuestra dirección es cym98@oma.org.ar .
También nos gustaría saber tu opinión sobre esta clase. Les pedimos que se tomen unos instantes y contesten estas preguntas. Con tu ayuda podremos hacer un curso cada vez mejor.
OmaNet Curso CyM98 | OmaNet - Educación Interactiva www.oma.org.ar/omanet | omanet@oma.org.ar |
mensajes: webmaster@oma.org.ar |