導航:首頁 > 源碼編譯 > 自動閱卷源碼

自動閱卷源碼

發布時間:2022-09-18 21:40:40

A. c#建立網上考試自動答題閱卷系統的源代碼 請高手幫忙

sorry, i can't help you.

B. 求c++自動閱卷程序,急用

走開哦

C. VB怎麼做自動閱卷系統啊

參考網站 http://www.biyeok.cn/xzProject-597.html教案下載 http://www.biyeok.cn/UploadCase/.rar自動 閱 卷 系統是計算機應用能力的普及培訓及考核中理論性和實踐性都很強的一個課題,要考慮到語法分析、互動式特性、多線程並行處理特性、消息處理、數據處理、系統健壯性等諸多技術上的難題。因此,自動閱卷這一課題具有很高的研究和實用價值,我們選擇這一領域作為研究方向。VisualBasic是由微軟推出的用於Windows程序設計優秀編程語言。它象Basic語言一樣簡單易學,但並不因為它簡單易學而減弱了功能。此外,它還引入了可視化的和面向對象的程序設計方法,使應用程序的開發效率大大提高。讀者可以通過學習VisualBasic,很快掌握面向對象和事件驅動程序設計方法,為今後學習其他更復雜的程序設計語言打下基礎,同時也可以用它結合自己的工作實踐開發各種應用程序。所以Visual Basic程序設計在今後的培訓及考核中將占據越來越重要的地位。因此 , 我 們開發了面向VisualBasic程序設計培訓考核的自動評閱系統,從理論和實踐兩方面對這個課題進行深入而細致的研究。在完 成 本 論文的過程中,解決了以下幾個關鍵問題:l) 運 行 在WindowsN T平台下,使用真正的多任務32位計算機系統,使研製的系 統 運 行 更 穩 定 、更安全。2) 在 WindowsN T下,採用消息機制,模擬驅動用戶程序。3) 引 入 腳本策略,對用戶提供一個友好的介面,適應不同的VB應用程序的考核 。4) 模 塊 化設計程序,實現了用戶程序與系統的協同工作。5) 克 服 用戶程序中所出現的各種錯誤對閱卷系統的影響,保證系統運行的健壯 性 。本論文的章節安排及各章的主要內容第 l章 分析了對VB程序實現自動評閱可行性,在對VB程序深入分析的基礎上,提出了靜態判斷和動態判斷相結合的總體構思。第 2章 介紹評閱系統的總體構架,以及系統特點、實現的界面和設計原理。第 3章 詳細介紹了面向對象的設計技術在本系統中的應用,並對影響系統健壯性和閱卷正確性的設計方案做了詳細論述。第 4章 介紹了在系統設計過程中所實現的一些技術,包括資料庫管理,系統與考生程序之間的通信方法,以及在批量閱卷過程中對用戶的響應。

D. c++/java編程自動閱卷系統,求源碼

自動閱卷,卷子怎麼輸入,掃描的影像? 字元怎麼識別 答案怎樣判斷?

這種自動閱卷系統只能處理填空選擇判斷題,主觀題目前的技術還不行

E. 在線考試系統中主觀題自動閱卷的設計

隨著在線考試模式的流行,在線考試系統也被使用的越來越頻繁。使用考試雲在線考試系統組織線上考試的時候,通常都需要先將試題導入系統,然後進行出題組卷,發布考試。在考試結束後,系統會進行自動閱卷,統計考試數據,公布成績。

面對一些主觀試題,在線考試系統也有自己的閱卷規則可以設置:
1、對於多選題或不定項選擇題,支持設置漏選判分,可以按正確選項個數佔比給出得分或者設置漏選的話只能得到試題總分的百多比,這個百分比可由管理員自行設置,如:一道4分的試題,正確答案為ABC,設置的得分佔比為25%,那麼,不管是只選了A還是選了AB,都能得2分,這樣的判分方式更顯人性化,也能適應不同考試業務的判分需求。
2、對於填空題,尤其是有多個填空答案的時候,無法靈活的判分。支持「判分時不區分答案先後順序」和「只有匹配答案的部分關鍵詞即可得分」的設置。
3、對於問答題、分析題這種主觀性比較強的題型,可以設置得分點來進行閱卷,每個得分點都可以設置得分比例,如果是重要的得分點,我們在設置得分比例的時候可以將比例設置的大一點,得分點設置的越詳細,判分就會越准確。

F. 電腦閱卷

游標閱讀機(OMR)

游標閱讀機(Optical Mark Reader縮寫OMR),它是一種集光、機、電於一體的計算機外設錄入設備。使用游標閱讀機錄入信息,真正解決了計算機運算快而人工錄入慢的「瓶頸」問題。比手工敲鍵盤錄入速度提高數百倍,特別是長時間不知疲倦的工作,是人無法比擬的,是目前其它任何技術無法替代的。現有單面單讀(FS)、單面雙讀(FD)、雙面單讀(FBS)、雙面雙讀(FBD)等13個系列36個品種。廣泛應用於教育、交通、人事、財政、金融等諸多領域的考試、統計、選舉、測評等。

游標閱讀機(OMR)在現代教育中的作用

目前,游標閱讀機(以下簡稱OMR)已在高考、中考、會考的閱卷中普遍使用。除外,OMR在日常教學及學校管理等方面也日趨被大家高度重視並廣泛應用。具體講,有以下八個方面:
一、OMR能應用於入學考和期中、期末考試中。
過去考試後,由於閱卷工作量大,教師不得不連夜加班評閱試卷,盡管加班,也不能很快閱完。幾天過去,學生對考題內容淡漠,再分析試題中的問題效果就差。現在,我們用OMR閱卷,一般上午考試下午閱完,隨即列印出成績、統計、分析報表。
其報表內容很多,一般常用的有四種:一是某學生考試的各科分數和總分數及在年級、班級的名次。老師對每一學生成績分析,找出存在的問題及原因,給予針對性的指導。二是某班的各科平均分數和總分平均分數在年級的名次。三是某年級、某班級、某學生的考試成績與歷次考試成績比較。四是將考試原始分數轉換成標准分,可使班級之間、學生之間和課程之間的成績有可比性,科學的、全面的、准確的反映出各科各班和各學生之間的真正名次,為任用和獎勵教師及學生提供可靠依據。實踐使我們深深體會到:OMR是教學及學校管理的好助手,一旦用上就離不開。
二、OMR能應用於課堂教學環節中
例如:各節課達標小測,是目標教學中的重要環節,它不但能使教師准確全面的摸清學生掌握本節課內容的狀況,而且還能有效促進學生學習的積極性。在傳統教學方式中,有的通過課堂提問的形式完成這一教學環節,這只能顯示個別學生的達標情況,有的則將學生各節課的作業或小測答卷集中起來,逐一用紅筆勾畫批改,這無疑耗費了教師大量的時間與精力。而應用OMR就簡便多了,臨下課二、三分鍾前,教師口述准備好的測試題目(無需在黑板上抄題,也不用印製試卷),學生將所選的答案塗在卡上(不必寫出答案內容,思考時間更為充裕),然後將答題卡送入OMR,只需課間短短的幾分鍾就能實現五種功能:
(一)能讓教師清楚地了解每個學生的成績。
(二)能統計最高分、最低分、平均分、各分數段的人數與及格率。這樣,教師可根據以上這些客觀詳盡的結果,隨時查找、改進授課中的不足,因材施教,不斷的提高教學質量;學生也可以根據這一明晰的測驗結果,及時發現疑難問題,尋找差距,調整學習方法,不斷提高學習成績。可見,課堂教學中應用OMR,起到了直觀、高效、准確的作用。
(三)能迅速生成考題錯誤率排行榜,每題錯誤率一目瞭然,直接切入教學中的薄弱環節。
(四)能每題分析,每題為何而錯,一目瞭然。例如:一道題的正確答案是B,答對率是62%,其餘三個迷惑選項A、C、D在答錯該題的人數中所佔比例分別為A:66%、C:19%、D:15%,這樣可以准確得出:在迷惑選項中A的迷惑性最強,最容易與正確答案B混淆。通過比較錯誤思維A與正確答案的記憶,從而提高學生考試成績。
(五)能提高升學率。日常塗卡和中考、高考塗卡對學生的要求相同,經常塗卡的學生不僅塗卡動作快、節省時間,相對延長了答主觀題的時間,還能塗卡規范、正確,達到不因塗卡而失分數。
反之,不經常塗卡的學生,中考、高考時不適應塗卡,動作慢、時間長,相對佔用答主觀題時間,特別是塗卡不規范,常常會造成考試丟分。
最近幾年,很多學校深深體會到:中考、高考中因學生塗卡不熟練、不規范失去3-5分,而降低升學率的現象太普遍、太可惜。實踐證明:經常塗卡、提高學生塗卡技巧也是提高升學率的一個重要環節。所以很多學校引起了高度重視,堅持經常塗卡的學校迅猛增加。

