asyan.org
добавить свой файл
1
Опис створення екземпляру зворотнього зв'язку(Multiple choice(rated))


  1. Спочатку обираємо у випадаючому списку завдання «Зворотній зв'язок».






  1. Отримуємо наступне діалогове вікно:


Діалогове вікно редагування індентифікації екземпляру анкети.



В полі «name» задаємо назву анкети. В полі «описание» вводимо короткий опис , суть, зміст анкетування

Наступний крок – це встановлення строку існування анкети. Open the feedback at – це дата , коли анкета вступить в дію . Close the feedback at – це дата коли екземпляр анкети буде блоковано для користування.

Наступна частина першого вікна редагування(параметри анкети).


«Запись имени пользователей» - обираємо анонімний запис чи реєстрація клієнтів.

«Show analysis to the student» - є можливість сховати чи показати відповіді студенту.

«Отправить уведомдение на e-mail» - відпрака інйормаційного листа на потову скринж()так чи ні).

«Multiply submit» - можливість одно чи багаторазового проходження анкети.

«Automated answers for each question» - автоматичне призначення запитанню анкети порядковий номер (так чи ні).

«Site after submit» - в цьому полі можна задати посилання на сайт, який буде завантажено після закінчення анкетування.

«Pagе after submit» - в цьому полі вводять текст, який буде завантажено, як сторінку після закінчення анкетування.


  1. Діалогове віно редагування анкети(додавання запитань):


При запуску анкети ви побачите таке вікно.


  • Вкладка «Overview» - перегляд оформлення анкети;





  • Вкладка «Редактировать вопросы…» - відповідає за редагування запитань( додавання, фоматування, зміна позиції);



Обираємо пункт Multiple choice(rated), після запуску ми побачимо таке вікно:



Поле «Required» - в цьому полі ми ставимо галочку, у разі необхідності обов'язкової відповіді на запитання;

Поле «Question» - назва запитання;

Поле «Adjustment» - вигляд запитання : вертикальне положення варіантів відповіді чи горизонтальне;

Поле «Multiple choice type» - можливість замінити тип запитання : single answer, single answer dropdowlnlist;

Поле «Multiple choice values» в цьому полі через слеш вказуємо здіва – вартість запитання в балах, справа – варіант відповіді;

Поле «Position» - позиція запитання в анкеті.
Післі вказання всіх парламентів зберігаємо запитання.



  • Вкладка «Templates» - зберігає створенні запитання в шаблони:



Зберігаєте створенні запитання в одному документі – Шаблоні. В полі «name» вводите назву шаблона. Зберігаєте його save as new template. В полі Use this template обираємо наш новостворений шаблон та завантажуємо його до анкети.


  • Вкладка «Анализ» - в процентному відношення демонструються результати всіх хто пройшов анкету:


Сума балів:8



  • Вкладка «Show responses» - в ній зазначений список студентів, які пройшли анкетування:




Загальні коментарі

Для реалізації поставленої задачі було взято найновішу версію модуля feedback для версії 1.9.3 і доповнено її сумою балів та виводом результатів.

Код програми
В файлі moodle\mod\feedback\item\multichoicerated\lib.php було внесено такі зміни:


  1. У функцію function print_analysed, додано функцію яка повертає нам значення кожної відповіді , як число(додані рядки позначені червоним кольором).



Функція до редакції

Після редакції

function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {

$sep_dec = get_string('separator_decimal', 'feedback');

if(substr($sep_dec, 0, 2) == '[['){

$sep_dec = FEEDBACK_DECIMAL;

}

$sep_thous = get_string('separator_thousand', 'feedback');

if(substr($sep_thous, 0, 2) == '[['){

$sep_thous = FEEDBACK_THOUSAND;

}

$analysedItem = $this->get_analysed($item, $groupid, $courseid);

if($analysedItem) {

//echo '';

// $itemnr++;

echo '';

$analysedVals = $analysedItem[2];

$pixnr = 0;

$avg = 0.0;

foreach($analysedVals as $val) {

if( function_exists("bcmod")) {

$intvalue = bcmod($pixnr, 10);

}else {

$intvalue = 0;

}

$pix = "pics/$intvalue.gif";

$pixnr++;

$pixwidth = intval($val->quotient * FEEDBACK_MAX_PIX_LENGTH);

$avg += $val->avg;

$quotient = number_format(($val->quotient * 100), 2, $sep_dec, $sep_thous);

echo '';

}

echo '';

//echo '
'. $itemnr . ' ' . stripslashes($analysedItem[1]) .'
-  ' . trim($val->answertext) . ' ('.$val->value.'):\'..\'' . $val->answercount. (($val->quotient > 0)?' ('. $quotient . ' %)':'') . '
'.get_string('average', 'feedback').': '.$avg.'
';

}

// return $itemnr;

}


