Laboratório 6
Primeiro semestre de 2002
O objetivo deste laboratório é explorar as diferenças
entre a passagem de parâmetros por referência (utilizando var) e
por valor (sem utilizar var) em Pascal.
1. Procedimento troca
Implemente o procedimento troca e um programa principal que o
invoque. Faça testes com var e sem var na declaração do
procedimento.
program teste_troca;
procedure troca (var x, y: integer);
var ...
begin
...
end;
var
a, b: integer;
begin
write('a: '); read(a);
write('b: '); read(b);
troca(a,b);
write('a: ', a, 'b: ', b);
end.
Resolução
Teste sem var
2. Procedimento Ordena
De maneira análoga ao que foi feito no item 1, escreva um procedimento
que ordena quatro valores e um programa principal que invoque este
procedimento. Você deve utilizar o procedimento troca para
fazer a ordenação. Além disso, você deve fazer testes com e sem
var na declaração dos procedimentos.
procedure ordena (var a, b, c, d: integer);
Resolução
3. Procedimento max_min
Utilizando o procedimento ordena, escreva um procedimento que
retorna o valor máximo e o valor mínimo entre quatro valores:
procedure max_min (a, b, c, d: integer; var max, min: integer);
Se você fizer uma chamada no programa principal da seguinte forma:
max_min (x, y, w, z, max, min);
os valores das variáveis x, y, w, z serão alterados devido à
utilização do procedimento ordena?
Resolução
Islene Calciolari Garcia