Sub-rotinas
É um bloco de código que tem uma função de executar uma tarefa específica. As sub-rotinas,
assim como as funções, servem como um atalho para um bloco de código. É uma maneira de
se evitar a repetição de código.
Sub-rotinas é comum em todas as linguagens de programação. Além do programador poder
criar suas próprias sub-rotinas, o próprio Gambas tem sub-rotinas nativas, como exemplo,
podemos citar funções matemáticas para cálculo de seno e cosseno, sub-rotinas para
transformar texto em maiúsculo, contar caracteres e etc.
Em alguns casos o ambiente de desenvolvimento escreve automaticamente as sub-rotinas um
exemplo disso é quando damos um duplo clique sobre um botão.
As vantagens se utilizar sub-rotinas são:
•
Utilizadas para melhorar a organização e redução dos códigos.
•
Poderão ser reutilizadas em várias partes do programa, evitando assim que um mesmo
código tenha que ser escrito várias vezes.
•
Facilita a manutenção do programa. Já que teremos apenas que alterar a sub-rotina e
dessa forma, todos os locais onde ela é chamada já estarão corrigidos.
A principal diferença entre uma função e uma sub-rotina está no fato de que uma função
obrigatoriamente retorna um valor, enquanto que uma sub-rotina não retorna valor algum, ou
seja, a sub-rotina apenas executa uma ação.
Uma sub-rotina é constituída por 2 partes: Cabeçalho e Corpo.
No cabeçalho definimos o nome da sub-rotina e os parâmetros que serão passados para a
mesma. Os parâmetros não são obrigatório podemos criar sub-rotinas sem eles.
No caso de ser necessário definir variáveis para receber os parâmetros de apoio, estas só
poderão ser utilizadas dentro da sub-rotina. Os valores dessas variáveis são automaticamente
eliminados quando a sub-rotina termina.
O Corpo contém o bloco de código que resolve o problema proposto.
A sintaxe completa para declarar uma sub-rotina é:
(Public|Private) Sub Nome_Sbrotina(Va_1 As Tipo, Va_2 AS Tipo, …)
… Código que
… a sub-rotina
… executa
End
Public - Esta palavra significa exatamente o mesmo que quando se define variáveis. Quando
declaramos a sub-rotina como Public, podemos chamá-la de qualquer arquivo da mesma
aplicação
Private - Determina que a sub-rotina só pode ser chamada do arquivo onde foi escrita.
Va_1 e Va_2 - São variáveis que permitem a passagem de parâmetros para a sub-rotina,
comportando-se como variáveis declaradas dentro da própria sub-rotina, quer dizer,
desaparecem ao executar o End.
Podemos passar a quantidade de parâmetros que desejarmos em uma sub-rotina, desde que
declaremos as varáveis para recebê-los.
3
Existem algumas sub-rotinas com nomes especiais no Gambas, portanto o programador não
pode usar esses nomes em suas próprias sub-rotinas.
Main: Rotina principal. Existe em todas as aplicações do Gambas, que são executadas no
modo texto, ou seja, no terminal e sem interface gráfica. Este é o ponto onde começa a
executar o programa, se não existir a sub-rotina Main, Gambas exibe uma mensagem de erro
ao tentarmos executar a aplicação, pois sem ela, o Gambas não sabe por onde começar.
Public Sub Main()
…
End
New - é executada quando um objeto é criado.
Dim Notas As New Float[5]
Free: é executada quando um objeto é destruído.
Objeto_Evento - executada automaticamente quando em um objeto ocorre um evento.
Objeto_Click(), por exemplo, é executada quando o usuário dá um clique com o botão do
mouse sobre um botão.
No capítulo apropriado trataremos especificamente destes eventos, seus significados e suas
utilidades.
Vejamos alguns exemplos para entendermos na prática como criar sub-rotinas.
Podemos observar a sub-rotina Main que utilizamos em todos os exemplos passados e
geralmente já vem declarada quando criamos um projeto de linha de comando.
Public Sub Main()
Soma_T(75, 10, 45.5)
End
O passo seguinte e declarar uma sub-rotina de nome 'Soma_T '
Public Sub Soma_T(V1 As Short, V2 AS Integer, V3 AS Float)
Print V1 + V2 + V3 '130,5
End
Mesmo que este seja um programa pouco útil, serve para demostrar a simplicidade como as
sub-rotinas funcionam.
Na sub-rotina Main existe uma chamada para executar a sub-rotina Soma_T passando como
parâmetros os valores 75, 10, 45.5. A sub-rotina Soma_T mostra no Terminal o resultado
da soma dos valores que foi passado como parâmetros, cujo resultado é 130,5.
4
Download

Sub-rotinas É um bloco de código que tem uma função