Assumindo as seguintes declarações globais, onde n_elem é o número de elementos de um vector do tipo lista:
a) Escrever um procedimento Le_Vector que leia ne elementos do tipo inteiro de um vector v. O cabeçalho do procedimento pretendido é o seguinte:
PROCEDURE Le_Vector( ne: Integer; VAR v: lista );
b) Escrever umprocedimento Escreve_Vector que liste no écran os primeiros ne elementos do vector v. O cabeçalho do procedimento pretendido é o seguinte:
PROCEDURE Escreve_Vector( ne: Integer; v: lista );
c) Escrever o programa completo que peça ao utilizador o número de elementos do vector (n_elem), e utilize os procedimentos definidos anteriormente para preencher o vector. O utilizador poderá listar os elementos do vector que quiser, no máximo de n_elem.
a)
Procedure Le_Vector( ne:Integer; Var v:Lista );
Var i: Integer;
Begin
For i:=1 To ne Do Begin
Write('V[',i,']=');
ReadLn(v[i]);
End;
End;
b)
Procedure Escreve_Vector( ne:Integer; v:Lista );
Var i: Integer;
Begin
For i:=1 To ne Do Begin
Write('V[',i,']=');
WriteLn(v[i]);
End;
End;
c)
Program xpto;
Const
indice_inf = 1;
indice_sup = 100;
Type
lista = Array[indice_inf..indice_sup] Of Integer;
Var
n_elem, n_elem_listar: Integer;
v: Lista;
Procedure Le_Vector( ne:Integer; Var v:Lista );
Var i: Integer;
Begin
For i:=1 To ne Do Begin
Write('V[',i,']=');
ReadLn(v[i]);
End;
End;
Procedure Escreve_Vector( ne:Integer; v:Lista );
Var i: Integer;
Begin
For i:=1 To ne Do Begin
Write('V[',i,']=');
WriteLn(v[i]);
End;
End;
Begin
{Nº de elementos do vector}
WriteLn('Qual o nº de elementos do vector? [', indice_inf, ' .. ', indice_sup, ']' );
Repeat
ReadLn(n_elem);
Until (n_elem>=indice_inf) And (n_elem<=indice_sup);
{Preencher o vector}
Le_Vector( n_elem, v );
{Nº de elementos do vector a mostrar}
WriteLn('Qual o nº de elementos que quer listar? [', 1, ' .. ', n_elem, ']' );
Repeat
ReadLn(n_elem_listar);
Until (n_elem_listar>=1) And (n_elem_listar<=n_elem);
Escreve_Vector( n_elem_listar, v );
End.
Comentários para: Nuno Castro