Sub-rotina

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Este artigo não cita fontes confiáveis e independentes. (desde setembro de 2013). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)

Em ciência da computação, mais especificamente no contexto da programação, uma sub-rotina (função, procedimento ou mesmo subprograma) consiste em uma porção de código que resolve um problema muito específico, parte de um problema maior (a aplicação final). O conceito de função difere da noção de procedimento, já que devolve um valor, se bem que, em algumas linguagens, esta distinção não é sequer existente; por exemplo, em C, a implementação de um procedimento é uma função do tipo void. No contexto da programação orientada a objetos, estas sub-rotinas são encapsuladas nos próprios objetos, passando a designar-se métodos.

Algumas das vantagens na utilização de sub-rotinas durante a programação são:

  • a redução de código duplicado num programa;
  • a possibilidade de reutilizar o mesmo código sem grandes alterações em outros programas;
  • a decomposição de problemas grandes em pequenas partes;
  • melhorar a interpretação visual de um programa.
  • esconder ou regular uma parte de um programa, mantendo o restante código alheio às questões internas resolvidas dentro dessa função;

As componentes de uma sub-rotina são:

  • O seu protótipo, que inclui os parâmetros que são passados à sub-rotina na altura da invocação;
  • O corpo, que contém o bloco de código que resolve o problema proposto;
  • Um possível valor de retorno, que poderá ser utilizado imediatamente a seguir à invocação da sub-rotina.

Como exemplo de compilações de sub-rotinas, a biblioteca STL da linguagem C++, que fornece ao utilizador uma série de funções e procedimentos que realizam tarefas triviais, poupando o programador da sua reimplementação.

Maurice Wilkes, Stanley Gill e David Wheeler foram considerados os inventores de sub-rotinas.