(C++) Subrutinas: Procedimientos y Funciones - 2


Una función es una subrutina que devuelve un resultado (número, cadena de caracteres, etc.)

Imagina que has pedido un producto en una tienda online. Desde el punto de vista de la programación, ha llamado a una determinada subrutina y, a diferencia de un procedimiento, esta subrutina debe devolver un resultado: entregar el producto que ordenó. Estas subrutinas se denominan funciones.
Una función se formatea exactamente de la misma manera que un procedimiento. La única diferencia con un procedimiento es la presencia de un operador especial returndespués del cual el valor que se devolverá al programa principal es escrito.

Una función que devuelve la media aritmética de dos enteros se vería así: promedio flotante (int a, int b) { promedio flotante = (a + b) / 2.; volver agosto; } Queda por entender cómo llamar a esta función en el programa principal:
No debe llamar a una función de la misma manera que llama a un procedimiento: promedio (10, 5); El valor devuelto por la función se perderá. Es como si los productos de la tienda en línea no se dieran a nadie, sino que se tiraran. Es poco probable que al cliente le guste.

Es más correcto guardar el resultado en una variable (o imprimirlo en la pantalla): a = promedio (10, 5); cout << promedio(10, 5);

A menudo, los programadores utilizan funciones booleanas que devuelven valores booleanos verdaderos o falsos (verdaderoo falso)
Estas funciones son útiles para   comprobar alguna propiedad.
Considere dos ejemplos de cómo escribir una función lógica que verifique la uniformidad de un número
Y la última nota sobre trabajar con funciones y procedimientos: la cantidad de funciones y procedimientos en el programa no está limitada. Además, una subrutina puede llamar a otra subrutina e incluso a sí misma.
 

1)  Mejor manera:
resultado de expresión
n % 2 == 0
será verdadero (Verdadero) o falso (Falso)
¡No es necesario escribir una declaración condicional!
2) ¡No hagas eso!
Puedes escribirlo así, pero de todos modos es mejor no hacer un registro más largo
bool es par(int n) { retorno (n % 2 == 0); } bool es par(int n) { si (n % 2 == 0) devolver verdadero; demás falso retorno; }