Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab3_var6_z2

.pas
Скачиваний:
5
Добавлен:
09.05.2015
Размер:
1.45 Кб
Скачать
{type
reals = file of real;
var f : reals;
Напишите рекурсивную программу, которая печатает снача-
ла все отрицательные элементы этого файла, а затем положи-
тельные (в любом порядке).}

program lab3_var6_z2;

const N=10;// количество чисел

type
reals = file of real;

var
f: reals; //файл для вещественных чисел
i: integer; //Счетчик
x: real; // переменная для генерации случайных чисел

procedure SORT; // процедура печати сперва отрицательных чисел, затем положительных
var
chislo: real;

begin
if not eof(f) then begin
read(f, chislo); // читаем число из файла
if (chislo < 0) then // если число отрицательно,
begin
writeln(chislo:5:2,' '); // то печатаем его
SORT; // и запускаем рекурсию
end
else
begin
SORT; //иначе запускаем рекурсию,
writeln(chislo:5:2,' '); //а печать положительного числа откладываем
end;
end;
end;

begin

randomize; //инициализируем датчик случайных чисел
assign(f, 'lab3_var6_z2.dat'); //связываем файл с именем 'f'
rewrite(f); //открываем для записи

writeln('В файл записаны: ');
for i := 1 to N do
begin
x := (random(200) - 100) / 12.5;
write(f, x); // записываем в файл случайные положительный и отрицательные числа
writeln(x, ' ');
end;

reset(f);
Writeln();
Writeln('Результат: ');
SORT;

close(f);

end.
Соседние файлы в предмете Основы алгоритмизации и программирования