"SelectCompletion" (问题界面类型)

"SelectCompletion"

提供了一个填空界面,并为每处空白提供选项.

属性

  • QuestionInterface["SelectCompletion",props] 中,props 是一个 Association,支持以下键:
  • "Prompt"None向用户提问的文字
    "Template"(required)含有可填充空白的模板对象
    "Choices"Automatic每处空白可使用的选项
    "ChoiceOrdering"Automatic对选项进行排序的函数
    "Labels"Automatic每个选项对应的标签
  • "Template" 可以是 TemplateObjectStringTemplate 支持的任何内容. 提供字符串时,由反引号 `` 表示的模板槽将定义问题界面中空白的位置.
  • 默认情况下,"Choices" 继承自 AssessmentFunction,并对其随机排序以避免暴露正确答案.
  • 如果直接提供,应以 {{item1a,item1b,},{item2a,item2b,},} 这种形式给出 "Choices",其中,每个子列表包含界面中空白处可用的选项. 默认情况下,保留原有顺序.
  • 如果指定了 "ChoiceOrdering"f,则以 {f[{item1a,item1b,}],f[{item2a,item2b,}],} 提供选项.

对应的 AssessmentFunction

  • "SelectCompletion" 不是为 AssessmentFunction 自动分配的界面类型. 必须在 QuestionInterface 中指定.
  • AssessmentFunction[{val1,},] 中的值 vali 应按顺序包含每个填空的答案.
  • 应以 AssessmentFunction[{{elem1a, elem2a,}scorea,{elem1b,elem2b}scoreb},] 这样的形式构建评估函数,其中,每个列表 {elem1i,elem2i,} 是答案键中定义可能的正确或错误答案的值.

范例

打开所有单元关闭所有单元

基本范例  (3)

定义带有评估函数的选择-完成填空问题:

直接指定选项而不是从 AssessmentFunction 继承:

创建不带有评估函数的选择-完成填空界面:

Scope  (3)

一个有多个正确答案的问题:

创建一个语法问题:

创建一个带有标签的填空题:

Generalizations & Extensions  (2)

TemplateSlot 指定模板:

提供完整的 TemplateObject

Applications  (2)

为填空题创建问题生成器:

创建三个问题:

创建一个艺术测验的选择-完成填空题:

生成一个问题. 某些艺术品的图像不可用,可能会导致失败:

Properties & Relations  (1)

指定如何对填空题的选项进行排序:

Possible Issues  (2)

AssessmentFunction 中的值应为列表. 对无效的评估函数提交答案将会导致失败:

用列表指定答案:

StringTemplate 创建的 TemplateObject 含有与 "SelectCompletion" 不兼容的选项:

尝试使用此模板将创建一个不能使用的界面:

删除选项设置:

现在,"TextCompletion" 中的模板可以使用:

或者直接使用 TemplateObject,而不是 StringTemplate

该模板没有任何选项设置:

"SelectCompletion" 中可以使用: