Реферат: Генерация дидактических материалов по математике
Repeat E := -3 + Random(7) Until E <> 0;
Repeat G := -3 + Random(7) Until G <> 0;
H := L — A * E;
O := M — (B * E + G * A);
P := N — B * G;
Until (H <> 0) And (O <> 0) And (P <> 0);
If H < 0 Then Begin Znak := '-'; H := -H; O := -O; P := -P End
Else Znak := '+';
{Формируем на основе ответа и делителя выражение-делимое
вида (E1x^2+G1x+(O1x+P1)/(Ax+B))}
E1 := C * L Div A;
Vx2 := D * L + M * C — E1 * B;
Until Vx2 Mod A = 0;
G1 := Vx2 Div A;
O1 := D * M + N * C — G1 * B;
P1 := D * N;
Until (Nod(Abs(H), Nod(Abs(O), Abs(P))) = 1) And (Nod(Abs(O1), Abs(P1)) = 1);
{выводим в файл очередное получившееся выражение,
учитывая, что некоторые из коэффициенты могут быть нулями,
коэффициенты, равные 1 или -1, не указываются и др.}
Write(F, Chr(Ord('а') + I — 1), ')~$\ds\left(');
If Abs(E1) <> 1 Then Write(F, E1)
Else If E1 = -1 Then Write(F, '-');
Write(F, X, '^2');
If G1 <> 0
Then Begin
If Abs(G1) <> 1 Then Begin
If G1 > 0 Then Write(F, '+');
Write(F, G1)