[tr][td]导入“GIFT”格式文件
GIFT是Moodle从文本文件导入问题的通用格式。它支持单选题、是非题、简答题、匹配题、数学题及填空题。在一个单独的文本文件中可以添加多种类型的题目,这种格式还支持整行注释、问题名称、反馈和百分比权重。 你的文本编码必须是utf-8格式(除非你只使用ASCII字符)。以下是一个问题文本文件的例子:gift/examples.txt. 基础 GIFT文件里的每一个问题中不能包含空行。但问题之间至少有一个空行。如果在你的问题里需要一个空行你可以用:n。 你可以在任何地方用注释,但是必须在这行注释前用双斜线(//)。 问题类型 单选题: 对于单选题:错误答案以波浪号(~)为前缀,正确答案以等号(=)为前缀。例如: Who'sburiedinGrant'stomb?{~Grant~Jefferson=noone} MissingWord格式可以在句子中自动插入一个填空线(像_____)。用MissingWord格式,可以根据需要,让填空线出现在句子的任何地方,答案就填在这条线上。例如: Grantis{~buried=entombed~living}inGrant'stomb. 如果答案出现在句号前,"missingword"格式会插入一个填空线。在MissingWord格式中可以填写所有的问题类型。 必须有一个空行(双回车)把问题分开。为了表示清楚,答案要分行写。例如 TheAmericanholidayofThanksgivingiscelebratedonthe{~second~third=fourth}ThursdayofNovember.Japanesecharactersoriginallycamefromwhatcountry?{~India=China~Korea~Egypt} 简答: 在简答题中,答案前面都是以等号(=)为前缀,这表明它们都是正确答案。答案中不能包含波浪号前缀。例如: Who'sburiedinGrant'stomb?{=noXone=nobody}Twoplustwoequals{=four=4}. 如果只有一个正确的答案,只要不与是非题混淆,可以不写等号前缀。 是非题: 是非题的答案表明命题是对还是错。答案应该写成{TRUE}或{FALSE},也可以简写成{T}或{F}。例如: GrantisburiedinGrant'stomb.{F}Thesunrisesintheeast.{T} 匹配题: 匹配题以一个等号(=)开始,用符号“->”分开,至少包含三对匹配项。例如: MatchingQuestion.{=subquestion1->subanswer1=subquestion2->subanswer2=subquestion3->subanswer3}Matchthefollowingcountrieswiththeircorrespondingcapitals.{=Canada->Ottawa=Italy->Rome=Japan->Tokyo=India->NewDelhi} 匹配题不支持反馈或答案的百分比权重。 数学题: 数学题的答案必须以数学符号(#)开始。数字答案可以包括一个误差容限(被一个冒号分开,写在正确答案之后)。例如:如果正确答案在1.5和2.5之间,这时可以写成{#2:0.5}。这表明2在0.5的误差容限内是正确的(例如:从1.5到2.5这个范围)。如果没有详细说明误差容限,可以假定为0。例如: WhenwasUlyssesS.Grantborn?{#1822}Whatisthevalueofpi(to3decimalplaces)?{#3.1415:0.0005}. Optionally,numericalanswerscanbewrittenasaspaninthefollowingformat{#MinimumValue..MaximumValue}. Whatisthevalueofpi(to3decimalplaces)?{#3.141..3.142}. Moodle的浏览器界面不支持多项数学题答案,但是Moodle的代码支持,GIFT也支持。这样就可以用来指定数字的多重范围;当与百分比权重结合时,特别有用。如果使用多个答案,这些答案必须用等号分开,就像简答题一样。例如: WhenwasUlyssesS.Grantborn?{#=1822:0=%50%1822:2} 注意:因为Moodle浏览器GUI不支持数学问题的多项答案,通过Moodle就不能看到和编辑多项答案。改变原来的数字答案的唯一方法是删除或重新导入这个问题(或者选择其它语言,像phpMyAdmin)。 选择 除了这些基本的问题类型,此过滤器还提供了如下选择:整行注释、问题名称、反馈和百分比权重。 整行注释: 注释不能被导入到Moodle中,但可以包含在文本文件中。注释可以用于提供标题或关于问题的更多信息。以双反斜线开始的所有行都会被过滤器忽略。例如: //Subheading:NumericalquestionsbelowWhat's2plus2?{#4} 问题名称: 你可以把一个问题名称放在双冒号之间并置于开头。例如: ::KanjiOrigins::Japanesecharactersoriginallycamefromwhatcountry?{=China}::ThanksgivingDate::TheAmericanholidayofThanksgivingiscelebratedonthe{~second~third=fourth}ThursdayofNovember. 如果没有指定问题名称,那么缺省情况下整个问题就是名称。 反馈:通过在答案后加一个数学符号(#)和反馈,可以把反馈放在每个答案中。 What'stheanswertothismultiple-choicequestion?{~wronganswer#feedbackcommentonthewronganswer~anotherwronganswer#feedbackcommentonthiswronganswer=rightanswer#Verygood!}Who'sburiedinGrant'stomb?{=noone#excellentanswer!=nobody#excellentanswer!}GrantisburiedinGrant'stomb.{FALSE#NooneisburiedinGrant'stomb.} 对于单选题,反馈只在学生选择答案后显示。对于简答题,反馈只在学生输入相应的正确答案时显示。对于是非题,导入的反馈被保存起来,当学生选择错误答案时,显示该反馈。因此,在上述例子中,学生只有选择TRUE时,才能看到反馈。 答案的百分比权重: 答案的百分比权重既可以用于单选题,也可以用于简答题。答案的百分比权重在波浪号(单选题)或等号(简答题)后,把期望的百分数填在两个百分号内(例如:%50%)。选项可以与反馈结合在一起。例如: Difficultquestion.{~wronganswer~%50%halfcreditanswer=fullcreditanswer}::Jesus'hometown::JesusChristwasfrom{~Jerusalem#Thiswasanimportantcity,butthewronganswer.~%25%Bethlehem#Hewasbornhere,butnotraisedhere.~%50%Galilee#Youneedtobemorespecific.=Nazareth#Yes!That'sright!}.::Jesus'hometown::JesusChristwasfrom{=Nazareth#Yes!That'sright!=%75%Nazereth#Right,butmisspelled.=%25%Bethlehem#Hewasbornhere,butnotraisedhere.} 注意:最后两个例子在本质上是一样的,第一个作为单选题,然后作为简答题。 注意:通过浏览器界面指定答案百分比权重的方法,可能不起作用。导入页面的分数匹配下拉列表,可以决定答案的百分比权重是怎样起作用的。 你既可以要求报告错误答案,也可以要求把答案权重调为最有效的答案权重。 给问题指定文本格式 问题文本只允许有一个可选择的文本格式。目前,可以用的格式有moodle(Moodle自动套用格式),html(HTML格式),plain(Plain文本格式)以及markdown(Markdown格式)。格式在问题文本前的方括号内指定。在Moodle中关于文本格式的更多信息。 [markdown]The*AmericanholidayofThanksgiving*iscelebratedonthe{~second~third=fourth}ThursdayofNovember. 多选题: 多个答案选项用于多选题,为了得到满分,学生必须选择两个或两个以上的答案。通过把部分答案权重赋值于多个答案,激活多个答案选项。这时,只选择一个正确答案不能得到满分。例如: WhattwopeopleareentombedinGrant'stomb?{~Noone~%50%Grant~%50%Grant'swife~Grant'sfather} 注意:任何答案都没有等号(=),答案的权重百分比总和不能超过100%。否则,Moodle会返回一个错误提示。为了避免学生通过简单的核算答案而得到满分,最好把错误答案设置为负权重。 WhattwopeopleareentombedinGrant'stomb?{~%-50%Noone~%50%Grant~%50%Grant'swife~%-50%Grant'sfather} 特殊字符~=#{}: 这些符号~=#{}控制过滤器的操作,在问题中不能用作一般的文本。因为这些符号有专门的作用:决定过滤器的操作,所以被称作“控制符”。但是,有时你可能要用这些符号中的一个,例如:在一个问题中用到一个数学公式。处理这个问题的方法是“避开”这些控制符。你只需在控制符前加一个反斜线(),这样,过滤器就知道了:你想用它作为文字字符,而不是控制符。例如: Whichanswerequals5?{~=2+2==2+3~=2+4}::GIFTControlCharacters::WhichofthefollowingisNOTacontrolcharacterfortheGIFTimportformat?{~~#~isacontrolcharacter.~=#=isacontrolcharacter.~###isacontrolcharacter.~{#{isacontrolcharacter.~}#}isacontrolcharacter.=#Correct!(backslash)isnotacontrolcharacter.BUT,itisusedtoescapethecontrolcharacters.} 当运行这个问题时,反斜线就被忽略了,也不会被保存在Moodle中。 其它的选择: 简答题可以通过在下一行中把“0”变为“1”来区分大小写: $question->usecase=0;//Ignorecase [/td][/tr] |
|