公務(wù)員期刊網(wǎng) 精選范文 程序設(shè)計(jì)范文

程序設(shè)計(jì)精選(九篇)

前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的程序設(shè)計(jì)主題范文,僅供參考,歡迎閱讀并收藏。

程序設(shè)計(jì)

第1篇:程序設(shè)計(jì)范文

(電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 成都 611731)

摘要:針對程序設(shè)計(jì)課程存在的理論與編程實(shí)踐學(xué)時(shí)安排矛盾以及實(shí)驗(yàn)教學(xué)中師生配比不夠、實(shí)驗(yàn)輔導(dǎo)不足等問題,提出加強(qiáng)預(yù)習(xí)干預(yù)引導(dǎo)、實(shí)戰(zhàn)演練、課堂教師輔導(dǎo)和實(shí)驗(yàn)指導(dǎo)以及增加學(xué)生分組互助學(xué)習(xí)、學(xué)生討論、成果演示等手段,結(jié)合目前國內(nèi)外取得良好教學(xué)效果的翻轉(zhuǎn)課堂教學(xué)法、微課視頻資源實(shí)現(xiàn)翻轉(zhuǎn)教學(xué),并擬在小班試點(diǎn)改進(jìn)后推廣。

關(guān)鍵詞 :程序設(shè)計(jì)課程;翻轉(zhuǎn)課堂;微課視頻;小班教學(xué)

第一作者簡介:戴波,女,講師,研究方向?yàn)椴⑿兴惴ㄅc圖像處理,daibo@uestc.edu.cn。

0 引言

為了全面貫徹落實(shí) 《教育部關(guān)于全面提高高等教育質(zhì)量的若干意見》 (教高[2012]4 號)精神,不斷深化本科人才培養(yǎng)模式改革,構(gòu)建研究型大學(xué)本科人才培養(yǎng)新體系,培養(yǎng)高素質(zhì)拔尖創(chuàng)新人才,《電子科技大學(xué)本科人才培養(yǎng)方案修訂指導(dǎo)意見》以通識課程、學(xué)科基礎(chǔ)課程、學(xué)科拓展課程、專業(yè)核心課程、實(shí)踐類核心課程、個(gè)性化課程6個(gè)課程模塊的構(gòu)建為核心,推動課程的整合和優(yōu)化,搭建個(gè)性化、多元化的人才培養(yǎng)平臺,促進(jìn)學(xué)生全面、個(gè)性發(fā)展,其理工類課程模塊與學(xué)時(shí)要求如圖1所示。

基于學(xué)校的培養(yǎng)理念,計(jì)算機(jī)科學(xué)與工程學(xué)院將培養(yǎng)目標(biāo)定位在培養(yǎng)掌握計(jì)算機(jī)基本理論和基本知識,接受從事研究與應(yīng)用計(jì)算機(jī)的基本訓(xùn)練,具有研究和開發(fā)計(jì)算機(jī)軟、硬件基本能力的高級人才。程序設(shè)計(jì)課程是計(jì)算機(jī)專業(yè)的核心基礎(chǔ),涉及程序設(shè)計(jì)語言(C語言)、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析、面向?qū)ο笳Z言(C++/C#/Java)、設(shè)計(jì)模式和軟件工程等多門課程。我們分析當(dāng)前教學(xué)中存在的如課程分割零碎、課程之間連貫性差、不同課程內(nèi)容重復(fù)較多、對后續(xù)課程支撐力度不大、教學(xué)手段落后與師資隊(duì)伍建設(shè)不足等問題,在課程、實(shí)驗(yàn)和團(tuán)隊(duì)建設(shè)等方面做了一系列研究探索,如采用遞增式的項(xiàng)目驅(qū)動教學(xué)分級培訓(xùn)學(xué)生程序設(shè)計(jì)技能,組建程序設(shè)計(jì)基礎(chǔ)團(tuán)隊(duì),重新設(shè)計(jì)與整合關(guān)聯(lián)課程,采用自動化批改程序軟件,建立題庫與項(xiàng)目庫等方案,并在小班連續(xù)2年進(jìn)行試點(diǎn),取得良好效果,2014年開始在全年級推廣[1]。

1 推廣后的程序設(shè)計(jì)課程現(xiàn)狀與調(diào)查分析

1.1 推廣后的程序設(shè)計(jì)課程現(xiàn)狀

小班試點(diǎn)在舊有培養(yǎng)方案的基礎(chǔ)上進(jìn)行,C語言和C++課程內(nèi)容有整合,但仍然與其他班級一樣分開教學(xué)和參加統(tǒng)一的期末考試,便于與其他班級對比教學(xué)效果。2014年,我們基于新的培養(yǎng)方案在全年級進(jìn)行合并后的程序設(shè)計(jì)語言教學(xué),同時(shí)面臨如下現(xiàn)狀。

(1)內(nèi)容多,時(shí)間緊,以前的兩門課程合并成為一門課程之后,課時(shí)數(shù)量是以前一門課程的課時(shí)數(shù)量,而不是兩門課程課時(shí)數(shù)量的總和。

(2)導(dǎo)論課沒有打下基礎(chǔ),如對于計(jì)算機(jī)硬件及工作流程的初步認(rèn)識、內(nèi)存管理方式的理解、鼠標(biāo)鍵盤的熟悉、操作系統(tǒng)和辦公軟件的熟悉與使用等。

(3)課程合并后,兩門課程的教師總數(shù)增加,班級人數(shù)由120人以上/班減少為70人/班,達(dá)不到學(xué)校120人/班配置助教的條件,沒有助教,作業(yè)批改量大,上機(jī)輔導(dǎo)忙不過來,上機(jī)考試監(jiān)考教師人數(shù)不夠。實(shí)踐證明,每次實(shí)驗(yàn)課教師能夠輔導(dǎo)到的學(xué)生人數(shù)不超過10人。

1.2 推廣后的程序設(shè)計(jì)課程調(diào)查

課程結(jié)束后,7個(gè)班的7名教師和480名學(xué)生分別發(fā)放調(diào)查問卷,其中回收的有效反饋調(diào)查表為教師7份,學(xué)生186份。

1) 教師調(diào)查反饋。

(1)合并后教學(xué)時(shí)間緊,學(xué)生掌握所有內(nèi)容有難度,存在部分學(xué)生學(xué)習(xí)積極性不高,如上課玩手機(jī)和到課率不高等情況。

(2)每班上機(jī)相關(guān)練習(xí)題、實(shí)驗(yàn)、綜合實(shí)驗(yàn)均超過20題,有的班級達(dá)到50道題以上。上機(jī)題目兼具應(yīng)用性和趣味性。

(3)導(dǎo)師輔導(dǎo)的上機(jī)訓(xùn)練題量大。

(4)基礎(chǔ)類型的實(shí)驗(yàn)和練習(xí)題完成情況良好,綜合性的實(shí)驗(yàn)和練習(xí)題只有部分學(xué)生能夠完成。

2)學(xué)生調(diào)查反饋。

(1)有編程基礎(chǔ)的學(xué)生在高中階段學(xué)習(xí)過的編程語言種類有8種,66%的學(xué)生學(xué)習(xí)過C/C++,普遍表現(xiàn)出對目前教學(xué)狀況非常滿意,在教師指導(dǎo)下比高中學(xué)習(xí)得更深入,能夠?qū)W習(xí)到很多原理性的東西;同時(shí)也表示希望能夠給予更多的課后學(xué)習(xí)指導(dǎo),提供工程訓(xùn)練機(jī)會。有編程基礎(chǔ)的部分學(xué)生仍然感覺上課速度快。

(2)沒有編程基礎(chǔ)的學(xué)生認(rèn)為目前教學(xué)難度合適的達(dá)73%, 較難/難的達(dá)22%,簡單的達(dá)5%;普遍希望教師講解得更細(xì)致,課堂上能夠演示編程過程,再多增加上機(jī)輔導(dǎo)、上機(jī)作業(yè)和練習(xí)題,能夠有項(xiàng)目實(shí)踐機(jī)會。

1.3 推廣后的期末考試情況與教師試卷分析總結(jié)

推廣后的期末考試分?jǐn)?shù)對比見表1。

表1的平均比例表明不及格率占比最高,接近1/3,90分以上占比最低,不到10%;同時(shí)表明不同班級差別比較大,教師的教學(xué)經(jīng)驗(yàn)對于學(xué)習(xí)效果很重要,如教師1有多年C語言和C++語言教學(xué)經(jīng)驗(yàn),其余的教師只從事C語言或者C++語言教學(xué),因此雖然使用同樣的教材,但是由于教學(xué)經(jīng)驗(yàn)、教學(xué)手段、學(xué)生不同,使得學(xué)生掌握情況不同。教師6強(qiáng)調(diào)大學(xué)階段的學(xué)習(xí)自覺性,對學(xué)生管束比較少,教學(xué)方式比較靈活,最終考試效果最差,不及格率達(dá)到44.8%,說明學(xué)生學(xué)習(xí)自覺性差,教師的恰當(dāng)約束對于當(dāng)前環(huán)境下的學(xué)生學(xué)習(xí)非常有必要。

7位教師總結(jié)學(xué)生的失分點(diǎn)基本一致,主要集中在填空題的細(xì)節(jié)問題、讀程序、寫程序和判斷題,恰好是編程訓(xùn)練沒有過關(guān)的體現(xiàn),這也和各位教師根據(jù)考試情況的反思總結(jié)一致。教師都反映需要加強(qiáng)編程練習(xí)、上機(jī)輔導(dǎo)、課上程序演示、程序設(shè)計(jì)思維訓(xùn)練,但又都覺得編程練習(xí)已經(jīng)很多,上機(jī)量也很大,但訓(xùn)練效果卻不明顯。以冒泡排序?yàn)槔處熒险n講,中期考核,期末復(fù)習(xí),但是該內(nèi)容在期末考試中仍然是大的失分點(diǎn)且全年級都呈現(xiàn)這樣的現(xiàn)象,這說明在學(xué)習(xí)過程中有的學(xué)生不認(rèn)真做,有的學(xué)生做了但沒有真正理解和掌握算法原理、編程基礎(chǔ)、調(diào)試技術(shù)。

教師反思其中一個(gè)大的矛盾是理論教學(xué)與實(shí)踐教學(xué)的學(xué)時(shí)需求矛盾:①不講或者簡單講解基礎(chǔ)理論及細(xì)節(jié),學(xué)生只能依葫蘆畫瓢而無法舉一反三,理論基礎(chǔ)不穩(wěn)固則技術(shù)不深入,有程序設(shè)計(jì)基礎(chǔ)的學(xué)生則不能進(jìn)行深入學(xué)習(xí);②詳細(xì)深入講解需要花費(fèi)大量時(shí)間;③無編程基礎(chǔ)的學(xué)生對理論學(xué)習(xí)普遍不感興趣且由于缺乏經(jīng)驗(yàn),對教師講解的理論理解不夠深入,教師在課堂上沒有時(shí)間進(jìn)行反復(fù)講解,而學(xué)生不得不在應(yīng)用過程中根據(jù)需要反復(fù)學(xué)習(xí)這些基礎(chǔ)知識。

為解決這些矛盾,各個(gè)教師根據(jù)教學(xué)經(jīng)驗(yàn)各有取舍,其中教師5與教師7是以實(shí)踐為主與理論講授為主比較突出的2個(gè)代表。教師5采用以上機(jī)實(shí)驗(yàn)為主、理論教授為輔的教學(xué)方式,設(shè)計(jì)上機(jī)相關(guān)題目超過50題且上機(jī)演示編程過程,編程輔導(dǎo)時(shí)間多,同時(shí)另外找了優(yōu)秀學(xué)生一起對學(xué)生進(jìn)行上機(jī)輔導(dǎo),但期末筆試90分以上的占比9.2%,不及格率為27.7%。教師7以理論講授為主,對于上機(jī)實(shí)驗(yàn)輔導(dǎo)嚴(yán)格按照培養(yǎng)方案的16學(xué)時(shí),期末筆試考試成績表明學(xué)生上機(jī)實(shí)驗(yàn)過少,理論掌握并不扎實(shí),90分以上的占比為0.00%,不及格率仍然達(dá)到23.1%。以上情況說明“單腳大跨步”的教學(xué)方式效果欠佳,但兩者結(jié)合教學(xué)又存在學(xué)時(shí)數(shù)不夠的現(xiàn)實(shí)問題,此外還存在如下問題:學(xué)生認(rèn)為最難的不是理論學(xué)習(xí),而是將理論應(yīng)用于實(shí)際;不少學(xué)生需要督促,自覺性差,而教師只有一人,怎么辦?

2 改進(jìn)措施

