Función de subrutina
Una función es una subrutina que devuelve un resultado (número, cadena de caracteres, etc.).< /div>
Imagina que has pedido un producto en una tienda online. Desde el punto de vista de la programación, llamó a alguna 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 el procedimiento es la presencia de un operador especial return, después del cual se escribe el valor que se devolverá al programa principal.
Una función que devuelve la media aritmética de dos enteros se vería así:
def promedio(a, b):
promedio = (a + b) / 2
devolver promedio
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 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)
imprimir (promedio (10, 5))
¡Necesito recordar!
- Una subrutina de función tiene el mismo formato que un procedimiento.
- La función se llama en el lugar del programa donde colocaría el valor. Por ejemplo, como parámetro de una sentencia print() o en una expresión aritmética.
|
Algoritmo de Euclides
Algoritmo de Euclides — BC eficiente" title="Algorithm">Algoritmo Para encontrar Máximo común divisor dos Enteros (o general medidas dos Líneas). El algoritmo lleva el nombre de Griego Matemáticas Euclides (siglo III a.C. ), quien lo describió por primera vez en VII y X libros « Inicios". Es uno de los algoritmos numéricos más antiguos que se utilizan en la actualidad.
Recuerda las matemáticas.
El máximo común divisor de dos números naturales (mcd) es el mayor número natural por el que son divisibles.
Por ejemplo, los números 12 y 18 tienen divisores comunes: 2, 3, 6. El máximo común divisor es 6. Esto se escribe como: mcd(12, 18) = 6
En programación, hay varias implementaciones del algoritmo de Euclides. Aquí hay una descripción de uno de ellos en forma de diagrama de bloques.
Intenta implementar este algoritmo.
|
Funciones lógicas
A menudo, los programadores usan funciones booleanas que devuelven valores booleanos "verdaderos" o "falso" ( verdaderoo falso)
Estas funciones son útiles para comprobar alguna propiedad.
Consideremos dos ejemplos de cómo escribir una función lógica que verifica si un número es par.
Descripción |
Ejemplo de subrutina |
1) Mejor manera: el resultado de la expresión n % 2 == 0 será verdadero (True) o falso (False) |
definido como par(n):
retorno (n % 2 == 0)
|
2) Puedes escribirlo así, pero de todos modos es mejor no hacer un registro más largo |
def es par(n):
si n % 2 == 0:
devolver verdadero;
demás:
devolver Falso
|
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.
|