function print_analysed($item, $itemnr = '', $groupid = false, $courseid = false) {

$sep_dec = get_string('separator_decimal', 'feedback');

if(substr($sep_dec, 0, 2) == '[['){

$sep_dec = FEEDBACK_DECIMAL;

}

$sep_thous =get_string('separator_thousand', 'feedback');

if(substr($sep_thous, 0, 2) == '[['){

$sep_thous= FEEDBACK_THOUSAND;

}

$analysedItem = $this->get_analysed($item, $groupid, $courseid);

if($analysedItem) {

//echo '';

// $itemnr++;

echo '';

$analysedVals = $analysedItem[2];

$pixnr = 0;

$avg = 0.0;

foreach($analysedVals as $val) {

if( function_exists("bcmod")) {

$intvalue = bcmod($pixnr, 10);

}else {

$intvalue = 0;

}

$pix = "pics/$intvalue.gif";

$pixnr++;

$pixwidth = intval($val->quotient * FEEDBACK_MAX_PIX_LENGTH);

$avg += $val->avg;

$quotient = number_format(($val->quotient * 100), 2, $sep_dec, $sep_thous);

echo '';

}

$avg = number_format(($avg), 2, $sep_dec, $sep_thous);

echo '';

//echo '
'. $itemnr . ' ' . stripslashes($analysedItem[1]) .'
-  ' . trim($val->answertext) . ' ('.$val->value.'):\'..\'' . $val->answercount. (($val->quotient > 0)?' ('. $quotient . ' %)':'') . '
'.get_string('average', 'feedback').': '.$avg.'
';

}

return $avg;

// return $itemnr;




В файлі moodle\mod\feedback\analysis.php було внесено такі зміни:


  1. Додано обрахування загальної суми балі на основі кількості балів по кожному питанню, яку повертає функція print_analysed($item, $itemnr = '', $groupid = false, $courseid = false):

    1. Рядок № 156: $summ=0;

    2. Рядок № 171: $summ+=$itemobj->print_analysed($item, $printnr, $mygroupid);

  2. Виведення суми балів після переліку питань та у вспливаючуму вікні:

    1. Рядок № 179: echo '

      Сума балів: '.$summ.'

      ';

    2. Рядок № 184: echo '';



Функція до редакції

Після редакції

echo '
';

if($check_anonymously) {

$itemnr = 0;

//print the items in an analysed form

foreach($items as $item) {

if($item->hasvalue == 0) continue;

echo '';

//get the class of item-typ

$itemclass = 'feedback_item_'.$item->typ;

//get the instance of the item-class

$itemobj = new $itemclass();

$itemnr++;

if($feedback->autonumbering) {

$printnr = $itemnr.'.';

} else {

$printnr = '';

}

$itemobj->print_analysed($item, $printnr, $mygroupid);

// $itemnr = $itemobj->print_analysed($item, $itemnr, $mygroupid);

echo '
';

}

}else {

print_heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), 'insufficient_responses', 'feedback');

}

echo '
';

// print_simple_box_end();

print_box_end();
print_footer($course);

echo '
';

if($check_anonymously) {

$itemnr = 0;

//print the items in an analysed form

$summ=0;

foreach($items as $item) {

if($item->hasvalue == 0) continue;

echo '';

//get the class of item-typ

$itemclass = 'feedback_item_'.$item->typ;

//get the instance of the item-class

$itemobj = new $itemclass();

$itemnr++;

if($feedback->autonumbering) {

$printnr = $itemnr.'.';

} else {

$printnr = '';

}

$summ+=$itemobj->print_analysed($item, $printnr, $mygroupid);

// $itemnr = $itemobj->print_analysed($item, $itemnr, $mygroupid);

echo '
';

}

}else {

print_heading_with_help(get_string('insufficient_responses_for_this_group', 'feedback'), 'insufficient_responses', 'feedback');

}

echo '
';
echo '

Сума балів: '.$summ.'

';

// print_simple_box_end();

print_box_end();
print_footer($course);

echo '';