Вставить число 100 после первого числа —100 - Free Pascal

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

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

Имеется файл с целыми числами. Вставить число 100 после первого числа —100. Результат записать в другой файл.

Решение задачи: «Вставить число 100 после первого числа —100»

textual
Листинг программы
  1. uses crt;
  2. var f,g:file of integer;
  3.     n,i,k:byte;
  4.     a,b:integer;
  5. begin
  6. clrscr;
  7. assign(f,'file1');
  8. rewrite(f);
  9. assign(g,'file2');
  10. rewrite(g);
  11. write('Сколько элементов ввести в файл F n=');
  12. readln(n);
  13. for i:=1 to n do
  14.  begin
  15.   write('a[',i,']=');
  16.   readln(a);
  17.   write(f,a);
  18.  end;
  19. reset(f);
  20. writeln('Содержание исходного файла:');
  21. k:=0;
  22. while not eof(f) do
  23.  begin
  24.   read(f,a);
  25.   write(a,' ');
  26.   write(g,a);
  27.   if(a=-100)and(k=0)then
  28.    begin
  29.     k:=1;
  30.     b:=100;
  31.     write(g,b)
  32.    end;
  33.  end;
  34. writeln;
  35. close(f);
  36. reset(g);
  37. writeln('Содержание измененного файла:');
  38. while not eof(g) do
  39.  begin
  40.   read(g,a);
  41.   write(a,' ');
  42.  end;
  43. close(g);
  44. readln
  45. end.

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

  1. Объявление переменных:
    • f, g: файлы для записи и чтения целых чисел;
    • n, i, k: булевые переменные для контроля цикла;
    • a, b: переменные для хранения чисел.
  2. Очистка экрана и открытие файлов:
    • clrscr: очистка экрана;
    • assign(f, 'file1'): открытие файла 'file1' для записи;
    • rewrite(f): очистка файла 'file1';
    • assign(g, 'file2'): открытие файла 'file2' для записи;
    • rewrite(g): очистка файла 'file2'.
  3. Ввод данных:
    • write('Сколько элементов ввести в файл F n=');
    • readln(n): ввод числа в переменную n.
  4. Цикл для записи чисел в файл 'file1':
    • for i:=1 to n do: цикл для записи n чисел;
    • write('a[', i, ']=');
    • readln(a): ввод числа в переменную a;
    • write(f, a): запись числа в файл 'file1'.
  5. Чтение и запись чисел в файл 'file2':
    • reset(f): возврат курсора в начало файла 'file1';
    • while not eof(f) do: цикл для чтения всех чисел из файла 'file1';
    • read(f, a): чтение числа из файла 'file1' в переменную a;
    • write(a, ' '): вывод числа a с пробелом;
    • if (a = -100) and (k = 0) then: проверка на первое вхождение числа -100;
    • begin: начало блока кода;
    • k := 1: установка флага k = 1 при первом вхождении числа -100;
    • b := 100: установка значения переменной b равным 100;
    • write(g, b): запись числа b в файл 'file2';
    • end: конец блока кода;
    • write(g, a): запись числа a в файл 'file2'.
  6. Закрытие файлов:
    • close(f): закрытие файла 'file1';
    • reset(g): возврат курсора в начало файла 'file2';
    • close(g): закрытие файла 'file2'.
  7. Вывод содержимого файла 'file2':
    • while not eof(g) do: цикл для чтения всех чисел из файла 'file2';
    • read(g, a): чтение числа из файла 'file2' в переменную a;
    • write(a, ' '): вывод числа a с пробелом;
    • end: конец цикла.

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


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

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

9   голосов , оценка 4.444 из 5

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

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

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