Skip to main content

Funciones

 

A veces en nuestros programas existen acciones que hemos de realizar varias veces a lo largo de los mismos, y que nos resultaría farragoso si tuviéramos que volver a copiar el código una y otra vez. Para ello nos ayudan las funciones.

Las funciones, también llamados métodos o procedimientos, empaquetan y ‘aíslan’ del resto del programa una parte de código que realiza alguna tarea específica de forma que nos sea muy sencillo de manipular y reutilizar. Se definen al principio como pequeños subprogramas y después se "invocan" desde el algoritmo principal cuando se necesitan.

Las funciones pueden ser con o sin parámetros, y también pueden devolver o no un resultado.

  • Parámetros de una función: valores que necesita para poder ejecutarse. Por ejemplo una función que calcule el área de un cuadrado necesita que le pasen el valor del lado para realizarlo. Sin embargo una función que realice una cuenta atrás del 10 al 1 no necesita ningún parámetro.
  • Funciones que devuelven resultado o no: Si la función no devuelve resultado

Por ejemplo, imaginemos un programa que calcula el área de una figura geométrica plana compuesta como la de la figura.

image-1663266791752.png

Pasos 1 y 2: Análisis y diagrama de flujo del programa Area compuesta

Los elementos serían:

  • Salida: pedir las medidas del lado del cuadrado inferior incluyendo unidades.
  • Entrada: longitud del lado (que coincide con diámetro del círculo)
  • Almacenamiento de datos: lado, area_semicirculo, area_cuadrado, area_total
  • Operaciones: suma, multiplicación, concatenación

Diagrama de flujo (sin funciones):

image-1663267727042.png

 

Sien embargo otra forma de  abordar su solución  sería  predefinir unas funciones que nos calcularan por ejemplo el área de un rectángulo y el área de un círculo.  Veamos como quedaría el diagrama de flujo en ese caso.

image-1663267932446.png

Y los diagramas de flujos de esas funciones serían:

image-1663267985074.pngimage-1663268025862.png

Como se puede deducir fácilmente, esto tiene mucho más sentido en programas donde va a ser necesario calcular áreas de diferentes figuras de forma repetida, y solamente