Turma .........
Observaes gerais:
1) Preencher os dados do cabealho do bloco de provas;
2) Preencher o cabealho da folha de questes com o nome e a turma;
3) No utilizar a folha de questes como rascunho. O rascunho, se necessrio, dever ser feito nas
folhas do caderno de prova;
4) Ao final da prova entregar ao professor ou fiscal a folha de questes e o caderno de prova;
5) Cada quesito vale 5 pontos.
1 quesito: O Dr. Zinho mantm atualizado no HD de seu computador um arquivo de cadastro de clientes
denominado ZINHO.CAD e pretende que seja criado um outro arquivo, no mesmo HD, com o
nome ZINHO.M50, correspondente aos dados dos clientes de sexo masculino que fazem 50
anos em 2011 (nascidos no ano de 1961). Pede-se:
Fazer um programa em PASCAL que leia o arquivo ZINHO.CAD e crie o arquivo solicitado
ZINHO.M50 conforme estruturas de dados abaixo:
Estrutura do registro do arquivo ZINHO.CAD
Nome
Endereo Sexo Dia Nasc. Ms Nasc. Ano nasc.
String[20] String[40] Char Integer
Integer
Integer
Est.do registro do arquivo ZINHO.M50
Nome
Endereo
String[20]
String[40]
Program Quesito1;
Type Reg1 = Record
Nome : String[20];
Endereco : String[40];
Sexo : Char;
DiaNasc, MesNasc, AnoNasc : Integer;
end;
Reg2 = Record
Nome : String[20];
Endereco : String[40];
Var
end;
Arq1 : File of Reg1; Arq2 : File of Reg2;
Cliente1 : Reg1; Cliente2 : Reg2;
CRITRIO DE CORREO:
Begin
Assign( Arq1, 'ZINHO.CAD' );
Assign( Arq2, 'ZINHO.M50' );
Reset( Arq1 ); Rewrite ( Arq2 );
1,0
1,0
1,5
1,5
Close(Arq1); Close(Arq2);
Write( 'Arquivo gravado com sucesso com o nome "ZINHO.M50"' );
End.
2 quesito: Escreva um programa em PASCAL que crie um pequeno cadastro de veculos para
aluguel em uma locadora de veculos (nmero mximo de veculos igual a 40). Armazene
os dados dos veculos em um vetor de registros com a seguinte estrutura:
CRITRIO DE CORREO:
Proc./Func. Cadastro
Proc./Func. Pesquisa
Validao de N
Chamada da Cadastro
Chamada Pesquisa
Sada do Resultado
1,5
1,5
0,5
0,5
0,5
0,5
End;
End;
PesquisaVeiculos := encontrouVeiculo;
End;
Begin
Repeat
writeln( 'n= ? '); read( n );
Until ( n > 0 ) AND ( n <= 40);
LerDados(n, vet);
Writeln('Pesquisa de veculos para locao');
Repeat
Writeln('Nmero de portas (0 para encerrar): '); Read (nPortas);
If nPortas > 0 Then
Begin
Writeln('Valor m ximo da diria: '); Read (valDiaria);
encontrou := PesquisaVeiculos( n, vet, nPortas, valDiaria);
End;
If encontrou = 0 Then
Writeln( 'Nenhum veculo com as caracterstica solicitadas foi encontrado. ' );
Until nPortas = 0;
End.