計算題

来自MoodleDocs
跳转至:导航、​搜索


計算題提供了一種建立個別數字題的方法,題目裏使用通配符(例如 {x} , {y})答題時通配符會被亂數替換。

舉一個例,如果你想要建立很多"矩形面積的計算"問題給你的學生練習,你可以建立有兩個通配符的試題(例如{base}, {height})然後放在"正確答案公式="的輸入欄位{base} * {height} ( * 是乘法的符號)。

正確答案公式= {base}*{height}


當學生作答時,Moodle會隨機選取{base}{height}的值然後使用 正確答案公式來評分。

這個測驗很難同時出現兩次一樣的題目。

這真的是你要的題型嗎?

計算題的主要目的是建立有很多數值的試題版本,這個意思是你必須在答案中有一個以上的通配符。

假如你不需要亂數值,使用數字題型來取代。

通配符及資料集

當Moodle傳送一個計算題給學生,通配符會被隨機選擇的值所取代,然而這些值不總是隨機的- 他們是從已經預先定義好可能數值的資料集中隨機選出的,這樣可以允許你控制一些所選擇的可能值 - 舉個例來說,這是為了確定這些數字是實際的。

這些資料集可以是私用的共享的 - 私用的資料集在一個計算題被一個通配符所使用;共享的資料集是所有的計算題都可以共用這個通配符。

試題設定

要新增(或編輯)計算題有三頁要處理,下面的操作會帶你一步一步地操作這些頁面:

第一頁.編輯計算題

  1. 選取試題類別
  2. 這個類別中共享的通配符會列在下面。假如你改變類別,你需要點擊"更新題庫"按鈕來更新這個列表,有可能沒有共享的通配符 - 假如沒有你可以稍後依照你自己的意願來新增。
  3. 給定試題描述的名稱 - 這個可以允許你在題庫中辦認。
  4. 輸入試題內容,這應該是你想要學生回答的試題,而且必須包含所有要計算答案的資訊,因此他必須含有至少一個通配符在大括弧內,例如,假如你想要學生計算A加B,這個試題內容很可能是這樣:"{A} + {B}=多少?"
  5. 假如你鄉要新增一個試題的圖片就選擇一個圖片來顯示,對學生來說,圖片會顯示在試題內容後答案前,假如你想要控制圖片如何顯示,就把他放在試題內容中用HTML編輯器處理。
  6. 設定預設題目得分 (例如,這個試題的最高分)。
  7. 設定倒扣條件 (見下面的倒扣條件)。
  8. Moodle 1.7+: 假如你願意,新增一般的回饋,這是顯示給學生回答後所要顯示的文字。
  9. 接下來新增正確答案公式這個公式必須含有試題內容中一個以上的通配符,見正確答案公式語法有更進一步的資料。
  10. 選擇成績這個成績是學生針對該試題所給的答案得到的,這應該是題目得分的一個百分比,例如,你可以給正確答案100%,而接近正確答案則給50%,答案中有一個必須是100%分
  11. 決定你可以接受答案錯誤的容許誤差,這個容許誤差及誤差類型設定可以提供一個可接受分數的範圍,所以假如容許誤差 = t,正確答案 = x 且使用者的答案跟正確答案的差為dx,那麼誤差類型如下:
    1. 額定誤差 - 假如 dx <= t 就是正確的
    2. 相對誤差 - 假如 dx / x <= t 就是正確的
    3. 幾何誤差 - 假如 dx² / x² <= t²就是正確的
  12. 接下來兩個設定,"顯示正確的答案"及"格式"決定答案的精度,使用這些來選擇你想要使用的小數位數或顯著數字的數字。
  13. 新增一些回饋在學生輸入答案時可以看到。
  14. 你可以指定許多你喜歡的正確答案公式 - 點擊"新增另一個答案空格"來新增。
  15. 你也可以指定答案的單位,例如,假如你在這裡輸入'cm'單位,接受的答案是15,那麼答案是'15cm'及'15'都是正確的答案,假如你要新增一個以上的單位,你也可以用倍數的方式指定,所以,假如你的主要答案是5500,單位W,你也可以新增單位kW其倍數是0.001,這表示答案'5500'、'5500W'或'5.5kW'都是正確的,注意接受的錯誤也是倍數的,所以允許100W的錯誤會變成0.1kW的錯誤。
  16. 最後(!)你可以點擊"下一頁"來儲存你所作及繼續前進,假如擬是編輯原有試題,你可以點擊 "下一頁(新的問題)"來根據現有的試題新增一個全新的試題。

