陳吉平
摘要:C語(yǔ)言是一種廣泛應(yīng)用于高級(jí)程序設(shè)計(jì)中的語(yǔ)言,C語(yǔ)言憑借功能強(qiáng)、可移植性好、效率高、表達(dá)能力強(qiáng)等優(yōu)點(diǎn)在程序設(shè)計(jì)中占有重要的地位,C語(yǔ)言也成為計(jì)算機(jī)從業(yè)者必須學(xué)習(xí)的設(shè)計(jì)語(yǔ)言之一。同時(shí)C語(yǔ)言還有概念眾多、規(guī)則復(fù)雜、使用靈活等特點(diǎn),這就增加學(xué)習(xí)C語(yǔ)言的難度。因此,進(jìn)行C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)的研究就顯得尤為重要。
關(guān)鍵詞:C語(yǔ)言程序設(shè)計(jì);學(xué)習(xí);支持系統(tǒng)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)34-0074-02
C語(yǔ)言廣泛運(yùn)用于工程技術(shù)軟件開(kāi)發(fā)中,其運(yùn)用非常廣泛。C語(yǔ)言是學(xué)習(xí)其他計(jì)算機(jī)技術(shù)的基礎(chǔ),如學(xué)生要進(jìn)行工程數(shù)值計(jì)算、計(jì)算機(jī)圖形技術(shù)等技能的學(xué)習(xí)都要學(xué)習(xí)C語(yǔ)言。C語(yǔ)言學(xué)習(xí)具有一定的難度,為了解決學(xué)生在C語(yǔ)言學(xué)習(xí)中遇到的問(wèn)題,本文進(jìn)行了C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)的開(kāi)發(fā)。該學(xué)習(xí)支持系統(tǒng)用于解決學(xué)生上機(jī)編程遇到大問(wèn)題,幫助學(xué)生發(fā)現(xiàn)問(wèn)題并技術(shù)解決問(wèn)題,有效提升學(xué)生編程能力以及程序調(diào)試能力,在C語(yǔ)言程序設(shè)計(jì)教學(xué)以及學(xué)習(xí)中有著很高的推廣價(jià)值。
1 系統(tǒng)開(kāi)發(fā)思想及相關(guān)技術(shù)
本系統(tǒng)在開(kāi)發(fā)中采用了原型開(kāi)發(fā)法。原型開(kāi)發(fā)法就是在系統(tǒng)的開(kāi)發(fā)初期通過(guò)調(diào)查用戶需求進(jìn)行系統(tǒng)原型的構(gòu)建,原型系統(tǒng)構(gòu)建完成后要給用戶使用,在使用過(guò)程中根據(jù)用戶的使用意見(jiàn)不斷地對(duì)系統(tǒng)進(jìn)行補(bǔ)充和完善,通過(guò)數(shù)據(jù)補(bǔ)充、結(jié)構(gòu)調(diào)整、模型重建等工作形成新的原型,系統(tǒng)經(jīng)過(guò)如此反復(fù)幾次后能夠逐漸滿足用戶的使用需求,最終形成明確的系統(tǒng)定義及用戶界面要求。這種系統(tǒng)開(kāi)發(fā)方法實(shí)施的關(guān)鍵是能夠在最短時(shí)間內(nèi)運(yùn)用最經(jīng)濟(jì)的方法全面掌握用戶的實(shí)際使用需求,并以此作為系統(tǒng)原型開(kāi)發(fā)的依據(jù)。原型法流程:明確需求→開(kāi)發(fā)原型系統(tǒng)→使用系統(tǒng)→不斷完善系統(tǒng)→形成最終系統(tǒng)。
1.1 VC++
VC++是一種廣泛運(yùn)用于系統(tǒng)開(kāi)發(fā)的工具,該軟件開(kāi)發(fā)工具由微軟公司開(kāi)發(fā)完成。VC++包含很多組建,這些組建溝通構(gòu)成了系統(tǒng)的開(kāi)發(fā)環(huán)境,同時(shí)也為用戶提供了開(kāi)發(fā)過(guò)程中所需編輯、編譯、調(diào)試、聯(lián)機(jī)等工具。VC++具有功能強(qiáng)大、集成度高等優(yōu)點(diǎn),對(duì)于提升系統(tǒng)開(kāi)發(fā)效率有很大的幫助。
MFC是VC++的核心部分,其中包含了Windows軟件開(kāi)發(fā)工具包中的所有結(jié)構(gòu)和功能,其作用是為用戶提供應(yīng)用程序框架,用戶所要進(jìn)行的很多編程工作都可以通過(guò)這一應(yīng)用程序框架進(jìn)行。MCF是微軟公司提供的面向?qū)ο蟮腤indows程序開(kāi)發(fā)的最佳方法,具有高效、易于維護(hù)等優(yōu)點(diǎn),這就使得VC++被廣泛運(yùn)用于系統(tǒng)開(kāi)發(fā)中。
1.2 Microsoft SQL Server2008數(shù)據(jù)庫(kù)
在Microsoft SQL Server整個(gè)產(chǎn)品線中,Microsoft SQL Server2008版本擁有比較重要的地位,因?yàn)樗鼘?duì)之前版本的改進(jìn)更加的更加徹底,很多的關(guān)鍵技術(shù)得以改進(jìn),增加了更多新的特性,其功能更加強(qiáng)大和全面,該版本是公認(rèn)的Microsoft SQL Server產(chǎn)品中性能最強(qiáng)大和全面的一代。本文也將對(duì)這些新的特性、功能等進(jìn)行介紹。
Microsoft SQL Server2088能夠滿足當(dāng)今數(shù)據(jù)爆炸式發(fā)展的應(yīng)用需求,在設(shè)計(jì)所運(yùn)用的前瞻性技術(shù)使得該平臺(tái)在未來(lái)使用中也能夠滿足需求。
Microsoft SQL Server 2008有以下特點(diǎn):可信任——該平拍的安全性和穩(wěn)定性更好,同時(shí)也具有更好的可擴(kuò)展性,企業(yè)可以利用這些特性進(jìn)行關(guān)鍵應(yīng)用程序的應(yīng)用,能夠保證系統(tǒng)整體的穩(wěn)定性和安全性;高效——用戶運(yùn)用簡(jiǎn)單的數(shù)據(jù)基礎(chǔ)設(shè)施花很短的時(shí)間就可以完成系統(tǒng)的開(kāi)發(fā)實(shí)現(xiàn)數(shù)據(jù)管理;智能——實(shí)現(xiàn)了數(shù)據(jù)的自動(dòng)化管理,會(huì)根據(jù)用戶的需要進(jìn)行觀察信息的發(fā)送。
1.3 專(zhuān)家系統(tǒng)
專(zhuān)家系統(tǒng)的應(yīng)用是本系統(tǒng)的關(guān)鍵,同時(shí)也是特色之一。
專(zhuān)家系統(tǒng)是由內(nèi)容專(zhuān)家及程序員組成一個(gè)小組所完成的一種計(jì)算機(jī)程序,專(zhuān)家系統(tǒng)可以模擬專(zhuān)家對(duì)學(xué)生在學(xué)習(xí)過(guò)程中遇到的問(wèn)題進(jìn)行解決,因此專(zhuān)家系統(tǒng)是一個(gè)解決問(wèn)題或者作出決策的過(guò)程。專(zhuān)家系統(tǒng)的原理是用戶向系統(tǒng)提交所遇到的問(wèn)題,其關(guān)鍵是要詳細(xì)描述問(wèn)題,系統(tǒng)會(huì)根據(jù)用戶所提交的問(wèn)題對(duì)知識(shí)庫(kù)進(jìn)行查找,并根據(jù)知識(shí)庫(kù)中的相關(guān)內(nèi)容給出解決方案。
專(zhuān)家系統(tǒng)不但能夠解決學(xué)生學(xué)習(xí)中遇到的問(wèn)題,更重要作用是不斷完善系統(tǒng)知識(shí)庫(kù)。本系統(tǒng)的知識(shí)主要包含兩方面的內(nèi)容:一是C語(yǔ)言程序設(shè)計(jì)相關(guān)的知識(shí)信息和數(shù)據(jù)資料;二是運(yùn)用C語(yǔ)言進(jìn)行編程所具備的知識(shí)以及相應(yīng)的技能。
專(zhuān)家系統(tǒng)由知識(shí)庫(kù)和推理機(jī)兩個(gè)部分組成。知識(shí)庫(kù)中的內(nèi)容包括事實(shí)內(nèi)容和規(guī)則內(nèi)容,知識(shí)庫(kù)中的事實(shí)和規(guī)則是系統(tǒng)開(kāi)發(fā)人員在系統(tǒng)建設(shè)過(guò)程中采用程序的形式輸入的;推理機(jī)屬于邏輯單元,其實(shí)質(zhì)是系統(tǒng)中的一種程序,推理機(jī)的主要作用是接受并分析使用者提交的問(wèn)題、查找相關(guān)信息、推理、給出解決方案。通過(guò)界面就可以實(shí)現(xiàn)對(duì)專(zhuān)家系統(tǒng)的訪問(wèn)。
2 設(shè)計(jì)原則
2.1 實(shí)用性原則
以提升學(xué)生C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)效率作為系統(tǒng)的開(kāi)發(fā)目標(biāo),將績(jī)效管理運(yùn)用于系統(tǒng)中,通過(guò)系統(tǒng)提升學(xué)生的編程能力以及程序調(diào)試能力,因此必須保證系統(tǒng)具有很強(qiáng)的實(shí)用性。
2.2 兼容性、穩(wěn)定性原則
在系統(tǒng)開(kāi)發(fā)過(guò)程中考慮到了軟件的兼容問(wèn)題,C語(yǔ)言的上機(jī)編程學(xué)習(xí)過(guò)程從設(shè)計(jì)開(kāi)發(fā)的角度確保系統(tǒng)工作穩(wěn)定。
2.3 可擴(kuò)展性
用戶在使用系統(tǒng)的過(guò)程中經(jīng)常會(huì)上傳信息,用戶所上傳的這些信息在經(jīng)過(guò)一定的處理后會(huì)儲(chǔ)存在系統(tǒng)中,隨著信息量的不斷增大,系統(tǒng)所面臨的信息存儲(chǔ)壓力會(huì)逐漸增大,為了保證系統(tǒng)的正常運(yùn)行,系統(tǒng)必須要具備良好的可擴(kuò)展性。
3 功能設(shè)計(jì)
根據(jù)電子績(jī)效支持系統(tǒng)理念及學(xué)生學(xué)習(xí)C語(yǔ)言學(xué)習(xí)的特點(diǎn)將本系統(tǒng)劃分為學(xué)習(xí)支持模塊和信息庫(kù)管理模塊。
3.1 學(xué)習(xí)支持模塊
學(xué)習(xí)支持模塊就是學(xué)生在進(jìn)行程序調(diào)試過(guò)著編程過(guò)程中遇到無(wú)法解決的問(wèn)題時(shí)可以利用這一模塊解決難題。學(xué)習(xí)支持模塊包括編譯診斷和編程思路分析兩個(gè)部分。
3.1.1 編譯診斷
編譯診斷功能是學(xué)生在編程練習(xí)中遇到無(wú)法解決問(wèn)題的時(shí)候能夠?qū)W(xué)生提供幫助,幫助學(xué)生分析編程中的錯(cuò)誤。編譯診斷是由問(wèn)題診斷和上傳程序兩個(gè)部分組成。
學(xué)生在運(yùn)用C語(yǔ)言進(jìn)行編程時(shí)出現(xiàn)錯(cuò)誤時(shí)可以運(yùn)用該功能進(jìn)行分析。具體操作如下:?jiǎn)?dòng)系統(tǒng)→提交出錯(cuò)信息(根據(jù)需要輸入?yún)?shù))→回答系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)信息所進(jìn)行的設(shè)問(wèn)→系統(tǒng)給出判斷。如果系統(tǒng)無(wú)法對(duì)用戶提交的編譯錯(cuò)誤信息進(jìn)行診斷就說(shuō)明該系統(tǒng)的知識(shí)庫(kù)不夠全面,系統(tǒng)會(huì)提出沒(méi)有找到相關(guān)信息,用戶需要上傳源程序,系統(tǒng)會(huì)將問(wèn)題匯總由專(zhuān)家進(jìn)行診斷,并由此對(duì)系統(tǒng)的知識(shí)庫(kù)進(jìn)行補(bǔ)充。
3.1.2 編程思路分析
學(xué)生在進(jìn)行復(fù)雜程序編程練習(xí)時(shí)經(jīng)常會(huì)會(huì)出現(xiàn)思路混亂的情況,當(dāng)學(xué)習(xí)遇到編程思路混亂的時(shí)候可以登錄C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)運(yùn)用編程思路分析功能對(duì)程序進(jìn)行分析以完成編程。學(xué)生通過(guò)系統(tǒng)的問(wèn)題分析功能對(duì)編程過(guò)程中遇到的問(wèn)題進(jìn)行分析并得出解決方案,不但可以幫助學(xué)生鍛煉程序分析的能力,同時(shí)也能夠提升學(xué)生的編程能力。
同時(shí)該系統(tǒng)還提供了幫助功能,幫助功能主要是幫助學(xué)生掌握本系統(tǒng)的操作。
3.2 信息庫(kù)管理模塊
信息庫(kù)管理模塊由用戶信息庫(kù)管理、出錯(cuò)知識(shí)庫(kù)管理、推理知識(shí)庫(kù)管理、編程思路分析信息庫(kù)管理幾個(gè)部分組成。
3.2.1 用戶信息庫(kù)管理
該功能主要用于用戶信息、密碼、權(quán)限、上傳程序等信息進(jìn)行管理。用戶登錄系統(tǒng)后,系統(tǒng)要根據(jù)系統(tǒng)的相關(guān)信息進(jìn)行權(quán)限的分配。用戶信息庫(kù)還要存放用戶上傳的程序編譯錯(cuò)信息。
3.2.2 出錯(cuò)知識(shí)信息庫(kù)管理
該管理工作由教師完成,教師可以運(yùn)用出錯(cuò)信息庫(kù)管理功能實(shí)現(xiàn)對(duì)各自出錯(cuò)信息的添加、修改、刪除等操作,這一功能的主要作用是根據(jù)教學(xué)的需要來(lái)不斷完善系統(tǒng)的出錯(cuò)信息庫(kù),保證系統(tǒng)能夠準(zhǔn)確進(jìn)行編譯出錯(cuò)診斷。
3.2.3 推理信息庫(kù)管理
C語(yǔ)言教師可以通過(guò)這一功能對(duì)系統(tǒng)的推理路徑進(jìn)行修改和添加以保證系統(tǒng)進(jìn)行編譯診斷的準(zhǔn)確性。進(jìn)行推理路徑添加操作時(shí),教師C語(yǔ)言教師首先要選擇相應(yīng)的編譯錯(cuò)誤信息,這是編譯錯(cuò)誤信息添加的入口,找到入口后將專(zhuān)家所設(shè)計(jì)的推理路徑以圖形的形式添加,對(duì)應(yīng)的數(shù)據(jù)ID信息被記錄到推理路徑信息庫(kù)中。對(duì)于系統(tǒng)無(wú)法準(zhǔn)確針對(duì)的編譯錯(cuò)誤信息,C語(yǔ)言教師也要對(duì)其進(jìn)行分析并設(shè)計(jì)相應(yīng)的推理路徑,同時(shí)還將新的推理路徑添加到推理信息庫(kù)中。
3.2.4編程思路分析信息庫(kù)管理
C語(yǔ)言教師可以運(yùn)用這一功能實(shí)現(xiàn)編程思路的添加、修改和刪除等操作。
4 數(shù)據(jù)庫(kù)設(shè)計(jì)
在系統(tǒng)開(kāi)發(fā)過(guò)程中,出于對(duì)系統(tǒng)的使用需求和建設(shè)工作量的考慮,系統(tǒng)數(shù)據(jù)庫(kù)包含6張數(shù)據(jù)表,包括用戶信息表、出錯(cuò)知識(shí)表(編譯錯(cuò)信息表、設(shè)問(wèn)信息表、診斷信息表)、推理路徑表和編程思路分析信息表。
用戶信息表:該表內(nèi)容包括用戶基本信息和上傳程序等;
出錯(cuò)知識(shí)表:包括編譯錯(cuò)誤表、設(shè)問(wèn)信息表、診斷信息表,其內(nèi)容包括信息和ID;
推理路徑表:該表中的內(nèi)容包括推理路徑節(jié)點(diǎn)。節(jié)點(diǎn)類(lèi)型有葉子節(jié)點(diǎn)、入口節(jié)點(diǎn)、出口節(jié)點(diǎn)、中間節(jié)點(diǎn);
編程思路分析信息表:該表中的內(nèi)容包括編程思路分析信息和相應(yīng)的ID。
5 系統(tǒng)開(kāi)發(fā)
5.1主頁(yè)
系統(tǒng)登錄界面,學(xué)生的學(xué)號(hào)就是其用戶名,系統(tǒng)為學(xué)生設(shè)置了初一密碼,學(xué)生登錄系統(tǒng)后可以對(duì)密碼進(jìn)行更改,學(xué)生只有輸入正確的學(xué)號(hào)和密碼才能登錄系統(tǒng)。
5.2學(xué)習(xí)支持模塊
5.2.1 學(xué)習(xí)支持主界面
學(xué)習(xí)主頁(yè)面,由圖中可以看出,學(xué)習(xí)支持模塊包括編譯診斷、編程思路分析和幫助三個(gè)主要功能。編譯診斷功能是學(xué)生在編程練習(xí)中遇到無(wú)法解決問(wèn)題的時(shí)候能夠?qū)W(xué)生提供幫助,幫助學(xué)生分析編程中的錯(cuò)誤;編程思路分析功能為學(xué)生進(jìn)行編程問(wèn)題分析提供支持和幫助并給出解決方案;幫助功能主要是幫助學(xué)生掌握本系統(tǒng)的操作。
5.2.2 編譯診斷
編譯診斷流程:?jiǎn)?dòng)系統(tǒng)→提交出錯(cuò)信息(根據(jù)需要輸入?yún)?shù))→回答系統(tǒng)根據(jù)數(shù)據(jù)庫(kù)信息所進(jìn)行的設(shè)問(wèn)→系統(tǒng)給出判斷。如果系統(tǒng)無(wú)法對(duì)用戶提交的編譯錯(cuò)誤信息進(jìn)行診斷就說(shuō)明該系統(tǒng)的知識(shí)庫(kù)不夠全面,系統(tǒng)會(huì)提出沒(méi)有找到相關(guān)信息,用戶需要上傳源程序。
5.2.3 編程思路分析
學(xué)生在進(jìn)行復(fù)雜程序編程練習(xí)時(shí)經(jīng)常會(huì)會(huì)出現(xiàn)思路混亂的情況,當(dāng)學(xué)習(xí)遇到編程思路混亂的時(shí)候可以登錄C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)運(yùn)用編程思路分析功能對(duì)程序進(jìn)行分析以完成編程。能夠進(jìn)行問(wèn)題分析是本學(xué)習(xí)支持系統(tǒng)的重要功能,學(xué)生通過(guò)系統(tǒng)的問(wèn)題分析功能對(duì)編程過(guò)程中遇到的問(wèn)題進(jìn)行分析并得出解決方案,不但可以幫助學(xué)生鍛煉程序分析的能力,同時(shí)也能夠提升學(xué)生的編程能力。圖5是編程思路分析的主界面,這個(gè)界面包含多個(gè)標(biāo)題,學(xué)生可以根據(jù)編程的題目進(jìn)行選擇。以“順序結(jié)構(gòu)程序設(shè)計(jì)”為例,學(xué)生在進(jìn)行這類(lèi)題目編程時(shí)可以點(diǎn)擊“順序結(jié)構(gòu)程序設(shè)計(jì)”,頁(yè)面會(huì)跳轉(zhuǎn)至編程思路分析界面,該界面中包含“順序結(jié)構(gòu)程序設(shè)計(jì)”的所有題目,學(xué)生可以根據(jù)自己所編程序進(jìn)行選擇所要分析內(nèi)容。
C語(yǔ)言廣泛運(yùn)用于工程技術(shù)軟件開(kāi)發(fā)中,其運(yùn)用非常廣泛。C語(yǔ)言是學(xué)習(xí)其他計(jì)算機(jī)技術(shù)的基礎(chǔ),如學(xué)生要進(jìn)行工程數(shù)值計(jì)算、計(jì)算機(jī)圖形技術(shù)等技能的學(xué)習(xí)都要學(xué)習(xí)C語(yǔ)言。C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)主要是用于上機(jī)編程練習(xí)中幫助學(xué)習(xí)進(jìn)行問(wèn)題診斷以及分析編程思路,幫助學(xué)生發(fā)現(xiàn)問(wèn)題并技術(shù)解決問(wèn)題,可以有效提升學(xué)生編程能力以及程序調(diào)試能力,對(duì)于學(xué)生的C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)效果和效率的提升有著非常大的幫助,在C語(yǔ)言程序設(shè)計(jì)教學(xué)以及學(xué)習(xí)中有著很高的推廣價(jià)值。
參考文獻(xiàn):
[1] 朱曉江.C語(yǔ)言程序設(shè)計(jì)學(xué)習(xí)支持系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)研究[J].電子技術(shù)與軟件工程,2015(13):250-250.
[2] 張健,高振棟.C語(yǔ)言智能學(xué)習(xí)系統(tǒng)的設(shè)計(jì)與開(kāi)放[J].軟件導(dǎo)刊,2014,5(5):119-120.
[3] 陳江麗,舒清錄.大學(xué)C語(yǔ)言學(xué)習(xí)系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)[J].臨滄師范高等專(zhuān)科學(xué)校學(xué)報(bào),2012,3(3):117-120.
[4] 周微微,王建新,陳零,盛羽.基于Internet的C語(yǔ)言學(xué)習(xí)支撐系統(tǒng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2008,28(1):260-263.