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

Lab3_var6_z2

.pas
Скачиваний:
5
Добавлен:
09.05.2015
Размер:
1 Кб
Скачать
{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.
Соседние файлы в предмете Основы алгоритмизации и программирования