zadach314.PAS

{* Задача 314 *}

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

Program pas13526;

Uses zadach314.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Const {* Постоянные значения *}
  pr = [' ''.'', ''?''!'':''('')',#13];
Var {* Объявление переменных *}
  s     : char;
  txt   : text;
  slovo : String;
  i     : integer;
Begin
  clrscr; {* Стираем всё с экрана *}
  assign(txt, 'c:txt.txt'); {* Связывание txt с файлом 'c:txt.txt' *}
  reset(txt); {* Открытие файла для чтения *}
  slovo := '';
  i := 0;
  While Not(EOF(txt)) Do
  Begin
    read(txt, s);
    If ord(s) In [128..143] Then
      s := chr(ord(s) + 32);
    If ord(s) In [144..159] Then
      s := chr(ord(s) + 80);
    If Not(s In pr) Then
      slovo := slovo + s
    Else Begin
      If (slovo[1] = slovo[length(slovo)])                 And (length(slovo) > 1) Then
        i := + i + 1;
    slovo := '';
  End;
  
End;
  close (txt); {* Закрытие файла *}
  writeln('Слов, начинающихся и заканчивающихся');
  writeln('на одну букву, в файле содержится: ', i);
  readln
  End...