{ File: sequenza.pas }

program Sequenza;
{ Legge una sequenza di 0 e 1 da un file e calcola la lunghezza della piu`
  lunga sequenza di 0 presente. }

var
  bit     : char;       { carattere letto
                          N.B. Se si dichiarasse bit di tipo integer, allora
                               nel file di input i bit dovrebbero essere
                               separati da spazi bianchi o a capo. }
  cont    : integer;    { contatore corrente }
  maxlung : integer;    { lunghezza massima }
  leggi   : text;
  scrivi  : text;

begin
  assign(leggi, 'SEQUENZA.DAT');
  reset(leggi);
  cont := 0;
  maxlung := 0;
  repeat
    read(leggi, bit);
    if bit = '0' then  { bit e` un carattere, e quindi va confrontato con il
                         carattere '0' e non con il numero 0 }
    begin
      cont := cont + 1;
      if cont > maxlung  then maxlung := cont  { si aggiorna o no maxlung }
    end
    else
      cont := 0    { si azzera il contatore }
  until eof(leggi);
  close (leggi);
  assign(scrivi, 'RISUL.DAT');
  rewrite(scrivi);
  writeln (scrivi, 'la max lunghezza di una stringa di zeri = ');
  writeln(scrivi, maxlung);
  close(scrivi)
end. { Sequenza }