Файл: вывести сначала предложения, начинающиеся с однобуквенных слов, затем остальные - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные. Вводятся именно предложения, которые заканчиваются или '.' или '!' или '?'

Решение задачи: «Файл: вывести сначала предложения, начинающиеся с однобуквенных слов, затем остальные»

textual
Листинг программы
uses crt;
const z:set of char=[' ',',',';',':','-','…'];
      k:set of char=['.','!','?'];
var f: text;
    s,p: string;
    i: byte;
begin
assign(f,'D:\in.txt');
reset(f);
p:='';
while not (eof(f)) do
      begin
      readln(f,s);
      for i:=1 to length(s) do
          if not (s[i] in k) then p:=p+s[i] else
             begin
             p:=p+s[i];
             while p[1]=' ' do delete(p,1,1);
             if p[2] in z then writeln(p);
             p:='';
             end;
      end;
reset(f);
p:='';
while not (eof(f)) do
      begin
      readln(f,s);
      for i:=1 to length(s) do
          if not (s[i] in k) then p:=p+s[i] else
             begin
             p:=p+s[i];
             while p[1]=' ' do delete(p,1,1);
             if not (p[2] in z) then writeln(p);
             p:='';
             end;
      end;
close(f);
end.

Объяснение кода листинга программы

  1. Установка начального значения переменной f — файл с предложениями.
  2. Открытие файла f для чтения.
  3. Инициализация переменной p пустой строкой.
  4. Чтение предложений из файла f и сохранение их в переменной s.
  5. Проверка каждого символа в предложении s на принадлежность к набору символов k, который включает точки, восклицательные и вопросительные знаки.
  6. Если символ не принадлежит к k, то он добавляется к переменной p.
  7. Если символ принадлежит к k, то он добавляется к переменной p, а затем удаляется первый символ, если он является пробелом, и проверяется второй символ на принадлежность к набору символов z, который включает пробел, запятую, точку, двоеточие, тире и многоточие.
  8. Если второй символ не принадлежит к z, то предложение p выводится на экран.
  9. После окончания чтения файла f закрывается.

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы