C語言編程題判分係統的研究與實現探討
行業科技
作者:楊慶
【摘要】C語言是一種目前國際上應用最廣泛、最流行的計算機程序設計語言,具有彙編語言與高級語言的雙重特點,其具有很強的數據處理能力,能編寫不依賴計算機硬件的應用程序,因此被廣泛應用於編寫係統軟件、軟件開發、二維圖形與動畫等。隨著計算機技術和互聯網的不斷發展,計算機的應用越來越普及,C語言由於實踐性強,已作為計算機專業的一門基礎課程被納入計算機等級考試中。C語言編程題判分係統是C語言在實際工作中被廣泛應用的重要體現,C語言編程題判分係統不僅大大減輕了教師的工作量,還能激發學生學習C語言的興趣,提升教學質量。
【關鍵詞】C語言,C語言編程題判分係統,B/S模式
在高等院校的計算機應用教學中,由於計算機課程應用性強,理論知識相對較深,技術性要求也高,因此學生需要通過反複的實際操作,才能真正掌握相關計算機的應用技能,但是目前市麵上沒有實用性很強,且適合軟件學院使用的網絡教學平台,學生日常的課後作業、上機練習、考試試卷等主要由教師負責批改,不僅增加了教師的教學負擔,學生也不能立即知曉自己學習的“缺口”和“漏洞”,尤其在編程技術的學習上,更是收效緩慢,學習效率低下,而C語言編程題判分係統的設計與應用可以很好的解決這些問題。本文將結合C語言編程題判分係統的特點,簡要敘述C語言編程題判分係統的設計與實現。
一、C語言編程題判分係統的特點、結構
(一)特點:C語言編程題判分係統使用擅長數據顯示的JSP技術,為避免大量使用Java程序片段進行數據處理,在基於Servlet的基礎上采用MVC模式進行係統開發;另外該係統使用Fredorn core8作為開發環境,采用B/S模式開發,並應用具有高性能和超強網絡處理能力的JDK1.6+apache-tomcat6.0+mysql6.0搭建服務器,不僅可使學生能直接通過瀏覽器登陸考試係統,簡化操作,還能同一時間段負擔大量學生對係統應用的需求,並保持係統的可靠、穩定。
(二)C語言編程題判分係統依據需求的差異可劃分為四個模塊即:教師模塊(查看公告、題目管理、學生管理、布置練習、考試管理),管理員模塊(考試設置、教師管理、公告管理、題庫維護、考試管理、學生現息維護),學生模塊(練習模塊、判分模塊、查看公告、考試模塊),判分模塊(動態判分、靜態判分)。教師模塊是方便教師對學生進行管理,了解學生的練習、考試情況;管理員模塊主要是實現管理人員對整個係統的管理;學生模塊就是用於服務學生的日常練習和考試;判分模塊主要用於對學生提交的程序進行自動判分。
二、C語言編程題判分係統的運行原理
大部分的判分係統主要側重於對結果的比較,嚴格限製輸出格式;而C語言編程題判分係統結合動態評判和靜態評判,適度放寬了輸出格式的限製。
(一)練習與考試題目格式的研究。C語言編程題判分係統對練習與考試題目格式有一定限製,並非可以對全部的c語言編程題目進行判分。程序運行須輸入數據,然後得出對應的輸出結果,且這個結果就如同數學函數輸入的指定自變量樣,所得的輸出結果是唯一的。
(二)靜態評判。其作用就是檢測編程試題是否與學生提交的程序相一致, 避免係統編譯一些不必要的程序,節省係統資源。其評判步驟首先是使用goc-E預編譯學生提交的程序,去掉會影響靜態評判結果的注釋部分;然後檢測程序中是否包含題目所要求的關鍵字(題目中設定所編程序中必須存在的關鍵字)。