針對程序設(shè)計(jì)課程在全年級推廣后出現(xiàn)的問題,程序設(shè)計(jì)教學(xué)團(tuán)隊(duì)教師積極思考、討論并試圖尋找能夠解決現(xiàn)存問題的教學(xué)方法。戴爾的經(jīng)驗(yàn)之塔[2]說明單純的課堂教學(xué)平均只能夠達(dá)到20%的效果,而具有主動學(xué)習(xí)的參與、討論、演講等教學(xué)方法可以達(dá)到50%~90%的教學(xué)效果。既要在有限的時(shí)間內(nèi)傳授基礎(chǔ)理論,深入講解原理和運(yùn)行機(jī)制且可以在實(shí)踐過程中能夠隨時(shí)查閱學(xué)習(xí)基礎(chǔ)理論,又要在教師人數(shù)有限的條件下給予足夠的上機(jī)實(shí)驗(yàn)演示和輔導(dǎo),教師就需要將一些以記憶和理解為主的知識點(diǎn)放到課前讓學(xué)生預(yù)習(xí),課堂上以項(xiàng)目驅(qū)動的方式引導(dǎo)學(xué)生加強(qiáng)編程練習(xí)并給予輔導(dǎo)。此外,對于一些需要深入分析的問題則可在學(xué)生預(yù)習(xí)的情況下,在課堂上以分組或者集體討論的方式解決,但存在部分學(xué)生不預(yù)習(xí)而等待教師上課講解或者學(xué)生預(yù)習(xí)目的性不強(qiáng)、自學(xué)能力不夠等問題。教學(xué)團(tuán)隊(duì)教師經(jīng)過調(diào)研發(fā)現(xiàn),最近幾年在國內(nèi)外逐步發(fā)展的翻轉(zhuǎn)課堂教學(xué)[3]恰好滿足有教學(xué)理論研究支撐和國內(nèi)外優(yōu)秀教學(xué)經(jīng)驗(yàn)借鑒等條件,具體方案如下。

(1)將理論知識的講解以微課的形式錄制成視頻,達(dá)到學(xué)生在教師引導(dǎo)條件下自學(xué)的效果,同時(shí)在學(xué)生完成預(yù)習(xí)作業(yè)后,檢驗(yàn)其學(xué)習(xí)效果以便于學(xué)生根據(jù)自身情況決定是否還需要反復(fù)看視頻鞏固學(xué)習(xí);教師也可以通過學(xué)生完成預(yù)習(xí)作業(yè)的情況制訂課堂活動安排,協(xié)助學(xué)生更好地掌握知識。

(2)教師將分析問題、設(shè)計(jì)思路、流程圖繪制、編程、編譯鏈接、調(diào)試等演示案例的完整過程錄制成視頻,讓學(xué)生可以反復(fù)觀看臨摹,解決初期沒有教師在身邊編程入門難的問題,達(dá)到課堂演示編程的效果,避免課堂上編程占用時(shí)間過多、編程代碼文字過小后排學(xué)生看不清楚等問題。

(3)在課堂上指導(dǎo)學(xué)生進(jìn)行編程練習(xí),解決學(xué)生視頻學(xué)習(xí)過程中的疑問、討論解決實(shí)際項(xiàng)目問題的方法及方案的選擇。

(4)鼓勵優(yōu)秀學(xué)生幫助其他同學(xué),對于幫助其他同學(xué)的學(xué)生給予平時(shí)成績加分,解決缺乏編程輔導(dǎo)的問題。

(5)在現(xiàn)有培養(yǎng)方案條件下擬用部分班級試點(diǎn)進(jìn)行翻轉(zhuǎn)教學(xué),部分班級不采用,然后進(jìn)行效果對比和進(jìn)一步分析與改進(jìn),使其更適合當(dāng)前的本科教學(xué)。

3 結(jié)語

基于“全面發(fā)展的創(chuàng)新教育”人才培養(yǎng)理念培養(yǎng)高素質(zhì)拔尖創(chuàng)新人才,除了構(gòu)建合理的人才培養(yǎng)體系外,還需改進(jìn)對學(xué)生培養(yǎng)更直觀有效的課程教學(xué)。翻轉(zhuǎn)課堂教學(xué)以實(shí)踐理論“戴爾的經(jīng)驗(yàn)之塔”和布魯姆認(rèn)知教育目標(biāo)分類模型理論[4]為基礎(chǔ),強(qiáng)調(diào)學(xué)生在教師的指導(dǎo)下學(xué)習(xí),學(xué)生是教育的主體,教師的教是為了不教,自主學(xué)習(xí)具有無可替代的價(jià)值[5]。翻轉(zhuǎn)課堂教學(xué)法以學(xué)生為主體進(jìn)行研究,能夠在有限的教學(xué)時(shí)間內(nèi)達(dá)到傳授知識、教授技能、培養(yǎng)自學(xué)能力的目的,可操作性強(qiáng),是解決現(xiàn)有程序設(shè)計(jì)課程改革問題的有效方法,但效果和存在的問題還有待多次試點(diǎn)改進(jìn)及全面推廣后具體分析及解決。

參考文獻(xiàn):

[1] 戴波, 周世杰, 曹晟, 等.“程序設(shè)計(jì)”課程教學(xué)模式的探索[J]. 實(shí)驗(yàn)科學(xué)與技術(shù), 2012(6): 309-311.

[2] 焦麗珍. 神奇的“經(jīng)驗(yàn)之塔”:“視聽教學(xué)法之理論”[J]. 現(xiàn)代教育技術(shù), 2012, 22(6): 126.

[3] 愛課程網(wǎng). 翻轉(zhuǎn)課堂教學(xué)法[EB/OL]. [2014-10-16]. http://icourse163.org/course/pku-21016#/info.

[4] Anderson L W, Kmthwohl D R. A Taxonomy for learning, teaching, and assessing: a revision of bloom’s taxonomy of educational objectives[M]. Complete Ed. London:Pearson, 2000: 38-62.

第2篇:程序設(shè)計(jì)范文

前幾年,OpenGL雖然是開放式的標(biāo)準(zhǔn),但是只能在具有UNIX操作系統(tǒng)的各種昂貴的工作站之間通用;盡管工作站上的OpenGL性能優(yōu)越、編程方便、生成圖形精真,但是只有少數(shù)人能體會其中樂趣,而令大多數(shù)PC機(jī)用戶望塵莫及。隨著計(jì)算機(jī)技術(shù)的發(fā)展,工作站與PC機(jī)的性能日趨接近。Microsoft公司首先將OpenGL圖形庫鏈接到Windows NT中,目前又將OpenGL動態(tài)庫掛到最新Windows 95上,這樣,廣大PC機(jī)用戶就可充分享受OpenGL的樂趣了。更令人高興的是,目前國內(nèi)外出現(xiàn)了專門對OpenGL進(jìn)行硬件加速的三維圖形加速卡。這樣,普通用戶只

要擁有一臺Pentium 90以上、16MB RAM、520MB以上硬盤容量的PC機(jī)以及一臺43cm以上的大屏幕監(jiān)視器和一塊OpenGL三維圖形加速卡組成的系統(tǒng),就能與圖形工作站相媲美,但價(jià)格卻便宜數(shù)十倍。

本文作者一直從事計(jì)算機(jī)圖形應(yīng)用開發(fā)工作。原來是在SGI工作站上利用OpenGL開發(fā)圖形程序,后來又首先在國內(nèi)第一塊三維圖形加速卡AGC-3D上基于Windows NT的Visual C++2.0環(huán)境下繼續(xù)進(jìn)行開發(fā)。在開發(fā)過程中,同一OpenGL程序幾乎不用修改就能在兩個(gè)平臺間來回移植,效果甚好。

一、OpenGL特點(diǎn)及功能

OpenGL是一個(gè)開放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),能十分方便地在各平臺間移植。

OpenGL具有七大功能。

(1)建模 OpenGL圖形庫除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體(如球、錐、多面體、茶壺等)以及復(fù)雜曲線和曲面(如Bezier、Nurbs等曲線或曲面)繪制函數(shù)。

(2)變換 OpenGL圖形庫的變換包括基本變換和投影變換?;咀儞Q有平移、旋轉(zhuǎn)、變比和鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。

(3)顏色模式設(shè)置 OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。

(4)光照和材質(zhì)設(shè)置 OpenGL光有輻射光(Emitted Light)、環(huán)境光(AmbientLight)、漫反射光(Diffuse Light)和鏡面光(Specular Light)。材質(zhì)是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形成的顏色。

(5)紋理映射(Texure Mapping) 利用OpenGL紋理映射功能可以十分逼真地表達(dá)物體表面細(xì)節(jié)。

(6)位圖顯示和圖像增強(qiáng) 圖像功能除了基本的拷貝和像素讀寫外,還提供了融合(Blending)、反走樣(Antialiasing)和霧(fog)的特殊圖像效果處理。

(7)雙緩存(Double Buffering)動畫 雙緩存即前臺緩存和后臺緩存,簡而言之,后臺緩存計(jì)算場景、生成畫面,前臺緩存顯示后臺緩存已畫好的畫面。

此外,利用OpenGL還能實(shí)現(xiàn)深度暗示(Depth Cue)、運(yùn)動模糊(Motion Blur)等特殊效果。

二、OpenGL for Windows NT圖形庫

OpenGL圖形庫一共有100多個(gè)函數(shù)。其中核心函數(shù)有115個(gè),它們是最基本的函數(shù),其前綴是gl;OpenGL實(shí)用庫(OpenGL utility library,GLU)的函數(shù)功能更高一些,如繪制復(fù)雜的曲線曲面、高級坐標(biāo)變換、多邊形分割等,共有43個(gè),前綴為glu; OpenGL輔助庫(OpenGL auxiliary library,GLAUX)的函數(shù)是一些特殊的函數(shù),包括簡單的窗口管理、輸入事件處理、某些復(fù)雜三維物體繪制等函數(shù),共有31個(gè),前綴為aux。

此外,還有六個(gè)WGL函數(shù)非常重要,專用于OpenGL和Windows NT窗口系統(tǒng)的連接,其前綴為wgl,主要用于創(chuàng)建和選擇圖形操作描述表(rendering contexts)以及在窗口內(nèi)任一位置顯示字符位圖。這些功能是Windows NT對OpenGL的唯一補(bǔ)充,見表1所示。

表1 管理圖形操作描述表的WGL函數(shù)

另外,還有五個(gè)Win32函數(shù)用來處理像素格式(pixel formats)和雙緩存。由于它們是對Win32系統(tǒng)的擴(kuò)展,因此不能應(yīng)用在其他OpenGL平臺上,見表2所示。

表2 管理像素格式Win32函數(shù)

三、OpenGL for Windows NT程序設(shè)計(jì)

OpenGL for Windows NT的程序設(shè)計(jì)與OpenGL for UNIX的程序設(shè)計(jì)有一點(diǎn)小區(qū)別,關(guān)鍵就在于如何將OpenGL與不同操作系統(tǒng)下的窗口系統(tǒng)連接起來。如果調(diào)用OpenGL輔助庫窗口管理函數(shù),則不用考慮這些問題。下面將主要介紹在Windows NT下OpenGL的程序設(shè)計(jì)關(guān)鍵。

1.圖形操作描述表

在Windows NT下窗口程序必須首先處理設(shè)備描述表(Device Contexts,DC),DC包含許多如何在窗口上顯示圖形的信息,即指定畫筆和刷子的顏色,設(shè)置繪圖模式、調(diào)色板、映射模式以及其他圖形屬性。同樣,OpenGL for Windows NT的程序也必須使用DC,這與其他Windows程序類似。但是,OpenGL for Windows NT必須處理特殊的DC圖形操作描述表,這是DC中專為OpenGL使用的一種。一個(gè)OpenGL應(yīng)用圖形操作描述表內(nèi)有OpenGL與Windows NT窗口系統(tǒng)相關(guān)的各種信息。一個(gè)OpenGL應(yīng)用首先必須創(chuàng)建一個(gè)圖形操作描述表,然后再啟動它,最后在所定義的窗口內(nèi)按常規(guī)方式調(diào)用OpenGL函數(shù)繪制圖形。

一個(gè)圖形操作描述表不同于其他DC,它們調(diào)用每個(gè)GDI函數(shù)都需要一個(gè)句柄,而圖形操作描述表方式下只需一個(gè)句柄就可任意調(diào)用OpenGL函數(shù)。也就是說,只要當(dāng)前啟用了某個(gè)圖形操作描述表,那么在未刪除圖形操作描述表之前可以調(diào)用任何OpenGL函數(shù),進(jìn)行各種操作。

2.像素格式

在創(chuàng)建一個(gè)圖形操作描述表之前,首先必須設(shè)置像素格式。像素格式含有設(shè)備繪圖界面的屬性,這些屬性包括繪圖界面是用RGBA模式還是顏色表模式,像系緩存是用單緩存還是雙緩存,以及顏色位數(shù)、深度緩存和模板緩存所用的位數(shù),還有其他一些屬性信息。

(1)像素格式結(jié)構(gòu)

每個(gè)OpenGL顯示設(shè)備都支持一種指定的像素格式號。一般用一個(gè)名為PIXELFORMATDESCRIPTOR的結(jié)構(gòu)來表示某個(gè)特殊的像素格式,這個(gè)結(jié)構(gòu)包含26個(gè)屬性信息。Win32定義的PIXELFORMATDESCRIPTOR如下所示:

typedef struct tagPIXELFORMATDESCRIPTOR

{

WORD nSize;

WORD nVersion;

DWORD dwFlags;

BYTE iPixelType;

BYTE cColorBits;

BYTE cRedBits;

BYTE cRedShift;

BYTE cGreenBits;

BYTE cGreenShift;

BYTE cBlueBits;

BYTE cBlueShift;

BYTE cAlphaBits;

BYTE cAlphaShift;

BYTE cAccumBits;

BYTE cAccumRedBits;

BYTE cAccumGreenBits;

BYTE cAccumBlueBits;

BYTE cAccumAlphaBits;

BYTE cDepthBits;

BYTE cStencilBits;

BYTE cAuxBuffers;

BYTE ilayerType;

BYTE bReserved;

DWORD dwLayerMask;

DWORD dwVisibleMask;

DWORD dwDamageMask;

}

