zadach290.PAS

{* Задача 290 *}

Unit ZADACH290;
Interface
Implementation
Begin
 writeln('Дан файл, содержащий текст на русском языке. Определить, сколько раз встречается в нем самое длинное слово.');
End.

Program zadach290;

Uses zadach290.pas; {* Эту строку можно удалить *}
Const {* Предопределенные *}
  pr = [' ''.'', ''?''!'':''('')',#13];
Var {* Необходимые переменные *}
  s      : char;
  txt    : text;
  sl     : String;
  sl_max : String;
  n      : integer;
Begin
  assign(txt, 'c:txt.txt'); {* Связывание txt с файлом 'c:txt.txt' *}
  reset(txt); {* Чтение из файла через переменную txt *}
  sl_max := '';
  While Not(EOF(txt)) Do
  Begin
    read(txt, s);
    If Not(s In pr) Then
      sl := sl + s
    Else Begin
      If length(sl) > length(sl_max) Then
      Begin
        sl_max := sl;
        n := 0;
      End;
    If sl = sl_max Then
      n := n + 1;
    sl := '';
  End;
  
End;
  close (txt); {* Закрыть файл txt *}
  writeln('Наиболее длинное слово "', sl_max, '", ');
  writeln('встречается в тексте ', n, ' раз');
  readln
  End...