Comparando procedimentos e funções aos métodos em JAVA
- #Java
A diferença mais explicita entre os dois, é simples, o PROCEDIMENTO não vai te dar um retorno.
Já na FUNÇÂO, essa sim nos retorna um valor, podendo ser uma string, int, object, e assim por diante.
***Mas, se sua dúvida for referente a linguagem JAVA, nela não temos procedimentos nem funções, porém temos métodos, que substitui a usabilidade de ambos, e todos os métodos em JAVA são considerados com retorno***
MÉTODOS DO TIPO VOID (sem retorno explicito)
Indica que o método não retorna nenhum valor, podendo ser comparado a um procedimento.
Exemplo:
public void getNome () {... };
MÉTODOS NÂO VOID (retornam valor)
Basta passarmos em sua criação qual o retorno esperado.
Exemplo:
public String getNome() { return "Java"; }
Percebe-se que ao trocar a palavra void, por String, agora sim, temos um retorno, neste caso do tipo texto(string).
Referência: Faculdade descomplica