Função, procedimento e método – Diferenças

Função, procedimento e método são conceitos muitas vezes confundidos na área de desenvolvimento de software, principalmente por programadores iniciantes ou inexperientes. Mas isto é normal, já que os conceitos são muito parecidos, diferindo uns dos outros de forma muito sutil, como veremos logo a seguir.

Porém, antes de definirmos função, procedimento e método, é necessário falar um pouco sobre a importância da utilização destes em nossos programas, uma vez que facilitarão (e muito) o desenvolvimento de algoritmos mais completos e complexos.

Função, procedimento e método: Por que usar?

Acesse o canal o YouTube do blog Programação em Foco e veja a lista de vídeos que é exibida ali. Como vocês acham que o YouTube cria a lista de vídeos de um canal? Acham que o programador que fez a página repetiu o código que lista os vídeos diversas vezes para cada um dos canais? Ou será que ele fez o código uma vez e este código é acionado sempre que houver vídeos para listar?

Bom, é claro que o processo de listagem dos vídeo do YouTube é automático e já foi programado para ser daquela forma. E sim, o código que lista os vídeos para cada canal é um só e é acionado sempre que um usuário acessa determinado canal. Além disso, este código também é utilizado para quando pesquisamos um vídeo.

O que estou querendo dizer é que foi criado um código de listagem de vídeos que se repete em várias partes do site. Porém, é um único código que é chamado sempre que houver esta necessidade: “listar vídeos”. Em outras palavras, foi criada uma função, procedimento ou método que realiza tal listagem. A isto é dado o nome de modularização (divisão do programa em partes).

A modularização serve justamente para que não precisemos ficar repetindo (copiando e colando) um determinado bloco de código por todo nosso programa sempre que precisarmos dele. No caso da listagem de vídeos, por exemplo, há uma função, procedimento ou método chamado “ListarVideos com todas as linhas de código necessárias para fazer a listagem. E este módulo é chamado sempre que o site precisar exibir uma lista de vídeos.

Os módulos nos ajudam a otimizar nossos programas, principalmente para economizar linhas de código e facilitar a manutenção dos sistemas que desenvolvemos, já que é muito mais fácil corrigir um erro que esteja um só lugar do que um erro que esteja espalhado em todo o sistema (e quanto maior o sistema, pior será).

Função, procedimento e método: Definições e conceitos

Função, procedimento e método

Agora que sabemos a importância de utilizar uma função, procedimento ou método, vejamos as particularidades de cada um.

Procedimento

Um procedimento é uma sequência de instruções específicas. Criamos procedimentos quando houver a necessidade de repetir, por diversas vezes, um mesmo trecho de código em um programa. Veja o exemplo abaixo de um programa escrito em linguagem C com um procedimento recursivo que exibe um menu de opções:

Este programa mostra um menu com três opções: Cadastro, Consulta e Sair. Há uma estrutura de loop (repetição) que controla a exibição do menu. Se o usuário selecionar qualquer uma das opções disponíveis (1, 2 ou 3), uma mensagem é exibida. No caso das opções Cadastro e Consulta, após a exibição da mensagem, o programa aguarda o pressionamento de uma tecla e, por conta da condição especificada no loop, volta a executar o menu. O mesmo acontece se o usuário digitar qualquer outro número que não seja o das opções disponíveis. Finalmente, quando o usuário pressiona o número 3 (referente a opção de sair) o programa é encerrado.

Um procedimento também pode receber parâmetros. Veja:

Aqui o procedimento recebe um número capturado na função main(), verifica se o número é par ou ímpar e exibe uma mensagem.

Função

Uma função não é apenas uma sequência de instruções como os procedimento. Nós utilizamos funções quando precisamos retornar algum valor, o que é algo muito parecido com o que fazemos na matemática. Vamos ver o exemplo a seguir:

Repare que as funções possuem um tipo, assim como as variáveis. Desta forma, uma função do tipo inteiro retornará um valor do tipo inteiro. Se o retorno for atribuído a uma variável, deve ser colocado em uma variável de mesmo tipo (ou exibido diretamente como fizemos acima no printf).

Método

Um método pode ser tanto uma função quanto um procedimento. Chamamos uma função ou procedimento de método na programação orientada a objetos quando estes estão associados a um objeto ou uma classe (veja paradigmas de programação aqui). Vejamos aqui um exemplo de métodos escrito em linguagem C++ retirado do site WikiBooks (link aqui):

Neste exemplo temos uma estrutura com métodos para controlar a escrita e a leitura de dados do vetor data[10], apenas para garantir que a digitação e a leitura não ultrapassem o limite do vetor (10 posições).

Conclusão

Vimos que a utilização de funções e procedimentos trazem diversas facilidades como evitar códigos duplicados, facilitar a leitura e entendimento do código e também tornar mais simples o trabalho de manutenção e adaptação do código.

Além disso, entendemos que método é o nome que se dá a funções e procedimentos em linguagens orientadas a objetos, apenas por uma questão conceitual destas linguagens. No fundo, acabam sendo a mesma coisa.

Eric Cancellgliere

Sou analista de sistemas, programador e técnico em informática. Atuo na área de tecnologia desde 2007. Gosto de ensinar o que aprendi (e também de aprender o que ensino), afinal, compartilhar conhecimento não faz com que se crie concorrência apenas, mas sim com que possamos contar com profissionais mais qualificados no mercado.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Time limit is exhausted. Please reload CAPTCHA.