三、OMR能應用於學校管理中
例如:學生的學籍和教職工的檔案管理,均可通過OMR讀卡的形式自動讀入計算機,建立電子檔案,保存簡單,查閱方便。特別是高考網上錄取,集中錄入學生的志願、體檢等信息,OMR更是必不可缺少的先進、快捷工具。

四、OMR能應用於學生成績管理中

每年級每個班每學生的每一學科的主觀題、客觀題的成績,都能夠塗在成績登錄卡上,通過OMR,按照學校管理的不同需要,完成各種統計、分析、排序等工作。可見,OMR在學生成績管理方面的應用不只是極大限度減輕了統計工作量,更重要的是准確。

五、OMR能應用於學校管理有關的多種社會調查
例如:學生家長對學校的評測等等。

六、OMR能應用於教學綜合評價中
包括:學生評教師、領導評教師、教師互評。例如學生評教師:學校對任課教師的教學質量評價,可根據具體情況設置評價項目(如:教學態度、教學方法、業務素質、紀律考勤等),讓學生給予每個教師塗卡打分,通過OMR給予教師公正、客觀、精確的分值。由於應用OMR可自行設定各個評價項目,故使得群體對個人的量化評價更加明朗、客觀、准確。能避免被評價為落後教師誤認學校領導任人唯親、優親厚友而造成的矛盾,真正實現領導、教師心平氣和,激勵先進,鞭策後進。
七、OMR能應用於素質教育中
對學生的心理測試、身體測試、德育測試、體育達標測試、課外活動測試等方面可以應用OMR讀出測評結果。

