考試系統案例之 隨機生成考題

2021-09-11 10:42:18 字數 2231 閱讀 2539

問題背景

應用 it 技術建成題庫,並基於題庫隨機抽取試題組卷,現在已經是實現考試規範化和科學化的重要手段了。實際應用中,隨機抽題也能避免多人串題等作弊行為,有效督促考生主動學習,真正達到考試的原本目的。

問題分析

要能考,也就是能讓考生填答案,體現可填報可提交的功能(又不能靠意念提交入庫,哈哈);

要能隨機抽,不同人不同考題;同時也要能按要求隨機抽,不能一套題只有判斷、一套只有選擇,必須難易均衡,不能讓考生碰運氣。

另外,對於客觀題,其實還應該有能自動評分的功能。

那麼,這些需求怎麼還和報表工具發生關係了呢?這是因為:

2、隨機按需抽題,能不能抽出來就看你報表資料集的處理能力了。

解決方案

對多數報表工具來說,支援填報不是問題,關鍵的是實現隨機抽題的能力如何。很多任務具或許能搞,但基本也都很麻煩,幾乎清一色需要自定義類。

那麼潤幹報表呢?

當然可以輕鬆搞定!

下面,我們就以一套由單選、多選、判斷題組成的試卷為例看看潤幹報表是如何輕鬆解決的:

要求:從題庫中隨機抽取 7 道單選、7 道多選、6 道判斷題,每題後提供由考生錄入答案的入口。效果如下(橙色底色的格仔用於錄入答案)

題庫結構如下

包括所屬考試類別、考題上傳人、考試時間、考題型別、題目、分值、選項等等。

具體做法:

設計錶樣

這裡我們選取行式填報表,按考題型別依次呈現。

根據行式填報表規則,將第 5/6 行所有單元格設定為數值格。

將 a5:h6 多有單元格設定不可編輯(僅 i 列允許編輯以便錄入答案)避免改題

設定資料處理(**)

重點!!!涉及到隨機抽題,所以我們採用集算器指令碼。如果不用,那就像前面說的會很麻煩,需要借助複雜的自定義或儲存過程各種臨時表實現。集算器指令碼實現就簡單很多,如下圖所示:

其中:b1:根據考試題目,查詢出所有的(從模擬角度出發,不考慮海量題庫,假設可以全部讀入記憶體)考題;

c1:單獨查下考題和時間;

a3:過濾出所有的判斷題;

b3:過濾出所有的單選題;

c3:過濾出所有的多選題;

a4:獲取考題型別的總題數,用於確定抽取考題的位置。比如判斷類總題數是 100,要求抽取 7 題,我們在 1-100 內隨機產生 7 個隨機數,對應到 100 條記錄按位置取出即可,其他型別以此類推。

a5-c7:隨機獲取 7 個數值(即考題記錄位置)存放在 b4 序列;

a8:判斷只抽 6 題,所以我們從 b4 去掉乙個位置;

a9:按位置分別抽取判斷、單選及多選題記錄,並賦值給 exam_from 物件(即隨機抽取的所有考題);

定義單元格表示式 (欄位名稱)

b3:tit.exam_time

e3:tit.exam_name

a5:exam_from.exam_type

b5:exam_content

c5:exam_score

d5:exam_a

e5:exam_b

f5:exam_c

g5:exam_d

h5:exam_e

i5:可不設定,按照「答案」為欄位名採集資料

設定資料處理(回填考生提交的答案)

其中:b1:給採集的 tit[平 1] 物件增加考試人資料;

a2:tit 物件和採集的答案 exam 物件做關聯;

b2:new 出包含考題資訊、答案及考試人的資料物件;

c2:為提交物件增加是否已答卷和是否已評卷的狀態;

d2:執行提交,將採集答案資訊提交到答題庫表存放;

預覽效果

當考試人為 monkey1,考試為「產品測試 2」的 url:

http://localhost:6868/demo/reportjsp/showinput.jsp?sht=%2finput%2fans_test.sht&ks_user=monkey1&exam_names= 產品測試 2

考題內容如下:

切換其他考試人,考試人為 monkey2,考試題同樣為「產品測試 2」的 url:

http://localhost:6868/demo/reportjsp/showinput.jsp?sht=%2finput%2fans_test.sht&ks_user=monkey2&exam_names= 產品測試 2

考試內容已經與前面的考試人不同。

錄入答案並提交後,表示整個過程考試完成。

比如,定時提交可以參考 潤幹填報表定時提交

在填報表中使用會話變數可以參考 引數(如登入賬號資訊)在潤幹填報表中的使用

考試系統案例之 隨機生成考題

問題背景 應用 it 技術建成題庫,並基於題庫隨機抽取試題組卷,現在已經是實現考試規範化和科學化的重要手段了。實際應用中,隨機抽題也能避免多人串題等作弊行為,有效督促考生主動學習,真正達到考試的原本目的。問題分析 要能考,也就是能讓考生填答案,體現可填報可提交的功能 又不能靠意念提交入庫,哈哈 要能...

考試系統案例之 隨機生成考題

問題背景 應用 it 技術建成題庫,並基於題庫隨機抽取試題組卷,現在已經是實現考試規範化和科學化的重要手段了。實際應用中,隨機抽題也能避免多人串題等作弊行為,有效督促考生主動學習,真正達到考試的原本目的。問題分析 要能考,也就是能讓考生填答案,體現可填報可提交的功能 又不能靠意念提交入庫,哈哈 要能...

SPSS案例集之隨機數生成及其箱型

背景介紹 今後將陸續推出spss的實戰案例集,藉此熟悉spss軟體功能,並夯實統計學基礎。隨機數生成及其箱型圖案例 1 通過spss生成100個符合標準正態分佈n 0,1 的隨機數 1 設定spss變數 元資料 編碼 並通過excel的sum x 1 整理出一列 1 100 的資料,copy至sps...