倒扣條件

'倒扣條件'只用在試題用在測驗卷使用適性模式時 - 例如,學生允許在測驗時試很多次即使是同樣的測試,假如倒扣條件大於0,那麼學生在成功的嘗試後將會失去最高分的機會,舉一個例假如預設的分數是10,倒扣條件是0.2,那麼在第一次嘗試後才成功的話將會發生倒扣0.2 x 10 = 2分。

第二頁.選擇資料集屬性

每一個在答案正確公式裡的通配符必須有一個相關可能的值域 - 這就是資料集,列在這一頁的每個通配符有一個資料集的選擇:

  • 私用的 例如只使用在這個試題
  • 共享的例如在相同類別裡共享其他的計算題

使用共享的資料集可以節省時間在你要新增很多類似的計算題時。

假如在是堤內榮中有任何像是通配符的東西,但是卻沒有出現在答案公式裡頭,你可以指定這是否是通配符,假如是你可以選擇要作為私用的或共享的資料集。

要繼續,針對每個通配符選擇你喜歡的資料集,然後點擊"下一頁"。

第三頁.修改資料集

現在我們需要新增每個通配符可能的值,警告 - 這一頁有點亂!

有兩種方法可以新增值 - 你可以自己輸入然後加到列表中,或是你可以讓Moodle來幫你產生。

新增/刪除你自己的值

新增個人的值到列表中是容易的:

  1. 在'參數'的欄位針對每一個通配符輸入你要的值
  2. 下拉捲軸到'新增'的部份然後點擊新增按鈕(保留該項的數字設為1)
  3. 需要的話可以重複上面的步驟很多次(該項數字最大到100)

要從列表中刪除值:

  1. 在'刪除'的部份,選擇要刪除的項目編號
  2. 點擊刪除按鈕

讓Moodle新增值

  1. 開始"數值範圍"欄位,輸入你接受的最小及最大值
  2. 選擇這個值的小數點位數
  3. 選擇這些數值的分佈 - '均勻分佈'意思是每個值的產生機率是一樣的;'對數分佈'意思是較小的值的出現機率比較高。
  4. 現在移到'新增'部份然後點擊"強迫重新產生數值"
  5. 在選單下的新增按鈕,選擇你要新增到列表中產生隨機數值的數目。(注意列表中最大的數值是100)
  6. 最後,點擊新增將新值加到列表中
  7. 注意: 假如你想多控制Moodle新增的項目,你可以一次作一個並在新增前預覽,點擊"取得新資料項"按鈕來讓Moodle在上面的"新資料項"這部份產生新的值,假如你喜歡,點擊"新增"一個項目;假如你不喜歡,再點擊"取得新資料項"來獲得新值。

最後

一旦你的項目列表完成,這個計算題就算完成,這些項目取決於你新增多少值,你增加越多的值,學生所用的試題就越不會重複發生。

注意假如你從列表中刪除這些值,你可以再把他放回來,改變"下一個新增的項目"選項為"假如可以重用前面的值",然後下一次你新增項目時,Moodle會還原你先前從資料集中刪除的項目。

一旦你一旦你列表值完成,你可以點擊'儲存更改'來完成。

'更新資料集的參數'按鈕試作什麼的?

據我所知它跟"取得新資料項"按鈕的功能一樣,例如,它產生一組新的值並顯示在"新資料項"裡,然而,它的位置不太方便,所以常常有可能被忽略。

正確答案公式語法

