Revista Comunicación

Programación desde cero capítulo VI, subrutinas.

Publicado el 20 agosto 2013 por Dracux @isladelmono

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!

  • Programación desde cero capítulo VI, subrutinas.
Programación desde cero capítulo VI, subrutinas.

Volver a la Portada de Logo Paperblog