PIXELFORMATDESCRIPTOR,

*PPIXELFORMATDESCRIPTOR,

FAR *LPPIXELFORMATDESCRIPTOR;

(2)初始化PIXELFORMATDESCRIPTOR結(jié)構(gòu)

PIXELFORMATDESCRIPTOR中每個(gè)變量值的具體含義和設(shè)置可以參

考有關(guān)資料,下面舉出一個(gè)PIXELFORMATDESCRIPTOR初始化例子來簡要

說明相關(guān)變量的意義。定義PIXELFORMATDESCRIPTOR結(jié)構(gòu)的pfd如下:

PIXELFORMATDESCRIPTOR pfd=

{

sizeof(PIXELFORMATDESCRIPTOR),//結(jié)構(gòu)尺寸

l, //結(jié)構(gòu)版本

PFD-DRAW-TO-WINDOWS|PFD-SUPPORT-OPENGL,//特性標(biāo)志

PFD-TYPE-RGBA,//RGBA模式

24,//24位顏色

0,0,0,0,0,0,//不涉及這些屬性

0,0,0,0,0,0,0,//沒有alpha緩存和累積緩存

32,//32位深度緩存

0,0,//沒有模板緩存和輔助緩存

PFD-MAIN-PLANE,//主層類型

0,//保留結(jié)構(gòu)數(shù)

0,0,0,//不支持結(jié)構(gòu)數(shù)

};

在這個(gè)結(jié)構(gòu)里,前兩個(gè)變量的含義十分明顯。第三個(gè)變量dwFlags的值是PFD-DRAW-TO-WINDOWS|PFD-SUPPORT-OPENGL,表明應(yīng)用程序使用OpenGL函數(shù)來繪制窗口,第四個(gè)表明當(dāng)前采用RGBA顏色模式,第五個(gè)采用24位真彩色,即1.67千萬種顏色,如果是256色系統(tǒng)則自動實(shí)現(xiàn)顏色抖動;因?yàn)闆]有使用alpha緩存和累積緩存,所以從變量cAlphaBits到cAccumAlphaBits都設(shè)置為0;深度緩存設(shè)置為32位,這個(gè)緩存能解決三維場景的消隱問題;變量cAuxBuffers設(shè)置為0,在Windows NT下不支持輔助緩存;Windows NT下針對OpenGL變量ilayerType只能設(shè)置為PFD-MAIN-PLANE,但其他平臺也許支持PFD-OVERLAY-PLANE或PFD-UNDERLA

Y-PLANE;接下來bReserved變量只能設(shè)為0,而最后三個(gè)變量Windows NT都不支持,故全設(shè)置成0。

(3)設(shè)置像素格式

當(dāng)初始化PIXELFORMATDESCRIPTOR結(jié)構(gòu)后,就要設(shè)置像素格式。下面幾段從VC++ 2.0的MFC程序中摘出的代碼就是設(shè)置像素格式的方式。代碼如下:

CClientDC clientDC(this);

int pixelFormat=ChoosePixelFormat(clientDC.m-hDC,&pfd);

BOOL result=SetPixelFormat(clientDC.m-hDC,pixelFormat,&p

fd);

第一行語句說明得到一個(gè)應(yīng)用窗口客戶區(qū)的設(shè)置描述表。

第二行調(diào)用ChoosePixelFormat()選擇一個(gè)像素格式,并將像素格式索引號返回給pixelFormat變量;函數(shù)中第一個(gè)參數(shù)是選擇像素格式的設(shè)置描述表的句柄,第二個(gè)參數(shù)是PIXELFORMATDESCRIPTOR結(jié)構(gòu)的地址。如果調(diào)用失敗則返回0;否則返回像素格式索引號。

第三行調(diào)用SetPixelFormat()設(shè)置像素格式,三個(gè)參數(shù)分別是設(shè)備描述表的句柄、像素格式索引號和PIXELFORMATDESCRIPTOR結(jié)構(gòu)的地址。如果調(diào)用成功則返回TURE;否則返回FALSE。

3.創(chuàng)建圖形操作描述表

正如前所述,必須創(chuàng)建圖形操作描述表并啟用它后,才能調(diào)用OpenGL函數(shù)在窗口內(nèi)進(jìn)行各種圖形操作。一般說來,利用MFC中增補(bǔ)的管理圖形操作描述表方法來編程比較方便。下面舉一例:

int CopenglView:: OnCreate(LPCREATESTRUCT lpCreateStruct

)

{

if(CView::OnCreate(lpCreateStruct)==-1)return -1;

// TODO: Add your specialized creation code here

PIXELFORMATDESCRIPTOR pfd=

{

sizeof(PIXELFORMATDESCRIPTIOR),

//structure sizel,

//structure version number

PFD-DRAW-TO-WINDOWS|PFD-SUPPORT-OPENGL,//property flags

PFD-TYPE-RGBA, //RGBA mode

24, //24bit color

0,0,0,0,0,0, //not concerned with these

0,0,0,0,0,0,0, //no alpha or accum buffer

32, // 32bit depth buffer

0,0, //no stencil or aux buffer

PFD-MAIN-PLANE, //main layer type

0, //reserved

0,0,0 //unsupported

};

CClientDC clientDC(this);

int pixelFormat=ChoosePixelFormat(clientDC.m-hDC,&pfd);

BOOL result=SetPixelFormat(clientDC.m-hDC,pixelFormat,&p

fd);

m-hRC=wglCreateContext(clientDC.m-hRC);

return 0;

}

void COpenglView::onDraw(CDC *pDC)

{

COpenglDoc* pDoc=GetDocument();

ASSERT-VAILD(pDoc);

//TODO: add draw code for native data here

wglMakeCurrent(pDC->m-hDC,m-hDC);

DrawMyOpenGL();

wglMakeCurrent(pDC->m-hDC,NULL);

}

void COpenglView::OnDestroy()

{

CView::OnDestroy();

// TODO: Add your message handler code here

wglDeleteContext(m-hRC);

}

在程序中,響應(yīng)WM-CREATE消息的函數(shù)OnCreate()僅僅只創(chuàng)建一個(gè)臨時(shí)的DC,當(dāng)函數(shù)返回時(shí),它自動刪除。因此,在這里不可能啟用圖形操作描述表。當(dāng)應(yīng)用程序的窗口內(nèi)容得到更新后,MFC就調(diào)用OnDraw()函數(shù),在此啟用圖形操作描述表wglMakeCurrent()有效。然后,再調(diào)用自己用OpenGL寫的繪圖函數(shù)DrawMyOpenGL(),則程序就可進(jìn)行任意的OpenGL圖形操作了。當(dāng)繪圖結(jié)束后,再調(diào)用一次wglMakeCurrent(),但第二個(gè)參數(shù)設(shè)為NULL,意思是啟用圖形操作描述表無效,關(guān)閉圖形操作描述表。最后,當(dāng)應(yīng)用程序結(jié)束時(shí),MFC就調(diào)用OnDestroy()函數(shù)來響應(yīng)

第3篇:程序設(shè)計(jì)范文

關(guān)鍵詞:循環(huán)程序;循環(huán)控制;流程圖;算法;程序語句;VF QBASIC

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2010)08-1906-02

On Recycling Program Design

LIU Li-ming

(Zunyi City, Guizhou Province Vocational High Schools, Zunyi 563000, China)

Abstract: Loop structure is a structured program design, one of the basic structure of the three. but it's also the basis for program design. However, for the beginners, Loop structure is difficult to master, for it's different from the daily habit of thinking of the human mind. In this paper, VF, and QBASIC program design cycle described examples of the cycle of programming languages have in common. Therefore, in the course of study must first correctly understand the language loop statement, and then to prepare specific algorithm, find out the loop control the conditions under which to draw flowcharts, programming statement, on the machine to debug.

Key words: circulation procedures; loop control; flow algorithm; algorithm; program statements; VF QBASIC

順序、分支、循環(huán)是結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),所以在高級語言程序設(shè)計(jì)課程中,掌握這三種結(jié)構(gòu)是學(xué)好程序設(shè)計(jì)的基礎(chǔ)。而循環(huán)結(jié)構(gòu)是這三者中最復(fù)雜的一種結(jié)構(gòu),幾乎所有的程序都離不開循環(huán)結(jié)構(gòu),但是對于那些沒有經(jīng)驗(yàn)的初學(xué)者來說,難度卻不小。特別是遇到更加復(fù)雜的多重循環(huán)程序,以及分支程序嵌套在一起就更加難以理解。因此這也是計(jì)算機(jī)等級考試高級語言程序設(shè)計(jì)的一大難點(diǎn)。

1 循環(huán)程序的基本原理

程序是能夠完成一定任務(wù)的命令的有序集合。存放程序的文件稱為程序文件。例如:我們要讓計(jì)算機(jī)屏幕顯示一句話:“I like computer!”。以QBASIC高級語言為例,編寫相應(yīng)的程序語句如下:

PRINT “I like computer!”

然后執(zhí)行它,就能得到相應(yīng)的屏幕顯示。然而在現(xiàn)實(shí)生活中往往會遇到一些按規(guī)律重復(fù)執(zhí)行的問題,例如:要在計(jì)算機(jī)屏幕上顯示100行:“I like computer!”,采用循環(huán)結(jié)構(gòu)設(shè)計(jì)將使程序簡練,減少程序的行數(shù),從而節(jié)省運(yùn)行時(shí)占用的內(nèi)存,因此引入并運(yùn)用了循環(huán)程序設(shè)計(jì)。通過相應(yīng)的循環(huán)程序設(shè)計(jì)語句讓PRINT “I like computer!”循環(huán)執(zhí)行100次就行了,編寫程序語句如下:

10 FOR I=1 TO 100 SETP 1

20 PRINT “I like computer!”

30 NEXT I

程序中采用了循環(huán)語句格式:FOR= TO STEP

NEXT

功能:這個(gè)語句指定循環(huán)變量取一系列數(shù)值,并且對循環(huán)變量的每一個(gè)值把循環(huán)體執(zhí)行一次。初值表達(dá)式、終值表達(dá)式和步長值表達(dá)式都是算術(shù)表達(dá)式。步長值可以是正數(shù)(叫做遞增循環(huán)),也可以是負(fù)數(shù)(叫做遞減循環(huán))。

結(jié)合圖1分析,該循環(huán)程序的控制過程是這樣的,令I(lǐng)的取值范圍為1到100,先將變量I賦值為1(即I=1),I的值屬于1到100的取值范圍(即滿足循環(huán)條件),執(zhí)行PRINT “I like computer!”一次;然后I的值按步長數(shù)1依次遞增,從而反復(fù)執(zhí)行PRINT “I like computer!”語句100次。

從分析不難發(fā)現(xiàn)循環(huán)程序執(zhí)行的核心問題就是判斷循環(huán)條件,即根據(jù)對循環(huán)條件的判斷來確定是否進(jìn)入循環(huán)體以及執(zhí)行循環(huán)體語句的次數(shù)。各種高級語言程序設(shè)計(jì)的基本原理都相同,即當(dāng)所給定的循環(huán)條件為真時(shí),就反復(fù)執(zhí)行其循環(huán)體(命令組);當(dāng)條件為假時(shí),則終止其循環(huán)體,而去執(zhí)行其后繼命令。

2 如何學(xué)習(xí)循環(huán)程序設(shè)計(jì)

2.1 循環(huán)程序語句

各種高級語言都有相應(yīng)的類似的循環(huán)程序語句。例如前面介紹的QBASIC中的:

FOR= TO STEP

NEXT

等循環(huán)語句。

又如VF中的:

DO WHILE

[命令組]

ENDDO

等循環(huán)語句,初學(xué)者在學(xué)習(xí)時(shí)首先要搞清楚這些循環(huán)語句的含義、特點(diǎn)和用法。例如VF中與DO WHILE循環(huán)語句配對的是ENDDO;與FOR循環(huán)語句配對的是ENDFOR。不能混淆使用,也不能將忘記書寫。

一般每種語言都有多種循環(huán)語句,要對它們進(jìn)行比較。在一些具體運(yùn)用中采用恰當(dāng)?shù)难h(huán)語句可能會使循環(huán)程序更加簡潔明了。

2.2 流程圖

學(xué)習(xí)循環(huán)程序設(shè)計(jì)首先要學(xué)會看流程圖(亦稱程序框圖)。就是用一些簡單的圖形符號和文字說明,直觀地描述程序的處理步驟。程序流程圖不僅有助于程序設(shè)計(jì),而且也為閱讀、分析程序帶來方便。

2.3 算法

在具體的循環(huán)程序設(shè)計(jì)中遇到的問題往往比較復(fù)雜,因此在設(shè)計(jì)前應(yīng)該認(rèn)真分析,要設(shè)定哪些變量,寫出哪些計(jì)算公式,擬出解決問題的思路。

例:假定要求從鍵盤上依次輸入三個(gè)數(shù),求這三個(gè)數(shù)之和。

編寫算法:第一步:存和的內(nèi)存變量S清0。第二步:反復(fù)執(zhí)行下列操作3次,輸入一個(gè)數(shù)并存入X,計(jì)算S=S+X。第三步:輸出S。第四步:結(jié)束。

