Сформировать на основе внешнего текстового файла Т1 файл Т2, разбивая Т1 на строки - Free Pascal

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

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

.Разработать программу, которая формирует на основе внешнего текстового файла Т1 файл Т2, разбивая Т1 на строки так, чтобы каждая строка оканчивалась либо точкой с запятой, либо содержала 30 любых литер, кроме точки с запятой. В качестве Т1 можно использовать файл с исходным текстом разработанной программы Обрезает последний символ строки
Листинг программы
  1. var
  2. s:string;
  3. i,j,k:integer;
  4. t:text;
  5. a:array[1..100] of string;
  6. begin
  7. j:=1;
  8. assign(t,'d:/T1.txt');
  9. reset(t);
  10. readln(t,s);
  11. close(t);
  12. For i:=1 to length(s) do begin
  13. if (s[i]=';') or (length(a[j])>30) then j:=j+1 else
  14. a[j]:=a[j]+s[i];
  15. end;
  16. assign(t,'d:/T2.txt');
  17. rewrite(t);
  18. For k:=1 to j do
  19. writeln(t,a[k]);
  20. close(t);
  21. end.

Решение задачи: «Сформировать на основе внешнего текстового файла Т1 файл Т2, разбивая Т1 на строки»

textual
Листинг программы
  1. var
  2. s:string;
  3. i,j,k:integer;
  4. t:text;
  5. a:array[1..100] of string;
  6. begin
  7. j:=1;
  8. assign(t,'d:/T1.txt');
  9. reset(t);
  10.   readln(t,s);
  11.   close(t);
  12.   For i:=1 to length(s) do begin
  13.     if (s[i]=';') or (length(a[j])>30) then
  14.       begin
  15.        a[j]:=a[j]+s[i];
  16.        j:=j+1;
  17.       end
  18.        else
  19.     a[j]:=a[j]+s[i];
  20.     end;
  21.     assign(t,'d:/T2.txt');
  22.     rewrite(t);
  23.   For k:=1 to j do
  24.    writeln(t,a[k]);
  25.    close(t);
  26. end.

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

  1. Объявлены переменные: s, i, j, k, t, a.
  2. Переменная j инициализируется значением 1.
  3. Открывается файл t с помощью функции assign, путь к файлу указывается в кавычках.
  4. Файл t открывается с помощью функции reset.
  5. Считывается первая строка из файла t в переменную s с помощью функции readln.
  6. Файл t закрывается с помощью функции close.
  7. Запускается цикл for для обработки каждой символа строки s.
  8. Если символ является точкой с запятой или длина строки в переменной a[j] превышает 30 символов, то выполняется блок кода:
    • к переменной a[j] добавляется текущий символ.
    • значение переменной j увеличивается на 1.
  9. Если текущий символ не является точкой с запятой или не является последним символом строки, то к переменной a[j] добавляется текущий символ.
  10. Завершается цикл for для обработки каждой строки файла t.
  11. Переменная t перезаписывается с помощью функции rewrite, путь к файлу указывается в кавычках.
  12. Запускается цикл for для записи каждой строки из массива a в файл t.
  13. Закрывается файл t с помощью функции close.
  14. Код завершается.

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


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

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

10   голосов , оценка 3.7 из 5

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

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

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