Составители:
Рубрика:
50
end;WriteLn('X', I+1);WriteLn(F, 'X', I+1);
WriteLn('ST');WriteLn(F, 'ST');I:=0;K:=0;
repeat I:=0;
repeat Inc(I);
if I mod L2 = 0 then begin WriteLn;WriteLn(F) end;
if (K>N2) or (I>N1 – 1) then begin Zend; exit end;
Write(F, 'X', I, '+'); Write('X', I, '+');
for J:=1 to Random(C2) do
begin Inc(I);Write(F, 'X', I, '+');Write('X', I, '+') end;Inc(I);
Write(F, 'X', I, '<', Random(C1 – 1)+1, ' ');
Write('X', I, '<', Random(C1 – 1)+1, ' ');Inc(K);
until I > N1 – 1
until K > N2;Zend;
ReadLn
end.
В процедуре программы описывается запись в файл постановки
задачи слова END. В основном блоке первая строка устанавливает
цвет фона и символов, очищает экран и устанавливает случайное
значение генератора случайных чисел. Следующие четырнадцать зап-
рашивают предельное значение C1 случайно изменяющейся правой
части функциональных неравенств, случайное число слагаемых в
неравенстве C2, число переменных N1, число неравенств N2, число
слагаемых в строке целевой функции L1 и число неравенств в одной
строке L2.
Две строки ниже запрашивают имя и открывают текстовый файл
с постановкой задачи. Очередная пишет на экран и в файл команду
MAX. Четыре следующих пишут на экран и в файл целевую функ-
цию из N1 переменных по L1 членов в строке. Ниже пишет раздели-
тель ST, означающий «при условии». Далее следуют два вложенных
друг в друга цикла. Внешний пишет N2 функциональных ограниче-
ний по L2 в строку, а внутренний пишет случайное число слагаемых
в каждое функциональное ограничение. Оператор Close закрывает
файл, а ReadLn задерживает описание постановки задачи на экране
до нажатия Enter. Ниже приводится текст постановки задачи, созда-
ваемый этой программой:
MAX X1+X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12+
X13+X14+X15+X16+X17+X18+X19+X20
ST
Страницы
- « первая
- ‹ предыдущая
- …
- 48
- 49
- 50
- 51
- 52
- …
- следующая ›
- последняя »