G. 求選擇題自動閱卷java源代碼,能在my eclipse上運行出來,有界面

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Game extends JFrame implements KeyListener,Runnable
{
Thread Down10 = new Thread(this);
GameCanvas test = new GameCanvas();
JLabel LabelTetris = new JLabel("Tetris Game");
JLabel ScorePrint1 = new JLabel("Score");
JLabel ScorePrint2 = new JLabel("0"+test.Score);
Game()
{
setSize(400,800);
setVisible(true);
setLayout(new FlowLayout());
test.addKeyListener(this);
LabelTetris.setBackground(Color.white);
LabelTetris.setFont((new Font("Tahoma",1,50)));
ScorePrint1.setFont((new Font("Tahoma",1,40)));
ScorePrint2.setBackground(Color.white);
JLabel LM = new JLabel("L.M");
ScorePrint2.setFont((new Font("Tahoma",1,40)));
add(LabelTetris);
add(test);
add(ScorePrint1);
add(ScorePrint2);
LM.setForeground(Color.white);
add(LM);
validate();
Down10.start();
}
public void run()
{
while(true)
{
try
{
test.Down1();
Down10.sleep(700);
}
catch(InterruptedException I){I.printStackTrace();}
}
}
public void keyPressed(KeyEvent K)
{
if(K.getKeyCode()==KeyEvent.VK_LEFT)
test.Left1();
else if(K.getKeyCode()==KeyEvent.VK_UP)
test.Turn();
else if(K.getKeyCode()==KeyEvent.VK_RIGHT)
test.Right1();
else if(K.getKeyCode()==KeyEvent.VK_DOWN)
{
test.Down1();
if(test.ScoreBool==1)
{ScorePrint2.setText(""+test.Score);}
}
}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
}
class GameCanvas extends Canvas
{
int x=5,y=0;
int GameMap[][]=new int [50][100];
int BlockShape;
int BlockWay;
int Score=0;
int ScoreBool=0;
int OverBool=0;
public final static int[][][] Blocks={{{0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0},
{0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0},
{0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0},
{0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0}},
{{0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0},
{0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0}},
{{1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0},
{1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0}},
{{0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0},
{1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0},
{1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0}},
{{1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0}},
{{1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0},
{1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
{0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0}},
{{0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0},
{1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0},
{0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0}}};
GameCanvas()
{
setSize(340,500);
setBackground(Color.BLACK);
for(int i=0;i<25;i++)
{
GameMap[0][i]=2;
GameMap[16][i]=2;
}
for(int i=0;i<16;i++)
{
GameMap[i][24]=2;
}
}
public void NewBlocks()
{
x=5;y=0;
BlockShape=(int)(Math.random()*6);
BlockWay=(int)(Math.random()*3);
if(IsOver(x,y)==true)
{OverBool=1;}
}
public void Keep(int x,int y,int BlockShape,int BlockWay)
{
int n=0;
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
{
if(GameMap[x+j+1][y+i]==0)
{
GameMap[x+j+1][y+i]=Blocks[BlockShape][BlockWay][n];
}
n++;
}
}
public void paint(Graphics G)
{
G.setColor(Color.white);
for(int i=0;i<16;i++)
{
if(Blocks[BlockShape][BlockWay][i]==1)
G.drawRect((i%4+x+1)*20,(i/4+y)*20,20,20);
}
for(int i=0;i<30;i++)
for(int j=0;j<50;j++)
if(GameMap[i][j]==1||GameMap[i][j]==2)
G.fillRect(i*20,j*20,20,20);
}
public void Turn()
{
if(IsFeasible(x,y,BlockShape,BlockWay)==1)
{
BlockWay=(BlockWay+1)%4;
repaint();
}
}
public void Left1()
{
if(IsFeasible(x-1,y,BlockShape,BlockWay)==1)
{
x-=1;
repaint();
}
}
public void Right1()
{
if(IsFeasible(x+1,y,BlockShape,BlockWay)==1)
{
x+=1;
repaint();
}
}
public void Down1()
{
if(IsFeasible(x,y+1,BlockShape,BlockWay)==1)
{
y+=1;
repaint();
}
else if(IsFeasible(x,y+1,BlockShape,BlockWay)==0)
{
Keep(x,y,BlockShape,BlockWay);
Deline();
if(OverBool==0)
NewBlocks();
}
}
public int IsFeasible(int x,int y,int BlockShape,int BlockWay)
{
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(Blocks[BlockShape][BlockWay][i*4+j]==1&&GameMap[x+j+1][y+i]==1)
return 0;
else if(Blocks[BlockShape][BlockWay][i*4+j]==1&&GameMap[x+j+1][y+i]==2)
return 0;
}
}
return 1;
}
public void Deline()
{
int BlocksSum = 0;
for(int i=0;i<25;i++)
{
for(int j=0;j<16;j++)
{
if (GameMap[j][i]==1)
{
BlocksSum++;
if (BlocksSum==15)
{
for(int p=i;p>0;p--)
{
for(int q=0;q<16;q++)
{
GameMap[q][p]=GameMap[q][p-1];
}
}
Score+=10;
ScoreBool=1;
}
}
}
BlocksSum = 0;
}
}
public boolean IsOver(int x,int y)
{
if(IsFeasible(x,y,BlockShape,BlockWay)==0)
return true;
else
return false;
}
}
public class Tetris
{
public static void main(String[] args)
{
Game test2 = new Game();
}
}

拿去玩 JAVA新建文件命名為 Tetris 以前寫的 懶得布置界面

閱讀全文

與自動閱卷源碼相關的資料

熱點內容
web應用安全pdf 瀏覽:47
linuxintel網卡驅動下載 瀏覽:217
資源解壓後怎麼刪除 瀏覽:868
編程之美15種演算法 瀏覽:147
java的圖形用戶界面設計 瀏覽:769
算數游戲源碼 瀏覽:999
壓縮機工作聲音判斷 瀏覽:985
事業單位程序員 瀏覽:506
易語言取相似顏色源碼 瀏覽:773
pyodbclinux 瀏覽:585
vivo為什麼把伺服器沉到深海 瀏覽:459
程序員能為電商做什麼 瀏覽:401
騰訊直充qq號加密碼 瀏覽:140
qt搭建msvc編譯器環境 瀏覽:338
單片機晶振壞了會不會工作不穩定 瀏覽:770
天天影迷APP顯示連接伺服器失敗怎麼回事 瀏覽:961
鋼鐵命令同盟第七關怎麼過 瀏覽:6
android底部控制項彈出 瀏覽:43
為程序員而自豪 瀏覽:583
可以進行c語言編譯的文件名 瀏覽:384