Программируемые вопросы

Программируемые вопросы

от Андрей Чеботков -
Количество ответов: 4

Здравствуйте. Есть ли плагин для создания не простого теста, а при его запуске чтобы значения менялись. Например, ученик заходит в тест, и у него задание сколько будет 2+2 и он должен ввести ответ. А если другой ученик зайдет , то у него будет вопрос сколько будет 3+5. Т.е. при каждом новом запуске теста будут разные значения. Если кто - то знает программу Айрен, это решалось сценарием, достаточно было написать код на паскале и каждый новый запуск теста - новые значения.


Заранее спасибо за ответ

В ответ на Андрей Чеботков

Re: Программируемые вопросы

от Vadim Tabunshchik -
Изображение пользователя Developers
Это называется вопрос типа «Вычисляемый» (calculated), а также calculatedsimple и calculatedmulti
В ответ на Vadim Tabunshchik

Re: Программируемые вопросы

от Андрей Чеботков -
Спасибо, но у меня задача посложнее
скину пример кода из Айрен и вкратце расскажу

var
N, Tmax, Tpere,Item, Korp, Kkorp, U, Kv, L_Priem, EksplRand :Integer;
A,S,B, tokr, Kt, lyamB, Kuc, Priem, EksplZnschenie, r: Real;
Tipe,Korpus, L_Ekspl : String;

Priemka: array [1..5] of Integer;
Ekspl: array [1..7] of String;

begin
N:= Random(100) + Random(100) + Random(1000) + 200;
Tmax:=Random(100) + 50;
Tpere:=Random(30) + 30;
Item := Random(5)+1;
Korp:=Random (2);
U:= Random (14)+1;

if Item = 1 then begin lyamB:=0.023; A:=0.336; S:=0.288; B:=0.021; Tipe:='логический элемент'; end;
if Item = 2 then begin lyamB:=0.023; A:=0.336; S:=0.288; B:=0.021; Tipe:='регистровый сдвиг'; end;
if Item = 3 then begin lyamB:=0.030; A:=0.468; S:=0.168; B:=0.021; Tipe:='ОЗУ'; end;
if Item = 4 then begin lyamB:=0.018; A:=0.963; S:=0.128; B:=0.021; Tipe:='ПЗУ'; end;
if Item = 5 then begin lyamB:=0.018; A:=1.113; S:=0.128; B:=0.021; Tipe:='РПЗУ'; end;

if Korp = 0 then begin Korpus:='пластмассовом'; Kkorp:= 3; end;
if Korp = 1 then begin Korpus:='металическом'; Kkorp := 1; end;

if U < 10 then Kv:=1;
if (U > 9) AND (U < 13) then Kv:=3;
if U > 12 then Kv:=10;

tokr:= Tmax + Tpere;
Kt:=exp(B*(tokr-25));

Kuc:= A * exp(ln(N)*S);

{Приемка Кп}
Priemka[1]:=1;
Priemka[2]:=3;
Priemka[3]:=5;
Priemka[4]:=7;
Priemka[5]:=9;
L_Priem:= Priemka[Random(5)+1];
if L_Priem = 1 then Priem:=5.5;
if L_Priem = 3 then Priem:=3.1;
if L_Priem = 5 then Priem:=1;
if L_Priem = 7 then Priem:=0.5;
if L_Priem = 9 then Priem:=0.3;

{Коэффициент Кэ}

Ekspl[1]:='Зр';
Ekspl[2]:='Зчр';
Ekspl[3]:='Зов';
Ekspl[4]:='Зпн';
Ekspl[5]:='Зм';
Ekspl[6]:='Змд';
Ekspl[7]:='Бск';

EksplRand:=Random(7)+1;
L_Ekspl:=Ekspl[EksplRand];
if EksplRand = 1 then EksplZnschenie:=1;
if EksplRand = 2 then EksplZnschenie:=1.2;
if EksplRand = 3 then EksplZnschenie:=1.5;
if EksplRand = 4 then EksplZnschenie:=1.7;
if EksplRand = 5 then EksplZnschenie:=2;
if EksplRand = 6 then EksplZnschenie:=3;
if EksplRand = 7 then EksplZnschenie:=3.5;

{Итог}
r := lyamB * Kt * Kuc * Kkorp * Kv * Priem * EksplZnschenie*1000;
end.

Создается несколько случайных цифр по условию If они просматриваются и в зависимости от этого числа уже изменяются переменные. Причем у меня не только цифры но и слова есть для вывода.
В ответ на Андрей Чеботков

Re: Программируемые вопросы

от Людмила Татарникова -
Используйте тип вопроса Формулы (formulas) - его надо в Moodle дополнительно установить, но зато там есть весь необходимый Вам функционал, только язык программирования используется свой, "встроенный" (случайные значения для переменных, встроенные алгебраические функции, оператор ?, цикл, массивы), плюс прямо в поле вопроса можно писать свой JavaScript-код. Полей для ответа может быть множество.
В ответ на Андрей Чеботков

Re: Программируемые вопросы

от Alexandre Scherbyna -

Создавать специфический тип вопроса не обязательно. Чтобы один студент получил вопрос 2+2, а другой 3+5, можно просто создать множество вопросов и Moodle будет выдавать их студентам случайным образом. 

Можно подумать, как быстро сгенерировать множество вопросов по единому образцу, например, с помощью механизма слияния документов в Word.

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

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