2008-12-27

导入“GIFT”格式文档

要将文档导入Moodle测验模组时,FIFT是最具综合性的导入格式。它支持选择题、是非题、简答(填充题)、配搭题、数字题以及完形填空题型。各种题型可以混杂在一个文档中,且此格式可以支持线上评语、试题名称、反馈和百分比加权计分。


您的文档的编码方式必需跟您安装您的Moodle时所用的相同。这里有一个试题文档的范例: gift/examples.txt
试题类型

选择题:
就选择题而言,错误答案前面要加波浪符号(~),而正确答案前面要加上等号(=)。如:

谁被埋在格兰特的坟墓里?{~格兰特 ~杰佛逊 =没有人}

这填空格式会在句子中间自动插入一个可供填写的下划线(像这样 _____ )。要使用填充格式,只要把答案放在该句子中(您想下划线出现的地方)。

格兰特 {~藏匿 =被埋葬 ~生活} 在格兰特的坟墓里。

只要答案是在结束的标点符号前出现,一个填空用的下划线就会被插入。所有的题型都可以写成填空的格式。

这里必需使用一个空白行(按两次回车键)来分隔试题。为了阅读清晰,每个选项可以写成一行,甚至上下对齐,例如:

美国的感恩节是在十一月的第{
~二
~三
=四
}个星期四。

日本文字最初是来自于哪一个国家? {
~印度
=中国
~韩国
~埃及}

简答题:
简答题的所有可接收的答案,都要在前面加上等号(=),并以空格隔开。答案里不可以包含颚化符号(tilde,西班牙文字中n字上所附的符号)。

谁被埋在格兰特的坟墓里?{=没人 =没有人}

二加二等于{=四 =4}.

如果只有一个正确答案,它可以不必在前面加上等号,但不要与是非题混淆了。

是非题:
在这种题型里,答案要指出这个叙述是真的还是假的。答案应该写成{TRUE}或者{FALSE},或简写成{T}或{F}。

格兰特被葬在格兰特的坟墓里。{F}

太阳从东方升起。{T}

配搭题:
配搭题中的每一配对要以等号(=)开头,并以箭头“->”(减号和大于号)指向答案。至少有三个配对。

搭配题的作答说明。 {
=试题1 -> 答案1
=试题2 -> 答案2
=试题3 -> 答案3
}

请将下列国家与其首都对应起来。 {
=加拿大 -> 渥太华
=意大利 -> 罗马
=日本 -> 东京
=印度 -> 新德里
}

搭配题不能使用回馈和答案加权法。

