Переписать в другой файл числа исходного из заданных отрезков - Free Pascal
Формулировка задачи:
Помогите написать программу
Заполнить файл вещественными числами из отрезка [-100; 100]. Переписать в другой файл числа, из отрезков [-10;20] и [40;55]. Определить число элементов первого и второго файлов. Вывести на печать все элементы исходного файла; отрицательные элементы исходного файла; все элементы второго файла
Решение задачи: «Переписать в другой файл числа исходного из заданных отрезков»
textual
Листинг программы
uses crt;
var f,g:file of real;
n,i,k:integer;
x:real;
begin
clrscr;
assign(f,'f.txt');
assign(g,'g.txt');
rewrite(f);
write('Ââåäèòå êîë-Г±ГІГ® êîìïîГ*ГҐГ*òîâ ГґГ*éëГ* n=');
readln(n);
for i:=1 to n do
begin
x:=-100+random(100);
write(f,x);
end;
seek(f,0);
writeln('ÑîäåðæГ*Г*ГЁГҐ èñõîäГ*îãî ГґГ*éëГ* :');
while not eof(f) do
begin
read(f,x);
write(x:2:0,' ');
end;
reset(f);
rewrite(g);
while not eof(f) do
begin
read(f,x);
if ((x>=-10) and (x<=20)) or ((x>=40) and (x<=55)) then
begin
write(g,x);
inc(k);
end;
end;
writeln;
writeln('ÑîäåðæГ*Г*ГЁГҐ âòîðîãî ГґГ*éëГ* :');
reset(g);
while not eof(g) do
begin
read(g,x);
write(x:2:0,' ');
end;
writeln;
reset(f);
writeln('ÎòðèöГ*òåëüГ*ûå ýëåìåГ*ГІГ» èñõîäГ*îãî ГґГ*éëГ* :');
while not eof(f) do
begin
read(f,x);
write(x:2:0,' ');
end;
writeln;
writeln('×èñëî ýëåìåГ*òîâ ïåðâîãî ГЁ âòîðîãî ГґГ*éëîâ = ',k+n);
readkey;
end.
Объяснение кода листинга программы
- Задача программы - переписать в другой файл числа из заданных отрезков.
- В начале программы запрашивается количество чисел для записи в первый файл.
- Далее, в цикле, в первый файл записываются случайные числа в заданном диапазоне от -100 до 100.
- Затем, с помощью функции seek, возвращаемся в начало файла.
- Во второй файл записываются числа из первого файла, но только те, которые лежат в диапазоне от -10 до 20 или от 40 до 55.
- После записи чисел во второй файл, происходит чтение чисел из второго файла и их отображение на экране.
- Затем, происходит чтение чисел из первого файла и их отображение на экране.
- В конце программы, пользователю предлагается нажать любую клавишу.