Module: (Java) Subrutinas: procedimientos y funciones - 1


Problem

1/11

Subrutinas: Introducción

Theory Click to read/hide

Una subrutina es una parte separada del programa que tiene un nombre y resuelve su propia tarea separada. La subrutina se encuentra al comienzo del programa principal y se puede iniciar (llamar) desde el programa principal especificando el nombre

El uso de subrutinas le permite evitar la duplicación de código, en caso de que necesite escribir el mismo código en diferentes lugares del programa. 
Las bibliotecas que se importan al programa (por ejemplo, la biblioteca matemática Math) consisten en subrutinas que ya han sido compiladas por alguien. Los programadores no necesitan pensar en qué algoritmos implementarán, sino simplemente aplicarlos, pensando solo en lo que están haciendo exactamente. Este es un gran ahorro de tiempo. No es necesario escribir un algoritmo que ya haya sido escrito por otra persona.

Cada rutina solo debe hacer una tarea,  simplemente calcule algo, genere algunos datos o haga otra cosa. 

Hay dos tipos de subrutinas: procedimientos y funciones

Los subprocedimientos realizan algunas acciones, por ejemplo, muestran el resultado en la pantalla de cierta forma (un ejemplo simple, el operador println()  es un subprocedimiento estándar que imprime información en el pantalla)

Las subrutinas de función devuelven un resultado (número, cadena de caracteres, etc.) que podemos usar en el programa principal.

Tratemos de escribir un procedimiento simple:
Supongamos que necesitamos mostrar la cadena "Error" en la pantalla cada vez que puede ocurrir un error en el código por culpa del usuario (por ejemplo, cuando ingresa datos incorrectos)
Esto se puede hacer escribiendo la declaración System.out.println("Error"); Y ahora imagine que esa línea debe insertarse en muchos lugares del programa. Por supuesto, puedes escribirlo en todas partes. Pero esta solución tiene dos inconvenientes.
1) esta cadena se almacenará en la memoria muchas veces
2) si queremos cambiar la salida en caso de error, tendremos que cambiar esta línea en todo el programa, lo cual es bastante inconveniente

Para tales casos, se necesitan procedimientos.
Un programa con un procedimiento podría verse así: ... static void printError() // descripción del procedimiento { System.out.println("Error"); // cuerpo del procedimiento: comandos que ejecutará el procedimiento } public static void main(String[] args) { ... printError() // inicia el procedimiento para su ejecución. Solo especificamos el nombre del procedimiento que queremos ejecutar. ... imprimirError() ... } El procedimiento comienza con la palabra void. Hay corchetes vacíos después del nombre del procedimiento.
Todas las sentencias que se ejecutan en un procedimiento están sangradas. 

Los procedimientos se escriben antes de la función principal main()

Para ejecutar un procedimiento, en el programa principal debe llamarlo por su nombre y recordar escribir paréntesis!
Puede llamar a un procedimiento en un programa cualquier número de veces.

Problem

Escriba un procedimiento que muestre la frase "Error. ¡División por cero! Asigne el nombre correcto al procedimiento.