数字题:
数字题的答案部分必需以一个数字标志(#)开头。数字答案可以包括一个误差范围,写在正确答案的后面,用冒号(:)隔开。例如,如果一个正确的答案是一个大于1.5,小于2.5的任意数值,那么可以写成{#2:0.5}。这表明跟2之差的绝对值是小于0.5的非负数的值都是正确的(即取值范围从1.5到2.5)。如果不指定误差范围,则默认为零。

格兰特生于哪一年? {#1822}

圆周率(pi)的值是多少(算到小数第三位)? {#3.1415:0.0005}。

数字答案也可以作为间隔写成后面这种格式 {#最小值..最大值}。

圆周率(pi)的值是多少(算到小数第三位)? {#3.141..3.142}。

Moodle的浏览器接口不支持多个数字答案,但Moodle的代码支持,GIFT也支持。这可以用来指定数字多个间距,当与百分比加权评分时特别有用。如果使用多个答案,它们必需由一个等号隔开,就像简答题一样。

格兰特生于哪一年? {#
=1822:0
=%50%1822:2}

注意,因为Moodle的浏览器的图形使用界面不支持数字题的多重答案,所以透过Moodle是没有办法看到或编辑它们的。要改变数值答案的唯一方法,就是删除此试题并重新导入它(或使用像phpMyAdmin的程序)。
其他选择

除了这些基本问题类型之外,此过滤器(filter)还提供了以下选择:线上评语、试题名称、反馈和选项百分比加权。

线上评语:
在文本文件中可以包含一些评语(说明),这些评语在导入的时候不会导入Moodle中。这可以用来提供页眉或者更多关于测试的信息。所有前面带有双重的斜线(不算tabs或空格)都会被过滤器过滤掉。

// 小标题:数字问题如下
2加2等于多少? {#4}

试题名称:
一个试题的名称,是在试题前面加上文字,并在其前后各加上双重冒号(::)。例如:

::汉字起源::日本文字是起源于哪一个国家? {=中国}

::感恩节日期::美国的感恩节假日是在十一月的第{~二 ~三 =四}个星期四。

如果没有指定试题名称,预设是把整个试题当作名称。

回馈:
每个答案后面都可以跟一个数字标志(#),接着后面再跟一段文字作为这个答案的回馈。

这个选择题的答案是什么?{
~错误答案#错误答案的回馈评论
~另一个错误答案#另一个错误答案的回馈评论
=正确答案#非常好!}

谁被葬在格兰特的坟墓里?{
=没人#答得很好!
=没有人#答得很好!}

格兰特被葬在格兰特的坟墓里。{FALSE#没有人被葬在格兰特的坟墓里。}

对于选择题,只会显示学生选择的答案的回馈。对于简答题,只有当学生输入对应的正确答案才会显示回馈。对于是非题,如果学生选择错误的答案时会显示导入的回馈,所以在前面的最后一个例子中,只有学生选择了TRUE作为他们的答案时才会看到回馈。

选项百分比加权:
选项百分比加权适用于选择题和简答题,它被写在颚化符号(对选择题而言)或等号(对简答题而言)的后面,它由两个百分号和夹在中间的数字组成(如:%50%)。这个选择可以和反馈评论结合起来用。

难题。{~错误答案 ~%50%只给一半分的答案 =满分的答案}

::Jesus的家乡::Jesus Christ来自于 {
~Jerusalem#这是一个重要的城市,不过是一个错误的答案。
~%25%Bethlehem#他在这里出生,但不是在这里成长。
~%50%Galilee#您应该选个更具体的答案。
=Nazareth#完全正确!}.

::Jesus'的家乡:: Jesus Christ来自于 {
=Nazareth#完全正确!
=%75%Nazereth#正确,不过拼写有错。
=%25%Bethlehem#他出生在这里,但不是在这里成长。}

主题上面两个例子是同样的问题,前一个是选择题,后一个是简答题。

注意,指定通过浏览器接口无法获得的选项百分比权重有可能的。这样的答案权重将会在导入时被正确运算(根据价值分配),这看起来就像让学生进行一次正常的测试。不过,当通过Moodle的编辑问题接口来编辑它们的时候,问题权重将无法正常地显示给教师。下拉菜单只允许某些固定的值,如果填写的答案权重跟预先定义的值都不匹配,则不能正常显示。如果您通过浏览器接口编辑这样的问题,答案权重将变成那显示的。

为测试指定文本格式化
测试文本也许(只)有一个任意的指定的文本格式化方式。当前可得到的格式化方式有moodle(Moodle 自动格式化方式)、html(HTML 格式化方式)、plain(Plain 文本格式化方式)和markdown(Markdown 格式化方式)。这个格式化方式被写在问题文本之前的方括号里。更多关于Moodle中的文本格式化信息

[markdown] *美国的感恩节假日* 是在十一月的第{
~二
~三
=四
}个星期四。

多个答案:
当一个选择题必需选两个或更多选项时就要用到这种多项选择。多项选择是通过给答案分配不同的权重来实现的。

哪两个人被葬在格兰特的坟墓中? {
~没人
~%50%格兰特
~%50%格兰特的妻子
~格兰特的父亲 }

注意,这里没有一个答案前面是等号的,并且答案权重的总数不大于100%,否则Moodle会返回错误。 避免学生通过选择所有的答案来得到满分,可以使用如下带有负数作为错误答案的例子:

哪两个人被葬在格兰特的坟墓中? {
~%-50%没人
~%50%格兰特
~%50%格兰特的妻子
~%-50%格兰特的父亲 }

特殊符号 ~ = # { } :
~ = # { } 这些标志控制着这个过滤器的操作,它们被成为“控制字符”。这些标志在这个过滤器操作中扮演一个特别的角色,因此这些标志在测试中不能当作普通的字符来使用。但是,有时候您可能也想在测试中使用这些字符,例如在问题中显示等号,这时就需要在这些控制字符前面加上一个反斜线(\),例如:

哪个答案等于5 ? {
~ \= 2 + 2
= \= 2 + 3
~ \= 2 + 4 }

::GIFT控制字符::
哪一个不是GIFT导入格式的控制字符? {
~ \~ # \~ 是控制字符。
~ \= # \= 是控制字符。
~ \# # \# 是控制字符。
~ \{ # \{ 是控制字符。
~ \} # \} 是控制字符。
= \ # 正确!\(反斜线)不是控制字符,不过它可以用来转义控制字符。
}

当问题被处理的时候,反斜线会被移除,不会保存到Moodle中。

其他选择:
通过将下面的"0"改成"1"可以让简答题变得敏感。
$question->usecase = 0; // 忽略大小写

其他选择可以通过编辑导入过滤器的代码文件gift/format.php来获得。

精选文章

四家人天天同吃同乐,这个小集体成了一家人 | 南方周末

四家人天天同吃同乐,这个小集体成了一家人 | 南方周末 深秋的广州阳光明媚,碧空万里,适合外出走走、看看。近日,我联系上了一位久违的朋友阿乐。阿乐是地道的番禺人,家的准确位置是st街道st村,离我家不远,驱车半小时就到了。按照他发我的定位,我到了一处小山坡。 我以为这里是他家,但...