Qual é a diferença entre função e procedimento?

2 visualizações

Funções e procedimentos são blocos de código com propósitos distintos. A função, ao ser executada, sempre entrega um valor específico como resultado, permitindo seu uso em expressões e atribuições. Já o procedimento (ou sub-rotina) realiza uma série de ações, modificando dados ou executando tarefas, mas não retorna um valor diretamente. Sua principal função é alterar o estado do programa.

Feedback 0 curtidas

Funções vs. Procedimentos: Uma Distinção Essencial na Programação

Na programação, tanto funções quanto procedimentos são blocos de código reutilizáveis que agrupam tarefas relacionadas, melhorando a organização e a legibilidade do código. No entanto, existe uma diferença fundamental entre eles: o retorno de valor. Essa distinção, embora sutil, impacta significativamente a forma como são usados e o propósito que cumprem dentro de um programa.

Funções: A Busca pelo Resultado

Uma função, em sua essência, é um bloco de código projetado para realizar um cálculo ou operação específica e retornar um valor como resultado. Esse valor retornado pode ser de qualquer tipo de dado: um número, uma string, um objeto, um booleano, etc. A função recebe, opcionalmente, parâmetros de entrada, processa-os internamente e, ao final de sua execução, entrega um resultado que pode ser usado em outras partes do programa. Imagine-a como uma “máquina” que transforma entradas em uma saída específica.

Exemplo (Python):

def calcular_area_retangulo(base, altura):
  """Calcula a área de um retângulo."""
  area = base * altura
  return area

area = calcular_area_retangulo(5, 10)  # area receberá o valor 50
print(area)

Neste exemplo, a função calcular_area_retangulo recebe a base e a altura como parâmetros e retorna o cálculo da área. O valor retornado é então armazenado na variável area. A capacidade de retornar um valor permite que funções sejam integradas diretamente em expressões:

print(f"A área do retângulo é: {calcular_area_retangulo(2, 7)}") #Saída: A área do retângulo é: 14

Procedimentos (ou Sub-rotinas): Ação e Mudança de Estado

Um procedimento, também conhecido como sub-rotina ou subroutine, é um bloco de código que executa uma sequência de ações. Ao contrário de uma função, um procedimento não retorna um valor explícito. Seu objetivo principal é alterar o estado do programa, realizando tarefas como:

  • Manipulação de dados: Atualizar o valor de variáveis globais, modificar estruturas de dados, etc.
  • Interação com o usuário: Ler dados de entrada, exibir mensagens na tela, etc.
  • Efetuar operações de entrada/saída: Ler e gravar arquivos, comunicar-se com dispositivos externos, etc.

Exemplo (Python):

def exibir_mensagem(mensagem):
  """Exibe uma mensagem na tela."""
  print(mensagem)

exibir_mensagem("Olá, mundo!")

A função exibir_mensagem realiza uma ação (exibir uma mensagem), mas não retorna nenhum valor. Seu propósito é simplesmente modificar o estado do programa (exibindo a mensagem na saída padrão).

A Nuance na Prática

Em algumas linguagens de programação, a distinção entre função e procedimento pode ser menos rígida. Algumas linguagens permitem que procedimentos retornem valores, mesmo que não seja sua função primária. No entanto, a distinção conceitual permanece útil para organizar o código e facilitar sua compreensão. Priorizar o uso de funções quando um valor precisa ser calculado e procedimentos para ações que alteram o estado do programa resulta em código mais limpo, modular e manutenível. A escolha entre função e procedimento depende, portanto, do objetivo do bloco de código: retornar um valor ou realizar uma ação.