Переписать слова из одного файла в другой, перевернув каждое - PascalABC.NET

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

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

Составить программу реализующую конкретную схему действий. В содержимое программы должна входить процедура формирования исходного файла нужного типа и формата Задание Дан текстовый файл,состоящий из слов разделенных пробелом.В конце текста - '.'.Образовать новый файл в котором на месте каждого слова из первого файла будет записана последовательность букв в обратном порядке (например буква->авкуб)

Решение задачи: «Переписать слова из одного файла в другой, перевернув каждое»

textual
Листинг программы
  1. uses System.IO;
  2. function makeS(InFileName,OutFileName:string):boolean;  
  3. var
  4.   l:string;
  5. begin
  6.   l:='';Result:=false;
  7.   foreach s:string in &File.ReadAllLines(InFileName,Encoding.Default) do
  8.     if pos('.',s)>0 then begin
  9.       delete(s,pos('.',s),s.length);
  10.       l:=l+string.Join(' ',s.Split(' ').Select(ReverseString))+'.';
  11.       &File.WriteAllText(OutFileName,l,Encoding.Default);
  12.       Result:=true;
  13.       break;
  14.     end else l:=l+string.Join(' ',s.Split(' ').Select(ReverseString))+NewLine;
  15. end;
  16. begin
  17.   writelnformat('{0}',Makes('r1.txt','r2.txt') ? 'Новый файл создан успешно':'ошибка создания файла');
  18. end.

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

  1. Программа использует функцию makeS, которая принимает два аргумента типа string - InFileName и OutFileName.
  2. В функции определен пустой строковый буфер l и флаг Result, изначально установленный в false.
  3. Используется цикл foreach, который проходит по всем строкам входного файла InFileName.
  4. Если текущая строка содержит точку (.), то строка обрабатывается следующим образом:
    • С помощью функции pos определяется позиция точки в строке.
    • С помощью функции delete удаляются все символы после точки и сама точка.
    • С помощью функции Split строка разделяется на массив строк по пробелам.
    • С помощью функции ReverseString каждая строка из массива переворачивается.
    • С помощью функции Join строки из массива объединяются в одну строку с разделителем пробела.
    • Полученная строка добавляется к буферу l.
    • С помощью функции WriteAllText содержимое буфера l записывается в файл OutFileName.
    • Флаг Result устанавливается в true.
    • Цикл прерывается с помощью оператора break.
  5. Если текущая строка не содержит точки, она добавляется к буферу l, предварительно перевернувшись с помощью функции ReverseString. В конце каждой строки добавляется символ новой строки NewLine.
  6. По завершении работы функции makeS выводится сообщение, информирующее о результате выполнения функции.
  7. В основной части программы вызывается функция makeS с аргументами 'r1.txt' и 'r2.txt'.
  8. В зависимости от значения флага Result выводится сообщение об успешном создании нового файла или об ошибке создания файла.

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


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

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

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы