Дан файл, содержащий текст, записанный строчными русскими буквами - Turbo Pascal

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

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

Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле этот же текст, записанный заглавными буквами.

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

textual
Листинг программы
procedure Convert(var s:string); {ANSI -> ASCII
при чтении из файла строчных русских букв}
var i:integer;
begin
for i:=1 to length(s) do
if ord(s[i]) in [240..255] then s[i]:=chr(ord(s[i])-16)
else if ord(s[i])=168 then s[i]:=chr(240)
else if ord(s[i])=184 then s[i]:=chr(241);
end;
procedure Convert1(var a:string);{ASCII->ANSI
при записи в файл прописных русских букв}
var i:integer;
begin
for i:=1 to length(a) do
if ord(a[i]) in [128..175] then a[i]:=chr(ord(a[i])+64)
else if ord(a[i])=240 then a[i]:=chr(ord(168))
else if ord(a[i])=241 then a[i]:=chr(ord(184));
end;
procedure UpCaseRus(var s:string);{приведение к верхнему регистру русских букв}
var i:integer;
begin
for i:=1 to length(s) do
if s[i] in ['а'..'п'] then s[i]:=chr(ord(s[i])-32)
else if s[i] in ['р'..'я'] then s[i]:=chr(ord(s[i])-80)
else if s[i]='ё' then s[i]:='Ё';
end;
var f,g:text;
    s:string;
begin
assign(f,'1.txt'); {файл в папке с программой}
reset(f);
assign(g,'2.txt');
rewrite(g);
while not eof(f) do
 begin
  readln(f,s);
  Convert(s); {из ANSI->ASCII}
  UpCaseRus(s); {в верхний регистр}
  Convert1(s); {из ASCII->ANSI}
  writeln(g,s);
 end;
close(f);
close(g);
writeln('Исходный файл прочитан и переписан в файл 2.txt');
readln
end.

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

  1. Преобразование строки из ANSI в ASCII
  2. Преобразование строки из ASCII в ANSI
  3. Приведение строки к верхнему регистру русских букв
  4. Открытие файла для чтения
  5. Открытие файла для записи
  6. Чтение строки из файла
  7. Запись строки в файл
  8. Закрытие файла
  9. Проверка на конец файла
  10. Цикл чтения и обработки каждой строки файла
  11. Преобразование символов строки из ANSI в ASCII
  12. Преобразование символов строки из ASCII в ANSI
  13. Преобразование символов строки в верхний регистр русских букв
  14. Запись преобразованной строки в файл
  15. Закрытие файлов после выполнения всех операций
  16. Вывод сообщения об успешном выполнении программы
  17. Ожидание ввода данных для завершения программы
  18. Необходимость использования дополнительного кода для обработки ошибок и исключений
  19. Возможность оптимизации кода для повышения эффективности работы программы
  20. Возможность добавления функциональности для обработки других типов данных или операций.

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

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