Funciones en LPP
En el anterior artículo de esta serie, exploramos el concepto de procedimientos en LPP y cómo son esenciales para organizar tareas específicas. Hoy, daremos un paso más al adentrarnos en las Funciones.
Tanto los procedimientos como las funciones son herramientas esenciales. Aunque comparten similitudes en su capacidad para encapsular tareas específicas, presentan diferencias fundamentales:
En este artículo, exploraremos las características distintivas de ambos conceptos y cómo aplicarlos eficientemente en la programación.
Material Audiovisual
Te invitamos a ver el video tutorial. Aquí, encontrarás tanto la información teórica como práctica necesaria para comprender a fondo el tema de las Funciones.
Código Fuente
En el siguiente link podrás descargar el código de los ejemplos vistos en el vídeo.
Sintaxis Básica de una Función
En LPP, la sintaxis de una función se define de la siguiente manera:
funcion [nombre_funcion] ([parametros]) : tipo_dato_retorna
[variables_locales]
inicio
[instrucciones]
retorne [variable]
fin
En la sintaxis de las funciones en LPP, observamos elementos familiares de los procedimientos que exploramos anteriormente. Sin embargo, la distinción clave se encuentra en la presencia de : tipo_dato_retorn
a y retorne [variable]
. Estas partes son específicas de las funciones y no se encuentran en los procedimientos.
: tipo_dato_retorna»: Esta parte indica el tipo de dato que la función devolverá como resultado. En los procedimientos, no teníamos esta especificación ya que los procedimientos generalmente realizan tareas sin necesidad de retornar un valor.
«retorne [variable]»: Aquí, se establece qué variable o valor la función devolverá como resultado. En contraste, en los procedimientos, no teníamos una estructura explícita para indicar el retorno, ya que los procedimientos no están diseñados para proporcionar valores de vuelta directamente.
Estas adiciones en la sintaxis de las funciones permiten que estas encapsulen tareas específicas y retornen resultados, ofreciendo así una mayor flexibilidad en la construcción de programas.
Ejercicio Práctico
El ejercicio propuesto consiste en desarrollar un programa que lleve a cabo una operación aritmética entre dos números. La particularidad de este ejercicio es que se utilizará una función para realizar dicha operación.
Solucionando el Ejercicio
Como es común, tras analizar cada componente del ejercicio, examinemos ahora cada una de las secciones que constituirán nuestro programa. Es importante recordar que los problemas de programación pueden abordarse de diversas maneras. Te invito a intentar resolver el ejercicio por ti mismo y después comparar tu solución con la que presentamos aquí.
Declaración de variables Globales:
En esta sección, se declara la variable global rDivision
, que se utilizará para almacenar el resultado de la división.
Real rDivision
Definición de la función CalcularDivision
:
1. Se define una función llamada CalcularDivision
que toma dos parámetros de entrada (pDivisor
y pDividendo
) de tipo entero y tiene como tipo de dato de retorno Real
.
2. Dentro de la función, se declara una variable local llamada division
de tipo Real
para almacenar el resultado de la operación.
3. Se realiza la operación de división (pDivisor / pDividendo
) y se asigna el resultado a la variable division
.
4. Finalmente, se utiliza la instrucción retorne
para devolver el valor de division
como resultado de la función.
funcion CalcularDivision(Entero pDivisor, Entero pDividendo) : Real
Real division
inicio
division <- pDivisor / pDividendo
retorne division
fin
Programa principal:
1. En el programa principal, se utiliza la función CalcularDivision
para calcular la división de 100 entre 30 y se asigna el resultado a la variable global rDivision
.
2. Se imprime en pantalla el mensaje «El resultado de la division es: » seguido del valor almacenado en rDivision
.
inicio
rDivision <- CalcularDivision(100, 30)
escriba "El resultado de la division es: "
escriba rDivision
fin
Resultado Final
Habiendo analizado minuciosamente cada componente del programa es hora de ensamblarlo por completo. A continuación, te presentamos la estructura completa del programa, integrando cada una de las partes previamente explicadas.
/* variables globales */
Real rDivision
/* funciones */
funcion CalcularDivision(Entero pDivisor, Entero pDividendo) : Real
Real division
inicio
division <- pDivisor / pDividendo
retorne division
fin
/* programa principal */
inicio
rDivision <- CalcularDivision(100, 30)
escriba "El resultado de la division es: "
escriba rDivision
fin
Analicemos las particularidades de este programa:
CalcularDivision
, especificamos que el valor a retornar es de tipo Real
. Por lo tanto, es crucial que la variable division
, que actúa como resultado de la función, esté correctamente declarada como tipo Real
.llamar
, las funciones se invocan simplemente por su nombre y se le envían lo parámetros necesarios: CalcularDivision(100, 30).Real
, este debe ser recibido en el programa principal por una variable también de tipo Real
, en este caso, la variable global rDivision
se encarga de almacenar dicho resultado: rDivision <- CalcularDivision(100, 30).Conclusión
En conclusión, hemos explorado el concepto de funciones en LPP, una herramienta que nos permite encapsular procesos específicos y obtener resultados de manera eficiente.
A diferencia de los procedimientos, las funciones ofrecen la capacidad de retornar valores directamente, lo que amplía nuestras posibilidades al diseñar y estructurar programas.
En este ejercicio, hemos aplicado una función para realizar una operación aritmética, demostrando su utilidad y simplicidad en la implementación. A medida que avanzamos en nuestro aprendizaje, es fundamental comprender tanto procedimientos como funciones, ya que ambas estructuras son pilares esenciales en el desarrollo de programas efectivos. ¡Continúa explorando y practicando para fortalecer tu habilidad en programación con LPP!
Para un mejor entendimiento, te recomiendo ver el video tutorial relacionado en este artículo. En este video, se explica de forma práctica cada uno de los conceptos y teoría explicada en este artículo. ¡Saludos!