Dobrý den,
jsem tu nově příchozí, avšak měl bych celkem náročný dotaz. Moodle používám již cca týden a tak je znalost dané problemtatiky zatím mlhavá. Jedná se o úpravu vyhodnocování testů v modulu quiz. Potřeboval bych poradit (nebo správně navést) v jakém skriptu (případně řádku) dochází k vyhodnocování otázek ve smyslu:
výsledný počet bodů za otázku = procenta dosažených správných odpovědích * počet bodů za otázku.
Konkrétně se mi jedná o to, pokud má otázka několik správných odpovědí, tak pro získání daného počtu bodů za otázku je nutné mít označeny všechny správné odpovědi. Pokud je nějaká odpověď špatně a nebo nejsou označeny všechny správné - počet dosažených bodů je 0.
Zatím jsem ve svém studiu systému moodle došel k závěru, že nejjednodušší bude nastavit pro správné otázky takovou hodnotu, aby v celkovém součtu dávaly 100%. Za špatnou otázku se bude suspendovat třeba 50%.
Do skriptu který pak vyhodnocuje otázku by se přidala podmínka, pokud dosažený součet počet není 100 procent, přiděl 0 bodů. Pokud je 100% přiřaď plný počet bodů za otázku.
Budu moc rád za jakékoliv návrhy a nápady. Případně by bylo dobré tuto volbu navrhnout do další verze systému.
Zdravíčko, Michale - vítejte mezi Moodlisty
Potvrzuji to, na co jste sám přišel - ve stávajících verzích tato varianta "všechno nebo nic" neexistuje. Tim Hunt, autor a maintainer modulu Quiz, nevylučuje, že by se taková věc v budoucnu objevila. Momentálně však nedisponuje ani časem, ani dostatečnou vůlí tento typ testové úlohy napsat - viz jeho vyjádření.
Implementaci modulu Quiz do podrobna neznám, takže vás nenavedu z hlavy. Nicméně příslušná logika vyhodnocování by měla ležet někde v /question/type/multichoice
--mudrd8mz
Potvrzuji to, na co jste sám přišel - ve stávajících verzích tato varianta "všechno nebo nic" neexistuje. Tim Hunt, autor a maintainer modulu Quiz, nevylučuje, že by se taková věc v budoucnu objevila. Momentálně však nedisponuje ani časem, ani dostatečnou vůlí tento typ testové úlohy napsat - viz jeho vyjádření.
Implementaci modulu Quiz do podrobna neznám, takže vás nenavedu z hlavy. Nicméně příslušná logika vyhodnocování by měla ležet někde v /question/type/multichoice
--mudrd8mz
Děkuji za typ. Už jsem to zprovoznil. Stačí do skriptu
question/type/multiplechoice/questiontype.php na řádek 370 vložit tento kód:
//======================================================================
// Uprava vyhodnocovani vsechno nebo nic
// tentyz kod umisten v question/questiontype.php
// Provedeno: Michal Michna - 19.5.2008
if($state->raw_grade < $question->maxgrade){
$state->raw_grade=0;
}
else{
$state->raw_grade = $question->maxgrade;
}
//======================================================================
pokud neni dosazeno 100 pocet procent pro danou otazku tak je bodovy zisk 0, v opacnem pripade je zisk plny pocet bodu.
Zatím jsem si nevšiml žádných vedlejších účinků a funguje to uvedeným způsobem.
S pozdravem Michal Michna
question/type/multiplechoice/questiontype.php na řádek 370 vložit tento kód:
//======================================================================
// Uprava vyhodnocovani vsechno nebo nic
// tentyz kod umisten v question/questiontype.php
// Provedeno: Michal Michna - 19.5.2008
if($state->raw_grade < $question->maxgrade){
$state->raw_grade=0;
}
else{
$state->raw_grade = $question->maxgrade;
}
//======================================================================
pokud neni dosazeno 100 pocet procent pro danou otazku tak je bodovy zisk 0, v opacnem pripade je zisk plny pocet bodu.
Zatím jsem si nevšiml žádných vedlejších účinků a funguje to uvedeným způsobem.
S pozdravem Michal Michna
Michale, díky za sdílení vaší úpravy! Přeposlal jsem vaše řešení do diskuse na moodle.org (http://moodle.org/mod/forum/discuss.php?d=93032#p431075) takže uvidíme - třeba se brzy dočkáme začlenění do kódu