不要放 = 號在公式裡

  • 在最近的計算題類型的版本中,你可以有一個以上的答案公式,只要至少有一個正確答案公式給予100分其餘每一個答案都可以指定一個分數值,假如有超過一個以上的正確答案公式輸入欄位在編輯時顯示出來,你的站台就有很多答案的功能。


  • 一般來說寫這些公式就像你在用計算機一樣,例如3 + 5 * sin(3/{x}) 一個令人注意的運算式就是次方,這裡的x3不能這樣輸入{x}^3,而是應該用pow(x, 3)來輸入。
  • 每個函數的替代符號及其他的參數應該放在括號內,例如假如你想要學生計算一個角的sine及另一個角的cosine兩次,你可以這樣輸入sin({a}) + cos({b}*2)
  • 最好有多一點的括號,伺服器不會介意,只要你的意思越明確,就越有可能喜歡你的複雜公式。
  • 沒有隱含的乘法,對你來說,人的編輯"5(23)"或"5x"似乎很清楚,但是對伺服器作數學來說,這是很瘋狂的語言及了解,要使用"*"來表示乘法。
  • 任何特殊的數學函數必須有括號及值在裡面,在第一個實例中的sine計算,注意3 / x被外覆一層括號--這樣伺服器就可以正確地了解,沒有那些括號,伺服器就無法知道你的意思是"(sin 3) / x"或"sin (3 / x)"並因此將拒絕整個公式。

可用的函數

計算試題可以使用更多簡單的算術運算子,下面所列的函數允許在1.5版及之後的版本使用。

函數 說明
abs 絕對值
acos 反餘弦 -- 以弧度為單位!!! 在你用acos前轉換角度為弧度。
acosh 反雙曲線餘弦 -- 以弧度為單位!!! 在你用acosh前轉換角度為弧度。
asin 反正弦 -- 以弧度為單位!!! 在你用asin前轉換角度為弧度。
asinh 反雙曲線正弦 -- 以弧度為單位!!! 在你用asing前轉換角度為弧度。
atan2 兩個變數的反正切 -- 傳兩個像是(x, y)的值,你會得到atah(y/x),調整到適當的象限。
atan 反正切 -- 以弧度為單位!!! 在你用atan前轉換角度為弧度。
atanh 反雙曲線正切
bindec 二進位轉換為十進位
ceil 取得大於指定數的最小整數值
cos 餘弦 -- 以弧度為單位!!! 在你用cos前轉換角度為弧度。
cosh 雙曲線餘弦 -- 以弧度為單位!!! 在你用cosh前轉換角度為弧度。
decbin 十進位轉二進位
decoct 十進位轉八進位
deg2rad 將數值從度數轉成徑度
exp 計算自然對數的次方值
expm1 傳回exp(number) - 1,即使在 number 的值接近零也能計算出準確結果
floor 取得小於指定數的最大整數值
fmod 返回被除數除以除數所得的浮點數餘數。
is_finite 判斷值是否有限
is_infinite 判斷值是否無限
is_nan 判斷值是否為非數字
log10 底為10的對數
log1p 傳回log(1 + number),即使當number 的值接近零也能計算出準確結果
log 自然對數 (ln)
max 尋找最大值
min 尋找最小值
octdec 八進位轉十進位
pi 取得pi值
pow (numberToRaise, NumberRaisedTo) 指數表示式
rad2deg 轉換徑度值為度數
rand 產生亂數值
round 取四捨五入
sin 正弦值 -- 以弧度為單位!!! 在你用sin前轉換角度為弧度。
sinh 超正弦 -- 以弧度為單位!!! 在你用sinh前轉換角度為弧度。
sqrt 取平方根植
tan 正切 -- 以弧度為單位!!! 在你用tan前轉換角度為弧度。
tanh 雙曲正切 -- 以弧度為單位!!! 在你用tanh前轉換角度為弧度。

預定義常數

事實上沒有預定義的常數被允許除了pi()這個沒有參數的函數之外。