Escolar Documentos
Profissional Documentos
Cultura Documentos
e Funções
Procedimentos e Funções
Tipos de Sub-Rotinas
End.
Unidades do Turbo Pascal
Criar e guardar uma unidade idêntica em Pascal
Begin
BarraHorizontal (10,2,20);
BarraVertical (10,2,5);
BarraHorizontal (10,6,20);
BarraVertical (30,2,5);
End.
Programa Principal
1 - Apresentar um menu de selecção com cinco opções:
1 – Adição
2 – Subtracção
3 – Multiplicação
4 – Divisão
5 – Fim de Programa
2 - Ao ser seleccionado um valor, a rotina correspondente
deverá ser executada;
3 - Ao se escolher o valor 5, o programa deverá ser encerrado.
Procedimentos e Funções
UTILIZAÇÃO DE FUNCTIONS
Sintaxe:
Sintaxe
function <nome> [(parâmetros)] : <tipo>;
var <variáveis>
begin
<instruções>
end;
Variáveis Globais
E
Variáveis Locais
Procedimentos e Funções
Variáveis Globais
Uma variável é considerada global se é
declarada no início dum programa escrito em
Pascal. Pode ser utilizada por qualquer sub-
rotina subordinada. Este tipo de variável passa
a ser visível em todas as sub-rotinas.
Procedimentos e Funções
Variáveis Locais
Uma variável é considerada local se é
declarada dentro de uma subrotina sendo
somente válida dentro da rotina à qual está
declarada. As restantes sub-rotinas e o
programa principal não podem fazer uso
daquelas variáveis porque não visualizam a
sua existência.
Procedimentos e Funções
Consideremos os seguintes exemplos,
1º exemplo 1 - sem uso de sub-rotina 2º exemplo
program TROCA1; 2 - com sub-rotina, fazendo uso do program TROCA2;
var conceito de variável global e local: var
X : integer; A, B : integer;
A : integer; Apesar de o 2º exemplo ser maior que o procedure TROCA;
B : integer; 1º em número de linhas, possibilita var
begin economia de espaço em memória, pois X : integer;
readln(A); o espaço a ser utilizado pela variável X begin
readln(B); é somente solicitado quando a sub- X := A;
X := A; rotina TROCA é executada. A := B;
A := B; Terminada a execução, a variável X é B := X;
B := X; liberta, ficando em uso somente os end;
writeln(A); espaços reservados para as variáveis begin
writeln(B); globais A e B. readln(A); readln(B);
end. Troca;
writeln(A); writeln(B);
end.
Neste Caso:
Dependendo da forma como se trabalha com as variáveis, é possível
economizar espaço em memória, tornando o programa mais eficiente.
Procedimentos e Funções
PASSAGEM DE PARÂMETROS
A passagem de parâmetros ocorre quando é feita
uma substituição dos parâmetros formais pelos
reais no momento da execução da sub-rotina.
Por Valor
Por Referência
Procedimentos e Funções
PASSAGEM DE PARAMETROS POR VALOR
Caracteriza-se pela não-alteração do valor do
parâmetro real quando o parâmetro formal é
manipulado dentro da sub-rotina.
O valor passado pelo parâmetro real é copiado
para o parâmetro formal, que no caso assume o
papel de variável local da sub-rotina.
Qualquer modificação que ocorra na variável local
da sub-rotina não afectará o valor do parâmetro
real correspondente, ou seja, o processamento é
executado somente dentro da sub-rotina, ficando
o resultado obtido "preso" dentro da sub-rotina.
Procedimentos e Funções
PASSAGEM DE PARAMETROS POR REFERÊNCIA
Caracteriza-se pela ocorrência da alteração do
valor do parâmetro real quando o parâmetro
formal é manipulado dentro da sub-rotina.
Desta forma, qualquer modificação feita no
parâmetro formal implica em alteração no
parâmetro real correspondente.
A alteração efectuada é devolvida para a rotina
“chamadora”.
Procedimentos e Funções
COMPARAÇÃO ENTRE PROCEDURES E FUNCTIONS
Function Fi (t:integer):integer;
Begin
If t<=2 then Fi:=1
else Fi := Fi(t-2)+Fi(t-1);
end;