Вставить число 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: конец цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д