Exemplo de um ficheiro do tipo definido pelo programador:
Program estacionamento;
type popo=record
marca:string;
matricula:string;
tempo:integer;
tipo:string;
end;
var fich: file of popo;
i,n,cont,maior,op:integer;
mat,matri:string;
parque:popo;
procedure criar_ficheiro;
begin
assign(fich,'estacionar');
rewrite(fich);
end;
procedure dados;
begin
reset(fich);
writeln('Quantos ve¡culos?');
readln(n);
seek(fich, filesize(fich));
for i:=1 to n do
begin
writeln('Introduza a marca do ve¡culo');
Readln(parque.marca);
Writeln('Introduza a matr¡cula do ve¡culo');
readln(parque.matricula);
writeln('Tempo de estacionamento');
readln(parque.tempo);
writeln('Introduza o tipo de ve¡culo - ligeiro, pesado, moto');
readln(parque.tipo);
Writeln('*************************************');
writeln('*************************************');
write(fich,parque);
end;
close(fich);
end;
procedure listar;
begin
reset(fich);
cont:=0;
If filesize(fich)=0 then
Write('NÆo h registos no ficheiro')
Else
Begin
while not eof (fich) do
begin
read(fich,parque);
Writeln('Matricula: ',parque.matricula);
Writeln('Tempo de estacionamento: ', parque.tempo);
Writeln('Tipo de veiculo: ', parque.tipo);
writeln('****************************************');
writeln('****************************************');
cont:=cont+parque.tempo;
end;
writeln('Tempo m‚dio: ', cont/filesize(fich));
seek(fich,0);
maior:=parque.tempo;
mat:=parque.matricula;
while not eof (fich) do
begin
if maior<parque.tempo then
begin
maior:=parque.tempo;
mat:=parque.matricula;
end;
end;
writeln('Autom¢vel com mais tempo:',mat,'Tempo= ',maior);
end;
close(fich);
end;
procedure alterar;
begin
writeln('Introduza a matr¡cula a alterar dados');
read(matri);
reset(fich);
seek(fich,0);
while not eof (fich) do
begin
if parque.matricula=matri then
begin
Writeln('MARCA');
readln(parque.marca);
writeln('Matr¡cula');
readln(parque.matricula);
writeln('Tempo estacionado');
readln(parque.tempo);
write(fich,parque);
end
else
writeln('Matr¡cula nÆo encontrada');
end;
close(fich);
end;
procedure relatorio;
begin
reset(fich);
while not eof (fich) do
begin
read(fich, parque);
if parque.tipo='moto' then
begin
Writeln('Matr¡cula: ', parque.matricula);
writeln('Tempo: ', parque.tempo);
writeln('Valor pago: ', (0.04*parque.tempo)*0.2);
writeln('*********************************************');
writeln('*********************************************');
end;
if parque.tipo='ligeiro' then
begin
Writeln('Matrícula: ', parque.matricula);
writeln('Tempo: ', parque.tempo);
writeln('Valor pago: ', (0.08*parque.tempo)*0.2);
writeln('*********************************************');
writeln('*********************************************');
end;
if parque.tipo='pesado' then
begin
Writeln('Matrícula: ', parque.matricula);
writeln('Tempo: ', parque.tempo);
writeln('Valor pago: ', (0.1*parque.tempo)*0.2);
writeln('*********************************************');
writeln('*********************************************');
end;
end;
close(fich);
end;
procedure apagar;
begin
rewrite(fich);
end;
Begin
repeat
writeln('Escolha uma das opções');
Writeln('*1-Criar ficheiro');
Writeln('*2-Introduzir registos');
writeln('*3-Apresentar dados');
writeln('*4-Alterar dados');
writeln('*5-Relat¢rio de contas');
writeln('*6-Limpar dados');
writeln('*7-Sair');
readln(op);
case op of
1:criar_ficheiro;
2:dados;
3:listar;
4:alterar;
5:relatorio;
6:apagar;
end;
until(op=7);
End.
Exemplo de um ficheiro do tipo texto:
Program Ficheiro_texto_1;
var F1, F2: Text;
linha, nome:string;
begin
assign(F1,'TESTE1.txt');
rewrite(F1);
write(F1,'ISTO UM TESTE COM');
write(F1,'FICHEIRO DE TEXTO');
write(F1,'ESCREVA MAIS...');
CLOSE(F1);
Reset(F1);
While not Eof (f1) do
begin
readln (f1,linha);
writeln(linha);
end;
close(f1);
writeln('Escvreva um nome de pessoa');
readln(nome);
append(f1);
write(f1,nome);
close(f1);
reset(f1);
while not Eof(f1)do
begin
readln(f1,linha,nome);
Writeln(nome);
Writeln(linha);
end;
close(f1);
assign (F2,'Teste2.txt');
rewrite(f2);
while not eof (f1)do
begin
readln(F1,linha);
writeln(F2,linha);
end;
while not eof (f2)do
begin
readln(F2,linha);
write(linha);
end;
end.
quinta-feira, 29 de novembro de 2012
sexta-feira, 16 de novembro de 2012
Ficheiros
O que são ficheiros?
Um Programa Pascal pode comunicar com um ou vários
Ficheiros, tanto para a Leitura de Dados, como para a Escrita de Resultados.
Os Ficheiros são exteriores ao Programa podendo existir, de
forma permanente, antes e depois da sua execução.
Como declarar
um ficheiro de tipo texto:
var ficheiro:texto;
assign(ficheiro,’texto1.txt’);
rewrite(ficheiro);
write/writeln(ficheiro,dado);
close(ficheiro);
reset(ficheiro);
read/readln(ficheiro,dado);
append(ficheiro,dado);
Como
declarar um ficheiro do tipo definido pelo programador:
Type a=record
b:string;
end;
var fichg:a;
ficheiro:file of fich;
assign(ficheiro,’registos.dat’);
rewrite(ficheiro);
write(ficheiro,dado);
close(ficheiro);
reset(ficheiro);
read(ficheiro,dado);
Reflexão:
Reflexão:
Neste módulo aprendi o conceito de ficheiros e a declarar ficheiros do tipo texto e ficheiros definidos pelo programador. Aprendi as diferenças entre cada um deles.
Uma das características dos ficheiros dos ficheiros do tipo texto é que depois do ficheiro estar criado podemos ver o seu conteúdo e nos ficheiros definidos pelo programador a informação fica encriptada.
Subscrever:
Comentários (Atom)
