Resultados 1 al 3 de 3

Tema: Diferencia entre función y procedimiento

  1. #1

    Predeterminado Diferencia entre función y procedimiento

    Muy buenas.
    Tengo una duda intentando comprender la diferencia entre estos dos conceptos básicos.
    Según la teoría la diferencia radica en que un procedimiento no devuelve ningún valor.
    He visto diferentes videos, leído webs, pero sigo sin enteder del todo.
    Por ejemplo;
    En el siguiente ejemplo:

    SubProceso Saludar
    Escribir "Buenos días"
    FinSubProceso


    Proceso Ejemplo
    Saludar;
    FinProceso


    Según un video, esto es un procedimiento, pero para mí, sí retorna un valor, porque al invocar a saludar, obtengo de retorno el mensaje "Buenos días".


    O en el siguiente ejemplo:

    • PROCEDIMIENTO Sumar( ENT REAL numero_1, ENT REAL numero_2, SAL REAL res )
    • INICIO
    • res <- numero_1 + numero_2;
    • RETORNAR;
    • FIN_PROCEDIMIENTO



    • ALGORITMO Principal;
    • VAR
    • REAL num1 <- 10;
    • REAL num2 <- 20;
    • REAL resultado;
    • INICIO
    • Sumar(num1, num2, resultado);
    • ESCRIBIR("El resultado es: ", resultado);
    • FIN


    En este último ejemplo se invoca al procedimiento Sumar, pero en mi opinión éste retorna un valor (res) , entonces, ¿no sería una función? .

    Gracias anticipadas por la ayuda.
    Saludos.
    Última edición por elbuscador; 18/04/2020 a las 10:53

  2. #2

    Predeterminado Re: Diferencia entre función y procedimiento

    En el procedimiento Sumar que pones de ejemplo.
    Se modifica la variable resultado, pero no está retornando ningún valor.

    A veces es más fácil ver un ejemplo, que explicarlo.
    Voy a convertir el procedimiento Suma, en una función.

    No tengo ni idea de PSeint, pero vamos, el pseudocódigo se entiende con leerlo y seguro que percibes la diferencia.
    Marco en rojo, la principal diferencia

    FUNCION Sumar( ENT REAL numero_1, ENT REAL numero_2 )
    INICIO
    RETORNAR numero_1 + numero_2;
    FIN_FUNCION


    Fíjate que la función devuelve la suma de esos números. No está modificando ninguna variable, hace un cómputo, y lo retorna.
    Además, solo recibe dos parámetros, los números que ha de sumar. En el procedimiento recibía una tercera variable para modificar su valor.
    Aquí no modificamos, retornamos.
    Y eso que retorna, luego hay que recogerlo en el programa principal

    ALGORITMO Principal;
    VAR
    REAL num1 <- 10;
    REAL num2 <- 20;
    REAL resultado;
    INICIO
    resultado <- Sumar(num1, num2);
    ESCRIBIR("El resultado es: ", resultado);
    FIN


    Seguro que ahora te queda más clara la diferencia.
    Última edición por Kabuto; 18/04/2020 a las 20:55
    • Ryzen 3700X
    • MSI MPG X570 Gaming Edge Wifi
    • Corsair RGB 3200 2x8GB DDR4
    • KFA2 GTX1070

  3. #3

    Predeterminado Re: Diferencia entre función y procedimiento

    Bien explicado
    Última edición por Hidrator; 02/05/2020 a las 18:11 Razón: no procede

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •