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

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

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

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

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

textual
Листинг программы
uses crt;
var f,g:file of integer;
    n,i,k:byte;
    a,b:integer;
begin
clrscr;
assign(f,'file1');
rewrite(f);
assign(g,'file2');
rewrite(g);
write('Сколько элементов ввести в файл F n=');
readln(n);
for i:=1 to n do
 begin
  write('a[',i,']=');
  readln(a);
  write(f,a);
 end;
reset(f);
writeln('Содержание исходного файла:');
k:=0;
while not eof(f) do
 begin
  read(f,a);
  write(a,' ');
  write(g,a);
  if(a=-100)and(k=0)then
   begin
    k:=1;
    b:=100;
    write(g,b)
   end;
 end;
writeln;
close(f);
reset(g);
writeln('Содержание измененного файла:');
while not eof(g) do
 begin
  read(g,a);
  write(a,' ');
 end;
close(g);
readln
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
Похожие ответы