Main Content

为基于脚本的学生答案编写评判

对于基于脚本的答案,您无需编写代码即可轻松创建最常见的评判项目。通过选择测试类型并指定要测试的答案代码来创建评判项目:

  • 变量等于参考答案 - 检查学生答案中的变量是否在容差范围内等于参考答案中的相同变量。

  • 函数或关键字存在 - 检查学生答案中是否存在特定函数或关键字。

  • 函数或关键字缺失 - 检查学生答案中是否未包含特定函数或关键字。

  • MATLAB 代码 - 通过编写 MATLAB® 代码创建评判项目。

前三个操作背后的代码使用与用来检查基于函数的答案的函数相同的评判函数。您可以点击将测试转换为代码来查看代码。

执行模型

  • 当学生提交基于脚本的答案以进行评判时,系统会首先运行学生答案和参考答案。然后,您创建的评判项目将用来评估学生答案。

  • 每个评判依次运行,且独立于其他评判运行。如果一个评判未通过,后续评判仍会运行。

  • 在一个评判项目中创建的变量在下一个评判项目中不可用。应在每个评判项目中定义所有必需的变量。

  • 评判项目可以通过引用代码中的 referenceVariables.variable_name 来引用参考答案中的变量。

  • 如果代码终止运行且没有报错,则评判结果将显示为通过状态。否则,评判结果显示为未通过状态。

    如果评判项目是自测,则无论答案通过与否,学生都可以通过点击测试名称左侧的箭头查看有关评判的信息。

示例

斐波那契数列和 For 循环

在此示例中,学生需要编写一个生成斐波那契数列中前 50 个值的脚本,以将结果放入向量 x 中。学生应该使用 for 循环。

参考答案

% Initialize x as a row vector of zeros 
x = zeros(1,50);

% Assign the first two elements of x to contain the first two values
% of the Fibonacci sequence
x(1) = 1;
x(2) = 1;

% Write a FOR loop to compute the remaining values 
for i = 3:50
    x(i) = x(i-1)+x(i-2);
end
% The statement below will print out the first five values of x. 
disp(x(1:5))

评判项目

  • 评判项目 1:检查学生答案是否使用了 for 循环:

    Test name Was a for loop used to compute the solution, test type Function or Keyword is Present, and the function or keyword the learner must use is for.

  • 测试 2:检查向量 x 是否具有正确的值:

    Test two title is Were all 50 values of the sequence computed correctly, the test type is Variable Equals Reference Solution, and the variable name to compare is x.

相关主题