Main Content

スクリプトベースの受講者の解答に対する評価の作成

スクリプトベースの解答では、コードを記述せずに、最も汎用的な評価を簡単に作成できます。[テスト タイプ] を選択し、テストしている解答のコードを指定して、評価を作成します。

  • 変数が模範解答と等しい — 受講者の解答の変数が、模範解答の同じ変数と許容誤差の範囲内で等しいかどうかをチェックします。

  • 関数またはキーワードが存在する — 受講者の解答に、特定の関数またはキーワードが存在するかどうかをチェックします。

  • 関数またはキーワードが存在しない — 受講者の解答に、特定の関数またはキーワードが存在しないことを確認します。

  • MATLAB コード — MATLAB® コードを使用して評価を作成します。

最初の 3 つのアクションによって実行されるコードは、関数ベースの解答のチェックに使用される関数と同じ評価関数を使用します。[テストをコードに変換] をクリックすることで、実行されるコードを確認できます。

実行モデル

  • 受講者が評価のためのスクリプトベースの解答を提出すると、受講者の解答と模範解答の両方が最初に実行されます。次いで、受講者の解答が評価されます。

  • 各評価は、他の評価とは独立して順番に実行されます。1 つの評価で不合格となった場合でも、後続の評価は実行されます。

  • ある評価で作成された変数を、次の評価で使用することはできません。各評価で必要な変数はすべて定義する必要があります。

  • 評価で模範解答の変数を参照するには、コードで 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.

関連するトピック