sexta-feira, 16 de novembro de 2012

Módulo 7
Ficheiros
11º GPSI


Neste módulo 7, trabalhei os programas no fre pascal onde abaixo se encontra o link para fazer o download.





Programa parque de estacionamento

program Parque_estacionamento;
type carros=record
     marca,tipo,matricula:string;
     tempo:integer;
end;
var fich:file of carros;
    auto:carros;
    escolha:integer;
procedure criacao;
begin
  assign(fich,'automoveis.txt');
  rewrite(fich);
  close(fich);
end;
procedure leitura;
begin
  reset(fich);
  seek(fich,filesize(fich));
  write('Introduza a marca do veiculo:');
  readln(auto.marca);
  write('Introduza a matricula:');
  readln(auto.matricula);
  write('Introduza o tempo de estacionamento:');
  readln(auto.tempo);
  write('Introduza tipo de veiculo:');
  readln(auto.tipo);
  write(fich,auto);
  close(fich);
end;
procedure apresentacao;
var apr:string;
    maior,soma:integer;
begin
  reset(fich);
  while not eof(fich) do
   begin
      read(fich,auto);
      write('Marca - ',auto.marca);
      write('Matricula - ',auto.matricula);
      write('Tempo de estacionamento - ',auto.tempo);
      write('Tipo de veiculo - ',auto.tipo);
      soma:=soma+auto.tempo;
   end;
   write('Tempo m‚dio = ',soma\filesize);
   maior:=0;
   while not eof(fich) do
    begin
      if(auto.tempo>maior) then
       begin
         maior:=Auto.tempo;
         apre:=auto.matricula;
       end;
    end;
    write('A matricula ',apre ,' foi quem mais tempo passou no parque');
    close(fich);
end;
procedure alterar;
var escolha:char;
    mat:string;
begin
  write('Pretende alterar algum dado?(S\N);
  readln(escolha);
  if (escolha=s) then
   begin
     reset(fich);
     read(fich,auto);
     while not eof(fich) do
      begin
        write('Introduza a matricula cujo o dado vai ser alterado');
        readln(mat);
        if mat=auto.matricula then
          begin
            write('Prentende alterar a maricula?(S\N)');
            readln(escolha);
            if (escolha=s) then
              begin
                write('Matricula :');
                realn(auto.matricula);
              end;
            write('Prentende alterar a marca?(S\N)');
            readln(escolha);
            if (escolha=s) then
              begin
                write('Marca :');
                realn(auto.marca);
              end;
            write('Prentende alterar o tempo de estacionamento?(S\N)');
            readln(escolha);
            if (escolha=s) then
              begin
                write('Tempo de estacionamento :');
                realn(auto.tempo);
              end;
            write('Prentende alterar o tipo do veiculo?(S\N)');
            readln(escolha);
            if (escolha=s) then
              begin
                write('Tipo de veiculo :');
                realn(auto.tipo);
              end;
        end;
     end;
   end;
   write(fich,auto);
   close(fich);
end;
procedure valor_pago;
var mt,lg,ps:real;
begin
  reset(fich);
  while not eof (fich) do
   begin
     read(fich.auto);
     write('Matricula: ',auto,matricula);
     write('Tipo de veiculo: ',auto,tipo);
     write('Marca: ',auto,marca);
     write('Tempo de estacionamento: ',auto,tempo);
     mt:=0.04;
     lg:=0.08;
     ps:=0.10;
     case auto.tipo of
         'moto':write('Valor pago ',mt*auto.tempo*1.2);
         'ligeiro':write('Valor pago ',lg*auto.tempo*1.2);
         'pesado':write('Valor pago ',ps*auto.tempo*1.2);
     end;
   end;
  close(fich);
end;
procedure limpar;
begin
  assign(fich,'automoveis.txt');
  rewrite(fich);
  close(fich);
end;
Begin
  repeat
    write('1- Criar');
    write('2- Introduzir');
    write('3- Apresentar tudo');
    write('4- Altera‡Æo de dados');
    write('5- Relat¢rios de contas');
    write('6- Limpar ficheiro');
    write('7- Sair');
    readln(escolha);
    case escolha of
       '1':criacao;
       '2':leitura;
       '3';apresentacao;
       '4':alterar;
       '5':valor_pago;
       '6':limpar;
    end;
  until (escolha=7);
End.

Reflexão:
este programa para mim esta muito interessante porque da para controlar carros(ligeiros ou pesados) e motos, este programa serve para controlar um parque de estacionamento.


Passos para criar ficheiros em pascal
No link acima indica todos os passos que devemos seguir. Explica passo a passo todos os processos que devemos de utilizar.



Reflexão
Neste portefólio coloquei o link do download do free pascal, porque neste modúlo implementei os meus programas.
O programa que é visivel no meu eportefolio, o importante desses programas são os ficheiros. Os ficheiros são definidos pelo o utilizador/programador.
No programa  nao senti muitas dificuldades, é um programa muito usado em serviços como nas portagens e em parques de estacionamento.
A informação que eu coloco não quer dizer que esteja toda correcta, se alguem achrar que esta mal agradecia que deixasse um comentario.
Obrigado! 


Sem comentários:

Enviar um comentário