2.4 編寫語句

學(xué)習(xí)編寫循環(huán)程序之前應(yīng)該多閱讀一些相關(guān)的典型的程序語句,從易到難循序漸進(jìn)。編寫語句時(shí)應(yīng)該充分的結(jié)合流程圖來展開,要根據(jù)擬定的算法來設(shè)計(jì)循環(huán)條件。

3 循環(huán)程序的應(yīng)用

以VF程序設(shè)計(jì)為例,假定要求從鍵盤輸入一個(gè)郵政編碼,在“考生檔案”庫文件中查找。一個(gè)也查不到,則顯示“無此郵政編碼”。否則,每查到一個(gè),就顯示該考生的姓名與工作單位。直到全部查完為止。

過程分析:① 鍵盤輸入待查郵編并存入內(nèi)存變量YZBM;② 打開庫文件查詢郵編;③ 用EOF()函數(shù)進(jìn)行循環(huán)控制,即通過查找后是否到達(dá)文件尾作為條件來進(jìn)行循環(huán)控制;④ 如EOF()為真則退出循環(huán),并顯示“無此郵編”;⑤ 如EOF()假則循環(huán)顯示該考生的姓名、工作單位,然后繼續(xù)查找直到EOF()為真時(shí)停止查找并顯示“查找完畢”。

程序流程圖如圖2所示,其循環(huán)結(jié)構(gòu)由三部分組成。① 設(shè)置初值。包括循環(huán)操作中的初值和控制循環(huán)的初值兩部分,通過查找郵政編碼獲得EOF()函數(shù)的值是控制循環(huán)用的初值。② 循環(huán)的實(shí)際操作。這部分是循環(huán)中要反復(fù)執(zhí)行的操作,同是包括控制循環(huán)條件的修改,又叫“循環(huán)體”,輸出姓名和工作單位是循環(huán)操作,繼續(xù)查找既是循環(huán)操作的一部分,又是修改控制循環(huán)條件。③ 循環(huán)控制部分的核心是一個(gè)條件判斷,即EOF()函數(shù)的值是 “假”開始循環(huán),值為“真”退出循環(huán)。

程序設(shè)計(jì)如下:

ACCEPT "請輸入待查的郵政編碼(5位整數(shù)):"TO YZBM

USE 考生檔案

LOCATE ALL FOR 郵政編碼=YZBM

IF EOF()

?"經(jīng)查找,所有考生中無此郵政編碼!"

ELSE

DO WHILE .NOT. EOF()

?"姓名:"+姓名+SPACE(4)+"通訊地址:"+通訊地址

CONTINUE

ENDDO

?"已經(jīng)查完了!"

ENDIF

USE

在循環(huán)程序設(shè)計(jì)中一定要注意控制循環(huán)次數(shù)的控制,否則循環(huán)程序?qū)o法結(jié)束,即陷入“死循環(huán)”。通常的辦法有“計(jì)數(shù)控制”,“條件控制”。在本例中就采用了“條件控制”。

4 多重循環(huán)

一個(gè)循環(huán)語句中可以包含另一個(gè)循環(huán)語句,這種結(jié)構(gòu)叫做循環(huán)語句“嵌套”,在外層的叫外循環(huán),在內(nèi)層的叫內(nèi)循環(huán)。多重循環(huán)結(jié)構(gòu)的特點(diǎn)是:外層變一次,內(nèi)層變一遍。

比較典型的運(yùn)用例子就是設(shè)計(jì)打印乘法九九表的程序,即1*1=1,1*2=2,……,9*9=81。首先考慮如何打印1*1=1,1*2=2……,1*9=9,這用單循環(huán)很容易就能實(shí)現(xiàn)。但是對于整個(gè)程序的設(shè)計(jì)就要使用多重循環(huán)了。被乘數(shù)和乘數(shù)分別用A和B表示,A的值從1增加到9,B的值從1增加到9,每次都增加1,其乘積用P表示。每個(gè)A值都要使B從1變化到9,然后打印出相應(yīng)的乘積。用VF設(shè)計(jì)主要程序語句如下:

A=1

DO WHILE A

B=1

DO WHILE B

P=A*B

? A,"*",B,"=",P

B=B+1

ENDDO

A=A+1

ENDDO

5 結(jié)束語

許多問題的求解歸結(jié)為重復(fù)執(zhí)行的操作,比如數(shù)值計(jì)算中的方程迭代求根,非數(shù)值計(jì)算中的對象遍歷。重復(fù)執(zhí)行就是循環(huán)。重復(fù)執(zhí)行不是簡單地重復(fù),每次重復(fù),操作的數(shù)據(jù)(狀態(tài)、條件)都可能發(fā)生變化。重復(fù)的動作是受控制的,因此循環(huán)程序設(shè)計(jì)的要點(diǎn)就是要做好循環(huán)控制的設(shè)計(jì)。

參考文獻(xiàn):

[1] 林卓然.BASIC語言簡明教程[M].廣州:中山大學(xué)出版社,1995.

[2] 遲成文.全國計(jì)算機(jī)考級考試教程(二級)[M].北京:電子工業(yè)出版社,1997.

第4篇:程序設(shè)計(jì)范文

一、立項(xiàng)

1.對預(yù)防調(diào)查對象的理解

一是“可能引發(fā)職務(wù)犯罪的隱患、非規(guī)范職務(wù)行為”,應(yīng)指未然的職務(wù)犯罪;二是“職務(wù)犯罪衍化的宏觀和微觀因素”,應(yīng)指已然的職務(wù)犯罪背后的深層次原因。這里的已然職務(wù)犯罪一般是指一個(gè)整體深層次因素引發(fā)的類案、行業(yè)、領(lǐng)域群體性職務(wù)犯罪等,而非個(gè)案。對于自偵部門查處的個(gè)案一般沒有必要預(yù)防調(diào)查,因?yàn)橥ǔ_@些案件經(jīng)自偵部門偵查后,其漏洞和隱患問題已基本查清,無需再重復(fù)勞動,直接可以利用現(xiàn)有的資料進(jìn)行案例剖析、發(fā)出檢察建議或開展后續(xù)其他預(yù)防工作。

2.預(yù)防調(diào)查的啟動條件

一是預(yù)防部門在開展預(yù)防咨詢、警示教育等預(yù)防活動中,發(fā)現(xiàn)或經(jīng)群眾反映有關(guān)單位在制度上、管理上存在易發(fā)職務(wù)犯罪漏洞和潛在隱患問題的。如2008年我省漳州市龍文區(qū)檢察院根據(jù)新聞媒體報(bào)道反映的市區(qū)路面超載車輛增多,造成多處路段損壞等現(xiàn)象,分析可能存在公路監(jiān)管部門執(zhí)法不到位等瀆職問題。啟動預(yù)防調(diào)查程序后,及時(shí)地發(fā)現(xiàn)有關(guān)部門涉嫌瀆職犯罪線索,移送自偵部門,從中立案6件,同時(shí)還通過開展預(yù)防警示教育,協(xié)助公路局及時(shí)修復(fù)路段損壞,加大超載車輛的打擊力度,促進(jìn)了依法行政。

二是偵查部門經(jīng)初查不具備立案條件,但反映出有關(guān)單位在制度、管理上存在易發(fā)職務(wù)犯罪漏洞和潛在隱患問題,經(jīng)分管檢察長交辦或上級檢察院批辦的。如2009年福建省廈門市海滄區(qū)對廈門第一農(nóng)場下屬的山邊洪管理區(qū)涉及征地賠償款的糾紛進(jìn)行預(yù)防調(diào)查,選擇了控申部門經(jīng)初查不具備立案條件,但反映出該農(nóng)場在制度、管理上存在易發(fā)職務(wù)犯罪漏洞和潛在隱患問題的題材進(jìn)行立項(xiàng)調(diào)查。

三是某一行業(yè)或領(lǐng)域職務(wù)犯罪高發(fā)或呈上升趨勢,需黨委、政府或主管部門采取相應(yīng)預(yù)防對策的。如2009年,我省寧德市兩級檢察機(jī)關(guān)查處機(jī)動漁船燃油補(bǔ)貼系列職務(wù)犯罪案件40件,涉及作案人員57人,包括海洋與漁業(yè)部門工作人員、鄉(xiāng)鎮(zhèn)干部、村委成員和漁民等,案值高達(dá)707.5萬元,影響很大。寧德市檢察院專門成立預(yù)防調(diào)查工作領(lǐng)導(dǎo)小組,采取查閱案卷、召開案情分析會、詢問犯罪嫌疑人犯罪的主觀動因、向漁民發(fā)放問卷調(diào)查等形式,深入7個(gè)市、縣(區(qū))兩級海洋漁業(yè)、財(cái)政部門,了解國家“油補(bǔ)”政策出臺的背景、意義及存在問題,形成《“油補(bǔ)”案件情況調(diào)查報(bào)告》和《“油補(bǔ)”案件引發(fā)的對國家油價(jià)補(bǔ)貼政策的思考及采取的防范對策》,并向市政府及海洋漁業(yè)的主管部門發(fā)出檢察建議。

有上述情況之一,預(yù)防部門可以組織人員和力量確定承辦,收集現(xiàn)有的相關(guān)材料,組織預(yù)防部門進(jìn)行討論開展預(yù)防調(diào)查的可行性和必要性,然后再由預(yù)防部門的承辦人填寫《預(yù)防調(diào)查立項(xiàng)審批表》,預(yù)防部門負(fù)責(zé)人簽署意見,報(bào)主管檢察長決定,并報(bào)上一級人民檢察院預(yù)防部門備案。

二、組織調(diào)查

1.制作調(diào)查方案或提綱

預(yù)防調(diào)查立項(xiàng)后,由預(yù)防部門負(fù)責(zé)同志組織承辦人和其他人員,根據(jù)已掌握的有關(guān)材料,研究制定調(diào)查方案或調(diào)查提綱,分管檢察長也可以參與討論。調(diào)查方案或調(diào)查提綱要列明:調(diào)查的來源或現(xiàn)有資料的總體評估分析、調(diào)查需要采取的措施、各承辦人的任務(wù)分配、調(diào)查所需的期限和步驟,調(diào)查要達(dá)到的預(yù)期效果等等,并將討論情況記錄在案,參與討論的人員要簽名。

2.組織調(diào)查的方式

組織調(diào)查要按照制定的預(yù)防調(diào)查方案分步驟開展,當(dāng)然調(diào)查方案或調(diào)查提綱在實(shí)際的調(diào)查中可以有所調(diào)整。在實(shí)踐中可以采取以下方式:與有關(guān)單位召開座談會,相互通報(bào)有關(guān)情況,了解具體工作的流程;向有關(guān)人員了解、核實(shí)相關(guān)情況;查閱、調(diào)取為預(yù)防建議和糾正違法意見提供依據(jù)的相關(guān)資料以及用于調(diào)查分析的具體事件、項(xiàng)目和問題的文件資料等;邀請專家對一些專業(yè)性的工作提供咨詢,為預(yù)防調(diào)查提供專業(yè)指導(dǎo)和幫助;走訪、問卷調(diào)查、聘請預(yù)防聯(lián)絡(luò)員以及訊問犯罪嫌疑人(包括服刑犯);復(fù)印案卷等一系列的有助于了解分析的調(diào)查方式。

3.調(diào)查需要注意的事項(xiàng)

在組織調(diào)查活動中,應(yīng)當(dāng)注意三個(gè)方面事項(xiàng):一是對外開展預(yù)防調(diào)查時(shí),必須由兩名以上檢察人員持介紹信并出示檢察人員工作證;二是調(diào)查中向有關(guān)人員了解、核實(shí)情況,查閱、調(diào)取資料前,應(yīng)當(dāng)征得有關(guān)單位和人員的同意,并在被調(diào)查單位的紀(jì)檢監(jiān)察工作人員配合下進(jìn)行。三是預(yù)防調(diào)查不同于偵查,不能對被調(diào)查人采取拘傳、拘留和其他任何限制人身自由的強(qiáng)制措施,不得進(jìn)行訊問、搜查,凍結(jié)存款、匯款等偵查手段,調(diào)查場所是單位或被調(diào)查人所在地,嚴(yán)禁將被調(diào)查對象帶入檢察院。

三、調(diào)查結(jié)果處置

1.發(fā)現(xiàn)相關(guān)職務(wù)犯罪線索

根據(jù)最高人民檢察院《關(guān)于推進(jìn)職務(wù)犯罪偵查和預(yù)防一體化工作機(jī)制建設(shè)的指導(dǎo)意見》的要求:“預(yù)防部門應(yīng)當(dāng)在預(yù)防工作中注意發(fā)現(xiàn)和受理案件線索,經(jīng)審查,認(rèn)為有初查必要的,應(yīng)當(dāng)及時(shí)移送偵查部門,并向舉報(bào)中心備案,偵查部門立案的,應(yīng)向預(yù)防部門反饋。”承辦人應(yīng)當(dāng)填寫《預(yù)防部門職務(wù)犯罪線索處置表》,及時(shí)移送偵查部門。

2.發(fā)現(xiàn)有違法違紀(jì)行為或涉嫌普通刑事案件

