Sub-rotina: Chame-me quando precisar

Introdução

A criação e utilização de sub-rotina é uma das técnicas de programação mais antigas. Mesmo tendo suas origens em meados dos anos de 1960, a sua utilização continua sendo muito importante. No decorre deste artigo será feita uma abordagem inicial sobre sub-rotinas, além de apresentar a sintaxe e utilização das mesmo nas linguagens de programação PASCALDELPHIC/C++JAVA e PHP.

Rápida explicação:

Neste artigo serão utilizadas as linguagens de programação PASCALDELPHIC/C++JAVA e PHP por um motivo simples, mostrar para o iniciante em programação que a maioria das ideias e conceitos vistos no decorrer da aprendizagem existem em diversas linguagens de programação, sendo mais importante aprender a lógica de programação que apenas a sintaxe da linguagem escolhida, pois a sintaxe pode mudar de uma linguagem para outra, mas para ser um bom desenvolvedor é necessário entender a semântica, independente da linguagem.

Mas o leitor pode sentir-se a vontade para se concentrar apenas na linguagem que mais lhe agrade, pois o artigo foi escrito de uma maneira que permita esse olhar direcionado a apenas uma das linguagens.

Definição

As sub-rotinas são blocos de comandos que realizam tarefas específicas, em outra palavras, são conjuntos de instruções projetadas cumprir uma atividade singular. Uma analogia possível entre uma sub-rotina e um objeto do mundo real, seria compara-la a um relógio. O relógio é criado para atender uma necessidade bem específica, mostrar as horas sempre que for solicitado, e independente de quem está solicitando. Da mesma maneira uma sub-rotina deve atender uma necessidade, independente de quando, onde ou quem a solicitar.

funcao_hora

De uma forma geral, uma sub-rotina permitir abstrair muitos detalhes do programa, melhorando a legibilidade e facilitando a manutenção do código.

As sub-rotinas recebem diversos nomes dependendo da linguagem, paradigma ou da visão, alguns desses nomes são (i) sub-programas, (ii) função, (iii) procedimento, (iv) método. O nome método, em particular, é usado para designar uma sub-rotina de uma classe nas linguagens orientadas a objetos, assunto que será aprofundado em outro artigo.

Tipos de Sub-rotinas:

Existem quatro tipos bem distintos de sub-rotinas.

1º – Sub-rotina sem retorno e sem parâmetros;
2º – Sub-rotina sem retorno e com parâmetros;
3º – Sub-rotina com retorno e sem parâmetros;
4º – Sub-rotina com retorno e com parâmetros.

Obs.: Embora usados muitas vezes como sinónimos, parâmetros e argumentos têm uma diferença básica. Ao se definir uma sub-rotinas são definidos os parâmetros. Mas quando a sub-rotina é chamada, passa-se os valores como argumentos para os parâmetros.

Exemplo:

No decorrer desse artigo serão apresentados três tipos de sub-rotinas, sendo eles o 1º (primeiro), 2º (segundo) e 4º (quarto) tipos. O 3º (terceiro) tipo é uma mesclagem entre o 1º (primeiro) e 4º (quarto) tipo.

O exemplo básico que será utilizado está descrito abaixo, mas a cada novo tipo de sub-rotina haverá um refinamento no código.

Exemplo básico: Criar uma sub-rotina para calcular o fatorial de um número natural.

Sub-rotina sem retorno e sem parâmetros:

Nesse caso, a sub-rotina será chamada e já saberá qual o número natural que será utilizado para calcular o fatorial.

Sintaxe em PASCAL e DELPHI:

Utilização em PASCAL:

Utilização em DELPHI:

Sintaxe em C/C++ e JAVA:

Utilização em C/C++:

Utilização em JAVA:

Sintaxe em PHP:

Utilização em PHP:

Sub-rotina sem retorno e com parâmetros:

Nesse caso, ao chamar a sub-rotina, será passado um número natural como argumento para calcular o fatorial.

Obs.: Na sintaxe, os COLCHETES denotam uma parte opcional e as CHAVES indicam que partes podem ser repetidas indefinidamente ou omitidas completamente.

Sintaxe em PASCAL e DELPHI:

Utilização em PASCAL:

Utilização em DELPHI:

Sintaxe em C/C++ e JAVA:

Utilização em C/C++:

Utilização em JAVA:

Sintaxe em PHP:

Utilização em PHP:

Sub-rotina com retorno e com parâmetros:

Nesse caso, ao chamar a sub-rotina, será passado um número natural como argumento para calcular o fatorial. Ao terminar o calculo, a sub-rotina retornará o valor que foi calculado e este valor será atribuído a variável inteira resultado.

Obs.: Na sintaxe, os COLCHETES denotam uma parte opcional e as CHAVES indicam que partes podem ser repetidas indefinidamente ou omitidas completamente.

Sintaxe em PASCAL e DELPHI:

Utilização em PASCAL:

Utilização em DELPHI:

Sintaxe em C/C++ e JAVA:

Utilização em C/C++:

Utilização em JAVA:

Sintaxe em PHP:

Utilização em PHP:

Conclusão

As sub-rotinas são utilizadas para manter um conjunto de comandos que realizam determinadas tarefas em um único local, sempre que o desenvolvedor desejar executar a tarefa contida na sub-rotina basta fazer uma chamada a mesma. Essa técnica aumenta a legibilidade do código, facilitando futuras manutenções, sendo esse um dos grandes impulsionadores das sub-rotinas. Esse artigo apresentou os tipos de sub-rotinas, não se aprofundando em detalhes. Em artigos futuros serão apresentados exemplos mais detalhados.

Até o próximo artigo.

Assuntos relacionados:

Comando de Repetição: Iterar e reduzir

Comando FOR: A flexibilidade na sua mão

Possui mestrado em Computação Aplicada pela Universidade Estadual do Ceará (2010), especialização em Engenharia de Software pela Faculdade de Juazeiro do Norte (2010), graduação em Automática pelo Centro Federal de Educação Tecnológica do Ceará (2005). Tem experiência na área de Ciência da Computação , com ênfase em Sistemas de Computação, atuando principalmente nos seguintes temas: Desenvolvimento dos programas de computador IndSist, Store, Teacher entre outros. Desenvolvimento dos programas Mobile-Android Agenda Iterativa e Guia Cariris.Disciplinas que ministra ou ministrou no ensino superior: Linguagem de Programação, Paradigma de Programação, Estrutura de Dados, Engenharia de Software, Banco de Dados. Currículo Lattes