Canvas 数式問題 - eiichiromomma/CVMLAB GitHub Wiki

(Canvas) 数式問題

Quiz (小テスト)の種類の中に数式問題があり,事前に数式で定義した正答パターンを生成して受講者(というか開く度)ごとにランダム出題してくれる機能。

  • ヘルパー関数一覧
  • 出題ごとに変化する変数の定義(精度,生成範囲)が可能
  • 正答の計算途中での内部変数の定義が可能(出題がしやすい)
  • 正答に至るまでは複数の数式の定義が可能(最後の数式の出力値が正答となる)
  • 正答の有効桁,ぶれの許容範囲の設定が可能

あたりが特徴で

  • ヘルパー関数なのに $e$ だけ()なしで適用される(eという変数を定義していると変数は無視されて2.718...が漏れ無く代入される)
  • 1問題1解答のため,連鎖式に解答させる問題は出題できない
  • 複素数には未対応。複数選択でやってはという応答, ○○なら1,××なら-1みたいな解答指示にしたらという提案, 要望(2023年)
  • 一旦入力した数式は編集不可で消すしかない
  • 数式の順番入れ替えはできないので序盤の計算を修正するにはその下全て入力し直しになる
  • 日本語訳がプア(英語表示がオススメ)
  • 状態変更に対する応答がプアで謎エラーが起きるときがある(Webサービスなので仕方ないが)

が欠点。

画面を例に説明

問題・変数定義

ここに図や説明文等を入れる。編集は通常のCanvasのエディタなので説明は省略するが,[val]という[]で変数名を括ったものを入れると自動で下の変数定義に反映される。数式が既に定義されている場合等によくエラーが発生するので,都度「再計算」ボタンを押した方が良い。 画面ではR1,R2,R3,R4を1〜10で小数点以下なしで生成している。

数式の定義

ここで入力した数式が順次数式結果のペアとして一覧表示される。この一覧の一番下の結果が正答として扱われる。精度はその下の小数点以下の桁数で設定可能。 この際に例のようにGp=1/R2+1/R3+1/R4とすると,内部変数Gpが勝手に生成されて,次の式Rp=1/Gpで参照されRpを生成している。最後に10*R1/(R1+Rp)として定義した変数のR1と生成された変数Rpを使って計算している。正解の行(最後の行)については等号が不要。

全般的な考えられる解

これまでの定義で何パターン変数と解答のセットを生成するかの定義なので,繰り返し挑戦した際や周囲の学生とで同じ問題が出ても構わないのであれば少なめの数字を設定する。誤差については出題内容にも依るが1%くらいが妥当なところ。