Вычисляемые вопросы

Такой вопрос предлагает вычислить значение по формуле. Формула представляет из себя шаблон в который при каждом тестировании подставляются случайные значение из указанных диапазонов.
Ниже, в сжатом виде, приведена страница редактирования с примером:

Вопрос | Сколько будет {a} + {b} ?
Картинка для показа: |
Формула верного ответа: |
Погрешность: | ±
Тип погрешности: |
Количество значащих цифр: |

В полях ввода вопроса и "Формула верного ответа" вы можете видеть {a} и {b}. Эти и другие {имена} могут быть использованы как шаблоны для подстановки конкретных значений при прохождении теста. Верный ответ также вычисляется после подстановки значений в выражение указанное в поле "Формула верного ответа". Величины, которые могут быть подставлены на место шаблонов могут быть указаны или сгенерированы на следующей странице мастера создания вычисляемых вопросов...

Формула в примере использует операцию +. Также допустимы операции -, * (умножение), / (деление) и % (остаток от деления). Кроме того, вы можете использовать некоторые математические функции языка PHP.

Среди них есть 24 функции с одним аргументом:

abs - абсолютное значение
acos - арккосинус
acosh - инверсный гиперболический косинус
asin - арксинус
asinh - инверсный гиперболический синус
atan - арктангенс
atanh - инверсный гиперболический тангенс
ceil - округление дробей в сторону увеличения
cos - косинус
cosh - гиперболический косинус
deg2rad - конвертирует число из градусов в радианы
exp - экспонента (e в указаной степени)
expm1 - возвращает exp(число) - 1, вычисляемое способом, который обеспечивает точность, даже если значение близко к нулю
floor - округляет дробь в сторону уменьшения
log10 - логарифм с основанием 10
log1p - возвращает log(1 + число), вычисляемое способом, который обеспечивает точность, даже если значение близко к нулю
log - натуральный логарифм
rad2deg - конвертирует число из радиан в градусы
round - округляет число с плавающей точкой/float
sin - синус
sinh - гиперболический синус
sqrt - квадратный корень
tan - тангенс
tanh - гиперболический тангенс

2 функции с двумя аргументами:

atan2 - арктангенс двух переменных
pow - возведение в произвольную степень

А также функции
max - находит наибольшее значение
min - находит наименьшее значение
которые могут иметь два и более аргументов.

Кроме того, вы можете использовать функцию pi, у которой отсутствуют аргументы, однако не забывайте дописывать после нее круглые скобки. Правильная запись выглядит так: pi().

Шаблоны могут быть аргументами функций, для этого их нужно заключать в круглые скобки. Например sin({a}) + cos({b}) * 2. Нет никаких ограничений для помещение одной функции внутрь другой, как в этом примере: cos(deg2rad({a} + 90)) и т.п.

Более подробно о том как использовать функции языка PHP вы можете найти в документации на официальном сайте PHP (на русском языке).

Как и для Числовых вопросов вы можете указать промежуток, ответы в пределах которого будут считаться правильными. Поле "Погрешность" именно для этого. Однако, есть целых три различных типа погрешности: Относительная, Номинальная и Геометрическая. Если мы укажем что верным ответом на вопрос будет 200 и погрешность установим в 0.5 то различные погрешности будут работать по-разному:

Относительная: Допустимый промежуток будет вычислен путем умножения верного ответа на 0.5 (в нашем случае это даст 100). Таким образом верным ответом будет считаться значение в промежутке между 100 и 300 (200 ± 100).
Это полезно, если величина правильного ответа может сильно отличаться при различных значениях подставленных в формулу.

Номинальная: Это простейший тип погрешности, но не очень гибкий. Верный ответ должен быть между 199.5 и 200.5 (200 ± 0.5).
Этот тип может использоваться если величины различных правильных ответов отличаются не сильно.

Геометрический: Верхний предел допустимого интервала вычисляется как 200 + 0.5*200, то есть так же, как и для Относительной погрешности. Нижний предел рассчитывается как 200/(1 + 0.5). То есть правильный ответ, в таком случае, должен быть между 133.33 и 300.
Это полезно для сложных вычислений, где нужно использовать большУю относительную погрешность (в 1 и более) для верхнего предела, но, при этом, она не приемлема для нижнего предела, поскольку это сделает ноль правильным ответом для всех случаев.

Поле "Количество значащих цифр" влияет только на то, как правильный ответ будет отображен в обзорах или отчетах. Например: если в данном поле установлено значение 3, то верный ответ 13.333 будет отображен как 13.3; 1236 будет отображено как 1240; 23 как 23.0 и т.д.

Поля "Коментарий" и "Единица измерения" имеют точно такое же назначение, как и в Числовом вопросе.