Portugol – Função vs. Procedimento
Gabarito: letra D. A principal diferença entre função e procedimento em algoritmos (e na maioria das linguagens, incluindo Portugol/VisuAlg) é que funções retornam um valor após sua execução, enquanto procedimentos executam ações sem devolver nenhum valor ao chamador. Esse é um conceito fundamental de programação estruturada.
Alternativa A — ❌ Incorreta
Afirma que funções são mais rápidas que procedimentos. Não há relação de velocidade intrínseca entre os dois; a diferença é semântica (retorno de valor), não de desempenho.
Alternativa B — ❌ Incorreta
Afirma que procedimentos podem receber parâmetros, mas funções trabalham apenas com variáveis globais. Na verdade, ambos podem receber parâmetros de entrada; a diferença está no retorno.
Alternativa C — ❌ Incorreta
Afirma que procedimentos são usados apenas para entrada/saída e funções apenas para cálculos. Embora seja comum usar funções para cálculos e procedimentos para ações como leitura/escrita, não há restrição: funções podem realizar cálculos complexos e procedimentos podem executar qualquer bloco de ações.
Alternativa D — ✅ Correta ⟵ GABARITO
Exata definição: funções retornam um valor (por exemplo, um número, texto, booleano) e podem ser usadas em expressões; procedimentos realizam tarefas e não retornam valor algum.
Alternativa E — ❌ Incorreta
Afirma que ambas têm o mesmo propósito, diferindo apenas na declaração/nomenclatura. Na verdade, o propósito é diferente: uma retorna valor, a outra não. A declaração também é diferente (função usa funcao e um tipo de retorno, procedimento usa procedimento e não tem tipo), mas a diferença essencial é conceitual.
Gabarito: letra D.