¿Qué es una función?
Una función es un bloque de código que realiza una tarea específica.
Está diseñada para ser reutilizable y modular, facilitando la organización y claridad del código.
Una función puede aceptar datos (argumentos) y devolver un resultado (retorno).
Para comprender mejor la idea de una función, imagínala como una receta de cocina.
Toma ingredientes (argumentos), los procesa (realiza operaciones), y te devuelve un plato terminado (retorno).
Puedes usar la misma receta varias veces para hacer diferentes platos (reutilización).
Las funciones permiten dividir el programa en partes más pequeñas y manejables, lo cual facilita la comprensión y mantenimiento del código.
Promueven la reutilización de código, mejoran la estructura del programa y permiten abstraer detalles complejos para hacer el código más claro y eficiente.
Partes de una función
Cuerpo
El cuerpo de la función es donde se encuentran las instrucciones específicas que realiza la tarea deseada. Aquí es donde se manipulan los datos, se realizan cálculos o se ejecutan las operaciones necesarias para alcanzar el resultado esperado.
Argumentos
Retorno
Llamada
Tipos de funciones
En programación, existen varios tipos de funciones, cada una diseñada para cumplir diferentes propósitos dentro de un programa. Cada tipo de función tiene características específicas que las hacen adecuadas para diversas situaciones.
Las funciones de procedimiento se utilizan principalmente para ejecutar acciones específicas sin devolver valores, como imprimir mensajes o modificar variables globales.
Por otro lado, las funciones propiamente dichas o con valor de retorno son esenciales para realizar cálculos complejos o procesamientos de datos, devolviendo resultados que pueden ser utilizados posteriormente en el programa.
Funciones de procedimiento
Un procedimiento es un bloque de código que agrupa instrucciones para realizar una tarea específica dentro de un programa. Estos procedimientos pueden recibir argumentos o no, pero no devuelven ningún valor al finalizar su ejecución.
Son útiles para organizar y reutilizar código que realiza una acción sin necesidad de retornar un resultado.
Estructura sin argumentos | Ejemplo |
Funcion Saludar Escribir "Muy buenos días"; Fin Funcion Algoritmo saludo_exterior
Saludar(); Saludar(); Saludar();
FinAlgoritmo |
Estructura con argumentos | Ejemplo |
Funcion SaludarA ( nombre ) Escribir "Muy buenos días ", nombre; Fin Funcion Algoritmo saludo_personalizado
SaludarA("Camilo"); SaludarA("Laura"); SaludarA("José");
FinAlgoritmo |
Funciones propiamente dichas
Una función propiamente dicha es un bloque de código que realiza un cálculo o procesamiento y devuelve un valor específico como resultado. Puede recibir argumentos que se utilizan dentro de la función para realizar operaciones y luego retorna un valor del tipo especificado al finalizar su ejecución.
Estas funciones son fundamentales para encapsular lógica compleja y reutilizable dentro de un programa.
Estructura sin argumentos | Ejemplo |
Funcion resultado <- suma100 Definir resultado Como Entero; Para i <- 1 Hasta 100 Con Paso 1 Hacer resultado <- resultado + i; Fin Para FinFuncion Algoritmo llamar_operacion Escribir suma100(); FinAlgoritmo |
Estructura con argumentos | Ejemplo |
Funcion resultado <- suma ( num1, num2 ) Definir resultado Como Entero;
resultado <- num1 + num2;
Fin Funcion Algoritmo funcion_suma Escribir suma(1,2); FinAlgoritmo |
Scope en PSeint
El scope (o alcance) se refiere a la visibilidad y duración de las variables y argumentos dentro de un programa. En Pseint, el scope es importante cuando se trabajan con funciones y se definen los argumentos que estas pueden recibir.
Una variable o argumento es accesible y puede ser utilizado en un programa dependiendo de su scope. Es fundamental para entender cómo las variables interactúan entre sí y cómo afectan el comportamiento del programa en diferentes partes del mismo.
Las variables declaradas dentro de una función tienen un scope local. Esto significa que solo se pueden usar dentro de esa función.
Las variables declaradas fuera de cualquier función tienen un scope global. Pueden ser utilizadas en cualquier parte del programa, incluyendo dentro de funciones.
Cuando defines una función en Pseint, puedes pasarle argumentos de dos maneras:
Argumentos Por Valor: Esto significa que se pasa una copia del valor de la variable. Cualquier cambio que hagas dentro de la función no afecta la variable original fuera de la función.
Pasar una variable como argumento por valor la deja como scope local, ya que aún no la puedes modificar fuera del algoritmo, y por ende, no afecta a quienes la llaman.
Gráfico | Ejemplo |
Funcion cambiar ( variable Por Valor ) variable <- 70; Fin Funcion Algoritmo argumento_copia Definir variable Como Entero; variable <- 50; Escribir variable; //Imprime 50 cambiar(variable); Escribir variable; //Imprime 50 FinAlgoritmo |
Argumentos Por Referencia: En este caso, se pasa la dirección de la variable. Esto significa que si modificas el argumento dentro de la función, también cambiará el valor de la variable original fuera de la función.
Pasar una variable como argumento por referencia la deja como scope global entre quien la envió y quien la recibe, ya que las modificaciones hechas por la función que la recibe afectan a todos las que la llaman.
Gráfico | Ejemplo |
Funcion cambiar ( original Por Referencia ) original <- 70; Fin Funcion Algoritmo argumento_original Definir variable Como Entero; variable <- 50; Escribir variable; //Imprime 50 cambiar(variable); Escribir variable; //Imprime 70 FinAlgoritmo |
En resumen, las funciones son fundamentales en la programación porque permiten organizar el código de manera modular y reutilizable, mejorando significativamente su legibilidad y mantenimiento.
Al dividir el programa en funciones específicas, se facilita enormemente la tarea de identificar y corregir errores, así como de realizar modificaciones o mejoras sin afectar otras partes del código.
Cada función puede encargarse de una parte del problema, lo cual no solo hace más manejable el desarrollo, sino que también promueve una mejor estructura del código, fomentando prácticas de programación más ordenadas y eficientes.
También el scope es esencial para comprender cómo y dónde se pueden usar las variables y argumentos. Te ayuda a gestionar el comportamiento de tu programa de manera efectiva, asegurando que las variables se utilicen correctamente y se mantenga la claridad en el código.
Recuerda practicar y experimentar con funciones en tus proyectos para aprovechar al máximo su potencial en el desarrollo de software.
Blog creado por: Mauricio Monsalve Nájera