Una "función", al igual que una función matemática, recibe uno o varios valores de "entrada" y regresa una "salida" mientras que un "procedimiento" recibe una entrada y no genera alguna salida aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si estos se han declarado por referencia (ver formas de pasar argumentos a una función o procedimiento).