{ 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 }