根據(jù)有關(guān)規(guī)定將相關(guān)線索和材料移交有關(guān)單位紀(jì)檢監(jiān)察部門或公安機(jī)關(guān)處理。

3.剖析犯罪原因,形成預(yù)防報(bào)告

完成對某一行業(yè)或領(lǐng)域職務(wù)犯罪原因的剖析和預(yù)防對策的研究,形成有分析、有對策的詳細(xì)預(yù)防調(diào)查報(bào)告。根據(jù)《最高人民檢察院關(guān)于實(shí)行懲治和預(yù)防職務(wù)犯罪年度報(bào)告制度的意見》,形成專項(xiàng)預(yù)防報(bào)告,報(bào)有關(guān)行業(yè)的主管部門和有關(guān)單位。

4.與發(fā)現(xiàn)存有職務(wù)犯罪的單位及時(shí)聯(lián)系

發(fā)現(xiàn)有關(guān)單位內(nèi)部機(jī)制不健全、管理混亂,明顯存在導(dǎo)致職務(wù)犯罪發(fā)生的機(jī)會和條件,需要有關(guān)方面采取預(yù)防措施的,與有關(guān)單位聯(lián)系溝通,開展必要的預(yù)防工作,如警示教育、發(fā)送預(yù)防職務(wù)犯罪檢察建議、糾正違法通知書等活動。

當(dāng)然上述四種情況可能并存。針對上述情況,承辦人要提出具體的處理意見,并制作《預(yù)防調(diào)查情況報(bào)告》,報(bào)預(yù)防部門負(fù)責(zé)人審核后,經(jīng)分管領(lǐng)導(dǎo)批準(zhǔn)。情況報(bào)告內(nèi)容主要包括:立項(xiàng)調(diào)查來源、主要問題、具體調(diào)查情況、調(diào)查結(jié)論、處理意見或建議以及承辦人、承辦日期等。若未發(fā)現(xiàn)以上四種情形的,立即終結(jié)預(yù)防調(diào)查工作,并將有關(guān)調(diào)查結(jié)果及時(shí)反饋被調(diào)查單位。

四、調(diào)查終結(jié)

1.調(diào)查終結(jié)的四種情形

預(yù)防調(diào)查情況報(bào)告的處置意見經(jīng)批準(zhǔn)后,一般在立項(xiàng)后的三個(gè)月內(nèi)完成。根據(jù)不同情況進(jìn)行處置后,相關(guān)單位落實(shí)并反饋的,預(yù)防調(diào)查可以終結(jié)。一是移送線索的,自偵部門已經(jīng)受理并立案;二是發(fā)現(xiàn)有違法違紀(jì)行為或涉嫌普通刑事案件的,相關(guān)單位紀(jì)檢監(jiān)察部門或公安機(jī)關(guān)已接收并反饋的;三是預(yù)防調(diào)查專項(xiàng)報(bào)告呈送后行業(yè)主管部門或相關(guān)單位引起重視并被采納的;四是有關(guān)單位內(nèi)部制度得到完善,取得預(yù)防效果的。

2.制作《預(yù)防調(diào)查終結(jié)報(bào)告》

根據(jù)上述完成情況,承辦人應(yīng)當(dāng)制作《預(yù)防調(diào)查終結(jié)報(bào)告》工作文書。列明立項(xiàng)調(diào)查來源、具體調(diào)查情況、承辦人處理意見或建議、主管檢察長意見、處理意見落實(shí)情況、預(yù)防調(diào)查成效綜述等?!额A(yù)防調(diào)查終結(jié)報(bào)告》一式二份,一份立卷歸檔,一份報(bào)送上一級人民檢察院預(yù)防部門備案。

第5篇:程序設(shè)計(jì)范文

【關(guān)鍵詞】Java程序設(shè)計(jì);教學(xué)探索;教學(xué)方法

隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,Java以其簡單、面向?qū)ο?、穩(wěn)定、與平臺無關(guān)、多線程,動態(tài)等特點(diǎn)成為軟件開發(fā)領(lǐng)域的主流程序設(shè)計(jì)語言之一,也成為高等院校計(jì)算機(jī)專業(yè)教學(xué)體系中一門重要的主干課程。但是并不是所有學(xué)生都能學(xué)好,這不僅僅是學(xué)生的問題,也取決于教師如何完成該課程的教學(xué)工作。學(xué)生無興趣,學(xué)不會,感覺壓力很大,種種現(xiàn)象反映出我們的教學(xué)工作出了問題。我們需要尋求解決問題的方法,提教學(xué)效果。

一、Java程序設(shè)計(jì)課程教學(xué)中存在的問題及原因

傳統(tǒng)教學(xué)過程中,任課教師一般首先會按照教材對知識點(diǎn)進(jìn)行講解,然后編寫程序分析、演示所講知識點(diǎn),學(xué)生只是跟隨老師思路,被動接受,學(xué)生不會主動去思考,去尋求解決問題的辦法,時(shí)間一長就喜歡接受教師寫好的現(xiàn)成程序,當(dāng)自己獨(dú)立去解決實(shí)際問題時(shí),就腦子空空,難以應(yīng)對。產(chǎn)生這些現(xiàn)象的原因主要有以下幾點(diǎn):

1.知識點(diǎn)沒有真正掌握

在學(xué)生的學(xué)習(xí)過程中,隨著課程的逐步展開,學(xué)習(xí)了更多新的知識點(diǎn)后,就把以前學(xué)過的基本的語法規(guī)則遺忘了。當(dāng)程序中需要使用以往的知識點(diǎn)時(shí),就要不斷的去翻書尋找,如變量如何定義,語句控制的相關(guān)用法等等,而對具體用法含義沒有真正領(lǐng)悟。

2.在解決問題時(shí)編程方式和傳統(tǒng)思維方式存在差異

如變量的講解環(huán)節(jié),它的值是可隨著程序的調(diào)用而變化,具體的式子在傳統(tǒng)數(shù)學(xué)模式里是不成立。有些問題看上去很簡單,需要程序解決時(shí),又要循環(huán)又要中斷,就出現(xiàn)了整個(gè)思考過程要程序化。學(xué)生在剛開始學(xué)習(xí)程序時(shí),很難采用計(jì)算機(jī)的方式去解決問題,另外完全依附于教師,教一點(diǎn)學(xué)一點(diǎn),下課后就算結(jié)束了,從不自己獨(dú)立思考,沒有讓學(xué)生養(yǎng)成良好的編程習(xí)慣,從而僵化了學(xué)習(xí)模式。

3.隨著難度增加,學(xué)習(xí)興趣逐漸降低

學(xué)生初學(xué)時(shí)興趣一般都大,但是,隨著學(xué)習(xí)的深入,知識點(diǎn)難度的增加,學(xué)習(xí)的興趣和積極性就會逐漸削弱。當(dāng)新鮮感沒有的時(shí)候,就會感覺到程序設(shè)計(jì)枯燥、難懂,也就不去聽、不去學(xué)了。

4.學(xué)習(xí)目的不明確,教學(xué)與實(shí)踐脫節(jié)

很多學(xué)生學(xué)習(xí)目的不明確,不知道為何而學(xué),學(xué)了干什么,很多學(xué)生學(xué)習(xí)這門課緊緊為了修學(xué)分,雖然書本中的知識掌握的很好,但是僅僅能夠完成書本上的題目,忽略了實(shí)際軟件研發(fā)的經(jīng)驗(yàn)的積累,從而造成了教學(xué)與實(shí)踐的嚴(yán)重脫節(jié)。

針對以上問題,就需要授課教師改變自己的教學(xué)方法,探索新的教學(xué)理念,深入對Java程序設(shè)計(jì)進(jìn)行剖析,提高學(xué)生的學(xué)習(xí)興趣和動手能力,真正感受到程序設(shè)計(jì)的魅力。

二、教學(xué)改進(jìn)措施

1.增加教學(xué)環(huán)節(jié)中實(shí)訓(xùn)課時(shí)

為了使學(xué)生能夠掌握所學(xué)的知識點(diǎn),靈活運(yùn)用去解決實(shí)際問題,同時(shí)培養(yǎng)良好的團(tuán)隊(duì)意識,激發(fā)自主創(chuàng)新能力,這就要求學(xué)生不能只停留在學(xué)的層面上,而要進(jìn)一步達(dá)到會的深度。為了使學(xué)生真正作到學(xué)會并靈活運(yùn)用這個(gè)目標(biāo),在教學(xué)上就應(yīng)該加大實(shí)踐操作的力度,要求教師形成一個(gè)從基本知識講解到實(shí)踐動手操作的指導(dǎo)團(tuán)隊(duì)模式。在進(jìn)行課程教學(xué)的學(xué)期開始,就要求主講教師根據(jù)教學(xué)的具體內(nèi)容結(jié)合學(xué)生平時(shí)學(xué)習(xí)效果來設(shè)計(jì)適當(dāng)?shù)恼n程階段性項(xiàng)目,在學(xué)生上機(jī)操作實(shí)現(xiàn)的整個(gè)過程中對知識點(diǎn)進(jìn)行運(yùn)用,從而加深其印象。教師在指導(dǎo)的過程中,在解答專業(yè)知識點(diǎn)的同時(shí)要注重引導(dǎo)培養(yǎng)學(xué)生的創(chuàng)新自學(xué)能力。在必要時(shí)可根據(jù)學(xué)生的個(gè)性化要求進(jìn)行分組,實(shí)現(xiàn)不同的項(xiàng)目開發(fā)與制作。這樣就能夠增加學(xué)生的自信及提高對課程的興趣程度。教師在課堂上的知識點(diǎn)講解及實(shí)驗(yàn)實(shí)訓(xùn)的項(xiàng)目實(shí)踐應(yīng)用,都要做到任務(wù)分工明確,安排科學(xué)合理,效果檢驗(yàn)及時(shí),這樣就能根據(jù)教學(xué)進(jìn)度,結(jié)合學(xué)生掌握情況,調(diào)整教學(xué)方式,達(dá)到良好的教學(xué)效果。

2.拓展新的教學(xué)方法

(1)引導(dǎo)學(xué)生發(fā)散思維

程序演示是Java程序設(shè)計(jì)課程授課環(huán)節(jié)的一個(gè)重要組成,在程序演示過程老師應(yīng)該提出問題,啟發(fā)學(xué)生思考,可提問不同的學(xué)生,對不同的解決方案進(jìn)行比較、分析,同時(shí)可穿插舊的知識點(diǎn),幫助學(xué)生加強(qiáng)記憶。在提問解決問題的過程中要注重循序漸進(jìn)的引導(dǎo),讓學(xué)生從不知道,到找到解決問題的辦法的過程中去思考,培養(yǎng)分析問題、解決問題的能力,同時(shí)針對該問題進(jìn)行拓展,提出新的要求,從而達(dá)到開闊學(xué)生視野,激發(fā)潛能,加強(qiáng)認(rèn)識新知識點(diǎn),穩(wěn)固已經(jīng)掌握的知識點(diǎn)的目的。

(2)要適時(shí)表揚(yáng)鼓勵

學(xué)生在學(xué)習(xí)的過程中,是否有興趣鉆進(jìn)去,取決于他是否取得進(jìn)步。假如自己已經(jīng)盡力學(xué)了,還是學(xué)不會,當(dāng)然就很受打擊,從而失去再堅(jiān)持下去的念頭。在教學(xué)的過程中,無論是提問,還是學(xué)生在問一些簡單的問題,就應(yīng)該適時(shí)捕捉他們?nèi)〉玫倪M(jìn)步,要肯定并鼓勵學(xué)生。讓學(xué)生有信心去學(xué),也就是說只要認(rèn)真的學(xué)習(xí),就能不斷的提高。這樣學(xué)生的興趣不斷加濃,就會更用功的去尋求進(jìn)步,得到同學(xué)們,尤其是教師的認(rèn)可。學(xué)生的好勝心,成就感,在教學(xué)中得到應(yīng)用,會取得意想不到的效果。

(3)故意設(shè)置錯誤啟發(fā)

教學(xué)過程中,程序的編寫及演示過程中,應(yīng)該把常見的錯誤給學(xué)生故意暴露出來。問題的解決通常情況下是出現(xiàn)了錯誤,尋求解決錯誤的有效方法。學(xué)生學(xué)習(xí)知識本就是要認(rèn)識錯誤,得到如何糾正錯誤的方法。這樣在代碼書寫及調(diào)試時(shí),制造矛盾,激發(fā)對錯誤的認(rèn)識并解惑。在容易出現(xiàn)錯誤的基本知識點(diǎn),無論是新學(xué)的還是已經(jīng)學(xué)過的,都要不失時(shí)機(jī)的在錯誤中提高。這樣往往可以加深學(xué)生的印象,以后假如出現(xiàn)類似情況,他們也很快能夠找到應(yīng)對的方法。也可以在處理錯誤時(shí)把錯誤多樣化,同樣的環(huán)境,不同的錯誤又該如何應(yīng)對,就起到了,舉一反三的教學(xué)效果。

(4)搭建課程總體項(xiàng)目

