最近在對考試系統進行優化,其中有乙個要進行優化的問題就是英語試題中的完型填空題型。參加傳統考試時,在試卷上完型題呈現的形式基本上是題幹
+要填寫的空缺
+空缺處一些可選答案。當然傳統考試答題卡也是不可缺少的。所以在考試系統
3.5中處理這樣的問題自然而然就是模仿傳統試卷考試樣式,首先載入的是題幹,當然題幹中還是要將要填的空空出來,然後是載入空缺出將要新增的可選的選項,最後是放置一些文字框以模擬答題卡。
完型填空效果圖:
這樣做出來介面效果看上去還可以,但是學生考試過程中卻不知道在下邊文字框中是填選項呢還是填單詞答案呢?作為開發人員我們知道為了方便統計分數(計算機自動判分),我們要的正確答案是a、
b、c、
d,而不是正確答案的單詞。軟體出了問題自然是要優化的,至少為了增強使用者的體驗效果。
1、最簡單的優化方法就是在文字框上方新增一行提示語,提示使用者在文字框中填選項還是正確答案單詞。雖然這是最簡單的優化方案,整體的視覺效果也算是不錯,但是給使用者的感覺卻不是那麼簡單明瞭。 2
、將填寫文字框的答題卡去掉,將試題的選項設定為單選按鈕,學生答題時只需要在其中乙個答案中做出選擇即可。這個方案聽上去還可以,但效果出來卻差強人意。因為是機考所以並不是像傳統紙質試卷那樣,如果完型填空題有
20個選項的話,這樣所有選項基本上就佔滿了整個螢幕,令人眼花繚亂,帶來的視覺效果顯得非常差。
圖;
3、第三個優化方案即將原方案中的文字框更換為下拉選項卡,同時也需要將原方案中的選項去掉。這個方案相對前兩個方案來說可行性還是比較高的。但是既然考慮到要將文字框更換為下拉列表,就不能是簡單的替換了,完全可以將下拉列表穿插到試題中。所以這樣第四個方案就出來了。 4
、將試題的選項全部去掉,取而代之的是下拉列表,並將帶有選項的下拉列表穿插到試題中。
既然是要優化當然是朝著最好的優化方案靠攏,即將文字框換為下拉列表。方案有了,要想實現只需要將文字框控制項替換為下拉列表實現即可,這樣的實現在技術上也是相對比較簡單的。但真實的情況卻不是這樣的。
sqlserver
資料庫
考慮到在資料庫中題幹是作為乙個整體儲存到資料庫中的,這樣訪問都比較方便。但這樣的話在題中插入下拉列表就出現問題了。既然是插入自然就需要將題幹分割確定插入點的位置,由於資料儲存的方式,需要的是要在試題的儲存時就要確定分割的位置,這樣才可以實現在試題顯示時在空缺處插入下拉框。自然而然的題幹儲存時需要乙個識別符號,以便後期進行分割。缺乙個識別符號,這在平時相對來說相對來說還是比較簡單的,但在英語考試中卻成了問題。因為任何乙個英文本母或符號都可能出現在英語試卷中,這會對分割判斷產生相當大的影響。
mongodb
資料庫
在mongodb
資料庫中,資料儲存的形式並不是像關係型資料庫那樣以記錄為單位構成表,表與表之間相互關聯,而是以集合的形式儲存。集合的儲存方式完全符合我們的需求,我們只需要將這個題幹分為幾部分儲存到乙個集合中,這樣後期處理插入點也就相對簡單了。
mongotest類:
using system;
using system.collections.generic;
using system.linq;
using system.web;
using mongodb.bson;
using mongodb.driver;
namespace examsystemv3
public linkedlistgetdata()}}
試題實體類:paragraphs
using system;
using system.collections.generic;
using system.linq;
using system.web;
using mongodb.bson;
namespace examsystemv3
public linkedlistlist
set
}public objectid id
set }}
}
核心**
linkedlistquest= new mongotest().getdata();
foreach (string qu in quest)
效果圖: 考試系統之填空題 實現方法
做乙個考試系統,客戶要求要有填空題,實現的過程中可謂費盡周折,在這裡說一說實現的過程。1 出題的時候,將需要填空的部分用固定長度的下劃線表示,儲存到資料庫中,欄位名字為stnr 2 取出stnr,用分割函式以固定長度的下劃線為分隔符,將除填空部分以外的字串搞到乙個陣列裡,然後迴圈取出這個陣列裡每乙個...
微控制器期末考試填空題彙總
微控制器填空題彙總 1.微控制器是將 cpu 儲存器 以及i o口 定時器整合在一塊晶元上。2.2位16進製制最多可以表示256儲存單元。3.cpu訪問片外儲存器時,其低八位位址由 p0 提供,高八位由 p2 提供,8位資料由 p0 提供。4.當系統正處於正常工作狀態且 穩定後,在rst加乙個 高 ...
計算機等級考試二級C語言上機填空題題1
填空題 程式通過定義學生結構體變數,儲存了學生的學號 姓名和3門課的成績。函 數fun的功能是對形參b所指結構體變數中的資料進行修改,最後在主函式中輸出修改後的資料。例如 b所指變數t中的學號 姓名 和三門課的成績依次是 10002 zhangqi 93 85 87,修改後輸出t中的資料應為 100...