INCLUSÃO ORDENADA
program inclui_ordenado;
uses crt;
type carro = record
placa : string
marca : string
ano : integer
end;
...
begin
read(detran, carros);
if(carros.placa=placa) then
begin
achou := true;
i := k+2;
end //fim do if
else
begin
if(placa...
write(detran, carros);
writeln(‘Carro Incluído’);
end; //fim do else
end; //fim do else
end; //fim do else
close(detran);
...
Upcoming SlideShare
Loading in...5
×

Algoritmos - Inclusão Ordenada em Arquivos

40

Published on

Algoritmos - Inclusão Ordenada em Arquivos

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
40
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Algoritmos - Inclusão Ordenada em Arquivos"

  1. 1. INCLUSÃO ORDENADA program inclui_ordenado; uses crt; type carro = record placa : string marca : string ano : integer end; frota = file of carro; var detran : frota; carros : carro; placa : string; marca : string; p, ano, k, i, posicao : integer; achou : boolean; begin clrscr; assign(detran, ‘carros.dat’); reset(detran); k := filesize(detran); writeln(‘digite a placa a ser incluída’); readln(placa); writeln(‘digite a marca a ser incluída’); readln(marca); writeln(‘digite o ano a ser incluído’); readln(ano); while( (ano<0) or (ano>2012) ) do readln(ano); //fim do while if(k=0) then begin carros.placa := placa; carros.marca := marca; carros.ano := ano; write(detran, carros); writeln(‘carro incluído’); end //fim do if else begin i := 0; achou := false; posicao := 0; reset(detran); while(i<=(k-1)) do
  2. 2. begin read(detran, carros); if(carros.placa=placa) then begin achou := true; i := k+2; end //fim do if else begin if(placa<carros.placa) then begin posicao := filepos(detran)-1; i := k+2; end //fim do if else begin i := i+1; seek(detran, i); end; //fim do else end; //fim do else end; //fim do while if(achou=true) then begin writeln(‘Este carro já está cadastrado’); end //fim do if else begin if(i=filesize(detran)) then begin seek(detran, filesize(detran)); carros.placa := placa; carros.marca := marca; carros.ano := ano; write(detran, carros); writeln(‘Carro Incluído’); end //fim do if else begin p := filesize(detran)-1; while(p>=posicao) do begin seek(detran, p); read(detran, carros); write(detran, carros); p := p-1; end; //fim do if seek(detran, posicao); carros.placa := placa; carros.marca := marca; carros.ano := ano;
  3. 3. write(detran, carros); writeln(‘Carro Incluído’); end; //fim do else end; //fim do else end; //fim do else close(detran); readkey; end. //fim do arquivo

×