moodle平台中导入“gift”格式文件方法

moodle平台中导入“gift”格式文件方法

整理:罗茂寿

 

配置环境:

首先,下载并安装软件,在这采用notepad 。

其次,档案格式选择编译成utf-8码如下图



再次,在notepad 中输入您的题目:以题目内容为开头,选项以{}括起来,正确选项前加”=”,非正确选项前加”~”,各选项之间空一格,两个题目中要空一行,范例如下。编辑完成后请存档。

 

 

gift是moodle从文本文件导入问题的通用格式。它支持单选题、是非题、简答题、匹配题、数学题及填空题。在一个单独的文本文件中可以添加多种类型的题目,这种格式还支持整行注释、问题名称、反馈和百分比权重。
   你的文本编码必须是utf-8格式(除非你只使用ascii字符)。以下是一个问题文本文件的例子:gift/examples.txt.

一.基础知识
    gift文件里的每一个问题中不能包含空行。但问题之间至少有一个空行。  

如果在你的问题里需要一个空行你可以用:\n。
你可以在任何地方用注释,但是必须在这行注释前用双斜线(//)。

 

二.问题类型
1.单选题

    对于单选题:错误答案以波浪号(~)为前缀,正确答案以等号(=)为前缀,每个选项之间空一格。例如:
who's buried in grant's tomb?{~grant ~jefferson =no one}

missing word格式可以在句子中自动插入一个填空线(像_____)。

用missing word格式,可以根据需要,让填空线出现在句子的任何地方,答案就填在这条线上。例如:
    grant is {~buried =entombed ~living} in grant's tomb.
如果答案出现在句号前,"missing word"格式会插入一个填空线。

在 missing word格式中可以填写所有的问题类型。

必须有一个空行(双回车)把问题分开。为了表示清楚,答案要分行写。

例如:
the american holiday of thanksgiving is celebrated on the { ~second ~third =fourth } thursday of november. japanese characters originally came from what country? { ~india =china ~korea ~egypt}

2.简答题

在简答题中,答案前面都是以等号(=)为前缀,这表明它们都是正确答案。答案中不能包含波浪号前缀。例如:
    who's buried in grant's tomb?{=no =x one =nobody} two plus two equals {=four =4}.
   如果只有一个正确的答案,只要不与是非题混淆,可以不写等号前缀。

3.是非题

是非题的答案表明命题是对还是错。答案应该写成{true} 或 {false},也可以简写成{t} 或{f}。例如:
grant is buried in grant's tomb.{f} the sun rises in the east.{t}

4.匹配题

匹配题以一个等号(=)开始,用符号“->”分开,至少包含三对匹配项。例如:
matching question. { =subquestion1 -> subanswer1 =subquestion2 -> subanswer2 =subquestion3 -> subanswer3 } match the following countries with their corresponding capitals. { =canada -> ottawa =italy -> rome =japan -> tokyo =india -> new delhi }
匹配题不支持反馈或答案的百分比权重。

5.数学题

数学题的答案必须以数学符号(#)开始。数字答案可以包括一个误差容限(被一个冒号分开,写在正确答案之后)。例如:如果正确答案在1.5和2.5之间,这时可以写成{#2:0.5}。这表明2在0.5的误差容限内是正确的(例如:从1.5到2.5这个范围)。如果没有详细说明误差容限,可以假定为0。例如:
when was ulysses s. grant born? {#1822} what is the value of pi (to 3 decimal places)? {#3.1415:0.0005}.
optionally, numerical answers can be written as a span in the following format {#minimumvalue..maximumvalue}.
what is the value of pi (to 3 decimal places)? {#3.141..3.142}.
moodle的浏览器界面不支持多项数学题答案,但是moodle的代码支持,gift也支持。这样就可以用来指定数字的多重范围;当与百分比权重结合时,特别有用。如果使用多个答案,这些答案必须用等号分开,就像简答题一样。例如:
when was ulysses s. grant born? {# =1822:0 =p22:2}
注意:因为moodle浏览器gui不支持数学问题的多项答案,通过moodle就不能看到和编辑多项答案。改变原来的数字答案的唯一方法是删除或重新导入这个问题(或者选择其它语言,像phpmyadmin)。
选择除了这些基本的问题类型,此过滤器还提供了如下选择:整行注释、问题名称、反馈和百分比权重。

整行注释

注释不能被导入到moodle中,但可以包含在文本文件中。注释可以用于提供标题或关于问题的更多信息。以双反斜线开始的所有行都会被过滤器忽略。例如:
// subheading: numerical questions below what's 2 plus 2? {#4}
问题名称:
你可以把一个问题名称放在双冒号之间并置于开头。例如:
::kanji origins::japanese characters originally came from what country? {=china} ::thanksgiving date::the american holiday of thanksgiving is celebrated on the {~second ~third =fourth} thursday of november.
如果没有指定问题名称,那么缺省情况下整个问题就是名称。
反馈:通过在答案后加一个数学符号(#)和反馈,可以把反馈放在每个答案中。
what's the answer to this multiple-choice question?{ ~wrong answer#feedback comment on the wrong answer ~another wrong answer#feedback comment on this wrong answer =right answer#very good!} who's buried in grant's tomb?{ =no one#excellent answer! =nobody#excellent answer!} grant is buried in grant's tomb.{false#no one is buried in grant's tomb.}
对于单选题,反馈只在学生选择答案后显示。对于简答题,反馈只在学生输入相应的正确答案时显示。对于是非题,导入的反馈被保存起来,当学生选择错误答案时,显示该反馈。因此,在上述例子中,学生只有选择true时,才能看到反馈。

答案的百分比权重

答案的百分比权重既可以用于单选题,也可以用于简答题。答案的百分比权重在波浪号(单选题)或等号(简答题)后,把期望的百分数填在两个百分号内(例如:p%)。选项可以与反馈结合在一起。例如:
difficult question.{~wrong answer ~p%half credit answer =full credit answer} ::jesus' hometown::jesus christ was from { ~jerusalem#this was an important city, but the wrong answer. ~%�thlehem#he was born here, but not raised here. ~p%galilee#you need to be more specific. =nazareth#yes! that's right!}. ::jesus' hometown:: jesus christ was from { =nazareth#yes! that's right! =u%nazereth#right, but misspelled. =%�thlehem#he was born here, but not raised here.}
注意:最后两个例子在本质上是一样的,第一个作为单选题,然后作为简答题。
注意:通过浏览器界面指定答案百分比权重的方法,可能不起作用。导入页面的分数匹配下拉列表,可以决定答案的百分比权重是怎样起作用的。
你既可以要求报告错误答案,也可以要求把答案权重调为最有效的答案权重。

给问题指定文本格式

问题文本只允许有一个可选择的文本格式。目前,可以用的格式有moodle(moodle自动套用格式),html(html格式),plain(plain文本格式)以及markdown(markdown 格式)。格式在问题文本前的方括号内指定。 在moodle中关于文本格式的更多信息。
[markdown]the *american holiday of thanksgiving* is celebrated on the { ~second ~third =fourth } thursday of november.

多选题

多个答案选项用于多选题,为了得到满分,学生必须选择两个或两个以上的答案。通过把部分答案权重赋值于多个答案,激活多个答案选项。这时,只选择一个正确答案不能得到满分。例如:
what two people are entombed in grant's tomb? { ~no one ~p%grant ~p%grant's wife ~grant's father }
注意:任何答案都没有等号(=),答案的权重百分比总和不能超过100%。否则,moodle会返回一个错误提示。为了避免学生通过简单的核算答案而得到满分,最好把错误答案设置为负权重。
what two people are entombed in grant's tomb? { ~%-50%no one ~p%grant ~p%grant's wife ~%-50%grant's father }
特殊字符 ~ = # { }:
这些符号~ = # { }控制过滤器的操作,在问题中不能用作一般的文本。因为这些符号有专门的作用:决定过滤器的操作,所以被称作“控制符”。但是,有时你可能要用这些符号中的一个,例如:在一个问题中用到一个数学公式。处理这个问题的方法是“避开”这些控制符。你只需在控制符前加一个反斜线(\),这样,过滤器就知道了:你想用它作为文字字符,而不是控制符。例如:
which answer equals 5? { ~ \= 2 2 = \= 2 3 ~ \= 2 4 } ::gift control characters:: which of the following is not a control character for the gift import format? { ~ \~ # \~ is a control character. ~ \= # \= is a control character. ~ \# # \# is a control character. ~ \{ # \{ is a control character. ~ \} # \} is a control character. = \ # correct! \ (backslash) is not a control character. but, it is used to escape the control characters. }
当运行这个问题时,反斜线就被忽略了,也不会被保存在moodle 中。
其它的选择:
简答题可以通过在下一行中把“0”变为“1”来区分大小写:
$question->usecase = 0; // ignore case


最后修改: 2019年08月5日 monday 09:38