Пример сценария 1
Вопрос с выбором ответа:
Найти произведение чисел $(a) и $(b).
Варианты ответов:
- $(c) (верный)
- $(d1)
- $(d2)
- $(d3)
Сценарий:
var a, b, c, d1, d2, d3: Integer; begin a := Random(8) + 2; { 2...9 } { repeat...until - конструкция "цикл с постусловием". Операторы между repeat и until исполняются до тех пор, пока условие, указанное после until, не будет выполнено. } repeat b := Random(8) + 2; { 2...9 } until a <> b; { Подбираем второй множитель b до тех пор, пока не получим значение, отличное от первого (a). } c := a * b; { Подбираем дистракторы (ошибочные варианты). } if RandomFloat < 0.5 then { Стандартная функция RandomFloat возвращает случайное вещественное число от 0 до 1 (включая 0, но исключая 1). Таким образом, приведенное условие будет выполняться примерно в половине случаев. } d2 := c + b { С вероятностью 0.5 один из дистракторов будет отличаться от правильного ответа на +b ... } else d2 := c - b; { ... и с такой же вероятностью - на -b. } if RandomFloat < 0.5 then d3 := c + a else d3 := c - a; repeat d1 := Random(90) + 10; { Последний дистрактор выбираем случайным образом из отрезка [10; 99]. } until (d1 <> c) and (d1 <> d2) and (d1 <> d3); { Следим за тем, чтобы он не совпал с правильным ответом и с предыдущими дистракторами. } end.