程序設(shè)計(jì)范文
時(shí)間:2023-04-10 02:35:36
導(dǎo)語(yǔ):如何才能寫(xiě)好一篇程序設(shè)計(jì),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】 JSP程序設(shè)計(jì);應(yīng)用能力培養(yǎng);實(shí)踐
《JSP程序設(shè)計(jì)》是WEB技術(shù)的重要課程之一,由于JSP基于JAVA技術(shù),從安全性、穩(wěn)定性、跨平臺(tái)性等方面有著極大的優(yōu)越性,JSP技術(shù)已成為WEB技術(shù)的主流,因此,這門(mén)課程已成為高職院校網(wǎng)絡(luò)專(zhuān)業(yè)的一門(mén)重要專(zhuān)業(yè)課程,此課程為我院網(wǎng)絡(luò)各專(zhuān)業(yè)必修主干課程。同時(shí),該課程也是學(xué)生畢業(yè)后從事網(wǎng)絡(luò)開(kāi)發(fā)工作所需具備的基本技能。因此對(duì)JSP程序設(shè)計(jì)的教學(xué)進(jìn)行研究并提出教學(xué)改革的思路,以期改善高職JSP程序設(shè)計(jì)課程的教學(xué)效果,提高教學(xué)質(zhì)量,更好地實(shí)現(xiàn)高職的培養(yǎng)目標(biāo)有著重要意義。
1 目前JSP程序設(shè)計(jì)教學(xué)現(xiàn)狀分析
1.1 JSP程序設(shè)計(jì)教學(xué)的評(píng)價(jià)標(biāo)準(zhǔn)和高職的培養(yǎng)目標(biāo)不一致。教育部長(zhǎng)周濟(jì)指出:高等職業(yè)教育的主要任務(wù)是培養(yǎng)高技能人才,我們培養(yǎng)的學(xué)生既要能動(dòng)腦,更要能動(dòng)手,經(jīng)過(guò)實(shí)踐的鍛煉,能夠迅速成長(zhǎng)為高技能人才,成為國(guó)家建設(shè)不可缺少的重要力量。JSP程序設(shè)計(jì)教學(xué)的主要目的是培養(yǎng)學(xué)生程序分析能力,程序設(shè)計(jì)能力,以及程序調(diào)試能力,而不在程序本身規(guī)則的學(xué)習(xí)。但JSP程序設(shè)計(jì)教學(xué)考核的主要關(guān)注點(diǎn)卻是語(yǔ)法規(guī)則,注重細(xì)節(jié)問(wèn)題,當(dāng)然不能全面評(píng)價(jià)學(xué)生能力。
1.2 JSP程序本身特點(diǎn)帶來(lái)學(xué)習(xí)困難。比如,JSP語(yǔ)法限制不嚴(yán)格、程序設(shè)計(jì)自由度大本身是程序設(shè)計(jì)的優(yōu)點(diǎn),但初學(xué)者往往能不清哪種表示正確,增加了程序理解的難度;程序設(shè)計(jì)本身比較抽象,學(xué)生相關(guān)計(jì)算機(jī)知識(shí)不夠;學(xué)習(xí)程序設(shè)計(jì)需要有較強(qiáng)的邏輯思維能力,而我們的學(xué)生在這方面訓(xùn)練不夠。這都給學(xué)生學(xué)習(xí)帶來(lái)較大困難。
1.3 傳統(tǒng)的教學(xué)模式也不利于發(fā)揮學(xué)生學(xué)習(xí)的主觀能動(dòng)性。過(guò)去JSP程序設(shè)計(jì)的教學(xué)仍延續(xù)課堂教授、布置作業(yè)及實(shí)驗(yàn)的“教本位”的教學(xué)模式,教師是課堂的中心,注重教的原發(fā)性和主動(dòng)性,忽視了學(xué)生的主體性。不利于調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性與主動(dòng)性,發(fā)揮不了學(xué)生的主觀能動(dòng)性。
2 JSP程序設(shè)計(jì)教學(xué)改革的措施
2.1 準(zhǔn)確的定位課程目標(biāo)。根據(jù)高職高專(zhuān)培養(yǎng)目標(biāo)的要求,我們?cè)诮虒W(xué)大綱的制定中貫徹 “以應(yīng)用為目的、以必需、夠用為度”的原則。服務(wù)專(zhuān)業(yè)需要,同時(shí)注重學(xué)生綜合素質(zhì)、數(shù)學(xué)思維能力的培養(yǎng)。
2.2 采用先進(jìn)的教學(xué)方法和手段,充分發(fā)揮學(xué)生的主觀能動(dòng)性。本課程的重點(diǎn)JSP內(nèi)置對(duì)象、JSP與數(shù)據(jù)庫(kù)的連接、JavaBean與JavaServlet技術(shù),難點(diǎn)主要有:JSP內(nèi)置對(duì)象的屬性與方法、JavaBean與JavaServlet技術(shù)。我們的解決方案如下:
2.2.1 針對(duì)高職高專(zhuān)類(lèi)學(xué)生的特點(diǎn),盡可能使用通俗易懂、深入淺出的語(yǔ)言來(lái)敘述各章節(jié)內(nèi)容,并盡可能使用典型例題來(lái)說(shuō)明各章節(jié)知識(shí)點(diǎn)的概念與使用方法,努力釋疑各章節(jié)的重點(diǎn)與難點(diǎn),以求多數(shù)學(xué)生掌握知識(shí)的應(yīng)用。
2.2.3 采用同一例題用不同方法實(shí)現(xiàn)的教學(xué)手段,從而提高課堂的講課效率和效果。
2.2.4 針對(duì)高職高專(zhuān)類(lèi)學(xué)生理論教學(xué)“必須夠用”的原則,略講了一些理論性較強(qiáng)而不太實(shí)用的內(nèi)容,增加了學(xué)生實(shí)驗(yàn)實(shí)踐的內(nèi)容。
2.2.5 盡量采用案例、任務(wù)驅(qū)動(dòng)的教學(xué)方式,針對(duì)重點(diǎn)與難點(diǎn),通過(guò)老師演示講解,學(xué)生討論、實(shí)驗(yàn)來(lái)增強(qiáng)學(xué)生的分析問(wèn)題解決問(wèn)題的能力。
2.2.6 充分采用現(xiàn)代教育技術(shù)來(lái)輔助教學(xué)。利用專(zhuān)用計(jì)算機(jī)做為服務(wù)器,在講課時(shí)使所做的程序當(dāng)時(shí)就能見(jiàn)到效果,提高學(xué)生的興趣和記憶力。
我們?cè)趯?shí)踐教學(xué)體系中努力突出職業(yè)技術(shù)教育高層次的個(gè)性特征與功能,按照高技能人才培養(yǎng)的特點(diǎn)要求確定知識(shí)、技能要求,主要由操作技能、實(shí)驗(yàn)技能、專(zhuān)項(xiàng)能力訓(xùn)練、崗位見(jiàn)習(xí)、社會(huì)綜合實(shí)踐和畢業(yè)設(shè)計(jì)(頂崗實(shí)踐)等模塊組成。日常教學(xué)的實(shí)踐環(huán)節(jié)占教學(xué)總周數(shù)的比例為50%以上,通常情況下我們的實(shí)踐性教學(xué)分為實(shí)驗(yàn)與實(shí)訓(xùn)兩部分。實(shí)驗(yàn)課內(nèi)容主要為各章節(jié)的例題與習(xí)題和老師自行布置的典型題目,包含一些驗(yàn)證性實(shí)驗(yàn)和程序設(shè)計(jì)練習(xí),以及流行的開(kāi)發(fā)平臺(tái)的使用技巧,基本上做到與課程教學(xué)同步;實(shí)訓(xùn)內(nèi)容一般為一些小型的綜合性應(yīng)用程序開(kāi)發(fā)等。
由于我們?cè)趯?shí)踐教學(xué)中采用靈活、實(shí)用的教學(xué)方式,進(jìn)一步激發(fā)了學(xué)生學(xué)習(xí)興趣,促進(jìn)了學(xué)生主動(dòng)學(xué)習(xí)的積極性,效果顯著。課程學(xué)完后,所有學(xué)生都達(dá)到了用JSP獨(dú)立開(kāi)發(fā)小型網(wǎng)站的能力,畢業(yè)后有許多學(xué)生從事網(wǎng)站開(kāi)發(fā)工作。
2.3 給學(xué)生搭建多種自主學(xué)習(xí)平臺(tái)。一是充分利用網(wǎng)絡(luò)資源,創(chuàng)建教學(xué)網(wǎng)站,提供教學(xué)課件,便于學(xué)生課后自主學(xué)習(xí)與復(fù)習(xí),建立不同層次的題庫(kù)與測(cè)試內(nèi)容,方便學(xué)生的自我檢查,開(kāi)辟討論與答疑區(qū),隨時(shí)對(duì)學(xué)生的學(xué)習(xí)問(wèn)題進(jìn)行解答,并開(kāi)展討論,提高學(xué)生的創(chuàng)新能力。二是開(kāi)放機(jī)房,JSP程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課程,需要進(jìn)行大量的上機(jī)調(diào)試,來(lái)發(fā)現(xiàn)問(wèn)題、理解問(wèn)題、掌握程序設(shè)計(jì)的方法。通過(guò)多種平臺(tái)的構(gòu)建,營(yíng)造以學(xué)生為主體的學(xué)習(xí)環(huán)境與氛圍,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)欲望。
2.4 制定合適的考核標(biāo)準(zhǔn)。在考核評(píng)價(jià)方法上,探索多元化的考核評(píng)價(jià)方法,重視實(shí)踐考核,重視過(guò)程考核。采用現(xiàn)場(chǎng)實(shí)際操作、課題研究與論文寫(xiě)作、開(kāi)發(fā)實(shí)際項(xiàng)目等方式或幾種方式綜合運(yùn)用的考核方法,同時(shí)考核評(píng)價(jià)應(yīng)提供多次機(jī)會(huì)。力求作出客觀地評(píng)價(jià)。建立以專(zhuān)業(yè)技術(shù)標(biāo)準(zhǔn)和職業(yè)素質(zhì)為基礎(chǔ)的考核體系。在考試考核內(nèi)容選擇方面,既要體現(xiàn)人才培養(yǎng)目標(biāo)和課程(環(huán)節(jié))目標(biāo)要求,又要有利于培養(yǎng)學(xué)生運(yùn)用所學(xué)知識(shí)和技術(shù)分析問(wèn)題和解決問(wèn)題的能力。真正做到既考知識(shí),又考能力(技能)和素質(zhì),體現(xiàn)應(yīng)知、應(yīng)會(huì)。 在考核評(píng)價(jià)的最終成績(jī)是綜合成績(jī),使評(píng)價(jià)結(jié)果真正反映學(xué)生的實(shí)際能力和水平。
3 結(jié)束語(yǔ)
本文所提的教學(xué)改革措施,一切以學(xué)生為中心,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,積極探索符合高職培養(yǎng)目標(biāo)的教學(xué)方法和教學(xué)模式,始終以能力的培養(yǎng)為中心,貫徹能力為本位的職教思想。我們一直探索如何有效進(jìn)行教學(xué),逐步形成了以項(xiàng)目驅(qū)動(dòng)、實(shí)例教學(xué)為主的符合高職學(xué)生學(xué)習(xí)的教學(xué)模式。
參考文獻(xiàn)
[1] 黃榮梅.創(chuàng)新教育在高職計(jì)算機(jī)教學(xué)中的體現(xiàn)[J].四川職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,11.
[2] 耿祥義,張躍平.JSP實(shí)用教程[M].清華大學(xué)出版社, 2003
篇2
一、前言
Windows提供強(qiáng)大的功能以及友好的圖形用戶(hù)界面(GUI),使得它不僅廣泛的用作管理事務(wù)型工作的支持平臺(tái),也被工業(yè)領(lǐng)域的工程人員所關(guān)注。但Windows3.1并非基于優(yōu)先級(jí)來(lái)調(diào)度任務(wù),無(wú)法立即響應(yīng)外部事件中斷,也就不能滿(mǎn)足工業(yè)應(yīng)用環(huán)境中實(shí)時(shí)事件處理和實(shí)時(shí)控制應(yīng)用的要求。因此,如何在Windows環(huán)境中處理外部實(shí)時(shí)事件一直是技術(shù)人員尤其是實(shí)時(shí)領(lǐng)域工程人員所關(guān)注的問(wèn)題。目前已有的方法大都采用內(nèi)掛實(shí)時(shí)多任務(wù)內(nèi)核的方式,如Windows下的實(shí)時(shí)控制軟件包FLX等,而iRMX實(shí)時(shí)操作系統(tǒng)則把Windows3.1當(dāng)作它的一個(gè)任務(wù)來(lái)運(yùn)行。對(duì)于大型的工程項(xiàng)目,開(kāi)發(fā)人員可采用購(gòu)買(mǎi)實(shí)時(shí)軟件然后集成方式。
對(duì)中小項(xiàng)目,從投資上考慮就不很經(jīng)濟(jì)。如何尋找一種簡(jiǎn)明的方法來(lái)處理外部實(shí)時(shí)事件依然顯得很必要。
本文首先闡述Windwos的消息機(jī)制及中斷機(jī)制,然后結(jié)合DPMI接口,給出一種保護(hù)模式下中斷程序的設(shè)計(jì)方法,以處理外部實(shí)時(shí)事件。經(jīng)實(shí)際運(yùn)行結(jié)果表明,該方法具有簡(jiǎn)潔、實(shí)用、可靠的特點(diǎn),并同樣可運(yùn)行于Win95。
二、Windows的消息機(jī)制
Windows是一消息驅(qū)動(dòng)式系統(tǒng),見(jiàn)圖1。Windows消息提供了應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通訊的手段。應(yīng)用程序要實(shí)現(xiàn)的功能由消息來(lái)觸發(fā),并靠對(duì)消息的響應(yīng)和處理來(lái)完成。
Windows系統(tǒng)中有兩種消息隊(duì)列,一種是系統(tǒng)消息隊(duì)列,另一種是應(yīng)用程序消息隊(duì)列。計(jì)算機(jī)的所有輸入設(shè)備由Windows監(jiān)控,當(dāng)一個(gè)事件發(fā)生時(shí),Windows先將輸入的消息放入系統(tǒng)消息隊(duì)列中,然后再將輸入的消息拷貝到相應(yīng)的應(yīng)用程序隊(duì)列中。應(yīng)用程序中的消息循環(huán)從它的消息隊(duì)列中檢索每一個(gè)消息并發(fā)送給相應(yīng)的窗口函數(shù)中。一個(gè)事件的發(fā)生,到達(dá)處理它的窗口函數(shù)必需經(jīng)歷上述過(guò)程。值得注意的是消息的非搶先性,即不論事件的急與緩,總是按到達(dá)的先后排隊(duì)(一些系統(tǒng)消息除外),這就使得一些外部實(shí)時(shí)事件可能得不到及時(shí)的處理。
圖1
三、Windows的保護(hù)模式及中斷機(jī)制
1.Windows的保護(hù)模式
保護(hù)模式指的是線(xiàn)性地址由一個(gè)選擇符間接生成的,該選擇符指向描述表中的某一項(xiàng);而實(shí)模式中則通過(guò)一個(gè)段/偏移量對(duì)來(lái)直接尋址。80386(486)CPU提供的保護(hù)模式能力包括一個(gè)64K的虛擬地址空間和一個(gè)4G的段尺寸。Windows3.1實(shí)現(xiàn)時(shí)有所差別,它支持標(biāo)準(zhǔn)模式和增強(qiáng)模式。標(biāo)準(zhǔn)模式針對(duì)286機(jī)器,不屬本文探討范圍。增強(qiáng)模式是對(duì)386以上CPU而言,Windows正是使用保護(hù)模式來(lái)打破1M的屏障并且執(zhí)行簡(jiǎn)單的內(nèi)存保護(hù)。它使用選擇器、描述器和描述器表控制訪問(wèn)指定內(nèi)存的位置和段。描述器表包括全局描述器表、局部描述器表、中斷描述器表。保護(hù)模式與實(shí)模式有許多不同。其中顯著的差異是訪問(wèn)內(nèi)存的機(jī)制不同。
2.中斷機(jī)制
(1)實(shí)模式中斷
為了便于理解,我們先回顧實(shí)模式中斷。
在實(shí)模式下,中斷向量表IVT起到相當(dāng)重要的作用。無(wú)論來(lái)自外部硬件的中斷或是內(nèi)部的軟中斷INTn,在CPU中都產(chǎn)生同樣的響應(yīng)。
①CPU將當(dāng)前的指令指針寄存器(IP)、代碼段寄存器(CS)、標(biāo)志寄存器壓入堆棧。
②然后CPU使用n值作為指向中斷向量表IVT的索引,在IVT中找出服務(wù)例程的遠(yuǎn)地址。
③CPU將此遠(yuǎn)地址裝入CS:IP寄存器中,并開(kāi)始執(zhí)行服務(wù)例程。
④中斷例程總以IRET指令結(jié)束。此指令使存在堆棧中的三個(gè)值彈出并填入CS、IP和標(biāo)志寄存器,CPU繼續(xù)執(zhí)行原來(lái)的指令。
(2)保護(hù)模式中斷
保護(hù)模式中斷過(guò)程與實(shí)模式中斷過(guò)程類(lèi)似,但它不再使用中斷向量表IVT,而使用中斷描述符表(IDT)。值得一提的是,Windows運(yùn)行時(shí)IVT還存在,應(yīng)用程序并不使用它,Windows仍然使用,但含義已不同。
①I(mǎi)VT結(jié)構(gòu):IVT在RAM的0000∶0000之上,占據(jù)開(kāi)始的1024字節(jié)。
它仍然由BIOS啟動(dòng)例程設(shè)置,由DOS填充到RAM中。
②IDT中斷描述符表:保護(hù)模式下,Windows操作系統(tǒng)為實(shí)現(xiàn)中斷機(jī)制而建立的一個(gè)特殊表,即中斷描述符表IDT。該表被用來(lái)保存中斷服務(wù)例程的線(xiàn)性地址,它們是真正的24位或32位地址,沒(méi)有段:偏移值結(jié)構(gòu)。中斷描述器表最多可含有256個(gè)例程說(shuō)明,詳細(xì)說(shuō)明請(qǐng)見(jiàn)【3】。I
DT結(jié)構(gòu)見(jiàn)圖2。
圖2
③當(dāng)中斷或異常發(fā)生時(shí),處理過(guò)程與實(shí)模式類(lèi)同。當(dāng)前的CS∶IP值和標(biāo)志寄存器值被存儲(chǔ)。保存的內(nèi)容還包括CPU其他內(nèi)部寄存器的值,以及目前正在被執(zhí)行的任務(wù)的有關(guān)信息(若必須發(fā)生任務(wù)切換的話(huà))。CPU設(shè)法獲取中斷向量后,以它為索引值,查找IDT中的服務(wù)例程遠(yuǎn)地址,接著將控制轉(zhuǎn)移到該處的服務(wù)例程。這是與實(shí)模式轉(zhuǎn)移到IVT的不同所在。保護(hù)模式使用IDTR寄存器分配和定位內(nèi)存中的IDT中斷描述符表。IDT在內(nèi)存中是可移動(dòng)的,與IVT固定在內(nèi)存中剛好相反。IDT中斷描述符表在Windows中起決定性的作用。理解了Windows下保護(hù)模
式的中斷機(jī)制。有助于我們理解中斷服務(wù)程序的設(shè)計(jì),它的關(guān)鍵就在于如何將服務(wù)例程的地址放入IDT中斷描述符表中。當(dāng)中斷發(fā)生時(shí),如何將斷點(diǎn)地址及CPU各寄存器值保護(hù)起來(lái);中斷結(jié)束時(shí),如何將保護(hù)的值恢復(fù)。Windows系統(tǒng)本身并不提供實(shí)現(xiàn)上述功能的API,而DOS保護(hù)模式接口DPMI正具備了上述的功能。
下面我們首先介紹DPMI接口,然后基于它實(shí)現(xiàn)Windows下中斷服務(wù)程序的設(shè)計(jì)。
四、DOS保護(hù)模式接口DPMI
Windows除了標(biāo)準(zhǔn)服務(wù)外,還支持一組特殊的DOS服務(wù),稱(chēng)為DOS保護(hù)模式接口DPMI,由一些INT 2FH和INT 31H服務(wù)組成。它使應(yīng)用程序能夠訪問(wèn)PC系列計(jì)算機(jī)的擴(kuò)充內(nèi)存,同時(shí)維護(hù)系統(tǒng)的保護(hù)功能。DPMI通過(guò)軟件中斷31h來(lái)定義了一個(gè)新的接口,使得保護(hù)模式的應(yīng)用程序能夠用它作分配內(nèi)存,修改描述符以及調(diào)用實(shí)模式軟件等工作。
Windows為應(yīng)用程序提供DPMI服務(wù)。即Windows是DPMI的宿主(host),應(yīng)用程序是DPMI的客戶(hù)(client),可通過(guò)INT-31H調(diào)用得到DPMI服務(wù)。INT-31H本身提供多功能。其中它的中斷管理服務(wù)允許保護(hù)模式用于攔截實(shí)模式中斷,并且掛住處理器異常。有些服務(wù)能夠和DPMI宿主合作,以維護(hù)應(yīng)用程序的虛擬中斷標(biāo)志。
可以用INT31H來(lái)掛住保護(hù)模式中斷向量,以中斷方式處理外部實(shí)時(shí)事件。利用INT31H,功能0205H:設(shè)置保護(hù)模式中斷向量,將特定中斷的保護(hù)模式處理程序的地址置入中斷向量里。調(diào)用方式:AX=0205H,BL=中斷號(hào),CX∶(E)DX=中斷處理程序選擇符:偏移值。返回:執(zhí)行成功CF=清零,執(zhí)行失敗CF=置位。
掛住/解掛中斷向量的時(shí)機(jī)很重要。主窗口第一次被創(chuàng)建時(shí)會(huì)傳送它WM-CREATE消息,這時(shí)是掛住中斷向量的最好時(shí)機(jī)。退出時(shí)需解掛向量,否則Windows可能崩潰。主窗口接收到WM-DE-STROY之后進(jìn)行解掛工作,是最適合的。解掛向量可先用INT35H,0204H功能將老的中斷向量保存,退出時(shí)用INT35H,0205H恢復(fù)。
五、編程實(shí)現(xiàn)
有了DPMI的支持,我們就可以很方便地處理數(shù)據(jù)采集、串行
通信等工業(yè)過(guò)程中的實(shí)時(shí)事件。下面以Windows3.1平臺(tái)下中斷方式實(shí)現(xiàn)的串行通信為例,說(shuō)明中斷程序的編制和實(shí)現(xiàn)。為便于參考,給出了詳細(xì)的代碼。開(kāi)發(fā)平臺(tái)BC3.1/BC4.5,其本身支持0.9版的DPMI,無(wú)需運(yùn)行其它支持DPMI的軟件。編程語(yǔ)言C,可與C++混合編譯。
初始化COM1,9600波特率,每字符8bits,1個(gè)停止位,中斷接收,查詢(xún)發(fā)送。
//windows asy communication
//by Li Xiuming
//last modified on June 25,1996
#include〈windows.h〉
#include〈dos.h〉
void interrupt far DataReceive();
void interrupt far (*old-vector)();
unsigned char datacom-r[1024],datacom-s[1024];
int inflag=0;
unsigned int s8259;
int InitCom1()
{ //串口1初使化
s8259=inportb(0x21); //讀入8259當(dāng)前狀態(tài)并保存
outportb(0x21,s8259&0xe8); //初始化8259,允許0x0c號(hào)中斷
outportb(0x3fb,0x83);
outportb(0x3f8,0x0c);
outportb(0x3f9,0x00);
outportb(0x3fb,0x03);
outportb(0x3fc,0x08); //允許中斷信號(hào)送到8259A,以便能中斷
outportb(0x3f9,0x01); //0x01,中斷允許
return 1;
}
void interrupt far DataReceive()
{ //中斷接收子程序
static int i=0; //靜態(tài)局部變量
char rechar=0; //每中斷一次,i自動(dòng)加1
rechar=inportb(0x3f8); //從數(shù)據(jù)口讀出發(fā)送過(guò)來(lái)的數(shù)據(jù)
if(inflag==0)
{
if(rechar!=s &&i==0) //幀起始
{
i=0;
goto ll;
}
datacom-r[i++]=rechar; //存入datacom-r[](通信緩沖區(qū))
if(rechar==e) //幀結(jié)束
{
inflag=1;
i=0;
}
}
ll:outportb(0x20,0x20); //回送中斷結(jié)束標(biāo)志
}
//調(diào)用DPMI
//保存舊的0CH號(hào)保護(hù)模式中斷向量
//設(shè)置新的保護(hù)模式中斷服務(wù)例程
void InitCom(void)
{
asm{
cli
mov ax,204h
mov bl,0ch
int 31h
sti
}
old-vector=MK-FP(-CX,-DX);//保存
asm{ cli //設(shè)置新的0x0c中斷服務(wù)例程
mov ax,205h
mov bl,0ch
mov cx,seg datareceive
mov dx,offset datareceive
int 31h
sti
}
InitCom1();
}
//恢復(fù)8259狀態(tài)
//恢復(fù)0CH保護(hù)模式向量
void RestoreComm(void)
{
outportb(0x21,s8259);
asm{
cli
mov ax,205h
mov bl,0ch
mov cx,seg old-vector
mov dx,offset old-vector
int 31h
sti
}
}
在窗口第一次被創(chuàng)建時(shí)會(huì)傳送它WM-CREATE消息,這時(shí)調(diào)用InitCom()即可。在主窗口關(guān)閉時(shí),即主窗口中收到WM-DESTROY消息時(shí),調(diào)用RestoreComm()恢復(fù)原來(lái)的狀態(tài)。
這樣在對(duì)串口初始化,設(shè)置中斷服務(wù)例程后,通信事件發(fā)生時(shí),會(huì)立即跳入中斷子程序中執(zhí)行,越過(guò)系統(tǒng)的消息隊(duì)列,達(dá)到實(shí)時(shí)處理通信事件的目的。而數(shù)據(jù)處理模塊可通過(guò)全局標(biāo)志flag訪問(wèn)全局的數(shù)據(jù)通信緩沖區(qū)獲取實(shí)時(shí)數(shù)據(jù)。這種實(shí)現(xiàn)方式與基于消息機(jī)制的Windows通信API實(shí)現(xiàn)相比具有實(shí)時(shí)性強(qiáng)的特點(diǎn),因?yàn)樗^(guò)Windows系統(tǒng)的兩!極消息機(jī)制。
上述程序已在實(shí)際系統(tǒng)中得到應(yīng)用。在Windows 3.1支持下,同時(shí)運(yùn)行三個(gè)Windows任務(wù):服務(wù)器SERVER(內(nèi)有實(shí)時(shí)串行通信,多個(gè)網(wǎng)絡(luò)數(shù)據(jù)子服務(wù)),客戶(hù)CLIENT,FOXPRO數(shù)據(jù)庫(kù)系統(tǒng)。整個(gè)系統(tǒng)運(yùn)行良好。切換到WIN95平臺(tái)下(支持0.9版DPMI),系統(tǒng)也運(yùn)行良好。
參考文獻(xiàn)
1 張?jiān)シ?、曹建文譯.【澳】Barry Kauler著.Windows匯編語(yǔ)言及系統(tǒng)程序設(shè)計(jì).北京大學(xué)出版社,1995
篇3
關(guān)鍵詞:C程序設(shè)計(jì);多媒體教學(xué);案例教學(xué);互動(dòng)式教學(xué)
《C程序設(shè)計(jì)》是計(jì)算機(jī)專(zhuān)業(yè)的必修課,也逐漸成為非計(jì)算機(jī)專(zhuān)業(yè)學(xué)習(xí)的課程。它是學(xué)生入學(xué)后系統(tǒng)地學(xué)習(xí)與高級(jí)語(yǔ)言和程序設(shè)計(jì)有關(guān)的一門(mén)新課程,再加上C程序設(shè)計(jì)集抽象性、邏輯性、實(shí)踐性于一身,讓學(xué)生感覺(jué)十分難學(xué)。在C程序設(shè)計(jì)教學(xué)過(guò)程中,一方面要求教師能夠準(zhǔn)確把握授課內(nèi)容,有效地組織教學(xué);另一方面要求教師應(yīng)用適當(dāng)?shù)慕虒W(xué)方法,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性,這樣才能提高教學(xué)質(zhì)量。根據(jù)多年教學(xué)實(shí)踐,以現(xiàn)代教學(xué)理論和技術(shù)為基礎(chǔ),文章總結(jié)了適合于C程序設(shè)計(jì)課程的教學(xué)方法。
一、多媒體教學(xué)和傳統(tǒng)課堂講授有機(jī)結(jié)合
在C程序設(shè)計(jì)教學(xué)過(guò)程中,我們要根據(jù)教學(xué)內(nèi)容的特點(diǎn),將傳統(tǒng)教學(xué)與多媒體教學(xué)有機(jī)結(jié)合。例如:對(duì)定義、概念較多,沒(méi)有深?yuàn)W的理論也沒(méi)有多少邏輯推理的內(nèi)容,就采用多媒體教學(xué),克服傳統(tǒng)教學(xué)無(wú)法板書(shū)的缺點(diǎn),課堂教學(xué)也不再顯得枯燥無(wú)味,優(yōu)化教學(xué)過(guò)程。在多媒體課件制作上,應(yīng)注重知識(shí)描述言簡(jiǎn)意賅,而不僅僅是教材的簡(jiǎn)單拷貝。但多媒體教學(xué)也有不利之處,不恰當(dāng)?shù)氖褂脮?huì)分散學(xué)生注意力,影響對(duì)主要問(wèn)題的理解和想象力的發(fā)揮。例如:對(duì)于案例分析或算法分析,我們就要發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢(shì),進(jìn)行課堂討論、利用板書(shū)講解方法、思想,根據(jù)題目求解的過(guò)程,一步一步把結(jié)果“寫(xiě)”出來(lái),把問(wèn)題層層剖析、層層深入,達(dá)到師生互動(dòng)的效果,學(xué)生的想象力就會(huì)得到充分的發(fā)揮。在實(shí)踐平臺(tái)上,將該課程配套實(shí)驗(yàn)平臺(tái)VC++6.0搭建于課堂之上,在語(yǔ)法知識(shí)點(diǎn)的講授后,通過(guò)所選案例,讓學(xué)生參與一起分析,一起寫(xiě)出算法描述,并在課堂上同步編寫(xiě)程序,然后調(diào)試和實(shí)現(xiàn)程序,使抽象的結(jié)果通過(guò)程序的運(yùn)行得以實(shí)現(xiàn),讓學(xué)生眼見(jiàn)為實(shí),減弱了程序設(shè)計(jì)的抽象性,加深了對(duì)程序設(shè)計(jì)過(guò)程的體驗(yàn),使學(xué)生較輕松地逐步掌握程序設(shè)計(jì)的一般方法步驟。
另外,教師可以充分利用網(wǎng)絡(luò)資源,將電子教案、課件、習(xí)題等放在網(wǎng)上,供學(xué)生自行調(diào)用,同時(shí)每位教師與所帶班級(jí)都可建立課程QQ群,方便提問(wèn)和答疑,以彌補(bǔ)課堂教學(xué)的不足。教師要合理地將多媒體教學(xué)和傳統(tǒng)課堂講授有機(jī)地結(jié)合起來(lái),以達(dá)到最佳的教學(xué)效果。
二、采用案例教學(xué),培養(yǎng)學(xué)生的興趣
C程序設(shè)計(jì)是應(yīng)用性很強(qiáng)的課程,它既有理論又有實(shí)踐,既講方法又講動(dòng)手能力。對(duì)于一些既枯燥又比較抽象難懂的概念和語(yǔ)法,可以從案例入手,通過(guò)給學(xué)生演示、讓學(xué)生模仿,在實(shí)際應(yīng)用中去探究和領(lǐng)悟這些概念,并適時(shí)地加以歸納總結(jié)和概念的延伸,讓學(xué)生在輕松愉快的氣氛中學(xué)習(xí)新知識(shí)。
案例教學(xué)法打破了以教材為中心的傳統(tǒng)教學(xué)模式,不按教材的順序授課,而是以精選出的程序設(shè)計(jì)的案例為中心,把要學(xué)習(xí)的語(yǔ)法和概念融入到具體案例中來(lái)講解。整個(gè)教學(xué)過(guò)程中強(qiáng)調(diào)在應(yīng)用中學(xué)習(xí),從而避免了枯燥的理論說(shuō)教,不僅能增進(jìn)學(xué)生的學(xué)習(xí)興趣,而且對(duì)提高學(xué)生綜合分析和解決實(shí)際問(wèn)題的能力也大有幫助。案例教學(xué)法是培養(yǎng)學(xué)生學(xué)習(xí)興趣的有效途徑一。
三、采用互動(dòng)式教學(xué),提高學(xué)生的參與積極性
互動(dòng)式教學(xué)就是要改變老師是課堂上唯一主體形式的狀況,讓學(xué)生也作為主體形式參與到課堂上來(lái)。互動(dòng)式教學(xué)可以提高學(xué)生的參與積極性,還可以避免學(xué)生上課注意力不集中的現(xiàn)象。互動(dòng)式教學(xué)在形式上有老師提問(wèn),讓學(xué)生上黑板演算、上教師機(jī)操作,讓學(xué)生討論,讓學(xué)生進(jìn)行正誤判析,或者請(qǐng)有獨(dú)特思路的同學(xué)演示自己的方法或程序,對(duì)比各種方法的優(yōu)缺點(diǎn),鼓勵(lì)大家再提出新方法。實(shí)踐證明,這種教學(xué)方法效果顯著,課堂活躍,學(xué)生的參與程度很高。
四、采用問(wèn)題驅(qū)動(dòng)教學(xué),加深知識(shí)理解的深度
在C程序設(shè)計(jì)課程中,有一些概念之間的差別和程序的設(shè)計(jì)步驟如果只通過(guò)教師講述,學(xué)生在字面上可以接受,但在理解深度上往往難以達(dá)到令人滿(mǎn)意的效果,如果能設(shè)計(jì)出一系列問(wèn)題,讓學(xué)生在實(shí)踐和解決問(wèn)題的過(guò)程中自己去探究和體驗(yàn),可以使學(xué)生更深入的理解。采用問(wèn)題驅(qū)動(dòng)法,一切都要求學(xué)生自己動(dòng)手動(dòng)腦設(shè)計(jì),他們?cè)诓僮鬟^(guò)程中探究和解決問(wèn)題的積極性和主動(dòng)性得到了調(diào)動(dòng),從而達(dá)到了我們的教學(xué)目標(biāo)。
五、加強(qiáng)上機(jī)實(shí)驗(yàn)教學(xué)設(shè)計(jì),輔助理論教學(xué)
學(xué)習(xí)《C程序設(shè)計(jì)》不能滿(mǎn)足于能看懂書(shū)上的程序,而應(yīng)當(dāng)熟練地掌握程序設(shè)計(jì)的全過(guò)程,即獨(dú)立編寫(xiě)出程序,獨(dú)立上機(jī)調(diào)試程序,獨(dú)立運(yùn)行程序和分析結(jié)果。C程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)的目的應(yīng)是:緊密配合理論教學(xué),通過(guò)相關(guān)實(shí)驗(yàn),幫助和加深對(duì)語(yǔ)句功能的理解;了解和熟悉C語(yǔ)言程序開(kāi)發(fā)的環(huán)境;學(xué)會(huì)上機(jī)調(diào)試,善于發(fā)現(xiàn)程序中的錯(cuò)誤,并能很快地排除這些錯(cuò)誤,使程序能正確運(yùn)行。為保證上機(jī)課質(zhì)量,在上機(jī)課前教師應(yīng)依據(jù)所教課程進(jìn)度,精心設(shè)計(jì)上機(jī)內(nèi)容。要求學(xué)生在上機(jī)前準(zhǔn)備好程序,上機(jī)是主要是編輯輸入程序和調(diào)試運(yùn)行程序,學(xué)生上機(jī)目的明確,任務(wù)具體,避免了上機(jī)的盲目性,從而提高上機(jī)的效率和質(zhì)量??紤]學(xué)生的個(gè)體差異,教師可設(shè)置必做和選做實(shí)驗(yàn)。這兩類(lèi)實(shí)驗(yàn),前者目的在于幫助學(xué)生掌握基礎(chǔ)知識(shí),后者則在于培養(yǎng)和鼓勵(lì)學(xué)生的學(xué)習(xí)興趣、擴(kuò)大知識(shí)面以及培養(yǎng)學(xué)生的應(yīng)用能力和創(chuàng)新意識(shí)。
教師要督促學(xué)生及時(shí)做好上機(jī)總結(jié)。上機(jī)總結(jié)要明確上機(jī)任務(wù)完成情況以及是否達(dá)到了上機(jī)要求,對(duì)于上機(jī)過(guò)程中遇到的問(wèn)題和解決情況要有分析說(shuō)明,要總結(jié)上機(jī)后的收獲、取得的經(jīng)驗(yàn)和教訓(xùn)。這樣才能真正反映出學(xué)生上機(jī)情況和水平,從而使知識(shí)和技能系統(tǒng)化,加深對(duì)實(shí)踐內(nèi)容的理解。教師應(yīng)對(duì)上機(jī)過(guò)程中學(xué)生出現(xiàn)的一些較普遍的問(wèn)題總結(jié)整理,以便在下次課中講解說(shuō)明,解疑答惑。
六、結(jié)束語(yǔ)
要教好C程序設(shè)計(jì)課程,關(guān)鍵在于教師要有效地組織教學(xué),激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生主動(dòng)、愉快地學(xué)習(xí)。實(shí)踐證明,把多媒體課件教學(xué)和傳統(tǒng)教學(xué)有機(jī)結(jié)合起來(lái),取長(zhǎng)補(bǔ)短,采用適當(dāng)?shù)慕虒W(xué)方法,能達(dá)到好的教學(xué)效果,有效提高教學(xué)質(zhì)量。
參考文獻(xiàn):
[1]譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[H].北京:清華大學(xué)出版社,2005
篇4
關(guān)鍵詞:多線(xiàn)程;類(lèi);接口;同步
中圖分類(lèi)號(hào):TP311.11 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2013) 02-0000-02
1 引言
通常,需要將程序劃分為數(shù)個(gè)獨(dú)立執(zhí)行的子任務(wù),這些獨(dú)立的子任務(wù)即所謂的線(xiàn)程。線(xiàn)程是進(jìn)程中的一個(gè)單一連續(xù)控制流程。一個(gè)進(jìn)程可以擁有多個(gè)并行的線(xiàn)程。多線(xiàn)程序的用途很廣泛。一般說(shuō)來(lái),當(dāng)程序的某一部分與特定事件或資源捆綁在一塊時(shí),程序其他部分的執(zhí)行不因此而擱置,于是便產(chǎn)生一個(gè)和該事件或該資源相關(guān)的線(xiàn)程,并且讓此線(xiàn)程不干擾主程序的運(yùn)作。多線(xiàn)程可以減輕系統(tǒng)性能方面的瓶頸,提高CPU的處理器的效率。
2 線(xiàn)程的創(chuàng)建與生命周期
2.1 線(xiàn)程的創(chuàng)建
產(chǎn)生線(xiàn)程最簡(jiǎn)單的方法,是通過(guò)繼承class Thread來(lái)實(shí)現(xiàn)。這個(gè)class擁有產(chǎn)生、運(yùn)行線(xiàn)程的所有的必要機(jī)制。在Thread中,最重要的方法是run( ),通過(guò)覆寫(xiě)此方法,使線(xiàn)程執(zhí)行指派的工作。這樣,run( )就和程序中的其他線(xiàn)程同時(shí)執(zhí)行。
2.2 線(xiàn)程的生命周期
(1)創(chuàng)建狀態(tài)。一個(gè)線(xiàn)程對(duì)象被創(chuàng)建。(2)可運(yùn)行狀態(tài)。線(xiàn)程獲得了CPU的執(zhí)行時(shí)間,便可運(yùn)行。雖然處于可運(yùn)行狀態(tài),但自定義線(xiàn)程對(duì)象并不一定立即運(yùn)行,其是否運(yùn)行是由Java的運(yùn)行系統(tǒng)來(lái)協(xié)調(diào)的。(3)阻塞狀態(tài)。阻塞狀態(tài)就是一個(gè)線(xiàn)程對(duì)象因?yàn)槿藶榛蛳到y(tǒng)原因必須暫停運(yùn)行,以后還可以恢復(fù)運(yùn)行的狀態(tài)。當(dāng)下面的幾種情況之一發(fā)生后,線(xiàn)程對(duì)象就由可運(yùn)行狀態(tài)進(jìn)入阻塞狀態(tài)。一是通過(guò)sleep( )讓線(xiàn)程進(jìn)入休眠狀態(tài);二是通過(guò)suspend( )暫停線(xiàn)程;三是通過(guò)wait( )暫停線(xiàn)程;四是線(xiàn)程正在等待某個(gè)I/O動(dòng)作的完成;五是線(xiàn)程試著調(diào)用另一個(gè)對(duì)象的synchronized函數(shù)。(4)終止?fàn)顟B(tài)。線(xiàn)程的正常結(jié)束方式,就是從其run( )中回返?;蛘呤欠钦=Y(jié)束,如調(diào)用了stop( )。
3 多線(xiàn)程實(shí)現(xiàn)方式
3.1 通過(guò)擴(kuò)展Thread類(lèi)來(lái)創(chuàng)建多線(xiàn)程
從程序中可以看出,每個(gè)線(xiàn)程分別對(duì)應(yīng)50套服裝,它們中間沒(méi)有其他聯(lián)系,也就是說(shuō),三個(gè)線(xiàn)程之間的地位是平等的,不存在誰(shuí)先誰(shuí)后的問(wèn)題,因此,應(yīng)該是機(jī)會(huì)均等地得到CPU的處理。但實(shí)際上,這三個(gè)線(xiàn)程并不一定是交換依次運(yùn)行,而是在三個(gè)線(xiàn)程同時(shí)被執(zhí)行的情況下,有的服裝會(huì)賣(mài)得遲一些,而有的服裝會(huì)提前賣(mài)完,所以,三個(gè)線(xiàn)程在真正工作時(shí),有的被分配的CPU的時(shí)間多一些,而有的相反要少一些。
從上可知,通過(guò)繼承線(xiàn)程類(lèi)而創(chuàng)建的多線(xiàn)程,在程序上看,代碼是一樣的,可是在執(zhí)行中,彼此沒(méi)有聯(lián)系,擁有自己的資源。
3.2 通過(guò)實(shí)現(xiàn)Runnable接口來(lái)創(chuàng)建多線(xiàn)程
4 線(xiàn)程同步
一個(gè)變量被多個(gè)線(xiàn)程訪問(wèn),會(huì)帶來(lái)沖突的問(wèn)題,那么就需要相應(yīng)的機(jī)制解決沖突,這樣,就引入了synchronized 關(guān)鍵字。以下例說(shuō)明,A和B兩人同管一個(gè)帳本,A負(fù)責(zé)存款事情,B負(fù)責(zé)取款事情。A使用帳本時(shí),B被禁止使用,反之亦然。程序中是否需要多線(xiàn)程,要考慮它是否符合多線(xiàn)程的特點(diǎn),多線(xiàn)程操作機(jī)制對(duì)線(xiàn)程通信和線(xiàn)程管理的強(qiáng)大支持才能有用武之地,這時(shí)使用多線(xiàn)程才是最合適的。
參考文獻(xiàn):
[1]侯捷.Java編程思想[M].機(jī)械工業(yè)出版社,2005.
[2]聶哲,袁梅冷,楊淑萍.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].高等教育出版社,2005.
[3]張居敏.Java程序設(shè)計(jì)經(jīng)典教程[M].電子工業(yè)出版社,2008.
篇5
摘 要 本文通過(guò)對(duì)基本遺傳算法添加初始化啟發(fā)信息、改進(jìn)交叉算子和利用本身所固有的并行性構(gòu)架粗粒度并行遺傳算法等方法提高了遺傳算法的收斂性及其尋優(yōu)能力。 關(guān)鍵詞 遺傳算法;tsp;交叉算子 1 引言 遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過(guò)程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法??偟恼f(shuō)來(lái),遺傳算法是按不依賴(lài)于問(wèn)題本身的方式去求解問(wèn)題。它的目標(biāo)是搜索這個(gè)多維、高度非線(xiàn)性空間以找到具有最優(yōu)適應(yīng)值(即最小費(fèi)用的)的點(diǎn)[1]。 基本遺傳算法是一個(gè)迭代過(guò)程,它模仿生物在自然環(huán)境中的遺傳和進(jìn)化機(jī)理,反復(fù)將選擇算子、交叉算子和變異算子作用于種群,最終可得到問(wèn)題的最優(yōu)解和近似最優(yōu)解。 2 遺傳算法程序設(shè)計(jì)改進(jìn)比較 2.1 基本遺傳算法對(duì)tsp問(wèn)題解的影響 本文研究的遺傳算法及改進(jìn)算法的實(shí)現(xiàn)是以c++語(yǔ)言為基礎(chǔ),在windows2000的版本上運(yùn)行,其實(shí)現(xiàn)程序是在microsoft visual stadio 6.0上編寫(xiě)及運(yùn)行調(diào)試的。 1) 遺傳算法的執(zhí)行代碼 m_tsp.initpop(); //種群的初始化 for(int i=0;i<m_tsp.returnpop();i++) m_tsp.calculatefitness(i); //計(jì)算各個(gè)個(gè)體的適應(yīng)值 m_tsp.statistics(); //統(tǒng)計(jì)最優(yōu)個(gè)體 while(entropy>decen||variance>decvar)//m_tsp.m_gen<100) { //將新種群更迭為舊種群,并進(jìn)行遺傳操作 m_tsp.alternate(); //將新種群付給舊種群 m_tsp.generation(); //對(duì)舊種群進(jìn)行遺傳操作,產(chǎn)生新種群 m_tsp.m_gen++; m_tsp.statistics(); //對(duì)新產(chǎn)生的種群進(jìn)行統(tǒng)計(jì) } 2) 簡(jiǎn)單的遺傳算法與分支定界法對(duì)tsp問(wèn)題求解結(jié)果的對(duì)比 遺傳算法在解決npc問(wèn)題的領(lǐng)域內(nèi)具有尋找最優(yōu)解的能力。但隨著城市個(gè)數(shù)的增加,已沒(méi)有精確解,無(wú)法確定遺傳算法求解的精度有多高。一般情況下,當(dāng)?shù)鷶?shù)增大時(shí),解的精度可能高,但是時(shí)間開(kāi)銷(xiāo)也會(huì)增大。因此可以通過(guò)改進(jìn)遺傳算法來(lái)提高搜索能力,提高解的精度。 表1 10個(gè)城市的tsp問(wèn)題求解結(jié)果數(shù)據(jù) 算法 試驗(yàn)結(jié)果 簡(jiǎn)單遺傳算法 分支定界法 最佳解 時(shí)間 精確解 時(shí)間 試驗(yàn)1 2448.610037 5s 2448.610037 00:07:30 試驗(yàn)2 2448.610037 13s 試驗(yàn)3 2448.610037 9s 試驗(yàn)4 2459.543054 10s 試驗(yàn)5 2459.543054 7s 2.2 初始化時(shí)的啟發(fā)信息對(duì)tsp問(wèn)題解的影響 1) 初始化啟發(fā)信息 在上述實(shí)驗(yàn)算法的基礎(chǔ)上,對(duì)每一個(gè)初始化的個(gè)體的每五個(gè)相鄰城市用分支界定法尋找最優(yōu)子路徑,然后執(zhí)行遺傳算法。 2) 遺傳算法與含有啟發(fā)信息的遺傳算法求解結(jié)果的對(duì)比 當(dāng)城市數(shù)增至20個(gè)時(shí),用分支定界法已經(jīng)不可能在可以接受的時(shí)間內(nèi)得到精確的解了,只能通過(guò)近似算法獲得其可接受的解。試驗(yàn)設(shè)計(jì)中算法的截止條件:固定迭代1000代。表2中的平均最優(yōu)解為經(jīng)過(guò)多次試驗(yàn)(10次以上)得到的最優(yōu)解的平均值,最優(yōu)解的出現(xiàn)時(shí)間為最優(yōu)解出現(xiàn)的平均時(shí)間,交叉操作次數(shù)為最優(yōu)解出現(xiàn)時(shí)交叉次數(shù)的平均值。 表2 20個(gè)城市的tsp問(wèn)題求解結(jié)果數(shù)據(jù) 算法 交叉操作 次數(shù) 最優(yōu)解 出現(xiàn)時(shí)間 平均 最優(yōu)解 簡(jiǎn)單遺傳算法 80244.4 79.4s 1641.8 含初始化啟發(fā)信息的ga 79000.2 37.4s 1398.9 從表2中可以看出,當(dāng)初始種群時(shí)引入啟發(fā)信息將提高遺傳算法的尋優(yōu)能力。同時(shí)縮短了遺傳算法的尋優(yōu)時(shí)間和問(wèn)題的求解精度。 2.3 交叉算子對(duì)tsp問(wèn)題解的影響 1)循環(huán)貪心交叉算子的核心代碼 for(i=1;i<m_chrom;i++) { flag=0; city=m_newpop[first].chrom[i-1]; //確定當(dāng)前城市 j=0; while(flag==0&&j<4) { sign=adjcity[city][j]; //adjcity數(shù)組的數(shù)據(jù)為當(dāng)前城市按順序排列的鄰接城市 flag=judge(first,i,sign); //判斷此鄰接城市是否已經(jīng)存在待形成的個(gè)體中 j++; } if(flag= =0) //如果所有鄰接城市皆在待擴(kuò)展的個(gè)體中 { while(flag= =0) { sign=(int)rand()/(rand_max/(m_ chrom-1)); //隨機(jī)選擇一城市 flag=judge(first,i,sign); } } if(flag==1) m_newpop[first].chrom[i]=sign; } 2)問(wèn)題描述與結(jié)果比較 下面筆者用經(jīng)典的測(cè)試遺傳算法效率的oliver tsp問(wèn)題來(lái)測(cè)試循環(huán)貪心交叉算子的解的精度和解效率。oliver tsp問(wèn)題的30個(gè)城市位置坐標(biāo)如表3所示[2]。 表3 oliver tsp問(wèn)題的30個(gè)城市位置坐標(biāo) 城市編號(hào) 坐標(biāo) 城市編號(hào) 坐標(biāo) 城市編號(hào) 坐標(biāo) 1 (87,7) 11 (58,69) 21 (4,50) 2 (91,83) 12 (54,62) 22 (13,40) 3 (83,46) 13 (51,67) 23 (18,40) 4 (71,44) 14 (37,84) 24 (24,42) 5 (64,60) 15 (41,94) 25 (25,38) 6 (68,58) 16 (2,99) 26 (41,26) 7 (83,69) 17 (7,64) 27 (45,21) 8 (87,76) 18 (22,60) 28 (44,35) 9 (74,78) 19 (25,62) 29 (58,35) 10 (71,71) 20 (18,54) 30 (62,32) 表4 貪心交叉與部分匹配交叉的比較(oliver tsp問(wèn)題的30個(gè)城市) 交叉算子 交叉操作次數(shù) 平均時(shí)間 平均最優(yōu)解 部分匹配交叉 59760 31.2s 517.0 貪心交叉 15774 28.6s 433.4 從表4、圖1中可以看到,貪心交叉算子大大提高了遺傳算法的尋優(yōu)能力,同時(shí)也降低了交叉操作次數(shù)。在多次試驗(yàn)中,貪心交叉算子找到的最優(yōu)解與目前記載的最佳數(shù)據(jù)的誤差率為2.7%。而部分匹配交叉算子找到的最優(yōu)解與目前記載的最佳數(shù)據(jù)的誤差率高達(dá)7%。從而可以得到交叉算子對(duì)于遺傳算法
的計(jì)算效率和計(jì)算結(jié)果起主導(dǎo)性作用[3]。
圖1 遺傳算法的收斂過(guò)程 2.4 并行遺傳算法消息傳遞實(shí)現(xiàn)的核心代碼 1)主程序代碼 //接收各個(gè)從程序的最優(yōu)個(gè)體 for(i=0;i<slave;i++) { mpi_recv(rchrom[i],chrom,mpi_unsigned,mpi_any_source,gen,mpi_comm_world,&status); } //計(jì)算接收各個(gè)從程序的最優(yōu)個(gè)體的回路距離 for(i=0;i<slave;i++) { fitness[i]=0.0; for(int j=0;j<chrom-1;j++) fitness[i]=fitness[i]+distance[rchrom[i][j]][rchrom [i][j+1]]; fitness[i]=fitness[i]+distance[rchrom[i][0]][rchrom [i][chrom-1]]; } //找到最優(yōu)的個(gè)體并把它記錄到文件里 for(i=0;i<slave;i++) { if(1/fitness[i]>min) { sign=i; min=1/fitness[i]; } } fwrite(&gen,sizeof(int),1,out); for(i=0;i<chrom;i++) fwrite(&rchrom[sign][i],sizeof(unsigned),1,out); fwrite(&fitness[sign],sizeof(double),1,out); //每九代向從程序發(fā)送一個(gè)最優(yōu)個(gè)體 if(gen%9==0) mpi_bcast(rchrom[sign],chrom,mpi_ unsigned,0,mpi_comm_world); 2)從程序代碼 //將上一代的最優(yōu)個(gè)體傳回主程序 mpi_send(rchrom1,chrom,mpi_unsigned,0,gen,mpi_comm_world); //每九代接收一個(gè)最優(yōu)個(gè)體并將其加入種群中替換掉最差個(gè)體 if(gen%9==0) { pi_bcast(rchrom2,chrom,mpi_unsigned,0,mpi_comm_world); tsp.indialternate(rchrom2); } //進(jìn)行下一代的計(jì)算 tsp.aternate(); tsp.generation(); tsp.statistics(); 3)并行遺傳算法的性能 筆者在mpi并行環(huán)境下,用c++語(yǔ)言實(shí)現(xiàn)了一個(gè)解決tsp問(wèn)題的粗粒度模型的并行遺傳算法。該程序采用的是主從式的mpi程序設(shè)計(jì),通過(guò)從硬盤(pán)的文件中讀取數(shù)據(jù)來(lái)設(shè)置染色體長(zhǎng)度、種群的規(guī)模、交叉概率和變異概率等參數(shù)。試驗(yàn)環(huán)境為曙光tc1700機(jī),測(cè)試的對(duì)象是oliver tsp問(wèn)題的30個(gè)城市的tsp問(wèn)題。 正如在測(cè)試串行遺傳算法所提到的數(shù)據(jù)結(jié)果,并行遺傳算法也沒(méi)有達(dá)到目前所記錄的最好解,但是它提高了算法的收斂性,并行遺傳算法的收斂趨勢(shì)如圖2所示[4]。 圖2 遺傳算法的收斂過(guò)程 3 結(jié)束語(yǔ) 本文通過(guò)對(duì)基本遺傳算法的不斷改進(jìn),證明了添加啟發(fā)信息、改進(jìn)遺傳算子和利用遺傳算法固有的并行性都可以提高遺傳算法的收斂性,其中對(duì)遺傳算法交叉算子的改進(jìn)可以大大提高遺傳算法的尋優(yōu)能力。 參考文獻(xiàn) [1] 劉勇、康立山,陳毓屏著. 非數(shù)值并行算法-遺傳算法.北京:科學(xué)出版社 1995.1 [2] i m oliver d j smith and j r c holland,a study of permutation crossover operators on the traveling salesman[c]// problem of the second international conference on genetic algorithms and their application,erlbaum 1897: 224-230 [3] 于海斌,王浩波,徐心和. 兩代競(jìng)爭(zhēng)遺傳算法及其應(yīng)用研究 .信息與控制,2000 vol.29,no.4:309-314 [4]穆艷玲,李學(xué)武,高潤(rùn)泉. 遺傳算法解tsp問(wèn)題的并行實(shí)現(xiàn).北京聯(lián)合大學(xué)學(xué)報(bào)(自然科學(xué)版),2006 vol.20 no.2: 40-43
篇6
摘要:本文指出程序設(shè)計(jì)語(yǔ)言教學(xué)的關(guān)鍵是講述程序設(shè)計(jì)的思想和方法,而不是拘泥于語(yǔ)言細(xì)節(jié),并探討了“高級(jí)語(yǔ)言程序設(shè)計(jì)”教學(xué)改革的思想和方法,介紹了我校的教學(xué)經(jīng)驗(yàn)。
關(guān)鍵詞:程序設(shè)計(jì);教學(xué)改革;C語(yǔ)言
中圖分類(lèi)號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1指導(dǎo)思想
目前計(jì)算機(jī)教育面向應(yīng)用,學(xué)生學(xué)習(xí)的主要目的是“應(yīng)用”程序設(shè)計(jì)語(yǔ)言,是學(xué)會(huì)如何用程序解決應(yīng)用領(lǐng)域的問(wèn)題,這不需要細(xì)致地研究程序設(shè)計(jì)語(yǔ)言本身十分嚴(yán)格的語(yǔ)法和語(yǔ)義?;谶@種認(rèn)識(shí),我們開(kāi)始嘗試程序設(shè)計(jì)課程在的教學(xué)改革,開(kāi)始把授課重點(diǎn)轉(zhuǎn)移到“程序設(shè)計(jì)”上。經(jīng)過(guò)幾年的探討,逐漸形成了“以程序設(shè)計(jì)為主線(xiàn)”的指導(dǎo)思想。
2教學(xué)內(nèi)容
在“以程序設(shè)計(jì)為主線(xiàn)”的思想指導(dǎo)下,我們首先研究程序設(shè)計(jì)課程的教學(xué)內(nèi)容,對(duì)C語(yǔ)言本身采取“有所取、有所不取”的策略。對(duì)于那些常用的語(yǔ)言成分,穿插在程序設(shè)計(jì)過(guò)程中詳細(xì)準(zhǔn)確的介紹;對(duì)于那些與程序設(shè)計(jì)方法聯(lián)系不太緊要,但還算常用的部分,放在最后簡(jiǎn)單介紹;而對(duì)于那些與講述程序設(shè)計(jì)方法關(guān)系不太大,也不常用的部分,則根本不涉及。如表1所示。
3教學(xué)方法
采取以“案例”驅(qū)動(dòng)的方法組織教學(xué),讓程序設(shè)計(jì)始終貫穿于整個(gè)教學(xué)過(guò)程之中。針對(duì)程序設(shè)計(jì)的每個(gè)知識(shí)模塊都采取如下模式講授:提出有意義的問(wèn)題―設(shè)計(jì)算法―分析算法特點(diǎn)―編出程序―介紹使用的C語(yǔ)言成分―配合講述大量例題―課后習(xí)題。重點(diǎn)放在設(shè)計(jì)算法和講述算法特點(diǎn)上。針對(duì)各個(gè)知識(shí)模塊,選用案例如表2。
4教學(xué)手段
課堂教學(xué):利用現(xiàn)代化多媒體手段與傳統(tǒng)方式相結(jié)合的方式進(jìn)行授課。整個(gè)教學(xué)過(guò)程直接在C編譯環(huán)境下進(jìn)行,并且使用PPT演示和傳統(tǒng)的黑板版書(shū)互相配合。例題大部分在C編譯環(huán)境直接編譯運(yùn)行,并得到結(jié)果;算法設(shè)計(jì)過(guò)程,邏輯分析使用傳統(tǒng)版書(shū)在黑板上進(jìn)行;課程提綱、知識(shí)要點(diǎn)以及一些執(zhí)行過(guò)程等則使用PPT演示。與單純的傳統(tǒng)教學(xué)相比,此種方式既節(jié)約了傳統(tǒng)的板書(shū)時(shí)間,以更加整齊、生動(dòng)和可重現(xiàn)方式展現(xiàn)課程內(nèi)容,增加了信息量,達(dá)到了提高教學(xué)效率和提升教學(xué)效果目的。
實(shí)踐教學(xué):包括課堂實(shí)踐、實(shí)驗(yàn)課、課程設(shè)計(jì)、科技活動(dòng)小組等。課堂上直接在C編譯環(huán)境下講授例題和習(xí)題,使學(xué)生初步感受實(shí)踐過(guò)程;實(shí)驗(yàn)課學(xué)生自己動(dòng)手完成有目的布置的實(shí)驗(yàn)題目,使學(xué)生親身體驗(yàn)程序設(shè)計(jì)的全過(guò)程;課程設(shè)計(jì)以3~5人的小組方式進(jìn)行,使用較大型的程序讓學(xué)生深刻體會(huì)程序開(kāi)發(fā)的全過(guò)程,初步體驗(yàn)軟件工程方法,并培養(yǎng)責(zé)任感和團(tuán)隊(duì)精神;科技活動(dòng)小組由學(xué)生自愿組成,參與教師的科研項(xiàng)目或由教師指導(dǎo)選題,培養(yǎng)學(xué)生的初步科研能力和創(chuàng)新精神。
考核:包括理論課程考核、實(shí)驗(yàn)課考核、課程設(shè)計(jì)考核。理論課考核采用閉卷考試與平時(shí)作業(yè)成績(jī)結(jié)合方式進(jìn)行;實(shí)驗(yàn)課考核采用實(shí)驗(yàn)報(bào)告、平時(shí)實(shí)驗(yàn)表現(xiàn)、綜合實(shí)驗(yàn)成績(jī)相結(jié)合方式進(jìn)行;課程設(shè)計(jì)考核按小組記分,每個(gè)小組一個(gè)分?jǐn)?shù),采用檢查實(shí)驗(yàn)結(jié)果和小組答辯相結(jié)合方式進(jìn)行。
課程網(wǎng)站:包括了本課程的介紹、教學(xué)大綱、教材、多媒體CAI課件、多媒體的電子教案、遠(yuǎn)程網(wǎng)絡(luò)課程、習(xí)題庫(kù)、習(xí)題解答、疑難問(wèn)題解答等內(nèi)容,并且開(kāi)辟了師生交流的專(zhuān)門(mén)空間,不僅為學(xué)生提供了新穎的教學(xué)通道而且增強(qiáng)了師生間的交流。
參考文獻(xiàn)
[1] 張長(zhǎng)海,陳娟. 程序設(shè)計(jì)基礎(chǔ)[M]. 北京:高等教育出版社,2008.
[2] 張長(zhǎng)海,陳娟. 程序設(shè)計(jì)基礎(chǔ)習(xí)題集及選解[M]. 北京:清華大學(xué)出版社,2008.
[3] 石峰. 程序設(shè)計(jì)基礎(chǔ)[M]. 北京:清華大學(xué)出版社,2003.
[4] 解閔等. 基于構(gòu)建主義的“C程序設(shè)計(jì)”分段教學(xué)[J]. 計(jì)算機(jī)教育,2007,(10).
篇7
一、前言
Windows提供強(qiáng)大的功能以及友好的圖形用戶(hù)界面(GUI),使得它不僅廣泛的用作管理事務(wù)型工作的支持平臺(tái),也被工業(yè)領(lǐng)域的工程人員所關(guān)注。但Windows3.1并非基于優(yōu)先級(jí)來(lái)調(diào)度任務(wù),無(wú)法立即響應(yīng)外部事件中斷,也就不能滿(mǎn)足工業(yè)應(yīng)用環(huán)境中實(shí)時(shí)事件處理和實(shí)時(shí)控制應(yīng)用的要求。因此,如何在Windows環(huán)境中處理外部實(shí)時(shí)事件一直是技術(shù)人員尤其是實(shí)時(shí)領(lǐng)域工程人員所關(guān)注的問(wèn)題。目前已有的方法大都采用內(nèi)掛實(shí)時(shí)多任務(wù)內(nèi)核的方式,如Windows下的實(shí)時(shí)控制軟件包FLX等,而iRMX實(shí)時(shí)操作系統(tǒng)則把Windows3.1當(dāng)作它的一個(gè)任務(wù)來(lái)運(yùn)行。對(duì)于大型的工程項(xiàng)目,開(kāi)發(fā)人員可采用購(gòu)買(mǎi)實(shí)時(shí)軟件然后集成方式。
對(duì)中小項(xiàng)目,從投資上考慮就不很經(jīng)濟(jì)。如何尋找一種簡(jiǎn)明的方法來(lái)處理外部實(shí)時(shí)事件依然顯得很必要。
本文首先闡述Windwos的消息機(jī)制及中斷機(jī)制,然后結(jié)合DPMI接口,給出一種保護(hù)模式下中斷程序的設(shè)計(jì)方法,以處理外部實(shí)時(shí)事件。經(jīng)實(shí)際運(yùn)行結(jié)果表明,該方法具有簡(jiǎn)潔、實(shí)用、可靠的特點(diǎn),并同樣可運(yùn)行于Win95。
二、Windows的消息機(jī)制
Windows是一消息驅(qū)動(dòng)式系統(tǒng),見(jiàn)圖1。Windows消息提供了應(yīng)用程序與應(yīng)用程序之間、應(yīng)用程序與Windows系統(tǒng)之間進(jìn)行通訊的手段。應(yīng)用程序要實(shí)現(xiàn)的功能由消息來(lái)觸發(fā),并靠對(duì)消息的響應(yīng)和處理來(lái)完成。
Windows系統(tǒng)中有兩種消息隊(duì)列,一種是系統(tǒng)消息隊(duì)列,另一種是應(yīng)用程序消息隊(duì)列。計(jì)算機(jī)的所有輸入設(shè)備由Windows監(jiān)控,當(dāng)一個(gè)事件發(fā)生時(shí),Windows先將輸入的消息放入系統(tǒng)消息隊(duì)列中,然后再將輸入的消息拷貝到相應(yīng)的應(yīng)用程序隊(duì)列中。應(yīng)用程序中的消息循環(huán)從它的消息隊(duì)列中檢索每一個(gè)消息并發(fā)送給相應(yīng)的窗口函數(shù)中。一個(gè)事件的發(fā)生,到達(dá)處理它的窗口函數(shù)必需經(jīng)歷上述過(guò)程。值得注意的是消息的非搶先性,即不論事件的急與緩,總是按到達(dá)的先后排隊(duì)(一些系統(tǒng)消息除外),這就使得一些外部實(shí)時(shí)事件可能得不到及時(shí)的處理。
圖1
三、Windows的保護(hù)模式及中斷機(jī)制
1.Windows的保護(hù)模式
保護(hù)模式指的是線(xiàn)性地址由一個(gè)選擇符間接生成的,該選擇符指向描述表中的某一項(xiàng);而實(shí)模式中則通過(guò)一個(gè)段/偏移量對(duì)來(lái)直接尋址。80386(486)CPU提供的保護(hù)模式能力包括一個(gè)64K的虛擬地址空間和一個(gè)4G的段尺寸。Windows3.1實(shí)現(xiàn)時(shí)有所差別,它支持標(biāo)準(zhǔn)模式和增強(qiáng)模式。標(biāo)準(zhǔn)模式針對(duì)286機(jī)器,不屬本文探討范圍。增強(qiáng)模式是對(duì)386以上CPU而言,Windows正是使用保護(hù)模式來(lái)打破1M的屏障并且執(zhí)行簡(jiǎn)單的內(nèi)存保護(hù)。它使用選擇器、描述器和描述器表控制訪問(wèn)指定內(nèi)存的位置和段。描述器表包括全局描述器表、局部描述器表、中斷描述器表。保護(hù)模式與實(shí)模式有許多不同。其中顯著的差異是訪問(wèn)內(nèi)存的機(jī)制不同。
2.中斷機(jī)制
(1)實(shí)模式中斷
為了便于理解,我們先回顧實(shí)模式中斷。
在實(shí)模式下,中斷向量表IVT起到相當(dāng)重要的作用。無(wú)論來(lái)自外部硬件的中斷或是內(nèi)部的軟中斷INTn,在CPU中都產(chǎn)生同樣的響應(yīng)。
①CPU將當(dāng)前的指令指針寄存器(IP)、代碼段寄存器(CS)、標(biāo)志寄存器壓入堆棧。
②然后CPU使用n值作為指向中斷向量表IVT的索引,在IVT中找出服務(wù)例程的遠(yuǎn)地址。
③CPU將此遠(yuǎn)地址裝入CS:IP寄存器中,并開(kāi)始執(zhí)行服務(wù)例程。
④中斷例程總以IRET指令結(jié)束。此指令使存在堆棧中的三個(gè)值彈出并填入CS、IP和標(biāo)志寄存器,CPU繼續(xù)執(zhí)行原來(lái)的指令。
(2)保護(hù)模式中斷
保護(hù)模式中斷過(guò)程與實(shí)模式中斷過(guò)程類(lèi)似,但它不再使用中斷向量表IVT,而使用中斷描述符表(IDT)。值得一提的是,Windows運(yùn)行時(shí)IVT還存在,應(yīng)用程序并不使用它,Windows仍然使用,但含義已不同。
①I(mǎi)VT結(jié)構(gòu):IVT在RAM的0000∶0000之上,占據(jù)開(kāi)始的1024字節(jié)。
它仍然由BIOS啟動(dòng)例程設(shè)置,由DOS填充到RAM中。
②IDT中斷描述符表:保護(hù)模式下,Windows操作系統(tǒng)為實(shí)現(xiàn)中斷機(jī)制而建立的一個(gè)特殊表,即中斷描述符表IDT。該表被用來(lái)保存中斷服務(wù)例程的線(xiàn)性地址,它們是真正的24位或32位地址,沒(méi)有段:偏移值結(jié)構(gòu)。中斷描述器表最多可含有256個(gè)例程說(shuō)明,詳細(xì)說(shuō)明請(qǐng)見(jiàn)【3】。I
DT結(jié)構(gòu)見(jiàn)圖2。
圖2
③當(dāng)中斷或異常發(fā)生時(shí),處理過(guò)程與實(shí)模式類(lèi)同。當(dāng)前的CS∶IP值和標(biāo)志寄存器值被存儲(chǔ)。保存的內(nèi)容還包括CPU其他內(nèi)部寄存器的值,以及目前正在被執(zhí)行的任務(wù)的有關(guān)信息(若必須發(fā)生任務(wù)切換的話(huà))。CPU設(shè)法獲取中斷向量后,以它為索引值,查找IDT中的服務(wù)例程遠(yuǎn)地址,接著將控制轉(zhuǎn)移到該處的服務(wù)例程。這是與實(shí)模式轉(zhuǎn)移到IVT的不同所在。保護(hù)模式使用IDTR寄存器分配和定位內(nèi)存中的IDT中斷描述符表。IDT在內(nèi)存中是可移動(dòng)的,與IVT固定在內(nèi)存中剛好相反。IDT中斷描述符表在Windows中起決定性的作用。理解了Windows下保護(hù)模
式的中斷機(jī)制。有助于我們理解中斷服務(wù)程序的設(shè)計(jì),它的關(guān)鍵就在于如何將服務(wù)例程的地址放入IDT中斷描述符表中。當(dāng)中斷發(fā)生時(shí),如何將斷點(diǎn)地址及CPU各寄存器值保護(hù)起來(lái);中斷結(jié)束時(shí),如何將保護(hù)的值恢復(fù)。Windows系統(tǒng)本身并不提供實(shí)現(xiàn)上述功能的API,而DOS保護(hù)模式接口DPMI正具備了上述的功能。
下面我們首先介紹DPMI接口,然后基于它實(shí)現(xiàn)Windows下中斷服務(wù)程序的設(shè)計(jì)。
四、DOS保護(hù)模式接口DPMI
Windows除了標(biāo)準(zhǔn)服務(wù)外,還支持一組特殊的DOS服務(wù),稱(chēng)為DOS保護(hù)模式接口DPMI,由一些INT2FH和INT31H服務(wù)組成。它使應(yīng)用程序能夠訪問(wèn)PC系列計(jì)算機(jī)的擴(kuò)充內(nèi)存,同時(shí)維護(hù)系統(tǒng)的保護(hù)功能。DPMI通過(guò)軟件中斷31h來(lái)定義了一個(gè)新的接口,使得保護(hù)模式的應(yīng)用程序能夠用它作分配內(nèi)存,修改描述符以及調(diào)用實(shí)模式軟件等工作。
Windows為應(yīng)用程序提供DPMI服務(wù)。即Windows是DPMI的宿主(host),應(yīng)用程序是DPMI的客戶(hù)(client),可通過(guò)INT-31H調(diào)用得到DPMI服務(wù)。INT-31H本身提供多功能。其中它的中斷管理服務(wù)允許保護(hù)模式用于攔截實(shí)模式中斷,并且掛住處理器異常。有些服務(wù)能夠和DPMI宿主合作,以維護(hù)應(yīng)用程序的虛擬中斷標(biāo)志。
可以用INT31H來(lái)掛住保護(hù)模式中斷向量,以中斷方式處理外部實(shí)時(shí)事件。利用INT31H,功能0205H:設(shè)置保護(hù)模式中斷向量,將特定中斷的保護(hù)模式處理程序的地址置入中斷向量里。調(diào)用方式:AX=0205H,BL=中斷號(hào),CX∶(E)DX=中斷處理程序選擇符:偏移值。返回:執(zhí)行成功CF=清零,執(zhí)行失敗CF=置位。
掛住/解掛中斷向量的時(shí)機(jī)很重要。主窗口第一次被創(chuàng)建時(shí)會(huì)傳送它WM-CREATE消息,這時(shí)是掛住中斷向量的最好時(shí)機(jī)。退出時(shí)需解掛向量,否則Windows可能崩潰。主窗口接收到WM-DE-STROY之后進(jìn)行解掛工作,是最適合的。解掛向量可先用INT35H,0204H功能將老的中斷向量保存,退出時(shí)用INT35H,0205H恢復(fù)。
五、編程實(shí)現(xiàn)
有了DPMI的支持,我們就可以很方便地處理數(shù)據(jù)采集、串行通信等工業(yè)過(guò)程中的實(shí)時(shí)事件。下面以Windows3.1平臺(tái)下中斷方式實(shí)現(xiàn)的串行通信為例,說(shuō)明中斷程序的編制和實(shí)現(xiàn)。為便于參考,給出了詳細(xì)的代碼。開(kāi)發(fā)平臺(tái)BC3.1/BC4.5,其本身支持0.9版的DPMI,無(wú)需運(yùn)行其它支持DPMI的軟件。編程語(yǔ)言C,可與C++混合編譯。
初始化COM1,9600波特率,每字符8bits,1個(gè)停止位,中斷接收,查詢(xún)發(fā)送。
//windowsasycommunication
//byLiXiuming
//lastmodifiedonJune25,1996
#include〈windows.h〉
#include〈dos.h〉
voidinterruptfarDataReceive();
voidinterruptfar(*old-vector)();
unsignedchardatacom-r[1024],datacom-s[1024];
intinflag=0;
unsignedints8259;
intInitCom1()
{//串口1初使化
s8259=inportb(0x21);//讀入8259當(dāng)前狀態(tài)并保存
outportb(0x21,s8259&0xe8);//初始化8259,允許0x0c號(hào)中斷
outportb(0x3fb,0x83);
outportb(0x3f8,0x0c);
outportb(0x3f9,0x00);
outportb(0x3fb,0x03);
outportb(0x3fc,0x08);//允許中斷信號(hào)送到8259A,以便能中斷
outportb(0x3f9,0x01);//0x01,中斷允許
return1;
}
voidinterruptfarDataReceive()
{//中斷接收子程序
staticinti=0;//靜態(tài)局部變量
charrechar=0;//每中斷一次,i自動(dòng)加1
rechar=inportb(0x3f8);//從數(shù)據(jù)口讀出發(fā)送過(guò)來(lái)的數(shù)據(jù)
if(inflag==0)
{
if(rechar!=s&&i==0)//幀起始
{
i=0;
gotoll;
}
datacom-r[i++]=rechar;//存入datacom-r[](通信緩沖區(qū))
if(rechar==e)//幀結(jié)束
{
inflag=1;
i=0;
}
}
ll:outportb(0x20,0x20);//回送中斷結(jié)束標(biāo)志
}
//調(diào)用DPMI
//保存舊的0CH號(hào)保護(hù)模式中斷向量
//設(shè)置新的保護(hù)模式中斷服務(wù)例程
voidInitCom(void)
{
asm{
cli
movax,204h
movbl,0ch
int31h
sti
}
old-vector=MK-FP(-CX,-DX);//保存
asm{cli//設(shè)置新的0x0c中斷服務(wù)例程
movax,205h
movbl,0ch
movcx,segdatareceive
movdx,offsetdatareceive
int31h
sti
}
InitCom1();
}
//恢復(fù)8259狀態(tài)
//恢復(fù)0CH保護(hù)模式向量
voidRestoreComm(void)
{
outportb(0x21,s8259);
asm{
cli
movax,205h
movbl,0ch
movcx,segold-vector
movdx,offsetold-vector
int31h
sti
}
}
在窗口第一次被創(chuàng)建時(shí)會(huì)傳送它WM-CREATE消息,這時(shí)調(diào)用InitCom()即可。在主窗口關(guān)閉時(shí),即主窗口中收到WM-DESTROY消息時(shí),調(diào)用RestoreComm()恢復(fù)原來(lái)的狀態(tài)。
這樣在對(duì)串口初始化,設(shè)置中斷服務(wù)例程后,通信事件發(fā)生時(shí),會(huì)立即跳入中斷子程序中執(zhí)行,越過(guò)系統(tǒng)的消息隊(duì)列,達(dá)到實(shí)時(shí)處理通信事件的目的。而數(shù)據(jù)處理模塊可通過(guò)全局標(biāo)志flag訪問(wèn)全局的數(shù)據(jù)通信緩沖區(qū)獲取實(shí)時(shí)數(shù)據(jù)。這種實(shí)現(xiàn)方式與基于消息機(jī)制的Windows通信API實(shí)現(xiàn)相比具有實(shí)時(shí)性強(qiáng)的特點(diǎn),因?yàn)樗^(guò)Windows系統(tǒng)的兩極消息機(jī)制。
上述程序已在實(shí)際系統(tǒng)中得到應(yīng)用。在Windows3.1支持下,同時(shí)運(yùn)行三個(gè)Windows任務(wù):服務(wù)器SERVER(內(nèi)有實(shí)時(shí)串行通信,多個(gè)網(wǎng)絡(luò)數(shù)據(jù)子服務(wù)),客戶(hù)CLIENT,FOXPRO數(shù)據(jù)庫(kù)系統(tǒng)。整個(gè)系統(tǒng)運(yùn)行良好。切換到WIN95平臺(tái)下(支持0.9版DPMI),系統(tǒng)也運(yùn)行良好。
參考文獻(xiàn)
1張?jiān)シ?、曹建文譯.【澳】BarryKauler著.Windows匯編語(yǔ)言及系統(tǒng)程序設(shè)計(jì).北京大學(xué)出版社,1995
篇8
選好課程教材,對(duì)于程序設(shè)計(jì)課大有裨益。好的教材不僅讓學(xué)生更容易理解學(xué)習(xí),還可以加深課程印象從而更好地節(jié)省閱讀時(shí)間。達(dá)到事半功倍的效果。同樣,也可以方便教師教學(xué)并節(jié)省教師備課的時(shí)間。國(guó)內(nèi)有些教材是從英文原版教材翻譯而來(lái),但是由于語(yǔ)境、地點(diǎn)、時(shí)間的改變,有些翻譯不能很好地表達(dá)原著的意思,給使用者帶來(lái)很大的閱讀障礙。所以在程序設(shè)計(jì)課程中,可以選擇英文原版教材加中文教學(xué)講義的形式。筆者建議選取原版教材,這樣可以減少學(xué)生對(duì)翻譯的依賴(lài)性。但是教材的可讀性要強(qiáng),能夠更好地吸引學(xué)生的閱讀性。針對(duì)一些不太容易理解的概念,我們可以采用比喻、舉例和相應(yīng)的圖表來(lái)進(jìn)行表述。
二、實(shí)驗(yàn)課程教學(xué)
在程序設(shè)計(jì)類(lèi)課程中實(shí)驗(yàn)教學(xué)舉足輕重,在一些實(shí)踐性很強(qiáng)的課程當(dāng)中,實(shí)驗(yàn)設(shè)計(jì)特別重要。其中國(guó)外很多的先進(jìn)技術(shù)都值得我們借鑒參考。1.實(shí)驗(yàn)就是課內(nèi)實(shí)驗(yàn)跟課外練習(xí)。所謂的課內(nèi)實(shí)驗(yàn)也就是讓學(xué)生在課內(nèi)完成的實(shí)驗(yàn),內(nèi)容比較簡(jiǎn)單,其考核的結(jié)果列入日常的實(shí)驗(yàn)成績(jī)中。而對(duì)于課外練習(xí)是依據(jù)大多數(shù)學(xué)生在課內(nèi)無(wú)法完成的難度來(lái)設(shè)置的,這要求學(xué)生能夠利用大量的課外時(shí)間來(lái)進(jìn)行知識(shí)的復(fù)習(xí)與消化,并且能夠形成團(tuán)隊(duì)意識(shí)來(lái)共同解決問(wèn)題。2.曾有研究者提出將大實(shí)驗(yàn)貫穿于每個(gè)階段當(dāng)中,知識(shí)是互聯(lián)的,我們通過(guò)一個(gè)大實(shí)驗(yàn)來(lái)將所學(xué)的知識(shí)貫穿到一起,進(jìn)而解決一個(gè)更大的問(wèn)題。這樣不僅可以很好地復(fù)習(xí)所學(xué)知識(shí),而且能夠使所學(xué)的知識(shí)貫穿起來(lái),以便于更好地掌握。有時(shí)候往往單獨(dú)看問(wèn)題會(huì)覺(jué)得比較容易,把這些簡(jiǎn)單的問(wèn)題貫穿到一起時(shí)會(huì)發(fā)現(xiàn)很多其他的問(wèn)題;正是這種發(fā)現(xiàn)問(wèn)題、糾正問(wèn)題的過(guò)程跟能力是學(xué)習(xí)程序設(shè)計(jì)所必須掌握的技能。
三、教學(xué)改革
篇9
關(guān)鍵詞:精品課程;工學(xué)結(jié)合;任務(wù)驅(qū)動(dòng)教學(xué)法;項(xiàng)目實(shí)訓(xùn)教學(xué)法
中圖分類(lèi)號(hào):TP312.2-4
精品課程建設(shè)是鄭州電子信息職業(yè)技術(shù)學(xué)院教學(xué)改革和教學(xué)質(zhì)量工程的重要內(nèi)容之一。Java程序設(shè)計(jì)是我院信息工程系計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的專(zhuān)業(yè)核心課程,重點(diǎn)培養(yǎng)學(xué)生Java方向程序設(shè)計(jì)能力,是一門(mén)實(shí)踐性很強(qiáng)的課程。該課程的知識(shí)教育目標(biāo)是使學(xué)生能夠熟練使用JDK(Java開(kāi)發(fā)工具包),Eclipse,UltraEdit等常用編輯工具來(lái)開(kāi)發(fā)Java程序;能力教育目標(biāo)是培養(yǎng)學(xué)生運(yùn)用面向?qū)ο蟮乃枷虢鉀Q實(shí)際問(wèn)題的能力。思想教育目標(biāo)是培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力和愛(ài)崗敬業(yè)的職業(yè)素養(yǎng)。
1 精品課程建設(shè)基礎(chǔ)
1.1 硬件基礎(chǔ)
學(xué)院有先進(jìn)的網(wǎng)絡(luò)教學(xué)環(huán)境和充足的實(shí)踐教學(xué)條件,Java程序設(shè)計(jì)的教學(xué)環(huán)境是我院多媒體中心,該中心下設(shè)30個(gè)多媒體教室。課程全面應(yīng)用多媒體方式授課,學(xué)生可以利用移動(dòng)存儲(chǔ)設(shè)備下載教學(xué)資源。在網(wǎng)上為學(xué)生提供授課計(jì)劃、教學(xué)大綱、實(shí)訓(xùn)大綱、實(shí)驗(yàn)指導(dǎo)書(shū)、課件、學(xué)習(xí)指南、上機(jī)習(xí)題與指導(dǎo)、模擬測(cè)試題、學(xué)習(xí)參考書(shū)目錄等網(wǎng)絡(luò)學(xué)習(xí)資源。另外,教師利用電子郵件、QQ進(jìn)行答疑,探討師生共同關(guān)心的問(wèn)題,了解學(xué)生的學(xué)習(xí)和其它方面的動(dòng)態(tài),及時(shí)調(diào)整教學(xué)方法和進(jìn)度。
Java程序設(shè)計(jì)的實(shí)訓(xùn)環(huán)境是我院計(jì)算機(jī)實(shí)訓(xùn)中心,現(xiàn)有22個(gè)實(shí)訓(xùn)室,近1500臺(tái)機(jī)器,實(shí)訓(xùn)室設(shè)備先進(jìn)、功能齊全、管理嚴(yán)格規(guī)范,每個(gè)實(shí)訓(xùn)室自成局域網(wǎng)并接入了互聯(lián)網(wǎng)。實(shí)訓(xùn)室均安裝了JDK(java開(kāi)發(fā)工具包)、MyEclipse、Tomcat、SQLsever及全國(guó)高等院校計(jì)算機(jī)等級(jí)考試模擬軟件,能夠保證人均一臺(tái)機(jī)器,學(xué)校實(shí)訓(xùn)室在課余及周末時(shí)間為學(xué)生開(kāi)放,方便學(xué)生的上機(jī)實(shí)習(xí)。
此外,學(xué)院與鄭州東隅電子科技有限公司、鄭州華創(chuàng)科技有限公司、鄭州亞訊科技信息有限公司簽訂協(xié)議,確立為我系的校外實(shí)訓(xùn)實(shí)習(xí)基地。
1.2 軟件基礎(chǔ)
該課程教師隊(duì)伍共10人,其中專(zhuān)職教師8人,兼職教師2人,師生比1:45,是一支師資配置合理,執(zhí)教能力強(qiáng)、教學(xué)效果好的教學(xué)隊(duì)伍。以中青年教師為主,副高以上職稱(chēng)占15%,研究生以上學(xué)歷占20%,“雙師型”教師占80%。
教學(xué)團(tuán)隊(duì)中有畢業(yè)于鄭州大學(xué)、西南大學(xué)、上海師范大學(xué)、河南科技學(xué)院等各個(gè)高校的教師,教師知識(shí)結(jié)構(gòu)合理,年齡結(jié)構(gòu)合理。課程建設(shè)小組具有在省、市級(jí)課題研究等方面的經(jīng)歷,并且獲取省級(jí)和市級(jí)的獎(jiǎng)項(xiàng)若干。課程建設(shè)小組成員組成結(jié)構(gòu)和科研條件均具備了相應(yīng)的研究條件。
學(xué)院每年都積極選派教師到企業(yè)學(xué)習(xí)。特別注重加強(qiáng)理論教學(xué)與實(shí)踐教學(xué)的結(jié)合,提升課程教學(xué)水平和質(zhì)量,從而逐步形成人員精干、教學(xué)水平高、教學(xué)效果好的師資隊(duì)伍。
2 精品課程建設(shè)內(nèi)容
2.1 課程建設(shè)目標(biāo)
Java程序設(shè)計(jì)是我院信息工程系計(jì)算機(jī)相關(guān)專(zhuān)業(yè)(計(jì)算機(jī)應(yīng)用技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、物聯(lián)網(wǎng))的一門(mén)非常重要的專(zhuān)業(yè)核心課程。該課程以C語(yǔ)言程序設(shè)計(jì)為先導(dǎo)課程,將會(huì)對(duì)JSP動(dòng)態(tài)網(wǎng)頁(yè)編程課程的學(xué)習(xí)有著重要的影響。本課程在教學(xué)培養(yǎng)方案中起到承上啟下的作用。
本課程的目的是通過(guò)對(duì)Java程序設(shè)計(jì)的學(xué)習(xí),使學(xué)生具備高級(jí)技能專(zhuān)門(mén)人才所必須的計(jì)算機(jī)程序設(shè)計(jì)能力,培養(yǎng)學(xué)生的邏輯思維能力,為進(jìn)一步應(yīng)用面向?qū)ο蟪绦蛟O(shè)計(jì)的方來(lái)進(jìn)行項(xiàng)目開(kāi)發(fā)打下基礎(chǔ)。具體的培養(yǎng)學(xué)生具有理解和應(yīng)用軟件開(kāi)發(fā)規(guī)范、軟件開(kāi)發(fā)流程的能力;學(xué)會(huì)將實(shí)際問(wèn)題轉(zhuǎn)化成計(jì)算機(jī)語(yǔ)言表達(dá)模型的能力;會(huì)用計(jì)算機(jī)處理問(wèn)題的思維方法閱讀和編寫(xiě)程序的能力;具有進(jìn)一步學(xué)習(xí)其他語(yǔ)言的能力;具有軟件開(kāi)發(fā)團(tuán)隊(duì)協(xié)作的能力。
2.2 課程建設(shè)內(nèi)容
Java程序設(shè)計(jì)精品課程建設(shè)主要包括課程體系、教學(xué)手段的改革、教學(xué)方法的改進(jìn)、考試方法的變革和教材建設(shè)。我們以現(xiàn)代化教學(xué)手段為依托,充分利用多功能教室、多媒體教室、校園網(wǎng)等教學(xué)手段。實(shí)行啟發(fā)式、研討式、項(xiàng)目驅(qū)動(dòng)式等多種教學(xué)方法,形成一套能夠使抽象內(nèi)容具體化、專(zhuān)業(yè)知識(shí)通俗化的課程教學(xué)模式。通過(guò)精品課程建設(shè),課程建設(shè)小組逐步落實(shí)Java程序設(shè)計(jì)成績(jī)?cè)u(píng)定方法,學(xué)生期末綜合考評(píng)分為理論考評(píng)和實(shí)踐考評(píng)兩大部分各占總成績(jī)的50%,理論考評(píng)中平時(shí)成績(jī)占30%,期末考試成績(jī)占70%。實(shí)踐考評(píng)中實(shí)驗(yàn)報(bào)告占30%,實(shí)踐操作占70%。考試內(nèi)容包括理論知識(shí)和實(shí)踐操作,真正反映教師的教學(xué)水平。
3 課程特色與創(chuàng)新
在Java程序設(shè)計(jì)教學(xué)中,我們必須突出高職高專(zhuān)院校的教育特色,采用先進(jìn)的教育理念,把現(xiàn)代教育思想和課程的具體內(nèi)容相結(jié)合,改革傳統(tǒng)的教學(xué)手段和方法,形成自己特色鮮明的工學(xué)結(jié)合的教學(xué)模式。
3.1 工學(xué)結(jié)合教學(xué)模式
我們確立以“就業(yè)為導(dǎo)向、能力為核心”的專(zhuān)業(yè)人才培養(yǎng)方案,以職業(yè)能力培養(yǎng)為核心,有針對(duì)性采取工學(xué)交替、校企合作、理論與實(shí)踐相結(jié)合的課程教學(xué)模式。此模式在做中學(xué)、做中教。特別突出以生產(chǎn)性實(shí)訓(xùn)為特征的實(shí)踐教學(xué)模式。在實(shí)訓(xùn)環(huán)節(jié)上,每屆學(xué)生都安排了三個(gè)企業(yè)真實(shí)項(xiàng)目實(shí)訓(xùn)和半年的頂崗實(shí)習(xí),讓學(xué)生直接參與到項(xiàng)目開(kāi)發(fā)中去,親身體驗(yàn)職場(chǎng)的工作氛圍,熟悉面向?qū)ο缶幊痰乃枷?,為將?lái)的就業(yè)打下堅(jiān)實(shí)的基礎(chǔ)。
3.2 教學(xué)方法
項(xiàng)目實(shí)訓(xùn)教學(xué)法強(qiáng)調(diào)的是真實(shí)體驗(yàn),以項(xiàng)目的完成結(jié)果檢驗(yàn)和總結(jié)學(xué)習(xí)過(guò)程。項(xiàng)目實(shí)訓(xùn)采用項(xiàng)目調(diào)研、開(kāi)發(fā)、測(cè)試、驗(yàn)收等教學(xué)流程,使學(xué)生帶著真實(shí)的目的在探索中學(xué)習(xí),讓學(xué)生獲得親身參與的體驗(yàn)、培養(yǎng)學(xué)生發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。
任務(wù)驅(qū)動(dòng)教學(xué)法強(qiáng)調(diào)的是“以任務(wù)為主線(xiàn)、教師為主導(dǎo)、學(xué)生為主體” 通過(guò)精選案例、明確任務(wù),以任務(wù)帶動(dòng)理論知識(shí)點(diǎn)的學(xué)習(xí),真正做到了講練有機(jī)融合。通過(guò)在實(shí)踐中的學(xué)習(xí),可以激發(fā)學(xué)生的好奇心和創(chuàng)造力。
情景教學(xué)法是以案例或情景為載體引導(dǎo)學(xué)生自主探究性學(xué)習(xí),以提高學(xué)生分析和解決實(shí)際問(wèn)題的能力。主要針對(duì)企業(yè)的工作場(chǎng)景和實(shí)際的工作流程,進(jìn)行項(xiàng)目分析和任務(wù)分解,重現(xiàn)在企業(yè)中進(jìn)行項(xiàng)目開(kāi)發(fā)的任務(wù)環(huán)境。學(xué)生在實(shí)際操作的過(guò)程中模擬項(xiàng)目組中的各種角色,使用真實(shí)的企業(yè)項(xiàng)目、企業(yè)工作流程,協(xié)同完成項(xiàng)目,體驗(yàn)和掌握各種角色的工作技能和工作經(jīng)驗(yàn)。
3.3 特色教材建設(shè)
教材是培養(yǎng)人才最關(guān)鍵、最直接的因素。所以說(shuō)教材建設(shè)是精品課程建設(shè)的重要組成部分。Java是1995年Sun公司開(kāi)發(fā)的面向?qū)ο蟮木幊陶Z(yǔ)言,它憑借平臺(tái)無(wú)關(guān)性這一強(qiáng)大優(yōu)勢(shì)己經(jīng)成為Internet應(yīng)用的主要開(kāi)發(fā)語(yǔ)言。從目前情況來(lái)看,Java教材出版的不少,但是很少有以工作任務(wù)為主的適合高職教育的教材,大多數(shù)都是以講Java 基本知識(shí)為主,枯燥的理論使學(xué)生很難學(xué)以致用。因此,我們對(duì)課程內(nèi)容進(jìn)行了徹底的整合,采取用什么講什么,用多少講多少的原則,將那些直接支撐專(zhuān)業(yè)技術(shù)的知識(shí)從系統(tǒng)中提取出來(lái),打造直接服務(wù)于崗位技術(shù)的知識(shí)鏈,建設(shè)符合高職院校特色的精品教材。在學(xué)院的大力支持下,我們課程組通過(guò)長(zhǎng)期扎實(shí)的自我建設(shè),強(qiáng)化了課程體系,完善了教材內(nèi)容等方面的建設(shè)。
4 結(jié)束語(yǔ)
Java程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的專(zhuān)業(yè)核心課程。我們通過(guò)不斷轉(zhuǎn)變教學(xué)理念、更新教學(xué)內(nèi)容、改進(jìn)教學(xué)手段、完善教學(xué)方法,已基本構(gòu)建起比較完善的教學(xué)體系,形成了較鮮明的特色。綜上所述,該課程建設(shè)指導(dǎo)思想明確,擁有教學(xué)與科研相長(zhǎng)的師資隊(duì)伍,教育教學(xué)思想與時(shí)俱進(jìn),教學(xué)模式多樣化,教學(xué)手段現(xiàn)代化,在計(jì)算機(jī)編程教育領(lǐng)域起著良好的示范作用。
參考文獻(xiàn):
[1]王小芬,馬玉芳.《大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)》精品課程建設(shè)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013,4.
篇10
1.沒(méi)有明確的教學(xué)目的,對(duì)課程重要性認(rèn)識(shí)不足《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)是高校計(jì)算機(jī)、通信、電子以及自動(dòng)化等相關(guān)專(zhuān)業(yè)課程中的基礎(chǔ)課程,對(duì)學(xué)生在學(xué)習(xí)過(guò)程中的創(chuàng)新能力以及實(shí)踐能力的提高有一定的促進(jìn)作用。在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí)過(guò)程中,大多時(shí)候得不到學(xué)生以及教師重視,對(duì)其學(xué)習(xí)的重要性認(rèn)識(shí)不足。而且,大多數(shù)老師在對(duì)這門(mén)課程進(jìn)行教學(xué)的過(guò)程中,受到相應(yīng)教學(xué)的課時(shí)以及大綱限制,在課堂教學(xué)過(guò)程中過(guò)于偏重對(duì)具體指令的相關(guān)應(yīng)用以及功能的講解,從而缺少了對(duì)各個(gè)課程之間的特點(diǎn)串聯(lián)。這樣的問(wèn)題導(dǎo)致教師在教學(xué)過(guò)程中,對(duì)學(xué)生的學(xué)習(xí)興趣不能充分的調(diào)動(dòng),從而導(dǎo)致學(xué)生對(duì)正確的學(xué)習(xí)方法不能很好的掌握。2.教學(xué)方法偏差,教學(xué)手段存在缺陷在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行教學(xué)的過(guò)程中,其在相應(yīng)的教學(xué)方法上存在一定程度的偏差,從而導(dǎo)致一些編程中非法指令經(jīng)常性出現(xiàn)。而且,教師在對(duì)這門(mén)課程進(jìn)行教學(xué)的過(guò)程中,教學(xué)手段太過(guò)單一,在教學(xué)過(guò)程中主要就通過(guò)多媒體對(duì)課堂內(nèi)容進(jìn)行講解。在教學(xué)過(guò)程中對(duì)多媒體的運(yùn)用雖然存在直觀生動(dòng)以及信息量大等相關(guān)優(yōu)勢(shì),但其也在一定程度上使學(xué)生產(chǎn)生了學(xué)習(xí)惰性。
二、對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中相應(yīng)的問(wèn)題進(jìn)行改革
1.加強(qiáng)對(duì)課程重要性的認(rèn)識(shí)在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行教學(xué)之前,對(duì)其相應(yīng)的重要性進(jìn)行講解,從而使學(xué)生對(duì)匯編語(yǔ)言的具體特點(diǎn)進(jìn)行充分掌握,對(duì)匯編語(yǔ)言相較于高級(jí)語(yǔ)言的具體優(yōu)勢(shì)進(jìn)行具體明確,使學(xué)生對(duì)其在應(yīng)用領(lǐng)域中必要性有充分的了解。在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,要注意對(duì)其實(shí)用性的具體教學(xué),使學(xué)生能夠做到對(duì)具體知識(shí)的學(xué)以致用,注重對(duì)教學(xué)內(nèi)容相關(guān)知識(shí)點(diǎn)的訓(xùn)練和拓展。另外,教師在教學(xué)過(guò)程中,還要注重對(duì)學(xué)生知識(shí)面的拓寬,從而使學(xué)生在對(duì)匯編語(yǔ)言的學(xué)習(xí)興趣得到相應(yīng)的提高。2.采用多樣化教學(xué),提高學(xué)生學(xué)習(xí)興趣在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,想要對(duì)相應(yīng)的指令進(jìn)行掌握,就要對(duì)其相關(guān)的尋址方式進(jìn)行具體的理解和掌握。在對(duì)匯編語(yǔ)言進(jìn)行教學(xué)的過(guò)程中,由于其相較高級(jí)語(yǔ)言而言,沒(méi)有足夠的易讀性,不容易學(xué)生的理解,所以,在教學(xué)的時(shí)候要掌握多樣化的教學(xué)方法以及教學(xué)手段,從而使學(xué)生在對(duì)其進(jìn)行學(xué)習(xí)的過(guò)程中的學(xué)習(xí)興趣得到最大的提高,培養(yǎng)學(xué)生學(xué)習(xí)的自主性,使其對(duì)匯編語(yǔ)言的相關(guān)知識(shí)的理解和記憶更容易清晰地掌握。3.增加實(shí)踐環(huán)節(jié),提高學(xué)生具體的實(shí)踐能力在對(duì)《匯編語(yǔ)言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過(guò)程中,對(duì)學(xué)生具體動(dòng)手實(shí)踐課程進(jìn)行加強(qiáng),使學(xué)生在具體實(shí)踐的過(guò)程中對(duì)教材上的知識(shí)點(diǎn)進(jìn)行具體的理解和掌握。在實(shí)際動(dòng)手過(guò)程中學(xué)習(xí)實(shí)踐理論,使實(shí)踐與理論達(dá)到很好的結(jié)合,從而提升學(xué)生的學(xué)習(xí)效果。其中,在實(shí)踐的過(guò)程中,教師要注意對(duì)具體實(shí)驗(yàn)內(nèi)容的控制,對(duì)實(shí)驗(yàn)的重點(diǎn)著重突出,避免實(shí)驗(yàn)的時(shí)間太過(guò)漫長(zhǎng)。除此之外,還要注意積極引導(dǎo)學(xué)生多多參與相關(guān)實(shí)踐項(xiàng)目,在一定程度上為他們提供一些參與實(shí)際研究項(xiàng)目的機(jī)會(huì)。
三、結(jié)束語(yǔ)
熱門(mén)標(biāo)簽
程序設(shè)計(jì)論文 程序法 程序畢業(yè)論文 程序?qū)嵱?xùn)總結(jié) 程序閱讀 程序公正 程序員 程序問(wèn)題 程序設(shè)計(jì) 程序化 燃?xì)忮仩t 燃?xì)夂鏍t
相關(guān)文章
1C語(yǔ)言程序設(shè)計(jì)課程資源優(yōu)化方法
2HTML5程序設(shè)計(jì)課程混合教學(xué)模式
3程序設(shè)計(jì)課程對(duì)中職生計(jì)算思維的功效
4中小學(xué)科技活動(dòng)課程教學(xué)程序研究