在課程開始就給同學(xué)們規(guī)劃一個(gè)大的項(xiàng)目,此后知識點(diǎn)的逐一展開就是逐步完成目標(biāo)的過程。學(xué)習(xí)的各個(gè)章節(jié)可設(shè)置局部的小項(xiàng)目,明確目標(biāo)。要遵循事物發(fā)展,由易到難,由小到大的規(guī)律,小項(xiàng)目進(jìn)行排序,前面完成的就是后面要出現(xiàn)的基礎(chǔ),依此一環(huán)扣一環(huán),逐層推進(jìn)最終實(shí)現(xiàn)課程的總體項(xiàng)目。不然學(xué)生總會在學(xué)習(xí)中產(chǎn)生顧慮,到底學(xué)了有什么用,又用到那里。這樣學(xué)生就會努力的向目標(biāo)進(jìn)發(fā),有針對性的去提高,否則造成盲目學(xué)習(xí),其效果可想而知。

(5)教學(xué)過程讓學(xué)生有輕松感

教師應(yīng)該在教學(xué)中,在講解單調(diào)的程序類課程時(shí)要有足夠的幽默感,這樣就能夠調(diào)動的課堂氣氛,使學(xué)生更專注于課程內(nèi)容。其實(shí)教學(xué)就是一門獨(dú)特的語言藝術(shù),教學(xué)就是在教與學(xué)的交流中進(jìn)行的,就要發(fā)揮教師的語言能力,感染和吸引學(xué)生,輕松的完成知識點(diǎn)的講解。往往有些教師就不注意這點(diǎn),只知道埋頭講知識點(diǎn),其實(shí)已經(jīng)喪失了教學(xué)良機(jī),也就談不上提高教學(xué)質(zhì)量了。

3.緊密與實(shí)踐相結(jié)合

老師在授課過程中,應(yīng)該讓學(xué)生知道自己所學(xué)知識的基本用途,了解該如何利用使用所學(xué)知識解決實(shí)際問題。高校老師在授課之余也擔(dān)負(fù)著科研工作,因此可以將科研工作中的實(shí)際案例作為教學(xué)案例進(jìn)行剖析、講解,甚至可以讓學(xué)生參加在研項(xiàng)目,通過大量實(shí)際案例的分析、代碼的編寫使學(xué)生更加深入的了解Java的運(yùn)行原理。

4.改變傳統(tǒng)課程考核方式

目前高等院校期終考試一般采用筆試進(jìn)行,這樣以來就使學(xué)生更注重理論的死記硬背,而不關(guān)心實(shí)際的應(yīng)用,即使不會用程序解決實(shí)際問題也不影響自己的課程成績。針對這種現(xiàn)象,應(yīng)當(dāng)引入上機(jī)考試的方式進(jìn)行考核??己藭r(shí),學(xué)生試題來源于試題庫,老師在制作試題庫時(shí)就可以更加注重學(xué)生分析問題、解決問題的能力考核,同時(shí),學(xué)生平時(shí)學(xué)習(xí)也會更加注重動手能力。平時(shí)課程課內(nèi)實(shí)訓(xùn)時(shí)就要灌輸學(xué)生學(xué)習(xí)要以用為主的思想,加強(qiáng)學(xué)生對知識點(diǎn)的理解和聯(lián)想,不斷提升學(xué)生的自覺能動性。

三、結(jié)束語

隨著計(jì)算機(jī)軟件技術(shù)的飛速發(fā)展,基于Java的行業(yè)應(yīng)用在社會各個(gè)領(lǐng)域扮演重要角色,因此高等院校Java程序設(shè)計(jì)課程教學(xué)工作就顯的尤為重要。這就要求教師和學(xué)生就必須達(dá)到教與學(xué)的緊密有效的結(jié)合,及時(shí)發(fā)現(xiàn)問題、解決問題,形成良性循環(huán),使學(xué)生真正做到知識的深刻理解、掌握以及靈活運(yùn)用,高效的完成教學(xué)任務(wù)。

參考文獻(xiàn)

[1]廖福保.Java語言課程項(xiàng)目教學(xué)探討[J].廣東農(nóng)工商職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(2):29—31.

[2]史岳鵬.高職高?!禞ava程序設(shè)計(jì)》課程項(xiàng)目驅(qū)動一體化教學(xué)模式研究[J].科技信息,2012(20):33—34.

[3]馬雪英,王桂平.以能力為導(dǎo)向的程序設(shè)計(jì)類課程教學(xué)體系[J].計(jì)算機(jī)教育,2011(4):74—78.

第6篇:程序設(shè)計(jì)范文

關(guān)鍵詞:VB程序設(shè)計(jì) 教學(xué)過程 能力

VB程序設(shè)計(jì)是大多高校必開的計(jì)算機(jī)基礎(chǔ)課程,在我校,VB也針對絕大多數(shù)院系開課。但由于課程比較枯燥難學(xué),學(xué)生對程序設(shè)計(jì)畏懼、對程序設(shè)計(jì)思想不理解等諸多原因,導(dǎo)致VB課程教學(xué)效果達(dá)不到預(yù)期效果。通過幾年的VB基礎(chǔ)教學(xué),我總結(jié)了一些教學(xué)經(jīng)驗(yàn),在此與大家分享。

一、好的開始是成功的一半,基礎(chǔ)必須打好

VB是一門面向?qū)ο?、事件?qū)動機(jī)制的程序設(shè)計(jì)課程,為了以后能更好、更深入地學(xué)習(xí),必須在開始時(shí)就讓學(xué)生理解和掌握面向?qū)ο蠛褪录?qū)動兩大特點(diǎn),這樣在后續(xù)學(xué)習(xí)中,學(xué)生才能合理地使用合適的對象和事件。

在具體教學(xué)過程中,我通過一個(gè)淺顯易懂的例子進(jìn)行詳細(xì)講解。比如“一行內(nèi)容在窗體左、右移動;移動兩種方法:手動和自動,當(dāng)自動時(shí),文字閃爍顯示”,程序運(yùn)行界面如圖1所示:

講解過程中,首先讓學(xué)生看清楚題意,看清題目的目的和要求,提示學(xué)生找出這個(gè)題目中要進(jìn)行操作的對象是什么,該對象該如何在窗口中體現(xiàn),對對象的操作是什么。得出的結(jié)論是要操作的對象是“一行內(nèi)容”,可以用一個(gè)能夠顯示文本的控件實(shí)現(xiàn),操作是“左、右移動”。然后運(yùn)行程序,通過演示程序運(yùn)行,讓學(xué)生們找出驅(qū)動結(jié)果顯示的事件是什么。結(jié)論是單擊“手動”和“自動”按鈕,才能得到相應(yīng)的結(jié)果。通過多個(gè)簡單例題的引導(dǎo),通過對學(xué)生提問,激發(fā)學(xué)生思考,讓學(xué)生真正掌握對象的含義和事件驅(qū)動的含義,并能在給出的題目中說出需要添加什么對象,用什么事件來驅(qū)動。掌握好了這些,就為以后的學(xué)習(xí)奠定了堅(jiān)實(shí)的基礎(chǔ)。

二、實(shí)例教學(xué)和任務(wù)驅(qū)動機(jī)制貫穿始終

VB語言內(nèi)容繁多,層次性較差,采用“案例引入,上機(jī)實(shí)踐,質(zhì)疑解惑”的方式,學(xué)生即學(xué)即練,上手快,興趣濃,有成就感。以VB的基礎(chǔ)內(nèi)容控件、控件屬性、事件和方法為例。單個(gè)講解的話很容易枯燥乏味,學(xué)生也難以真正體會其用途。教師應(yīng)設(shè)計(jì)一個(gè)綜合實(shí)例,實(shí)例應(yīng)注重知識的系統(tǒng)性、完整性和連貫性。我以學(xué)生最經(jīng)常接觸的“登錄界面”為例進(jìn)行了講解。程序運(yùn)行界面如圖1-4所示:

本實(shí)例包含兩個(gè)窗體,主要涉及窗體、標(biāo)簽、文本框、命令按鈕、圖片等控件,通過本例可以詳細(xì)講解每個(gè)控件適合用在什么情況,以及相應(yīng)屬性、事件和方法的使用。由于此例學(xué)生經(jīng)常遇到,所以可以很好地理解,便于掌握??丶庥^屬性如圖1-4設(shè)置。

窗體一的代碼如下:

Private Sub Command1_Click()‘按鈕單擊事件

Form1.Hide‘窗體一隱藏,hide方法的使用

Form2.Show ‘窗體二顯示,shoe方法的使用

End Sub

窗體二的代碼如下:

Private Sub Form_Load()

Command1.Enabled = False ‘按鈕可編輯屬性設(shè)置,

窗體剛

Command2.Enabled = False 加載時(shí)是不可編輯的

Picture1.Picture = LoadPicture(″e:\素材\002.bmp″)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) ‘文本框 接收輸入事件

Command1.Enabled = True ‘此時(shí)按鈕變?yōu)榭删庉?/p>

End Sub

Private Sub Command1_Click()

Picture1.Print ″用戶″; Spc(2); Text1.Text; Spc(2); ″登錄成功″

Command1.Enabled = False

Command2.Enabled = True

End Sub

Private Sub Command2_Click()

Picture1.Cls

Text1.Text = ″″

Text2.Text = ″″

Text1.SetFocus ‘文本框獲得焦點(diǎn)

End Sub

三、問題求解能力的培養(yǎng)

Gagné說過:“教育的中心目標(biāo)就是教會人們思考,運(yùn)用他們的理性,成為更好的問題解決者?!盫B的學(xué)習(xí)重點(diǎn)是程序設(shè)計(jì),是用它來編程實(shí)現(xiàn)生活中的問題,所以單純地靠講解一些實(shí)例是遠(yuǎn)遠(yuǎn)不夠的,關(guān)鍵是要培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題和解決問題的能力。我采取的方法是給出初始創(chuàng)意,讓學(xué)生給出擴(kuò)展功能及相關(guān)功能的解決思路,最終能夠轉(zhuǎn)換為程序。仍以上例為例,讓學(xué)生盡可能補(bǔ)充添加功能,并描述該用何方法,什么結(jié)構(gòu)等等來實(shí)現(xiàn),并以作業(yè)的形式交上來,然后課堂上給予總結(jié),上機(jī)讓學(xué)生實(shí)現(xiàn),并給予指導(dǎo)。上例可以添加的功能很多,如輸入不能為空,如果為空給出錯誤提示(分支語句和Msgbox的應(yīng)用);密碼校驗(yàn)功能(分支語句實(shí)現(xiàn));設(shè)置輸入次數(shù)不能超過3次(循環(huán)語句實(shí)現(xiàn))等等。這樣的方式使得學(xué)生能夠積極地思考,并能夠把理論知識同現(xiàn)實(shí)結(jié)合起來,從而促進(jìn)了學(xué)生更多問題的處理解決能力,形成了程序設(shè)計(jì)思維。

對一個(gè)題目要求用幾種方法來實(shí)現(xiàn),以此提高學(xué)生對程序的分析理解和舉一反三的綜合能力。例如,求1到100之間所有奇數(shù)的和。比較容易想到的是用For……Next循環(huán)語句實(shí)現(xiàn)。要求學(xué)生用Do While……Loop和Do……Loop While……來分別實(shí)現(xiàn),學(xué)生就必須考慮這三者之間的聯(lián)系和區(qū)別,以及各自的語句執(zhí)行特點(diǎn)、循環(huán)次數(shù)的控制和退出循環(huán)的方法等。這樣既使學(xué)生從多個(gè)角度考慮了問題,也對這三種循環(huán)結(jié)構(gòu)有了更深的理解。更進(jìn)一步,要求學(xué)生求1到N之間所有奇數(shù)的和。循環(huán)變量的終止值需用變量N來表示,因此需要在程序的前面增加一條定義變量N的語句,還需要使用InputBox語句在程序運(yùn)行的過程中將終止值輸入給變量N,這就要求學(xué)生能夠把前面所學(xué)的知識綜合起來運(yùn)用,學(xué)生的創(chuàng)新思維和綜合編程能力可以得到訓(xùn)練和明顯提高。

四、抓好上機(jī)實(shí)踐環(huán)節(jié)

上機(jī)是提高學(xué)生實(shí)踐和動手能力的關(guān)鍵,所以要嚴(yán)格要求。做法是嚴(yán)格上機(jī)制度,上機(jī)表現(xiàn)直接跟成績掛鉤。學(xué)生自主意識較差,如果不明確布置任務(wù),他們就會渾水摸魚,上機(jī)無事可做,所以每次必須要詳細(xì)分配任務(wù),并且任務(wù)要具備趣味性、應(yīng)用性和綜合性,由易到難、由簡到繁,充分調(diào)動他們的上機(jī)主動性和自我發(fā)揮能力。并且要鼓勵學(xué)生積極提問、互相幫助,耐心給學(xué)生指導(dǎo),充分利用好每一次上機(jī)課。

第7篇:程序設(shè)計(jì)范文

關(guān)鍵詞:程序設(shè)計(jì) 教學(xué) 算法

程序設(shè)計(jì)是我國高校各專業(yè)學(xué)生必修的一門核心課程,該課程的教學(xué)目的是使學(xué)生掌握程序設(shè)計(jì)的基本方法和理論,應(yīng)用某一程序設(shè)計(jì)語言編寫具體的程序。程序設(shè)計(jì)的教學(xué)質(zhì)量將影響到學(xué)生的程序設(shè)計(jì)能力,影響到學(xué)生創(chuàng)新思維的培養(yǎng)。

一、程序設(shè)計(jì)課程教學(xué)現(xiàn)狀

