Вставить число 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.
Объяснение кода листинга программы
- Объявление переменных:
- f, g: файлы для записи и чтения целых чисел;
- n, i, k: булевые переменные для контроля цикла;
- a, b: переменные для хранения чисел.
- Очистка экрана и открытие файлов:
- clrscr: очистка экрана;
- assign(f, 'file1'): открытие файла 'file1' для записи;
- rewrite(f): очистка файла 'file1';
- assign(g, 'file2'): открытие файла 'file2' для записи;
- rewrite(g): очистка файла 'file2'.
- Ввод данных:
- write('Сколько элементов ввести в файл F n=');
- readln(n): ввод числа в переменную n.
- Цикл для записи чисел в файл 'file1':
- for i:=1 to n do: цикл для записи n чисел;
- write('a[', i, ']=');
- readln(a): ввод числа в переменную a;
- write(f, a): запись числа в файл 'file1'.
- Чтение и запись чисел в файл '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'.
- Закрытие файлов:
- close(f): закрытие файла 'file1';
- reset(g): возврат курсора в начало файла 'file2';
- close(g): закрытие файла 'file2'.
- Вывод содержимого файла 'file2':
- while not eof(g) do: цикл для чтения всех чисел из файла 'file2';
- read(g, a): чтение числа из файла 'file2' в переменную a;
- write(a, ' '): вывод числа a с пробелом;
- end: конец цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д