Тип вопроса «вычисляемый»: различия между версиями

Материал из База знаний Центра ПУСК МФТИ
перевод
перевод
Строка 1: Строка 1:
{{Questions}}Вычисляемые вопросы предлагают способ создания отдельных числовых вопросов с использованием подстановочных знаков (т.е. вы можете использовать общие имена переменных, такие как "x" , "y", заключенные в фигурные скобки, для создания подстановочных знаков "{x}" и "{y}"), которые при прохождении теста заменяются случайными значениями.
{{Questions}}Вычисляемые вопросы предлагают способ создания отдельных числовых вопросов с использованием подстановочных знаков (т.е. вы можете использовать общие имена переменных, такие как "x" , "y", заключенные в фигурные скобки, для создания подстановочных знаков "{x}" и "{y}"), которые при прохождении теста заменяются случайными значениями.
   
   
For example, if you want to create a large number of '''"Calculate the area of a rectangle"''' problems to drill your students, you could create a question with two wildcards (i.e. '''{base}''', '''{height}''' created from the common '''base''', '''height''' variable namesand put in the "'''Correct Answer Formula='''" input field  '''{base}''' * '''{height}''' ( * being the multiplication sign).
Например, если вы хотите создать большое количество задач на тему «'''Вычислить площадь прямоугольника'''» для подготовки учащихся, вы можете создать вопрос с двумя подстановочными знаками (например, '''{base}''', '''{height}''', созданными на основе общих имен переменных '''base, height''') и указать «'''Формула правильного ответа'''»= '''{base}''' * '''{height}''' ( * ― знак умножения).
 
  '''Формула правильного ответа=''' '''{base}'''*'''{height}'''


'''Correct Answer Formula=''' {base}*{height}


   
   
When a student takes the test, Moodle will randomly select values for '''{base}''' and '''{height}''' and grade the response using the result of the '''Correct Answer Formula'''.


The test will very rarely appear the same way twice.
Когда студент проходит тест, Moodle случайным образом выбирает значения для '''{base}''' и '''{height}''' и оценивает ответ, используя формулу правильного ответа.
 
Тест с одинаковыми подстановочными знаками очень редко повторяется дважды.


== Подходит ли вам этот тип вопроса? ==
== Подходит ли вам этот тип вопроса? ==
Строка 31: Строка 33:
#Ниже будут перечислены все общие подстановочные знаки для этой категории. Если вы изменяете категорию, вам нужно нажать кнопку "Обновить категорию", чтобы обновить этот список. Возможно, пока общих шаблонов для подстановочных знаков нет; если так, вы можете создать их при желании позже.  
#Ниже будут перечислены все общие подстановочные знаки для этой категории. Если вы изменяете категорию, вам нужно нажать кнопку "Обновить категорию", чтобы обновить этот список. Возможно, пока общих шаблонов для подстановочных знаков нет; если так, вы можете создать их при желании позже.  
#Присвойте вопросу «название», которое это позволит вам идентифицировать его в банке вопросов.
#Присвойте вопросу «название», которое это позволит вам идентифицировать его в банке вопросов.
#<nowiki>Введите текст вопроса. Это должен быть вопрос, на который вы хотите, чтобы ученик ответил, и он должен содержать всю информацию, необходимую для расчета ответа. Поэтому в нем должен быть хотя бы один подстановочный знак, заключенный в фигурные скобки. Например, если вы хотите, чтобы ученик просуммировал числа A и B, текст вопроса может звучать так: "Что такое {A} + {B}?" Вы также можете включить значения, вычисленные с помощью подстановочных знаков, используя синтаксис "{=...}: например, вопрос "Что такое {={A}+{B}} - {A}?" со значениями подстановочных знаков A=4 и B=3 будет отображаться как "Что такое 7 - 4?"</nowiki>
#<nowiki>Введите текст вопроса. Это должен быть вопрос, на который вы хотите, чтобы ученик ответил, и он должен содержать всю информацию, необходимую для расчета ответа. Поэтому в нем должен быть хотя бы один подстановочный знак, заключенный в фигурные скобки. Например, если вы хотите, чтобы студент просуммировал числа A и B, текст вопроса может звучать так: «Чему равно {A} + {B}?» Вы также можете включить значения, вычисленные с помощью подстановочных знаков, используя синтаксис "{=...}: например, вопрос «Чему равно {={A}+{B}} {A}?» со значениями подстановочных знаков A=4 и B=3 будет отображаться как «Чему равно 7 4?»</nowiki>
#Выберите изображение для отображения, если вы хотите добавить картинку к вопросу. Для учащихся оно отображается сразу после текста вопроса и перед вариантами ответов. Если вы хотите лучше контролировать отображение изображения, включите его в текст вопроса выше, используя редактор HTML.
#Выберите изображение для отображения, если вы хотите добавить картинку к вопросу. Для учащихся оно отображается сразу после текста вопроса и перед вариантами ответов. Если вы хотите лучше контролировать отображение изображения, включите его в текст вопроса выше, используя редактор HTML.
#Установите "оценку вопроса по умолчанию" (т.е. максимальное количество баллов за этот вопрос).
#Установите оценку вопроса по умолчанию (т.е. максимальное количество баллов за этот вопрос).
#Установите "Штрафной коэффициент" (см. [[Расчетный тип вопроса#Штрафной коэффициент|Penalty factor]] ниже).
#Установите штрафной коэффициент (см. соответствующий раздел ниже).
#"Moodle 1.7+:" Если хотите, добавьте общую обратную связь. Это текст, который появляется у студента после того, как он / она ответит на вопрос.
#Если хотите, добавьте общую обратную связь. Это текст, который появляется у студента после того, как он / она ответит на вопрос.
#Далее добавьте "формулу ответа". Эта формула должна содержать как минимум те подстановочные знаки, которые указаны в тексте вопроса. Более подробную информацию смотрите в разделе [[Вычисляемый тип вопроса#Синтаксис формулы правильного ответа|Синтаксис формулы правильного ответа]].
#Далее добавьте «формулу ответа». Эта формула должна содержать как минимум те подстановочные знаки, которые указаны в тексте вопроса. Более подробную информацию смотрите в разделе '''Синтаксис формулы правильного ответа''' ниже.
# Выберите "оценку", которую учащийся получит за этот вопрос, если он даст такой ответ. Это должно быть процентное соотношение от общего количества доступных оценок. Например, вы могли бы поставить 100% за правильный ответ и 50% за ответ, который близок к правильному. ""Один из ответов должен быть оценен на 100%"".
# Выберите оценку, которую учащийся получит за этот вопрос, если он даст такой ответ. Это должно быть процентное соотношение от общего количества доступных оценок. Например, вы могли бы поставить 100% за правильный ответ и 50% за ответ, который близок к правильному. Один из ответов должен быть обязательно оценен на 100%.
#Определите "допустимую" погрешность, которую вы будете допускать в ответе. Настройки допустимости и типа допуска в совокупности дают диапазон допустимых значений. Итак, если допуск = t, правильный ответ = x и разница между ответом пользователя и правильным ответом равна dx, то типы допусков следующие:
#Определите допустимую погрешность, которая приемлема в ответе. Настройки погрешности и типа допуска в совокупности дают диапазон допустимых значений. Итак, если допуск = t, правильный ответ = x и разница между ответом пользователя и правильным ответом равна dx, то типы допусков могут быть следующими:
##Номинальный - отметьте правильный, если |dx| <= t
##Номинальный: отметьте правильный, если |dx| <= t
##Относительный - отметьте правильно, если |dx| / x <= t
##Относительный: отметьте правильно, если |dx| / x <= t
##Геометрический - отметьте правильно, если x/(1+t) <= (x+dx) <= x*(1+t)  
##Геометрический: отметьте правильно, если x/(1+t) <= (x+dx) <= x*(1+t)
# Следующие 2 параметра, "Отображение правильного ответа" и "Формат", определяют "точность" ответа. Используйте их, чтобы выбрать количество знаков после запятой или значащих цифр, которые вы хотите использовать.
# Следующие 2 параметра, «'''Отображение правильного ответа'''» и «'''Формат'''», определяют точность ответа. Используйте их, чтобы выбрать количество знаков после запятой или значащих цифр, которые вы хотите использовать.
# Добавьте "обратную связь", которую ученик увидит, если введет этот ответ.
# Добавьте обратную связь, которую студент увидит, если введет нужный ответ.
# Вы можете указать столько формул ответов, сколько захотите - нажмите "Добавить еще один пустой вариант ответа", чтобы добавить еще.
# Вы можете указать столько формул ответов, сколько захотите, для этого достаточно нажать «'''Добавить еще 1 вариант ответа'''».
# Вы также можете указать единицы измерения для ответов. Например, если вы введете здесь единицу измерения "см", а принятый ответ будет равен 15, то оба ответа "15 см" и "15" будут приняты как правильные. Если вы добавляете более одной единицы измерения, вы также можете указать множитель. Итак, если ваш основной ответ был 5500 с единицей измерения W, вы также можете добавить единицу измерения kW с множителем 0,001. Это означает, что все ответы "5500", "5500 Вт" или "5,5 кВт" будут помечены как правильные. Обратите внимание, что допустимая ошибка также умножается, поэтому допустимая ошибка в 100 Вт будет равна ошибке в 0,1 кВт.
# Вы также можете указать единицы измерения для ответов. Например, если вы введете здесь единицу измерения «см», а принятый ответ будет равен 15, то оба ответа «15 см» и «15» будут приняты как правильные. Если вы добавляете более одной единицы измерения, вы также можете указать множитель. Так, если ваш основной ответ был 5500 с единицей измерения W, вы также можете добавить единицу измерения kW с множителем 0,001. Это означает, что все ответы «5500», «5500 Вт» или «5,5 кВт» будут помечены как правильные. Обратите внимание, что допустимая ошибка также умножается, поэтому допустимая ошибка в 100 Вт будет равна ошибке в 0,1 кВт.
# Наконец (!) вы можете нажать "Следующая страница", чтобы сохранить то, что вы сделали, и двигаться дальше. Если вы редактируете существующий вопрос, вы можете нажать "Следующая страница (новый вопрос)", чтобы создать совершенно новый вопрос на основе существующего.
# Наконец (!) вы можете нажать «Сохранить», чтобы сохранить то, что вы сделали, и двинуться дальше.  
Обратите внимание, что при создании вычисляемого вопроса переход на следующую страницу (шаг) происходит посредством кнопки «Сохранить». Первый раз это сбивает с толку, но быстро привыкаешь.


==== Штрафной коэффициент ====
==== Штрафной коэффициент ====


"Штрафной коэффициент" применяется только в том случае, если вопрос используется в тесте в адаптивном режиме, т.е. когда учащемуся разрешается несколько попыток ответить на вопрос даже в рамках одной попытки в тесте. Если штрафной коэффициент больше 0, то ученик будет терять эту долю от "максимальной" оценки при каждой последующей попытке. Например, если оценка за вопрос по умолчанию равна 10, а штрафной коэффициент равен 0,2, то за каждую последующую попытку после первой будет начисляться штраф в размере 0,2 х 10 = 2 балла.
Штрафной коэффициент применяется только в том случае, если вопрос используется в тесте в адаптивном режиме, т.е. когда учащемуся дается несколько попыток ответить на вопрос даже в рамках одной попытки в тесте. Если штрафной коэффициент больше 0, то ученик будет терять эту долю от максимальной оценки при каждой последующей попытке.  


===Tolerance===
Например, если оценка за вопрос по умолчанию равна 10, а штрафной коэффициент равен 0,2, то за каждую последующую попытку после первой будет начисляться штраф в размере 0,2 х 10 = 2 балла.


As for numerical questions it is possible to allow a margin within which all responses are accepted as correct. The "Tolerance" field is used for this. However, there are three different types of tolerances. These are Relative, Nominal and Geometric. If we say that the correct answer at quiz time is calculated to 200 and the tolerance is set to 0.5 then the different tolerance types work like this:
=== Погрешность ===


Relative: A tolerance interval is calculated by multiplying the correct answer with 0.5, i.e. in this case we get 100 so for this tolerance the correct response must be between 100 and 300. (200 ± 100)
Что касается вопросов с числами, то можно задать предел, в пределах которого все ответы будут приниматься как правильные. Для этого используется поле «'''Погрешность'''».  
This is useful if the magnitude of the correct answer can differ greatly between different wildcard values.


Nominal: This is the simplest tolerance type but not very powerful. The correct response must be between 199.5 and 200.5 (200 ± 0.5)
Однако существует три различных типа погрешности: относительная, номинальная и геометрическая.  
This tolerance type can be useful if the differences between different correct answers are small.


Geometric: The upper limit of the tolerance interval is calculated as 200 + 0.5*200 and is the same as for the relative case. The lower limit is calculated as 200/(1 + 0.5). The correct response must then be between 133.33 and 300.
Если мы предположим, что правильный ответ на вопрос равен 200, а погрешность установлена равной 0,5, то различные типы погрешности будут работать следующим образом.  
This is useful for complex calculation that must have great tolerances where relative tolerances of 1 or more would be used for the upper limit but clearly not acceptable for the lower limit as it would make zero a correct answer for all cases.


The field Significant Figures does only relate to how the correct answer should be presented in the review or the reports. Examples: If it is set to 3 then the correct answer 13.333 would be presented as 13.3; 1236 would be presented as 1240; 23 would be presented as 23.0 etc.  
Относительная: интервал погрешности рассчитывается путем умножения правильного ответа на 0,5, т.е. в данном случае мы получаем 100, поэтому для этого допуска правильный ответ должен быть от 100 до 300. (200 ± 100) Это полезно, если вероятность правильного ответа может сильно отличаться в зависимости от различных значений шаблона.  


===Page 2. Choose dataset properties ===
Номинальная: это самый простой тип погрешности, но не очень эффективный. Если выбрать его, то правильный ответ будет находиться в диапазоне от 199,5 до 200,5 (200 ± 0,5). Этот тип допуска может быть полезен, если различия между разными правильными ответами невелики.  


Each wildcard that you specify in the answer formula must have an associated set of possible values - this is its ''dataset''. Each of the wildcards is listed on this page along with a choice of dataset:
Геометрическая: верхняя граница интервала допуска рассчитывается как 200 + 0.5*200 и является такой же, как и для относительного случая. Нижняя граница рассчитывается как 200/(1 + 0,5). В таком случае правильный ответ должен быть между 133,33 и 300. Это полезно для сложных вычислений, которые должны иметь большие допуски, где относительные допуски, равные 1 или более, будут использоваться для верхнего предела, но явно неприемлемы для нижнего предела, поскольку это сделало бы ноль правильным ответом во всех случаях.  
*'''private''' i.e. only used by this question
*'''shared''' i.e. shared with other calculated questions in the same category


Using a shared dataset can save time when you are creating a lot of similar calculated questions.
Поле «Значащие цифры» выбирается в окошке «Формат» относится только к тому, как должен быть представлен правильный ответ в обзоре или отчетах:
[[Файл:Значащие цифры.png|альт=Значащие цифры|без|мини|500x500пкс]]
Так, если указано «отобразить 2» значащие цифры, то правильный ответ 13.333 будет представлен как 13; 1236 будет представлен как 1200 и т.д.


Note that even when creating a question for the first time, this page may say that your wildcard "will use the same existing private dataset as before." This just means that Moodle has already tentatively created a private data set for that wildcard: if a private dataset is what you want, leave this choice selected.
=== Страница 2. Выбор свойств набора данных ===


If there is anything in the question text that looks like a wildcard, but does not appear in any of the answer formulae, you can specify whether or not this is meant to be a wildcard. If it is, you can choose whether it should use a private or shared dataset.
С каждым подстановочным знаком, который вы указываете в формуле ответа, должен быть связан соответствующий набор возможных значений ― это и есть набор данных. На этой странице перечислены все подстановочные знаки и выбранный набор данных:
*'''закрытый''', т.е. используемый только этим вопросом;
*'''общий''', т. е. доступный для совместного использования с другими вычисляемыми вопросами в той же категории.


To continue, simply choose your preferred dataset for each wildcard, then click "Next Page".
Использование общего набора данных может сэкономить время при создании множества однотипных вычисляемых вопросов.
Обратите внимание, что при создании вопроса даже в первый раз на этой странице может быть указано, что в вашем шаблоне «использовать ранее применяемый частный набор данных».
Это просто означает, что Moodle уже предварительно создал частный набор данных для этого шаблона; если вам нужен частный набор данных, оставьте этот параметр включенным.  


===Page 3. Edit the datasets ===
Если в тексте вопроса есть что-либо, похожее на подстановочный знак, но не указанное ни в одной из формул ответа, вы можете указать, должен ли это быть подстановочный знак. Если это так, вы можете выбрать, следует ли использовать частный или общий набор данных.  


Now we need to create the set of possible values that each wildcard can take. ''Warning'' - this page is a bit confusing!
Чтобы продолжить, просто выберите нужный вам набор данных для каждого шаблона и нажмите «Сохранить».


There are two ways of creating values - you can type them in yourself and add them to the list, or you can have Moodle generate them for you.
=== Страница 3. Редактирование наборов данных ===


==== Adding/deleting your own values ====
Теперь нам нужно создать набор возможных значений, которые может принимать каждый подстановочный знак.
Внимание ― эта страница может поначалу сбивать с толку!
Существует два способа создания значений: вы можете ввести их самостоятельно и добавить в список или попросить Moodle сгенерировать их для вас.


Adding individual values to the list is easy:
==== Добавление /удаление ваших собственных значений ====


# In the 'Param' field for each wildcard, enter the value you want
Добавление отдельных значений в список очень просто:
# Scroll down to the 'Add' section and click the Add button (leaving the number of items set to 1)
# Repeat the above steps as many times as necessary (the maximum number of items is 100)


To delete values from the list:
# В поле «Параметры» для каждого подстановочного знака введите желаемое значение.
# Прокрутите вниз до раздела «Добавить» и нажмите кнопку «Добавить», оставив количество элементов равным 1.
# Повторите описанные выше действия столько раз, сколько необходимо (максимальное количество элементов ― 100).


# In the 'Delete' section, select the number of items to delete
Чтобы удалить значения из списка:
# Click the Delete button


==== Letting Moodle create values ====
# В разделе «Удалить» выберите количество элементов, которые вы хотите удалить. Нажмите кнопку «Удалить».


# Start with the "Range of Values" fields, and enter the lower and upper limits for the values you would accept
==== Разрешите Moodle создавать значения ====
# Choose a number of decimal places for the value
# Choose the distribution of values between the limits - 'uniform' means any value between the limits is equally likely to be generated; 'loguniform' means that values towards the lower limit are more likely.
# Now move down to the 'Add' section and click on "force regeneration"
# In the menu next to the Add button, choose the number of sets of random values (items) you wish to add to the list. (Note that the maximum total number of items in your list is 100.)
# Finally, click Add to append the new values to the list
# '''Note:''' If you want more control over the items that Moodle adds, you can do them one at a time and preview the values before you add them. Click the "Get New Item to Add" button to make Moodle generate new values in the "Item to Add" section at the top. If you like them, click "Add" for 1 item; if not, click "Get New Item to Add" again to get new values.


==== Finishing off ====
# Начните с полей «Диапазон значений» и введите нижний и верхний пределы допустимых значений.
# Выберите количество знаков после запятой для значения.
# Выберите распределение значений между предельными значениями: «равномерное» означает, что любое значение между предельными значениями с одинаковой вероятностью будет сгенерировано; «логически однородное» означает, что значения, приближающиеся к нижнему пределу, более вероятны.
# Теперь перейдите в раздел «Добавить» и выберите опцию «принудительное обновление всех подстановочных знаков». В меню рядом с кнопкой «Добавить» выберите количество наборов случайных значений (элементов), которые вы хотите добавить в список. Обратите внимание, что максимальное общее количество элементов в вашем списке равно 100.
# Наконец, нажмите «Добавить», чтобы новые значения добавились в список.
'''Примечание''': если вы хотите лучше контролировать элементы, добавляемые Moodle, вы можете выполнять их по одному и предварительно просматривать значения перед их добавлением. Нажмите кнопку «'''Получить новый добавляемый вариант'''», чтобы заставить Moodle генерировать новые значения в разделе «'''Добавляемый вариант'''» вверху. Если они вам нравятся, нажмите «Добавить» для 1 элемента; если нет, нажмите «Получить новый добавляемый вариант» еще раз, чтобы получить новые значения.


Once your list of items (values) is complete, you are finished. It's up to you how many values you add - the more values you add, the more a question can be used by the students without them seeing the same values repeatedly.
==== Завершение ====


Note that if you delete values from the list, you can put them back again. Change the "Next Item to Add" option to "reuse previous value if available", then the next time you add items, Moodle will restore your previously deleted items from the dataset.  
Как только ваш список элементов (значений) будет заполнен, вы можете завершить настройку вычисляемого вопроса. Вам решать, сколько значений вы добавите ― чем значений больше, тем больше вопросов достанется студентам без повторения числовых значений.


Once your list of values is complete, you can click 'Save changes' to finish.
Обратите внимание, что если вы удалите значения из списка, то вы сможете вернуть их обратно. Установите для параметр '''Следующий «Добавляемый вариант»''' опцию «повторно использовать предыдущее доступное значение», и тогда при следующем добавлении элементов Moodle восстановит ранее удаленные элементы из набора данных.


==== What does the 'Update the datasets parameters' button do? ====
Как только ваш список значений будет заполнен, вы можете нажать кнопку «Сохранить изменения», чтобы завершить.


Warning: This button can affect several questions, so be careful before using it.
==== Зачем нужна кнопка «Обновить параметры наборов данных»? ====
Assume you have selected dataset parameter for {a} to be any value between 1-10 and generated a question. In the second question also you decide to use a SHARED wildcard called {a}. Inherently, it will show a value between 1-10. However, your need here changes and you want to make it 11-100 instead. Then, you change them in the range and click this button. Voila! the values change and you can add new items here using the 'Get New item to add'. However, if you go back to your previous question, you will see that values would change there too, because it is a shared dataset. If you do not update parameters, then this may not happen and will generate a new set of values and displays them in the "Item to Add" section.
Внимание: эта кнопка может повлиять сразу на несколько вопросов, поэтому будьте осторожны, прежде чем использовать ее.  
Предположим, вы выбрали для параметра набора данных {a} любое значение в диапазоне от 1 до 10 и сгенерировали вопрос. Во втором вопросе вы также решили использовать общий подстановочный знак {a}. По сути, он будет отображать значение в диапазоне от 1 до 10. Однако ваши потребности изменились, и вы хотите, чтобы оно было от 11 до 100. Затем вы меняете их в диапазоне и нажимаете эту кнопку. Вуаля! Значения изменяются, и вы можете добавлять новые элементы здесь, используя команду «Получить новый добавляемый вариант». Однако, если вы вернетесь к своему предыдущему вопросу, вы увидите, что значения там тоже изменятся, потому что это общий набор данных.  
 
Если вы не обновите параметры, этого может и не произойти, и будет сгенерирован новый набор значений, который отобразится в разделе '''Следующий «Добавляемый вариант»'''.


==Синтаксис формулы правильного ответа==
==Синтаксис формулы правильного ответа==
Строка 130: Строка 137:
Как правило, записывайте эти формулы так, как если бы вы использовали калькулятор, например. <code>3 + 5 * sin(3/{x})</code><br />Заметным исключением является возведение в степень, где <code>x<sup>3</sup></code> не может быть введено как <code>{x}^3</code>, но вместо этого следует ввести как <code>pow({x}, 3)</code>.
Как правило, записывайте эти формулы так, как если бы вы использовали калькулятор, например. <code>3 + 5 * sin(3/{x})</code><br />Заметным исключением является возведение в степень, где <code>x<sup>3</sup></code> не может быть введено как <code>{x}^3</code>, но вместо этого следует ввести как <code>pow({x}, 3)</code>.


Заполнители каждой функции и другие аргументы должны быть заключены в круглые скобки (brackets). Например, если вы хотите, чтобы учащиеся вычислили синус одного угла и двукратный косинус другого угла, вам следует ввести <код>sin({a}) + cos({b}*2)</код> или <код>sin({a}) + cos(2*{b})</код>.
Заполнители каждой функции и другие аргументы должны быть заключены в круглые скобки (brackets). Например, если вы хотите, чтобы учащиеся вычислили синус одного угла и двукратный косинус другого угла, вам следует ввести <code>sin({a}) + cos({b}*2)</code> или <code>sin({a}) + cos(2*{b})</code>.
 
Обычно лучше использовать лишние круглые скобки, чем какие-то из них упустить.  Серверу все равно, сколько считать, но чем конкретнее вы будете объяснять, что вам нужно, тем больше вероятность, что ему понравятся ваши сложные формулы.
Обычно лучше использовать слишком много круглых скобок, чем слишком мало.  Серверу будет все равно, и чем конкретнее вы будете объяснять, что имеете в виду, тем больше вероятность, что ему понравятся ваши сложные формулы.
Неявное умножение отсутствует.  Для вас, обычного редактора, "5(23)" или "5x" может показаться совершенно очевидным.  Для сервера, выполняющего математические вычисления, это бессмыслица, и он вас не поймет.  Всегда используйте "*" для умножения.
 
Неявное умножение отсутствует.  Для вас, обычного редактора, "5(23)" или "5x" может показаться совершенно очевидным.  Для сервера, выполняющего математические вычисления, это бессмыслица, и он не будет понят.  Всегда используйте "*" для умножения.


Значения любой специальной математической функции должны быть заключены в круглые скобки.  Возьмем, к примеру, функцию sine, указанную в первом абзаце.  Обратите внимание, что "3 / x" заключено в круглые скобки - это для того, чтобы сервер мог правильно ее понять.  Без этих круглых скобок сервер не будет знать, имеете ли вы в виду "(sin 3) / x" или "sin (3 / x)", и соответственно отклонит всю формулу.
Значения любой специальной математической функции должны быть заключены в круглые скобки.  Возьмем, к примеру, функцию синуса, указанную в первом абзаце.  Обратите внимание, что <code>(3/{x})</code> заключено в круглые скобки это для того, чтобы сервер мог правильно ее понять.  Без этих круглых скобок сервер не будет знать, имеете ли вы в виду <code>(sin 3)/x</code> или <code>sin(3/x)</code>, и соответственно отклонит всю формулу.


== Доступные функции ==
== Доступные функции ==

Версия от 12:26, 12 сентября 2025


Вычисляемые вопросы предлагают способ создания отдельных числовых вопросов с использованием подстановочных знаков (т.е. вы можете использовать общие имена переменных, такие как "x" , "y", заключенные в фигурные скобки, для создания подстановочных знаков "{x}" и "{y}"), которые при прохождении теста заменяются случайными значениями.

Например, если вы хотите создать большое количество задач на тему «Вычислить площадь прямоугольника» для подготовки учащихся, вы можете создать вопрос с двумя подстановочными знаками (например, {base}, {height}, созданными на основе общих имен переменных base, height) и указать «Формула правильного ответа»= {base} * {height} ( * ― знак умножения).

Формула правильного ответа= {base}*{height}



Когда студент проходит тест, Moodle случайным образом выбирает значения для {base} и {height} и оценивает ответ, используя формулу правильного ответа.

Тест с одинаковыми подстановочными знаками очень редко повторяется дважды.

Подходит ли вам этот тип вопроса?

Основная цель вычисляемого вопроса - создать несколько версий вопроса с разными числовыми значениями. Это означает, что в одном из ответов должен быть хотя бы один подстановочный знак.

Если вам не нужен случайный элемент, используйте вместо него числовой тип вопроса.

Простой вычисляемый вопрос

Простой вычисляемый вопрос предлагает наиболее часто используемые функции вычисляемого вопроса с гораздо более простым интерфейсом создания.

Подстановочные знаки и наборы данных

Когда Moodle отправляет учащемуся вычисляемый вопрос, подстановочные знаки заменяются случайно выбранными значениями. Однако эти значения не являются полностью случайными — скорее, они выбираются случайным образом из заранее определенного набора возможных значений. Это позволяет вам в некоторой степени контролировать выбранные возможные значения — например, для того, чтобы убедиться в реалистичности цифр, которые используются в качестве исходных данных в задачах по физике или экономике.

Настройка вопросов

Для создания (или изменения) расчетного вопроса есть три страницы, которые соответствуют трем последовательным этапам настройки вычисляемого вопроса. Приведенные ниже инструкции помогут вам пошагово ознакомиться со всеми страницами:

Страница 1. Редактирование расчетного вопроса

  1. Выберите категорию, в которой хотите создать вычисляемый вопрос.
  2. Ниже будут перечислены все общие подстановочные знаки для этой категории. Если вы изменяете категорию, вам нужно нажать кнопку "Обновить категорию", чтобы обновить этот список. Возможно, пока общих шаблонов для подстановочных знаков нет; если так, вы можете создать их при желании позже.
  3. Присвойте вопросу «название», которое это позволит вам идентифицировать его в банке вопросов.
  4. Введите текст вопроса. Это должен быть вопрос, на который вы хотите, чтобы ученик ответил, и он должен содержать всю информацию, необходимую для расчета ответа. Поэтому в нем должен быть хотя бы один подстановочный знак, заключенный в фигурные скобки. Например, если вы хотите, чтобы студент просуммировал числа A и B, текст вопроса может звучать так: «Чему равно {A} + {B}?» Вы также можете включить значения, вычисленные с помощью подстановочных знаков, используя синтаксис "{=...}: например, вопрос «Чему равно {={A}+{B}} ― {A}?» со значениями подстановочных знаков A=4 и B=3 будет отображаться как «Чему равно 7 ― 4?»
  5. Выберите изображение для отображения, если вы хотите добавить картинку к вопросу. Для учащихся оно отображается сразу после текста вопроса и перед вариантами ответов. Если вы хотите лучше контролировать отображение изображения, включите его в текст вопроса выше, используя редактор HTML.
  6. Установите оценку вопроса по умолчанию (т.е. максимальное количество баллов за этот вопрос).
  7. Установите штрафной коэффициент (см. соответствующий раздел ниже).
  8. Если хотите, добавьте общую обратную связь. Это текст, который появляется у студента после того, как он / она ответит на вопрос.
  9. Далее добавьте «формулу ответа». Эта формула должна содержать как минимум те подстановочные знаки, которые указаны в тексте вопроса. Более подробную информацию смотрите в разделе Синтаксис формулы правильного ответа ниже.
  10. Выберите оценку, которую учащийся получит за этот вопрос, если он даст такой ответ. Это должно быть процентное соотношение от общего количества доступных оценок. Например, вы могли бы поставить 100% за правильный ответ и 50% за ответ, который близок к правильному. Один из ответов должен быть обязательно оценен на 100%.
  11. Определите допустимую погрешность, которая приемлема в ответе. Настройки погрешности и типа допуска в совокупности дают диапазон допустимых значений. Итак, если допуск = t, правильный ответ = x и разница между ответом пользователя и правильным ответом равна dx, то типы допусков могут быть следующими:
    1. Номинальный: отметьте правильный, если |dx| <= t
    2. Относительный: отметьте правильно, если |dx| / x <= t
    3. Геометрический: отметьте правильно, если x/(1+t) <= (x+dx) <= x*(1+t)
  12. Следующие 2 параметра, «Отображение правильного ответа» и «Формат», определяют точность ответа. Используйте их, чтобы выбрать количество знаков после запятой или значащих цифр, которые вы хотите использовать.
  13. Добавьте обратную связь, которую студент увидит, если введет нужный ответ.
  14. Вы можете указать столько формул ответов, сколько захотите, для этого достаточно нажать «Добавить еще 1 вариант ответа».
  15. Вы также можете указать единицы измерения для ответов. Например, если вы введете здесь единицу измерения «см», а принятый ответ будет равен 15, то оба ответа «15 см» и «15» будут приняты как правильные. Если вы добавляете более одной единицы измерения, вы также можете указать множитель. Так, если ваш основной ответ был 5500 с единицей измерения W, вы также можете добавить единицу измерения kW с множителем 0,001. Это означает, что все ответы «5500», «5500 Вт» или «5,5 кВт» будут помечены как правильные. Обратите внимание, что допустимая ошибка также умножается, поэтому допустимая ошибка в 100 Вт будет равна ошибке в 0,1 кВт.
  16. Наконец (!) вы можете нажать «Сохранить», чтобы сохранить то, что вы сделали, и двинуться дальше.
Обратите внимание, что при создании вычисляемого вопроса переход на следующую страницу (шаг) происходит посредством кнопки «Сохранить». Первый раз это сбивает с толку, но быстро привыкаешь.

Штрафной коэффициент

Штрафной коэффициент применяется только в том случае, если вопрос используется в тесте в адаптивном режиме, т.е. когда учащемуся дается несколько попыток ответить на вопрос даже в рамках одной попытки в тесте. Если штрафной коэффициент больше 0, то ученик будет терять эту долю от максимальной оценки при каждой последующей попытке.

Например, если оценка за вопрос по умолчанию равна 10, а штрафной коэффициент равен 0,2, то за каждую последующую попытку после первой будет начисляться штраф в размере 0,2 х 10 = 2 балла.

Погрешность

Что касается вопросов с числами, то можно задать предел, в пределах которого все ответы будут приниматься как правильные. Для этого используется поле «Погрешность».

Однако существует три различных типа погрешности: относительная, номинальная и геометрическая.

Если мы предположим, что правильный ответ на вопрос равен 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 или более, будут использоваться для верхнего предела, но явно неприемлемы для нижнего предела, поскольку это сделало бы ноль правильным ответом во всех случаях.

Поле «Значащие цифры» выбирается в окошке «Формат» относится только к тому, как должен быть представлен правильный ответ в обзоре или отчетах:

Значащие цифры

Так, если указано «отобразить 2» значащие цифры, то правильный ответ 13.333 будет представлен как 13; 1236 будет представлен как 1200 и т.д.

Страница 2. Выбор свойств набора данных

С каждым подстановочным знаком, который вы указываете в формуле ответа, должен быть связан соответствующий набор возможных значений ― это и есть набор данных. На этой странице перечислены все подстановочные знаки и выбранный набор данных:

  • закрытый, т.е. используемый только этим вопросом;
  • общий, т. е. доступный для совместного использования с другими вычисляемыми вопросами в той же категории.

Использование общего набора данных может сэкономить время при создании множества однотипных вычисляемых вопросов.

Обратите внимание, что при создании вопроса даже в первый раз на этой странице может быть указано, что в вашем шаблоне «использовать ранее применяемый частный набор данных». 

Это просто означает, что Moodle уже предварительно создал частный набор данных для этого шаблона; если вам нужен частный набор данных, оставьте этот параметр включенным.

Если в тексте вопроса есть что-либо, похожее на подстановочный знак, но не указанное ни в одной из формул ответа, вы можете указать, должен ли это быть подстановочный знак. Если это так, вы можете выбрать, следует ли использовать частный или общий набор данных.

Чтобы продолжить, просто выберите нужный вам набор данных для каждого шаблона и нажмите «Сохранить».

Страница 3. Редактирование наборов данных

Теперь нам нужно создать набор возможных значений, которые может принимать каждый подстановочный знак.

Внимание ― эта страница может поначалу сбивать с толку! 

Существует два способа создания значений: вы можете ввести их самостоятельно и добавить в список или попросить Moodle сгенерировать их для вас.

Добавление /удаление ваших собственных значений

Добавление отдельных значений в список очень просто:

  1. В поле «Параметры» для каждого подстановочного знака введите желаемое значение.
  2. Прокрутите вниз до раздела «Добавить» и нажмите кнопку «Добавить», оставив количество элементов равным 1.
  3. Повторите описанные выше действия столько раз, сколько необходимо (максимальное количество элементов ― 100).

Чтобы удалить значения из списка:

  1. В разделе «Удалить» выберите количество элементов, которые вы хотите удалить. Нажмите кнопку «Удалить».

Разрешите Moodle создавать значения

  1. Начните с полей «Диапазон значений» и введите нижний и верхний пределы допустимых значений.
  2. Выберите количество знаков после запятой для значения.
  3. Выберите распределение значений между предельными значениями: «равномерное» означает, что любое значение между предельными значениями с одинаковой вероятностью будет сгенерировано; «логически однородное» означает, что значения, приближающиеся к нижнему пределу, более вероятны.
  4. Теперь перейдите в раздел «Добавить» и выберите опцию «принудительное обновление всех подстановочных знаков». В меню рядом с кнопкой «Добавить» выберите количество наборов случайных значений (элементов), которые вы хотите добавить в список. Обратите внимание, что максимальное общее количество элементов в вашем списке равно 100.
  5. Наконец, нажмите «Добавить», чтобы новые значения добавились в список.
Примечание: если вы хотите лучше контролировать элементы, добавляемые Moodle, вы можете выполнять их по одному и предварительно просматривать значения перед их добавлением. Нажмите кнопку «Получить новый добавляемый вариант», чтобы заставить Moodle генерировать новые значения в разделе «Добавляемый вариант» вверху. Если они вам нравятся, нажмите «Добавить» для 1 элемента; если нет, нажмите «Получить новый добавляемый вариант» еще раз, чтобы получить новые значения.

Завершение

Как только ваш список элементов (значений) будет заполнен, вы можете завершить настройку вычисляемого вопроса. Вам решать, сколько значений вы добавите ― чем значений больше, тем больше вопросов достанется студентам без повторения числовых значений.

Обратите внимание, что если вы удалите значения из списка, то вы сможете вернуть их обратно. Установите для параметр Следующий «Добавляемый вариант» опцию «повторно использовать предыдущее доступное значение», и тогда при следующем добавлении элементов Moodle восстановит ранее удаленные элементы из набора данных.

Как только ваш список значений будет заполнен, вы можете нажать кнопку «Сохранить изменения», чтобы завершить.

Зачем нужна кнопка «Обновить параметры наборов данных»?

Внимание: эта кнопка может повлиять сразу на несколько вопросов, поэтому будьте осторожны, прежде чем использовать ее. 

Предположим, вы выбрали для параметра набора данных {a} любое значение в диапазоне от 1 до 10 и сгенерировали вопрос. Во втором вопросе вы также решили использовать общий подстановочный знак {a}. По сути, он будет отображать значение в диапазоне от 1 до 10. Однако ваши потребности изменились, и вы хотите, чтобы оно было от 11 до 100. Затем вы меняете их в диапазоне и нажимаете эту кнопку. Вуаля! Значения изменяются, и вы можете добавлять новые элементы здесь, используя команду «Получить новый добавляемый вариант». Однако, если вы вернетесь к своему предыдущему вопросу, вы увидите, что значения там тоже изменятся, потому что это общий набор данных.

Если вы не обновите параметры, этого может и не произойти, и будет сгенерирован новый набор значений, который отобразится в разделе Следующий «Добавляемый вариант».

Синтаксис формулы правильного ответа

НЕ СТАВЬТЕ знак «=» в формуле

В последних версиях вычисляемого типа вопросов у вас может быть более одной формулы ответа и к каждой из них может быть применено определенное значение оценки, если существует хотя бы одна формула 100% правильного ответа.

Если при редактировании отображается более одного поля для ввода формулы правильного ответа, на вашем сайте предусмотрена функция множественного ответа.

Как правило, записывайте эти формулы так, как если бы вы использовали калькулятор, например. 3 + 5 * sin(3/{x})
Заметным исключением является возведение в степень, где x3 не может быть введено как {x}^3, но вместо этого следует ввести как pow({x}, 3).

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

Обычно лучше использовать лишние круглые скобки, чем какие-то из них упустить.  Серверу все равно, сколько считать, но чем конкретнее вы будете объяснять, что вам нужно, тем больше вероятность, что ему понравятся ваши сложные формулы.

Неявное умножение отсутствует. Для вас, обычного редактора, "5(23)" или "5x" может показаться совершенно очевидным. Для сервера, выполняющего математические вычисления, это бессмыслица, и он вас не поймет. Всегда используйте "*" для умножения.

Значения любой специальной математической функции должны быть заключены в круглые скобки. Возьмем, к примеру, функцию синуса, указанную в первом абзаце. Обратите внимание, что (3/{x}) заключено в круглые скобки — это для того, чтобы сервер мог правильно ее понять. Без этих круглых скобок сервер не будет знать, имеете ли вы в виду (sin 3)/x или sin(3/x), и соответственно отклонит всю формулу.

Доступные функции

В вычисляемых вопросах могут использоваться не только простые арифметические операторы. В версиях 1.5 и более поздних версиях разрешены следующие функции.

"Примечание: внутри этих функций можно использовать формулы и подстановочные знаки. Подстановочные знаки заключены в фигурные скобки {}".

Функция Пояснение Использование/Синтаксис
abs Абсолютное значение
acos Косинус дуги - выводится в радианах.
acosh Обратный гиперболический косинус - выводится в радианах.
asin Синус дуги - вывод в радианах.
asinh Обратный гиперболический синус.-- вывод в радианах.
atan2 Угловой тангенс двух переменных - введите два значения, например (y, x), и вы получите значение atan(y/x), настроенное на соответствующий квадрант. (Примечание: Переменные расположены в порядке, обратном порядку значений atan2(x,y) в Excel) Выходные данные представлены в радианах.
atan Угол наклона дуги - выводится в радианах.
atanh Обратный гиперболический тангенс - выводится в радианах.
bindec Преобразование двоичного числа в десятичное
ceil Округление дробей до целого числа ceil({a})
cos Косинус - в радианах!!! Преобразуйте значение градуса в радианы, прежде чем переводить его в значение cos.
cosh Гиперболический косинус - в радианах!!! Переведите значение градуса в радианы, прежде чем приступать к его измерению.
decbin Преобразование десятичной системы счисления в двоичную
decoct Из десятичной в восьмеричную
deg2rad Преобразует число в градусах в радианный эквивалент
exp Вычисляет показатель степени e
expm1 Возвращает значение exp(number) - 1, вычисленное таким образом, чтобы оно было точным, даже если значение number близко к нулю
floor Округление дробей до целого числа этаж([значение]) "например. этаж({x}/{y})"
fmod Возвращает модуль двух чисел с плавающей запятой, т.е. остаток при делении первого на второе.
is_finite Определяет, является ли значение допустимым конечным числом
is_infinite Определяет, является ли значение бесконечным
is_nan Определяет, не является ли значение числом
log10 Логарифм по основанию-10
log1p Возвращает логарифм(1 + число), вычисленный таким образом, чтобы он был точным, даже если значение number близко к нулю
log Натуральный логарифм ("ln")
max Найти наибольшее значение
min Найти наименьшее значение
octdec От восьмеричного к десятичному
pi Получаем значение pi - функция не принимает аргумент, как в Excel. pi()
pow Экспоненциальное выражение или число, возведенное в степень pow([число для возведения], [степень]) "например, pow({x},{y})"
rad2deg Преобразует число в радианах в эквивалентное число в градусах
rand Сгенерировать случайное целое число
round Округляет число с плавающей запятой до указанного числа знаков после запятой; если вам нужно округлить сумму до ближайших 100, разделите полученное число на 100, округлите до 0 знаков после запятой, затем умножьте на 100 округлить([сумма],[количество знаков после запятой]) "например. ОКРУГЛИТЬ({a},3)"
sin Синус - в радианах!!! Преобразуйте градусное значение в радианы, прежде чем принимать значение sin.
Гиперболический синус - в радианах!!! Преобразуйте ваши градусы измерения в радианы, прежде чем принимать их за чистую монету.
sqrt Квадратный корень
tan Касательная - в радианах!!! Преобразуйте ваши градусы измерения в радианы, прежде чем принимать их во внимание.
tanh Гиперболический тангенс - в радианах!!! Преобразуйте значение градуса в радианы, прежде чем измерять его в tanh.

Predefined constants

Actually there is NO Predefined constant that is allowed other than pi() as a function without parameter.

Synchronization

You could use shared wild cards to get the same values across questions in a quiz.

A simple example will be to use the same radius in a first question asking for the perimeter of a circle of {radius}cm and a second question asking for the surface of a circle of {radius}cm.

When the quiz will be shown to the student the two questions will shown the same {radius} value.

However the synchronization will work ONLY if the questions are kept in the SAME category and have the SAME NUMBER OF DATASETS .

If you need to move the synchronized questions to another category, you need to do it by editing the questions.

I have a problem: The wild card values are reset when trying to add a new parameter

See also

Using Moodle forum discussions:

index.php?title=Категория:Mathematics

de:Fragetyp Berechnet es:Tipo de Pregunta Calculada fr:Question calculée zh:計算題 ja:計算問題タイプ