Informática, pregunta formulada por pipicho, hace 1 año

semejansas y diferencias entre funcion y procedimientos

Respuestas a la pregunta

Contestado por leadymarley98
3
Una función está diseñada para devolver un valor de acuerdo al algoritmo que posea. Mientras que el procedimiento ejecuta una tarea y no necesariamente debe devolver un valor. La función SI O SI debe devolver un valor.

Ambos pueden o no recibir parámetros con los cuales usar o emplear como entrada para realizar su operación.

Como dije antes, un procedimiento no necesariamente debe devolver un valor. Puede devolverlo, siempre y cuando dicho valor sea un parámetro suministrado "por valor" y no por referencia. Es decir, que el valor a devolver ha sido conseguido y/o modificado por la ejecución del algoritmo.
Por ejemplo:

procedure Suma(a, b: integer; var var_suma: integer);

Este procedimiento recibe un parámetro por valor, en que posiblemente se devuelva el resultado suma. En lo posible, hay que descartar estos métodos.

function Suma(a,b: integer): integer;
Esta es la forma correcta.

Y como dije, una función o procedimiento no necesariamente debe tener un parámetro de entrada. Aunque es lo más común para una función. Por ejemplo en delphi nadie me impide hacer esto:

function DevolverUnValor: integer

Debo aclarar que estas posibilidades que he detallado dependerán del lenguaje. Puede que en algunos lenguajes, se exija que para una función suministrar un parámetro.

Saludos,
Otras preguntas