Bueno, retornamos luego de un fin de semana salvaje (?) que incluyó cosas como el primer día del niño de mi hija y fiebre.
Retornando al viejo curso para principiantes, vimos algo en el curso de QBasic que no vimos en forma teórica en este tutorial. Las subrutinas.
Muchas veces un código se va a repetir muchísimas veces en un programa, y no como en el caso de los loops, donde ponemos dentro de el este código a repetir, sino algo que se va a ejecutar en por ejemplo, varias pantallas. Vamos a ver esto con un ejemplo:
Supongamos que tenemos cinco pantallas a las que accedemos mediante el ingreso de un número (del 1 al 5). En cada pantalla al inciarse, debemos mostrar los datos de la empresa.
Un código posible para esto sería:
Imprimir "1-Pantalla de ventas" Imprimir "2-Panatalla de compras" Imprimir "3-Administración" Imprimir "4-Clientes" Imprimir "5-Proveedores" Ingresar "Seleccione pantalla",pantalla Seleccionar caso pantalla: pantalla=1: Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" [El resto de la programación de la pantalla de ventas] pantalla=2: Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" [El resto de la programación de la pantalla de compras] pantalla=3: Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" [El resto de la programación de la pantalla de administración] pantalla=4: Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" [El resto de la programación de la pantalla de clientes] pantalla=5: Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" [El resto de la programación de la pantalla de clientes] Fin Seleccionar Caso
*Nota, entre corchetes imaginen que va todo el resto del código de esa pantalla
Todos esos datos que voy a repetir en esas pantallas, no tiene sentido hacerlo, les presento las subrutinas. Comencemos por lo más sencillo, la de este ejemplo, que no tiene ningún parámetro, y en el próximo capítulo les muestro algunas con parámetros:
Imprimir "1-Pantalla de ventas" Imprimir "2-Panatalla de compras" Imprimir "3-Administración" Imprimir "4-Clientes" Imprimir "5-Proveedores" Ingresar "Seleccione pantalla",pantalla Seleccionar caso pantalla: pantalla=1: datos() [El resto de la programación de la pantalla de ventas] pantalla=2: datos() [El resto de la programación de la pantalla de compras] pantalla=3: datos() [El resto de la programación de la pantalla de administración] pantalla=4: datos() [El resto de la programación de la pantalla de clientes] pantalla=5: datos() [El resto de la programación de la pantalla de clientes] Fin Seleccionar Caso Sub datos() Imprimir "Empresa ficticia S.A." Imprimir "9 de Julio 3333 5*A" Imprimir "Teléfono: 5555-5555" Fin Sub
Ven que ahora queda más prolijo. Cree una subrutina que se va a llamar datos (estos paréntesis van siempre, en el próximo artículo les explico el por que, aunque si vieron el último capítulo del tutorial de QBasic van a entender) y simplemente cada vez que necesito acceder a esos datos llamo a la subrutina.
Esto me trae muchos beneficios, entre los que encontramos:
- Menos repetición de código.
- Más prolijidad.
- Si tengo que cambiar algo de ese código lo voy a hacer en un solo lugar.
Espero que hayan entendido la importancia de esto, en el próximo capítulo vamos a hacerlo algo más difícil!