LPP, Funciones

En este artículo, exploramos cómo las funciones, similares a los procedimientos, pero con la capacidad de retornar valores, se convierten en herramientas esenciales para la construcción de programas efectivos. A través de un ejercicio práctico, aprenderemos a implementar funciones y comprender su papel fundamental en el diseño estructurado de programas.

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:

Los procedimientos se utilizan para ejecutar tareas sin necesidad de obtener un valor como respuesta, aunque pueden retornar resultados mediante parámetros de salida.
En contraste, las funciones están diseñadas para tareas donde se requiere un resultado específico, permitiendo el retorno directo de un valor o a través de parámetros de salida.

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.

Ver este vídeo en YouTube.
Amigo! Recuerda ver estos vídeos en PANTALLA COMPLETA y preferiblemente en formato HD para ver correctamente los detalles, Gracias.

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
funcion: Palabra clave que indica que estamos declarando una función.
[nombre_funcion]: Nombre que asignamos a la función para identificarla.
([parametros]): Parámetros de entrada y salida que la función puede recibir.
: tipo_dato_retorna: Tipo de dato que la función devuelve como resultado.
[variables_locales]: Espacio para declarar variables locales específicas de la función.
inicio: Marca el comienzo del bloque de instrucciones de la función.
[instrucciones]: Aquí se incluyen las operaciones o tareas que realiza la función.
retorne [variable]: Indica qué variable o valor la función devuelve como resultado.
fin: Marca el final del bloque de la función.

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_retorna 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:

En primer lugar, al declarar la función 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.
Además, a diferencia de los procedimientos que vimos en el artículo anterior, donde se invocan con la palabra reservada llamar, las funciones se invocan simplemente por su nombre y se le envían lo parámetros necesarios: CalcularDivision(100, 30).
Por último, dado que la función retorna un valor de tipo 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!

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

42 − 34 =

ANUNCIOS Y PATROCINIOS