完形填空问题的容忍度

tolerance in cloze questions

我想了解如何在包含数字和选择题的完形填空题中正确设置公差范围。

这是一个例子,我有一个选择题,后面跟着两个数字问题,我希望这两个数字问题的容差范围分别为 0 和 0.01。

<<echo=FALSE, results=hide>>=

type <- c("schoice", "num", "num")
solutions <- explanations <- rep(list(""), 3)


solutions[[1]] <- c(1, 0, 0)
solutions[[2]]<- 0
solutions[[3]] <- 1/8

solutions[type=="num"] explanations[type=="schoice"] <-
lapply(solutions[type=="schoice"], function(x) ifelse(x, "True", "False")) 

solutions[type=="schoice"] <- lapply(solutions[type=="schoice"], mchoice2string)


tol <- 0

tol[2]<- 0.01

@


\begin{question}


What is the capital of Italy?  

\begin{answerlist} 
\item Rome \item Madrid \item Berlin 
\item  How many people live in a empty house?  
\item Compute 1/8. (tolerance: \Sexpr{tol[2]}). 
\end{answerlist}


\end{question}




%% META-INFORMATION 
%% \extype{cloze} 
%% \exclozetype{\Sexpr{paste(type, collapse = "|")}} 
%% \exsolution{\Sexpr{paste(solutions, collapse = "|")}} 
%% \exname{prova_tol} 
%% \extol{\Sexpr{paste(tol, collapse = "|")}}

因此,我对第一个数字问题的容差为 0.01,对第二个问题的容差为零。事实上,这是我在 Moodle 中得到的“问题文本”:

What is the capital of Italy?

a. {1:MULTICHOICE_V:%100%Rome~%0%Madrid~%0%Berlin}

b. How many people live in a empty house? {1:NUMERICAL:=0:0.01}

c. Compute 1/8. (tolerance: 0.01). {1:NUMERICAL:=0.125:0}

目前,您需要为每个完形填空元素指定一个 extol 元素,即使完形填空元素不是数字也是如此。所以用

\exclozetype{schoice|num|num}

你需要

\extol{0|0|0.1}

获取两个 num 元素的公差 0 和 0.1。

但我同意你的方法也有道理。我会看看是否可以同时支持这两者 - 如果公差数量不是所有元素的数量或所有 num 元素的数量之一,则分别发出警告。