“程序設(shè)計(jì)”課程長期沿襲傳統(tǒng)教學(xué)模式,即以一種高級語言的語句體系為脈絡(luò)展開教學(xué),詳細(xì)地講解其語句、語法甚至一些細(xì)節(jié)內(nèi)容,學(xué)生每學(xué)習(xí)一個(gè)語句需要做一些與該語句有關(guān)的習(xí)題。課程枯燥無味,學(xué)生學(xué)習(xí)積極性不高,很少動手實(shí)踐。課程學(xué)完后,學(xué)生除了學(xué)到一些呆板的語句外,收獲甚微。

1.理論基礎(chǔ)薄弱

有些教師過分重視程序設(shè)計(jì)語言的教學(xué),而對于程序設(shè)計(jì)中所涉及的程序設(shè)計(jì)理論、程序設(shè)計(jì)的方法和算法的設(shè)計(jì)思想等理論知識的講解不夠深入、透徹。

2.學(xué)生缺乏創(chuàng)新能力

學(xué)生可以解決那些和已經(jīng)學(xué)過的知識有直接或有密切聯(lián)系的問題,而面對一個(gè)需要用已經(jīng)學(xué)過的知識進(jìn)行綜合求解的程序設(shè)計(jì)問題時(shí),就不知從何下手,對所學(xué)知識做不到舉一反三,缺乏程序設(shè)計(jì)的創(chuàng)新能力。

3.動手能力不強(qiáng)

學(xué)生實(shí)際動手能力差,具體表現(xiàn)在兩個(gè)方面。其一,學(xué)生上機(jī)調(diào)試程序的能力差,難以找到錯誤產(chǎn)生的原因;其二,實(shí)際編寫程序的能力不強(qiáng),編寫的程序功能不夠完善,風(fēng)格不一,程序健壯性差。

針對以上出現(xiàn)的問題,我們認(rèn)為應(yīng)該在教學(xué)過程中對學(xué)生各方面的編程素養(yǎng)進(jìn)行引導(dǎo)和培養(yǎng)。

二、編程方法引導(dǎo)

程序設(shè)計(jì)的觀念雖然發(fā)生過很多變化,但程序的基本結(jié)構(gòu)仍然是順序、選擇和循環(huán)三種。因此,在學(xué)生初學(xué)程序設(shè)計(jì)時(shí)就應(yīng)該注意滲透結(jié)構(gòu)化程序設(shè)計(jì)的思想,以便使學(xué)生養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣。

我們這里談的不是純粹的程序設(shè)計(jì)方法,如結(jié)構(gòu)化的、面向?qū)ο蟮牡?,而是在教學(xué)中滲透程序設(shè)計(jì)的技巧。這里舉一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)的例子。

例:求100以內(nèi)的素?cái)?shù)。

經(jīng)過分析可以發(fā)現(xiàn),除了“2”以外,偶數(shù)不可能為素?cái)?shù),所以外循環(huán)有50次是多余的,同理在內(nèi)循環(huán)中,也不必用偶數(shù)測試。再進(jìn)行分析又發(fā)現(xiàn),一個(gè)合數(shù)最小的因子不會大于它的平方根,所以內(nèi)循環(huán)中的次數(shù)被再次減少。最后程序變?yōu)椋?/p>

通過不斷改進(jìn)程序,可以使程序效率得到不斷提高,當(dāng)然這些提高是在數(shù)據(jù)規(guī)模不斷增長時(shí)才能體現(xiàn)出來。盡管現(xiàn)在很多人認(rèn)為硬件的速度發(fā)展很快,我們應(yīng)該把速度提高的任務(wù)交給硬件去實(shí)現(xiàn),這樣的想法未免過于武斷。姑且不論類似上述的技巧對于程序執(zhí)行效率的提高有多少益處,單從基于問題的學(xué)習(xí)方法這個(gè)角度的出發(fā),程序的衍生對于提高程序員的編程水平也是一個(gè)很好的訓(xùn)練方法,所以這樣的編程技巧是不可多得的,我們在教學(xué)過程中就是要進(jìn)行這方面的引導(dǎo)。

三、編程風(fēng)格和規(guī)則引導(dǎo)

前面提到我們在進(jìn)行程序設(shè)計(jì)教學(xué)時(shí),傳統(tǒng)教學(xué)模式比較少注意編程風(fēng)格和規(guī)則的引導(dǎo),所以很多時(shí)候,學(xué)生編制出來的程序都是一路下來齊刷刷,缺乏良好風(fēng)格,死套語法,缺乏考慮可能的不安全因素。

由于學(xué)習(xí)程序設(shè)計(jì)是一個(gè)循序漸進(jìn)的過程,所以在教學(xué)中如果潛移默化地引導(dǎo)學(xué)生從程序設(shè)計(jì)入門開始,就注意程序設(shè)計(jì)的一般風(fēng)格和應(yīng)該遵守的規(guī)則,就能讓學(xué)生更快更好地編制出高質(zhì)量的程序來,并且具備良好的編程習(xí)慣。

舉例說明。我們知道,free和delete都可以把指針?biāo)傅膬?nèi)存給釋放掉,比如:

這段程序運(yùn)行一定沒問題,但如果在其后加上這樣一段代碼:

我們會發(fā)現(xiàn)出錯了!這是因?yàn)椋琾所指內(nèi)存被釋放,但是p存放的地址值仍然不變,即p成了“野指針”。盡管嘗試用if(p!=NULL)來判斷p的可用性,我們卻發(fā)現(xiàn)出錯處理并沒有起作用。所以,良好的習(xí)慣是在free和delete后,都要對指針作置空處理,即p=NULL。有人會說如果要這種情況出現(xiàn)在程序結(jié)束時(shí),一切指針也會消亡,動態(tài)內(nèi)存也會作系統(tǒng)回收,所以P置空是多余的。但是如果有人將這段程序取出來用到其他地方會怎樣呢?結(jié)果不是我們想見到的。

四、算法設(shè)計(jì)概念的引入

程序=算法+數(shù)據(jù)結(jié)構(gòu)。這就提出我們在進(jìn)行程序設(shè)計(jì)教學(xué)過程中,不僅要重視語法的講授,也要重視算法的講授,甚至是要將算法提到更為重要的地位。程序設(shè)計(jì)是要解決問題,語言只不過是為解決問題而使用的工具,真正解決問題的是算法,難怪專家說“算法是魂,程序是衣”。

如在C語言程序設(shè)計(jì)課程教學(xué)中,當(dāng)完成分支結(jié)構(gòu)程序、循環(huán)控制和數(shù)組,進(jìn)入內(nèi)容較多的算法設(shè)計(jì)教學(xué)后,我們將教學(xué)內(nèi)容分為以下五個(gè)方面。

(1)一般數(shù)據(jù)組織算法:查找、排序、字符串處理、求素?cái)?shù)、篩選、迭代、窮舉等;

(2)函數(shù)調(diào)用,函數(shù)嵌套歸、遞推及貪心算法等;

(3)指針?biāo)惴?,動態(tài)內(nèi)存分配,鏈表等;

(4)用矩形法、梯形法計(jì)算定積分、模擬算法的隨機(jī)抽樣、蒙特卡羅法等算法;

(5)文件數(shù)據(jù)處理。

在課堂上增加算法設(shè)計(jì)的分析和討論,強(qiáng)調(diào)算法設(shè)計(jì)的優(yōu)化和程序的優(yōu)化,是提高學(xué)生分析和解決實(shí)際問題能力的有效方法。

五、開展研究性學(xué)習(xí)

在程序設(shè)計(jì)過程中,開展研究性學(xué)習(xí),是為了提高學(xué)生分析和解決實(shí)際問題的能力,主要是通過對解決問題的算法進(jìn)行研究而展開的。由于課時(shí)所限,并且學(xué)生沒有足夠的實(shí)踐經(jīng)驗(yàn),所以對算法問題的研究也是初級的,主要是討論典型問題的典型算法及其應(yīng)用。

1.通過研究性學(xué)習(xí),可以重構(gòu)知識體系,加深對算法的理解。

研究性學(xué)習(xí)是學(xué)生在教師的指導(dǎo)下,選定主題,然后搜集相關(guān)材料,對材料進(jìn)行歸納、加工處理、分析、總結(jié)得到相應(yīng)結(jié)論的學(xué)習(xí)活動。在教學(xué)中,可以根據(jù)教學(xué)內(nèi)容,經(jīng)過反復(fù)研究,確定研究主題,并根據(jù)學(xué)生的自愿報(bào)名成立研究小組,如搜索算法研究小組等。然后各小組根據(jù)自己研究的算法,重新整理相應(yīng)的知識,對知識進(jìn)行歸納、總結(jié)。通過對各種算法知識進(jìn)行整理、分類、小結(jié),加深學(xué)生對這些算法的理解。

2.通過研究性學(xué)習(xí),同學(xué)之間取長補(bǔ)短,共同提高。

每個(gè)學(xué)生都有所長,也有所短,研究性學(xué)習(xí)一個(gè)重要特點(diǎn)就是:分工合作,共同討論,共同提高。我們可以根椐學(xué)生的特點(diǎn)、特長,對他們進(jìn)行分工,每位學(xué)生研究一種算法其中的一個(gè)問題,然后整個(gè)小組一起討論,每位學(xué)生介紹自己的研究情況、研究成果,然后其他同學(xué)進(jìn)行補(bǔ)充,發(fā)表自己的見解,這樣每個(gè)學(xué)生都使自己的研究內(nèi)容得到補(bǔ)充,同時(shí)也學(xué)習(xí)到了其他同學(xué)研究方面的知識,可以取長補(bǔ)短,共同提高。

3.通過研究性學(xué)習(xí),總結(jié)算法的應(yīng)用規(guī)律,提高程序設(shè)計(jì)能力。

在進(jìn)行研究性學(xué)習(xí)時(shí),除要求學(xué)生歸納、整理專題算法知識外,還要總結(jié)出算法的應(yīng)用規(guī)律、應(yīng)用算法解題的步驟和算法的框架。學(xué)生通過自己對算法應(yīng)用規(guī)律的總結(jié),對算法的應(yīng)用得到升華,進(jìn)一步提高算法的應(yīng)用能力和程序設(shè)計(jì)能力。

4.通過研究性學(xué)習(xí),提高分析問題的能力、算法表達(dá)能力和歸納、綜合能力。

對算法的專題研究,不僅要對算法理論進(jìn)行總結(jié),算法應(yīng)用的研究也是很重要的一方面,通過算法的解題應(yīng)用,既提高了學(xué)生分析問題的能力,也加深了學(xué)生對算法的理解,提高了學(xué)生的算法應(yīng)用能力。另外,我們在算法研究過程中,要求學(xué)生透徹理解算法內(nèi)容,用算法語言準(zhǔn)確描述算法,通過這種途徑進(jìn)一步加深學(xué)生對算法的理解,同時(shí)也提高了學(xué)生的算法表達(dá)能力和歸納、總結(jié)的能力。

結(jié)論

我們認(rèn)為在程序設(shè)計(jì)教學(xué)中,要改革舊的教學(xué)體系,需要用新的理念、新的內(nèi)容、新的方法組織教學(xué)。首先要用先進(jìn)的程序設(shè)計(jì)理論指導(dǎo)教學(xué),并加強(qiáng)編程算法、邏輯思維和編程方法的引導(dǎo)。其次,重視和鼓勵學(xué)生對具體問題進(jìn)行分析和研究,勤于動手和上機(jī)訓(xùn)練,養(yǎng)成良好的編程習(xí)慣。此外,對不同層次的學(xué)生可以進(jìn)行分階段教學(xué),前一階段講授基本的程序設(shè)計(jì)方法,除了講授程序設(shè)計(jì)語言的基本語法,還對學(xué)生進(jìn)行編程方法及程序設(shè)計(jì)風(fēng)格的引導(dǎo);后一階段主要講授程序設(shè)計(jì)的較高級的語法和功能,提高學(xué)生對算法的認(rèn)知和重視程序,并且在學(xué)生中開展研究性學(xué)習(xí),培養(yǎng)學(xué)生實(shí)際動手能力。

參考文獻(xiàn):

[1]李云清等.程序設(shè)計(jì)創(chuàng)新能力的教學(xué)研究[A].全國計(jì)算機(jī)新科技與計(jì)算機(jī)繼續(xù)教育論文集2003.

[2]李海倫等.“程序設(shè)計(jì)”課程教學(xué)改革的研究與實(shí)踐[J].計(jì)算機(jī)教育, 2005.7.

[3]豐振.計(jì)算機(jī)程序設(shè)計(jì)教學(xué)方法研究[J]. 教學(xué)研究,2004.9.

[4]等.淺談程序設(shè)計(jì)語言課程教學(xué)方法[J].吉林大學(xué)學(xué)報(bào),2005.8第23卷.

第8篇:程序設(shè)計(jì)范文

關(guān)鍵詞:;SQL2000;JAVA課程

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)27-0070-02

Abstract: For the sake of convenience for teaching java and chatting between classmates and teacher, this paper designed and constructed website of Java Program Design. This website used and SQL2000 database, and it was totally divided into four modules: network examination center, on-line message, resources center, backstage management. Meanwhile, this website could release news and add the related chain connecting.

Key words: ;SQL2000; JAVA course

近年,Java面向?qū)ο蟪绦蛟O(shè)計(jì)語言因其具有的跨平臺性、分布式及安全性等特點(diǎn)[1],在當(dāng)今網(wǎng)絡(luò)時(shí)代得到廣泛應(yīng)用和發(fā)展。作為一種有生產(chǎn)力的編程工具,學(xué)習(xí)《Java程序設(shè)計(jì)》課程有助于學(xué)生在掌握面向過程程序設(shè)計(jì)和可視化程序設(shè)計(jì)基礎(chǔ)上,能夠更深入地掌握面向?qū)ο缶幊碳夹g(shù),且更有利于開發(fā)網(wǎng)絡(luò)環(huán)境下的應(yīng)用程序。

目前師生之間Java課程的教與學(xué)多局限于課堂上面對面的方式,而課后教師與學(xué)生之間更深入的交流和探討,因缺少一定場地而受到限制,最終導(dǎo)致師生互動的機(jī)會減少。針對此現(xiàn)狀,本文使用[2]技術(shù)和SQL2000數(shù)據(jù)庫[3]設(shè)計(jì)一個(gè)Java課程網(wǎng)上學(xué)習(xí)平臺,以滿足在線學(xué)習(xí)及便于師生隨時(shí)隨地交流的目的。

1 需求分析

Java課程網(wǎng)站建設(shè)的目標(biāo)是使教學(xué)更加方便,方便學(xué)生自己學(xué)習(xí),提高學(xué)生自學(xué)能力,也節(jié)省學(xué)生、老師的時(shí)間。要求所設(shè)計(jì)系統(tǒng)操作方便、更新及時(shí)、易于維護(hù)管理。擁有動態(tài)更改信息;網(wǎng)上答疑;課程教學(xué)等基本功能。學(xué)生進(jìn)入網(wǎng)站后可根據(jù)系統(tǒng)功能對該課程進(jìn)行信息瀏覽,查看課件,提出問題及學(xué)習(xí)等;教師進(jìn)入網(wǎng)站后也可對課程的一些信息進(jìn)行瀏覽,對學(xué)生提出的問題進(jìn)行回復(fù),而后臺教師需要進(jìn)入系統(tǒng)對網(wǎng)站進(jìn)行維護(hù),更新信息、修改信息或者刪除某些信息。

因此該系統(tǒng)需要滿足的需求為:具有良好的人機(jī)界面,以方便操作;學(xué)生查看教學(xué)信息,下載課件,網(wǎng)上發(fā)帖等;教師查看學(xué)生提出的問題并進(jìn)行回答;教師,整理留言和教學(xué)資源等。

2 網(wǎng)站功能設(shè)計(jì)

按照需求分析的結(jié)果,網(wǎng)站總體結(jié)構(gòu)設(shè)計(jì)如圖1所示,角色上主要包括學(xué)生、教師和系統(tǒng)管理員;功能上主要包括網(wǎng)絡(luò)考試中心,在線留言,資源中心及后臺管理,同時(shí)還實(shí)現(xiàn)新聞和添加相關(guān)鏈接的功能。

3 網(wǎng)站主要功能分析

3.1用戶注冊及管理員登錄

用戶包括普通用戶和管理員,所有用戶先注冊然后登錄系統(tǒng),權(quán)限不同則登錄成功后相應(yīng)的界面不同。

3.2網(wǎng)站功能顯示

將網(wǎng)站的每個(gè)功能模塊顯示出來,如圖2所示,包括:資源中心,考試中心,后臺管理,在線留言及使用幫助等。

3.3資源中心

資源中心主要功能包括查看與課程相關(guān)的文檔及任課教師等信息。

3.3.1電子文檔

圖3所示的主要功能是上傳和下載電子文檔。為便于學(xué)生課后復(fù)習(xí),教師可將課堂上教學(xué)用的Java課件等文檔進(jìn)行上傳供學(xué)生瀏覽。

3.3.2網(wǎng)站課程實(shí)踐

為加強(qiáng)學(xué)生動手能力,從而將理論與實(shí)踐相結(jié)合,每個(gè)知識點(diǎn)都對應(yīng)有實(shí)踐環(huán)節(jié),每一實(shí)驗(yàn)都明確具體內(nèi)容及相關(guān)要求(圖4)。

3.4考試中心

圖5所示Java課程的網(wǎng)上考試閱卷,在時(shí)間和空間上都不必受傳統(tǒng)考試的限制,可提高考試和閱卷效率。

3.5后臺管理

管理員可以對科目、試題庫及的資源等信息進(jìn)行增加或修改等管理。

3.5.1 科目大類管理

如圖6所示,可以增加或刪除科目大類,同時(shí)給大類編號。

3.5.2 具體科目管理

學(xué)好Java,還應(yīng)該熟悉其課程體系,了解其所屬大類的與其相關(guān)的其他科目(圖7),從而明確該課程的重要性。

3.5.3試題庫管理

圖8所示為課程體系中各門課程的試題庫。

3.6在線留言

師生均可在線留言,但需要事先進(jìn)行注冊(圖9),然后通過登錄界面進(jìn)入留言板塊。

4 結(jié)束語

為便于學(xué)生在線學(xué)習(xí)及師生之間隨時(shí)隨地進(jìn)行Java課程教學(xué)的交流,本網(wǎng)站實(shí)現(xiàn)了Java教學(xué)資源管理與查看、試題庫管理與查看、在線留言及相關(guān)新聞等功能,有助于學(xué)生更方便更深入地掌握J(rèn)ava語言。

參考文獻(xiàn):

[1] 張白一, 崔尚森.面向?qū)ο蟪绦蛟O(shè)計(jì)―――Java[M] .西安: 西安電子科技大學(xué)出版社, 2013.

第9篇:程序設(shè)計(jì)范文

1汽車制動系統(tǒng)發(fā)展?fàn)顩r

幾年來西方發(fā)達(dá)國家又興起了對車輛線控系統(tǒng)(X-BY-WIRE)的研究,線控(BRAKE-BY-WIRE)應(yīng)運(yùn)而生,由此展開了對電控機(jī)械制動系統(tǒng)(ELECTROMECHANICALBRAKINGSYSTEM)的研究,簡單來說電控機(jī)械制動系統(tǒng)就是把原來由液壓或者壓縮空氣驅(qū)動的部分改為由電動機(jī)來驅(qū)動,借以提高響應(yīng)速度、增加制動效能等,同時(shí)也大大簡化了結(jié)構(gòu)、降低了裝配和維護(hù)的難度。由于人們對制動性能要求的不斷提高,傳統(tǒng)的液壓或者空氣制動系統(tǒng)在加入了大量的電子控制系統(tǒng)如ABS、TCS、ESP等后,結(jié)構(gòu)和管路布置越發(fā)復(fù)雜,液壓(空氣)回路泄露的隱患也加大,同時(shí)裝配和維修的難度也隨之提高[1]。因此結(jié)構(gòu)相對簡單、功能集成可靠的電子機(jī)械制動系統(tǒng)越來越受到青睞,可以預(yù)見EMB將最終取代傳統(tǒng)的液壓(空氣)制動器,成為未來車輛的發(fā)展方向。

2EMB系統(tǒng)的模型分析

2.1EMB系統(tǒng)工作原理

電子機(jī)械制動系統(tǒng)工作原理為:當(dāng)汽車行駛時(shí)需要采取緊急剎車,駕駛者腳踏的力量信號傳到制動踏板,該力量信號經(jīng)過EMB控制系統(tǒng)的三環(huán)調(diào)速系統(tǒng)調(diào)控后輸出電樞電壓直接作用于無刷直流力矩電機(jī)上,輸出的電機(jī)軸轉(zhuǎn)動轉(zhuǎn)速信號傳遞給傳動機(jī)構(gòu)進(jìn)行減速增矩,轉(zhuǎn)化成絲杠位移,再經(jīng)過制動機(jī)構(gòu)作用轉(zhuǎn)化成制動力,整個(gè)過程的時(shí)間極短,在0.1s作用[2]。

2.2EMB執(zhí)行系統(tǒng)

一個(gè)設(shè)計(jì)完整的EMB執(zhí)行系統(tǒng)包括無刷直流電機(jī)模塊(包括電機(jī)驅(qū)動模塊)、傳動模塊和制動模塊。要完成EMB的動力學(xué)仿真,首先要完成以上三個(gè)模塊的數(shù)學(xué)模型設(shè)計(jì)。EMB執(zhí)行系統(tǒng)結(jié)構(gòu)框圖如圖1所示。圖1中:Fd為制動器的目標(biāo)夾緊力;AVI號為電機(jī)轉(zhuǎn)速控制信號;DIR為電機(jī)正反轉(zhuǎn)控制信號;Ua、Ub、Uc分別為電機(jī)定子每相繞組端電壓;Uh+、Uh-分別為霍爾傳感器供電高低電壓;n為電機(jī)軸轉(zhuǎn)速;ns為絲杠轉(zhuǎn)速;s為絲杠副中螺母的平動位移;F為制動器的夾緊力;Mb為制動器的制動力矩;Jc為傳動機(jī)構(gòu)的轉(zhuǎn)動慣量;TL為傳動機(jī)構(gòu)的摩擦阻力矩;Sa、Sb、Sc分別為三個(gè)霍爾傳感器的信號;Ia、Ib、Ic、分別為電機(jī)定子每相繞組電流[3]。

2.3EMB控制系統(tǒng)

電機(jī)的控制采用三環(huán)(電流環(huán)、轉(zhuǎn)速環(huán)和壓力環(huán))反饋控制,輸入為目標(biāo)夾緊力,輸出為電機(jī)電樞電壓。EMB電機(jī)的控制系統(tǒng)結(jié)構(gòu)框圖如圖2所示。電機(jī)的三環(huán)調(diào)速系統(tǒng)設(shè)計(jì)就是對控制器設(shè)計(jì),該三環(huán)調(diào)速系統(tǒng)包括夾緊力控制器、轉(zhuǎn)速控制器和電流控制器[4]。其設(shè)計(jì)方法是:從內(nèi)環(huán)開始,每次向外擴(kuò)展一環(huán),首先設(shè)計(jì)電流控制器,再將電流環(huán)當(dāng)作轉(zhuǎn)速調(diào)節(jié)系統(tǒng)中的一個(gè)部分設(shè)計(jì)轉(zhuǎn)速控制器,最后把轉(zhuǎn)速控制環(huán)當(dāng)作夾緊力調(diào)節(jié)環(huán)中的一個(gè)部分設(shè)計(jì)夾緊力控制器。上述的夾緊力控制器、轉(zhuǎn)速控制器、電流控制器均是PI控制器。電流控制器的輸入是目標(biāo)電流與實(shí)際電流的差值,輸出為電機(jī)的控制電壓;轉(zhuǎn)速控制器的輸入是目標(biāo)轉(zhuǎn)速與實(shí)際轉(zhuǎn)速的差值,輸出為電機(jī)電流的目標(biāo)值;夾緊力控制器的輸入是目標(biāo)制動夾緊力與反饋制動夾緊力的差值,輸出為電機(jī)轉(zhuǎn)速的目標(biāo)值。電機(jī)電流、電機(jī)轉(zhuǎn)速和夾緊力為需測量的量。在本控制系統(tǒng)中,通過無刷直流電機(jī)驅(qū)動器上安裝的電流傳感器測量電機(jī)實(shí)時(shí)電流;通過光電編碼器測量電機(jī)實(shí)時(shí)轉(zhuǎn)速;通過壓力傳感器測量制動夾緊力[5]。

3EMB系統(tǒng)的仿真模型

(1)無刷直流電流控制模塊,如圖3所示。

(2)電流-轉(zhuǎn)速雙閉環(huán)控制模塊,如圖4所示。

(3)無刷直流電機(jī)三環(huán)控制模塊,如圖5所示。

4仿真結(jié)果

4.1電流環(huán)仿真

當(dāng)電動機(jī)處于空載時(shí),電流值比較小,所以應(yīng)當(dāng)在電機(jī)堵轉(zhuǎn)的情況下對電流環(huán)進(jìn)行調(diào)節(jié)[6]。電流環(huán)的試驗(yàn)結(jié)果如圖6所示??梢?,實(shí)際電流在初始階段有較大的超調(diào),但是在后期可以很好地跟蹤目標(biāo)電流。

4.2轉(zhuǎn)速環(huán)試驗(yàn)

轉(zhuǎn)速環(huán)在試驗(yàn)時(shí),應(yīng)處于空載狀態(tài)。轉(zhuǎn)速環(huán)的試驗(yàn)結(jié)果如圖7所示??梢?,在啟動過程中電流能維持較大的值,從而使電動機(jī)迅速達(dá)到目標(biāo)轉(zhuǎn)速。由于電動機(jī)在旋轉(zhuǎn)過程中不斷換相會引起電流的抖動,所以電動機(jī)轉(zhuǎn)速也一直在目標(biāo)值附近小幅抖動。

4.3壓力環(huán)試驗(yàn)

壓力環(huán)的試驗(yàn)結(jié)果如圖8所示??梢?,兩種工況下消除制動間隙的時(shí)間均小于0.1s,且制動壓力的超調(diào)小于5%,同時(shí)我們可以發(fā)現(xiàn)所設(shè)計(jì)的EMB執(zhí)行器能輸出足夠大的制動壓力,而且響應(yīng)迅速。

相關(guān)熱門標(biāo)簽