Дан файл, содержащий текст, записанный строчными русскими буквами - 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.
Объяснение кода листинга программы
- Преобразование строки из ANSI в ASCII
- Преобразование строки из ASCII в ANSI
- Приведение строки к верхнему регистру русских букв
- Открытие файла для чтения
- Открытие файла для записи
- Чтение строки из файла
- Запись строки в файл
- Закрытие файла
- Проверка на конец файла
- Цикл чтения и обработки каждой строки файла
- Преобразование символов строки из ANSI в ASCII
- Преобразование символов строки из ASCII в ANSI
- Преобразование символов строки в верхний регистр русских букв
- Запись преобразованной строки в файл
- Закрытие файлов после выполнения всех операций
- Вывод сообщения об успешном выполнении программы
- Ожидание ввода данных для завершения программы
- Необходимость использования дополнительного кода для обработки ошибок и исключений
- Возможность оптимизации кода для повышения эффективности работы программы
- Возможность добавления функциональности для обработки других типов данных или операций.