ZVON.PAS

{* Все звонкие согласные в алфавитном порядке *}

Unit ZVON;
Interface
Implementation
Begin
 writeln('Выписать из текстового файла TEXT.TXT все встречающиеся звонкие согласные буквы в алфавитном порядке. ');
End.

{Файл text.txt должен находиться в папке BIN}
Program bukva;

Uses ZVON.pas; {* Эту строку можно удалить *}
Uses crt, strings; {* Подключение модулей *}
Var {* Объявление переменных *}
  a  : Set Of char;
  m  : Set Of char;
  c  : char;
  fa : String;
  s  : String;
  f  : text;
  i  : integer;
  j  : integer;
Begin
  clrscr; {* Очищаем экран *}
  m := ['б''в''г''д''ж''з''л''м''н''р'];
  a := [];
  writeln; {* Вывод пустой строки *}
  writeln('Ваш текст запишите в файл text.txt. И вводите это имя файла');
  write('Введите имя файла => ');
  readln(fa);
  writeln; {* Вывод пустой строки *}
  fa := 'text.txt';
  writeln; {* Пустая строка *}
  assign(f, fa); {* Связывание f с файлом fa *}
  reset(f); {* Чтение из файла через переменную f *}
  j := 1;
  i := 1;
  writeln('Список всех звонких согласных из файла ', fa);
  While Not eof(f) Do {* Проверяем, не достигнут ли конец файла *}
  Begin
    read(f, c);
    If Not eoln(f) Then
    Begin
      s[i] := c;
      If (s[i] In m) Then
      Begin
        write(' ', s[i]);
        a := a + [s[i]];
      End;
      inc(i); {* Прибавим к i единицу *}
    End;
    
  End;
  writeln; {* Пропускаем одну строку *}
  writeln('Список всех звонких согласных в алфавитном порядке');
  For c := 'б' To 'р' Do {* Переменная c увеличивается с 'б' до 'р' *}
    If c In a Then
      write(' ', c);
  readln; {* Приостановка программы. Ожидание Enter *}
End.