Занести в файл h только согласные буквы из исходного файла - Turbo Pascal

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

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

Записать в текстовый файл N русских строчных символов. Выполнить следующие операции с созданным файлом: - Получить в другом файле тот же текст, записанный заглавными буквами; - Занести в файл h только согласные буквы из исходного файла; - Написать программу, которая ищет количество букв «о» в данном файле и удаляет их.

Решение задачи: «Занести в файл h только согласные буквы из исходного файла»

textual
Листинг программы
function UCase(c: Char): Char;
begin
  case c of
  'a'..'z','а'..'п': Dec(c,$20);
  'р'..'я':          Dec(c,$50);
  'ё':               Dec(c);
  end;
  UCase:=c;
end;
const
  ruLo = ['а'..'п','р'..'я','ё'];
  ruLoVow = ['а','е','и','о','у','ы','э','ю','я','ё'];
  ruLoCons = ruLo-ruLoVow-['ъ','ь'];
var
  f: array [0..3] of Text;
  c: Char;
  i, n: Integer;
begin
  Assign(f[0],'0.txt'); Reset(f[0]);
  for i:=1 to 3 do begin
    Assign(f[i],Chr(Ord('0')+i)+'.txt'); Rewrite(f[i]);
  end;
  while not EoF(f[0]) do begin
    Read(f[0],c);
    Write(f[1],UCase(c));
    if c in ruLoCons then Write(f[2],c);
    if c='о' then Inc(n) else Write(f[3],c);
  end;
  WriteLn('Количество "о": ',n);
  for i:=0 to 3 do Close(f[i]);
end.

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

  1. Функция UCase принимает символ и увеличивает его код на 20 для согласных букв 'a'..'z', на 50 для 'р'..'я' и на 1 для 'ё'.
  2. Константы ruLo, ruLoVow и ruLoCons представляют собой списки символов.
  3. Переменные f, c и i используются для чтения и записи в файлы.
  4. Цикл for используется для чтения символов из файла '0.txt' и записи символов в файлы '1.txt', '2.txt' и '3.txt'.
  5. Если символ является согласной буквой, он записывается в файл '2.txt'.
  6. Если символ - 'о', увеличивается счетчик 'n'.
  7. После окончания чтения символов из '0.txt' выводится количество 'о' в тексте.
  8. Закрываются все файлы перед завершением программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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