Módulo 1: Fundamentos de Programación

Funciones: Ejecuta tareas específicas

Lección 5 de 33 del Curso Roadmap Learning Laravel

Duración: 1 hora
Nivel: Principiante (requiere conocimientos de variables, condicionales y bucles, como en Lecciones 1-4)
Objetivo: Comprender cómo definir funciones, usar parámetros y retornar valores en pseudocódigo con PSeInt, aplicando estos conceptos en programas prácticos.
Materiales necesarios: Computadora con PSeInt instalado (descarga gratuita desde pseint.sourceforge.net). Alternativa: Papel o editor de texto para escribir pseudocódigo si no puedes usar PSeInt.
Nota: Usamos PSeInt para mantener la coherencia, con una sintaxis en español que es directamente transferable a PHP (base de Laravel).

¿Qué son las funciones? (10 minutos)

Explicación:

Una función es un bloque de código que realiza una tarea específica y puede ser reutilizado en diferentes partes de un programa. Las funciones hacen el código más organizado, legible y fácil de mantener. Por ejemplo, en lugar de escribir varias veces el código para calcular un promedio, defines una función y la llamas cuando la necesites.

Características de una función:

  • Nombre: Identifica la función (por ejemplo, CalcularPromedio).
  • Parámetros: Datos que la función recibe para trabajar (opcionales).
  • Retorno: Valor que la función devuelve al programa (opcional).
  • Cuerpo: Las instrucciones que ejecuta la función.

Analogía: Una función es como una receta de cocina. La defines una vez (ingredientes y pasos) y la usas cada vez que quieras preparar el plato.

Punto clave: En Laravel, usarás funciones (o métodos) para tareas repetitivas, como validar un formulario o procesar datos.

Actividad rápida (2 minutos):

Piensa en una tarea repetitiva que podrías convertir en una función (por ejemplo, saludar a alguien). Escribe en papel qué datos necesitaría (parámetros) y qué devolvería. Ejemplo:

  • Función: Saludar
  • Parámetro: Nombre de la persona
  • Retorno: "Hola, [nombre]"

Definir funciones en PSeInt (15 minutos)

Explicación:

En PSeInt, las funciones se definen como subprocesos o subalgoritmos, que pueden recibir parámetros y devolver valores. Hay dos tipos principales:

  • Subprocesos: Ejecutan acciones sin devolver un valor (como mostrar un mensaje).
  • Funciones: Devuelven un valor que el programa puede usar (como un cálculo).

Sintaxis básica de un subproceso (sin retorno):

text

SubProceso nombreFuncion(param1, param2)
    // Instrucciones
FinSubProceso

Sintaxis de una función (con retorno):

text

Funcion resultado <- nombreFuncion(param1, param2)
    // Instrucciones
    resultado <- valor
FinFuncion

Llamar una función: Usa Llamar nombreFuncion(valor1, valor2) para subprocesos o variable <- nombreFuncion(valor1, valor2) para funciones.

Punto clave: Las funciones organizan el código en bloques reutilizables, algo que harás constantemente en Laravel con métodos y controladores.

Ejemplo simple:
Subproceso que muestra un mensaje:

text

Algoritmo EjemploSubproceso
    SubProceso MostrarMensaje()
        Escribir "¡Hola desde la función!"
    FinSubProceso
    
    // Llamar la función
    Llamar MostrarMensaje()
FinAlgoritmo

Salida:

text

¡Hola desde la función!

Actividad rápida (3 minutos):

Escribe en papel un subproceso que muestre "¡Bienvenido!" sin parámetros. Solución sugerida:

text

SubProceso Saludar()
    Escribir "¡Bienvenido!"
FinSubProceso

Funciones con parámetros y retorno (20 minutos)

Explicación:

Las funciones más útiles reciben parámetros (datos de entrada) y devuelven un valor. Esto permite que la función sea flexible y produzca resultados que el programa puede usar.

Ejemplo práctico (como pide la lección):

Función que calcula el cuadrado de un número:

text

Algoritmo CalcularCuadrado
    // Definir la función
    Funcion resultado <- Cuadrado(numero)
        Definir resultado Como Entero
        resultado <- numero * numero
    FinFuncion
    
    // Programa principal
    Definir num Como Entero
    Definir res Como Entero
    
    Escribir "Ingrese un número: "
    Leer num
    
    res <- Cuadrado(num)
    Escribir "El cuadrado de ", num, " es: ", res
FinAlgoritmo

Cómo funciona:

  1. La función Cuadrado recibe un parámetro numero.
  2. Calcula numero * numero y lo asigna a resultado.
  3. El programa principal pide un número, llama a Cuadrado y muestra el resultado.

Cómo ejecutarlo:

  1. Abre PSeInt.
  2. Copia el código en un nuevo archivo.
  3. Ejecuta con F9.
  4. Ingresa un número (por ejemplo, 4).

Salida de ejemplo:

  • Entrada: 4
  • Salida: El cuadrado de 4 es: 16

Punto clave: Las funciones con retorno son ideales para cálculos reutilizables, como los que usarás en Laravel para procesar datos (por ejemplo, calcular precios con impuestos).

Actividad rápida (3 minutos):

Modifica el programa anterior (en papel o PSeInt) para que la función calcule el cubo (numero * numero * numero). Solución sugerida:

text

Funcion resultado <- Cubo(numero)
    Definir resultado Como Entero
    resultado <- numero * numero * numero
FinFuncion

Iterar arrays con funciones (10 minutos)

Explicación:

Las funciones también pueden trabajar con arrays, combinándolas con bucles (vista en Lección 4) para procesar listas de datos.

Ejemplo práctico:

Subproceso que muestra un array de hobbies:

text

Algoritmo MostrarHobbies
    // Definir subproceso
    SubProceso ImprimirHobbies(hobbies, tam)
        Definir i Como Entero
        Para i <- 1 Hasta tam Hacer
            Escribir "Hobby ", i, ": ", hobbies[i]
        FinPara
    FinSubProceso
    
    // Programa principal
    Definir hobbies Como Caracter
    Dimension hobbies[3]
    
    hobbies[1] <- "leer"
    hobbies[2] <- "viajar"
    hobbies[3] <- "cocinar"
    
    Llamar ImprimirHobbies(hobbies, 3)
FinAlgoritmo

Cómo funciona:

  1. El subproceso ImprimirHobbies recibe un array (hobbies) y su tamaño (tam).
  2. Usa un bucle Para para mostrar cada elemento.
  3. El programa principal crea un array y llama al subproceso.

Salida:

text

Hobby 1: leer
Hobby 2: viajar
Hobby 3: cocinar

Punto clave: En Laravel, usarás funciones para procesar arrays, como mostrar listas de usuarios o productos en una página.

Actividad rápida (2 minutos):

Escribe en papel un subproceso que reciba un array de 2 colores y los muestre. Solución sugerida:

SubProceso MostrarColores(colores, tam)
    Para i <- 1 Hasta tam Hacer
        Escribir colores[i]
    FinPara
FinSubProceso

Resumen y preparación para la tarea (15 minutos)

Resumen:

  • Funciones: Bloques de código reutilizables que pueden recibir parámetros y devolver valores.
  • Subprocesos: Ejecutan acciones (sin retorno).
  • Funciones con retorno: Devuelven un resultado (como un cálculo).
  • Uso con arrays: Combinan con bucles para procesar listas.
  • En Laravel, las funciones son la base de métodos en controladores y modelos.

Preparación para la tarea:

La tarea pide una función que reciba un nombre y devuelva un saludo personalizado (por ejemplo, "Hola, Ana"). Pensemos en la lógica:

  • Define una función que reciba un parámetro (el nombre).
  • Construye un string con el saludo.
  • Devuelve el string para usarlo en el programa principal.

Pseudocódigo inicial:

text

Funcion saludo <- Saludar(nombre)
    Definir saludo Como Caracter
    saludo <- "Hola, " + nombre
FinFuncion

Tarea práctica: Escribe una función que reciba un nombre y devuelva un saludo personalizado

Instrucciones:

  1. Crea un programa en pseudocódigo con PSeInt que:
    • Defina una función Saludar que reciba un parámetro nombre (tipo Caracter).
    • Construya un saludo como "Hola, [nombre]".
    • Devuelva el saludo como un valor de tipo Caracter.
    • En el programa principal, pida al usuario un nombre, llame a la función y muestre el resultado.
  2. Usa el siguiente formato como guía:

text

Algoritmo SaludoPersonalizado
    // Definir la función
    Funcion saludo <- Saludar(nombre)
        Definir saludo Como Caracter
        saludo <- "Hola, " + nombre
    FinFuncion
    
    // Programa principal
    Definir nombreUsuario Como Caracter
    Definir resultado Como Caracter
    
    Escribir "Ingrese su nombre: "
    Leer nombreUsuario
    
    resultado <- Saludar(nombreUsuario)
    Escribir resultado
FinAlgoritmo
  1. Ejecuta el programa:
    • Copia el código en PSeInt y ejecuta con F9.
    • Ingresa un nombre (por ejemplo, "Juan").
    • Verifica la salida.
    • Si no usas PSeInt, escribe el pseudocódigo en papel o un editor, asegurándote de que la lógica sea correcta.

Ejemplo de solución esperada:

El código anterior es funcional. Si lo ejecutas:

  • Entrada: Juan
  • Salida: Hola, Juan
  • Entrada: María
  • Salida: Hola, María

Tiempo estimado: 15-20 minutos (puedes hacerlo después de la lección).
Entregable: Pseudocódigo funcional que genere un saludo personalizado. Puedes compartir el código o describirlo para que lo revise.

Consejo: Experimenta con diferentes saludos (por ejemplo, "Bienvenido, [nombre]") o añade un parámetro extra (como un título: "Hola, Sr. [nombre]").

V Examen

1. ¿Qué es una función en programación?

2. En PSeInt, ¿cómo se define una función que devuelve un valor?

3. ¿Qué palabra clave en PSeInt indica que una función devuelve un valor?

4. En el ejemplo de la lección, ¿qué devuelve la función Cuadrado si se le pasa el número 3?

5. ¿Cómo se llama una función en PSeInt que devuelve un valor?

6. En la tarea, ¿qué tipo de dato devuelve la función Saludar?

7. ¿Qué hace el siguiente código en PSeInt? Funcion res <- Doble(n) res <- n * 2 FinFuncion

8. En PSeInt, ¿cómo defines un subproceso que no devuelve un valor?

9. En la tarea, si el usuario ingresa 'Ana', ¿qué devuelve la función Saludar?

10. ¿Qué falta en este código de PSeInt? Funcion res <- Sumar(a, b) res <- a + b

© Copyright Cursos Laravel :: 2025 Términos y condiciones