程序設(shè)計論文范文

時間:2023-03-16 19:23:27

導(dǎo)語:如何才能寫好一篇程序設(shè)計論文,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

程序設(shè)計論文

篇1

【行為導(dǎo)向教學(xué)法;程序設(shè)計;教學(xué)案例

隨著計算機(jī)應(yīng)用的普及,計算機(jī)應(yīng)用專業(yè)也成了熱門專業(yè),而高級程序設(shè)計語言是計算機(jī)專業(yè)的一門必修課。在高級程序設(shè)計語言中,VisualBasic語言以其易學(xué)易用和功能強(qiáng)大,而且能夠方便快捷地開發(fā)Windows應(yīng)用程序等特征,而深受使用者歡迎。因此,其也作為中等職業(yè)學(xué)校的高級程序設(shè)計課的首選。VB是一門集知識和技能于一體、實踐性很強(qiáng)的課程,要求學(xué)生既要學(xué)好理論知識,又要把握實際操作技能,同時,在進(jìn)行軟件開發(fā)時,要對用戶需求及市場情況進(jìn)行調(diào)研,再加上計算機(jī)軟、硬件快速更新?lián)Q代的特征,要求學(xué)生還要具有很強(qiáng)的自學(xué)能力和終身學(xué)習(xí)的思想。對于這些要求來說,傳統(tǒng)的教學(xué)方法難以做到。而使用強(qiáng)調(diào)以職業(yè)活動為導(dǎo)向,以人的發(fā)展為本位的“行為導(dǎo)向教學(xué)法”將會較好的實現(xiàn)這些教學(xué)要求。本文擬就在中等職業(yè)教育的計算機(jī)程序設(shè)計(VisualBasic)教學(xué)中,如何運用“行為導(dǎo)向教學(xué)法”進(jìn)行初步探索。

一、行為導(dǎo)向教學(xué)法的基本理論

“行為導(dǎo)向教學(xué)法”是在近幾年從德國引進(jìn)的現(xiàn)代的職業(yè)教育新模式,其目標(biāo)層次是培養(yǎng)人的行為能力,方法層次是人的行為活動。即摘要:這種教育以行為為目標(biāo),教學(xué)以行為為導(dǎo)向,教學(xué)是學(xué)生積極參和的全面的教學(xué),學(xué)習(xí)過程是學(xué)生同時用腦、心、手來進(jìn)行學(xué)習(xí)的過程。

行為導(dǎo)向教學(xué)法具有很強(qiáng)的針對性,即是以職業(yè)活動為導(dǎo)向,以教會學(xué)生“學(xué)會學(xué)習(xí)、學(xué)會工作”為目標(biāo)而開展教學(xué)活動,因此,對學(xué)習(xí)者來說,學(xué)習(xí)目的是十分明確,即現(xiàn)在的學(xué)習(xí)是為今后的職業(yè)服務(wù)。教學(xué)活動的開展,通常是圍繞某一課題、新問題或項目開展,是以“學(xué)習(xí)任務(wù)”為載體,引導(dǎo)學(xué)生自主學(xué)習(xí)和探索的過程。整個教學(xué)過程為一個包括獲取信息、制訂計劃、做出決定、實施工作計劃、控制質(zhì)量、評定工作成績等環(huán)節(jié)在內(nèi)的完整的行為模式。使用“行為導(dǎo)向教學(xué)法”,將能更好的培養(yǎng)學(xué)生的關(guān)鍵能力(專業(yè)能力、方法能力、社會能力、個性能力),以達(dá)到職業(yè)教育的“職業(yè)教育就是就業(yè)教育”的教學(xué)目標(biāo)。

二、行為導(dǎo)向教學(xué)法在VisualBasic教學(xué)中的必要性和可行性

(一)必要性

現(xiàn)行的計算機(jī)專業(yè)類教材大多和其它學(xué)科式的教材一樣,重視知識結(jié)構(gòu)的系統(tǒng)性,教學(xué)內(nèi)容大多以線性方式展開,適用于“循序漸進(jìn)”的傳統(tǒng)教學(xué)模式,以《VisualBasic程序設(shè)計》的教材為例,從語言基礎(chǔ)、流程控制、過程和數(shù)組、窗體和控件、對話框設(shè)計、菜單、工具欄和狀態(tài)欄設(shè)計等等,分章編排,在每一章的內(nèi)容里,也同樣按線性方式展開。假如,在教學(xué)中仍按傳統(tǒng)的教學(xué)方法按章節(jié)講授,勢必降低的課程的綜合性、實用性,也缺乏趣味性,這不但難以培養(yǎng)學(xué)生學(xué)習(xí)喜好,使得教學(xué)雙方都陷入困境,而且,學(xué)生不知道如何在真實的情境中靈活地使用知識和運用技巧。這樣的學(xué)習(xí),是很難面對今后職業(yè)的。要改變這一現(xiàn)象的方法,比較成功的是運用以課題或項目來開展教學(xué)活動的行為導(dǎo)向教學(xué)法進(jìn)行教學(xué),在教學(xué)中,淡化知識的系統(tǒng)性和連貫性,更多關(guān)注的是知識之間的聯(lián)系,在聯(lián)系中學(xué)習(xí)知識、在綜合運用中學(xué)習(xí)知識,使學(xué)生不僅學(xué)會了程序設(shè)計知識本身,又培養(yǎng)了學(xué)生運用程序設(shè)計的知識去解決實際新問題的能力,達(dá)到“學(xué)以致用”的教學(xué)目的。

(二)可行性

《VisualBasic程序設(shè)計》是一門實踐性和操作性很強(qiáng)的課程,知識涉及許多抽象的術(shù)語,如摘要:類、對象、過程、語句、控件等等,還有大量的開發(fā)工具的使用。僅就VB的開發(fā)環(huán)境為例,其中就包含了摘要:窗體設(shè)計器、代碼編輯器、對象瀏覽器、屬性窗口、工程管理器、工具箱、菜單、工具欄等等。把握和熟悉它們的最好方法,就是在不斷的結(jié)合實際的“案例”(案例教學(xué)法)或“課題”(項目教學(xué)法)的操作實踐中去把握。在教學(xué)中,教師可以把課程內(nèi)容包含在兩到三個綜合貼近實際的項目,給出案例,再把這個項目分成若干個小項目(或模塊)。例如摘要:以開發(fā)一個“學(xué)生信息管理系統(tǒng)”為一個綜合項目(教師首先給出案例演示,以引起同學(xué)們的關(guān)注),再分別以“登錄窗口”、“查詢窗口”等為小項目進(jìn)行設(shè)計開發(fā),學(xué)習(xí)相關(guān)的基礎(chǔ)知識(如摘要:在設(shè)計“登錄窗口”的項目中,學(xué)生可以把握“文本框、標(biāo)簽、命令按鈕、屬性設(shè)置、變量命名規(guī)則、變量定義、變量數(shù)據(jù)類型、變量的聲明語句、賦值語句”等相關(guān)知識群)。學(xué)生在具有目標(biāo)明確的項目驅(qū)動下,以“做中學(xué)”的方法進(jìn)行學(xué)習(xí),這樣,不僅可以提高他們學(xué)習(xí)的主動性和學(xué)習(xí)樂趣,同時也培養(yǎng)了他們的關(guān)鍵能力。

二、“行為導(dǎo)向教學(xué)法”案例

行為導(dǎo)向教學(xué)法中的“項目教學(xué)法”是指師生以團(tuán)隊的形式共同實施一個完整“項目”的工作而進(jìn)行的教學(xué)活動。通過在開展項目過程中有針對性的工作來培養(yǎng)學(xué)生的關(guān)鍵能力,非凡是獨立工作能力、想象力、創(chuàng)新能力。項目教學(xué)法包括了計劃、實施和檢查及成果展示的全過程。它是由學(xué)生自己來完成整個過程的教學(xué)方法。以下是一個項目教學(xué)法的簡案。

項目摘要:學(xué)生信息管理系統(tǒng)

(一)教學(xué)目標(biāo)

1.培養(yǎng)學(xué)生運用VisualBasic知識解決實際新問題的能力;

2.培養(yǎng)學(xué)生獨立學(xué)習(xí)和工作的能力;

3.培養(yǎng)學(xué)生和人合作的能力。

(二)項目的實施過程

三、需要重點注重的兩個新問題

(一)教師角色的轉(zhuǎn)換

在行為導(dǎo)向教學(xué)中,對教師提出了更高的要求。教師應(yīng)是“雙師型”的教師,老師的角色由傳統(tǒng)的教學(xué)主導(dǎo)者轉(zhuǎn)變?yōu)榻虒W(xué)活動的引導(dǎo)者或主持人,在教學(xué)過程中,教師以咨詢員、伙伴、朋友等角色出現(xiàn)在學(xué)生中,教學(xué)方法由注重“教法”轉(zhuǎn)變?yōu)樽⒅亍皩W(xué)法”,為此,要完成教學(xué)任務(wù),教師要付出更多的心血。

(二)項目設(shè)計的合理性

項目設(shè)計的最重要的原則就是可實踐性,以保證學(xué)生可操作,并有收獲。因此,項目的設(shè)計應(yīng)采用結(jié)構(gòu)化的方法,自上而下,逐步細(xì)化的原則;項目的實施,則采用自下而上,由易到難,逐步完善的原則進(jìn)行。

篇2

上機(jī)實驗課是《Java程序設(shè)計》課程教學(xué)環(huán)節(jié)中不可或缺的一部分,然而,在實際教學(xué)過程中,上機(jī)實驗課應(yīng)有的作用并沒有被充分發(fā)揮出來。一項針對計算機(jī)專業(yè)學(xué)生的調(diào)查問卷結(jié)果顯示,學(xué)生即便將理論知識學(xué)的扎實透徹,但遇到實際的編程問題時卻很被動,不知道從何處下手。導(dǎo)致這種現(xiàn)象發(fā)生的原因就是高職院校對實驗的重視度和關(guān)注度不高,沒有給予學(xué)生充足的實驗機(jī)會及指導(dǎo),這樣一來,學(xué)生的動手能力就相對較差。傳統(tǒng)的教學(xué)模式下上機(jī)實驗課的流程就是學(xué)生上機(jī)編程來完成教師預(yù)先布置的編程任務(wù),教師則會呆在機(jī)房內(nèi)隨時解決學(xué)生在實際操作過程中提出的問題。這種實驗方式?jīng)]有給學(xué)生設(shè)定明確的上機(jī)目標(biāo),致使學(xué)生沒有完成任務(wù)的緊迫感,甚至有的學(xué)生在教師看不到的時候肆意玩樂,這樣一來,非常不利于培養(yǎng)學(xué)生的動手能力及解決問題的能力。由此不難看出,按照傳統(tǒng)的教學(xué)模式來培養(yǎng)學(xué)生,學(xué)生不能夠很好地具備解決實際問題的能力,因此,傳統(tǒng)教學(xué)模式下的高職Java程序設(shè)計課程教學(xué)不能滿足社會對高素質(zhì)、高能力技術(shù)型人才的需求。

2高職Java程序設(shè)計課程教學(xué)的改革

2.1教學(xué)內(nèi)容的改革

高職教育更側(cè)重于將學(xué)生培養(yǎng)成能夠滿足工作崗位或職業(yè)需求、掌握相應(yīng)技能的應(yīng)用型人才,因此,改革教學(xué)內(nèi)容是非常有必要的。改革教學(xué)內(nèi)容就是改變傳統(tǒng)的理論教學(xué),引入適量的案例,將基本理論的講授穿插于案例教學(xué)中。需要特別注意的是,選擇恰當(dāng)合理的案例是非常重要的,它的質(zhì)量能夠直接影響到最終的教學(xué)效果。因此,教師要根據(jù)學(xué)生認(rèn)知的特點選擇具有適用性及代表性的案例,而且這些被選擇的案例必須能夠包含Java程序設(shè)計中的大部分知識,這些案例既區(qū)別于課堂上的舉例,但又和它們具有一定的聯(lián)系。為了能夠很好地展開案例教學(xué),教師在課前需要對案例教學(xué)進(jìn)行周密詳細(xì)的安排,主要包括四個方面,它們分別是發(fā)放案例素材、組織案例實施、區(qū)分案例分析中的理論分析以及操作分析、安排處理案例教學(xué)中涉及到的外延知識。案例教學(xué)能夠在課堂上很好的結(jié)合理論與實踐,促進(jìn)學(xué)生綜合能力的提升。學(xué)生帶著問題去分析案例,在這個過程中教師對涉及到的相關(guān)理論知識進(jìn)行講授,這種方式能夠幫助學(xué)生更好地理解知識。對案例進(jìn)行分析的過程不僅能夠使學(xué)生拓寬知識面,掌握分析問題的技巧,還能夠幫助學(xué)生將理論運用于實踐,更好地消化吸收所學(xué)知識。因此,相比傳統(tǒng)的理論教學(xué),案例教學(xué)這種教學(xué)方法更夠滿足當(dāng)今社會對應(yīng)用型人才的需求。

2.2教學(xué)方法的改革

當(dāng)今社會團(tuán)隊協(xié)作能力是非常重要的,因此,改革教學(xué)方法最主要的一個途徑就是實行小組教學(xué)。所謂小組教學(xué)就是很據(jù)自愿或者協(xié)商的原則,將全班學(xué)生平均劃分成幾個小組,由小組成員共同推選出一個成員作為組長。在課堂上,首先教師需要在對典型案例進(jìn)行講解的過程中穿插對Java語言的介紹,幫助學(xué)生更好地理解進(jìn)而接受理論知識,并且深入了解Java語言面向?qū)ο蟮奶匦?。然后教師通過為每個學(xué)習(xí)小組安排編程的任務(wù)來使學(xué)生對案例進(jìn)行分析,并且分析討論后每個小組都要確定出最終的解決方案,由教師來點評這些方案。為了能夠使學(xué)生高效率的完成規(guī)定任務(wù),教師要在分析討論過程中對學(xué)生提出相應(yīng)的技術(shù)要求及紀(jì)律要求,并設(shè)定一個恰當(dāng)?shù)耐瓿善谙?。這種教學(xué)模式充分體現(xiàn)了學(xué)生學(xué)習(xí)的自主性,彰顯了學(xué)生課堂的主體地位以及突出了教師協(xié)助引導(dǎo)的作用。小組教學(xué)的教學(xué)模式可以使學(xué)生進(jìn)行不同的思想交流,擦出智慧的火花,正如蕭伯納所說“如果我有一個蘋果,你有一個蘋果,互相交換,還是你有一個蘋果,我有一個蘋果。但是我有一種想法,你有一種想法,交換一下,雙方就都有了兩種思想?!边@就說明了通過小組交流,學(xué)生思維會更加活躍,從而產(chǎn)生更優(yōu)的思想。通過小組教學(xué),不僅可以提升學(xué)生對理論知識的認(rèn)知度,培養(yǎng)團(tuán)隊合作的能力,還能夠提升學(xué)生分析、處理、解決問題的能力。此外,在小組教學(xué)的過程中,教師能夠迅速接收到來源于學(xué)生的反饋信息,比如反饋分析案例過程中遇到的問題等信息,通過這些反饋信息,教師能夠及時的采取相應(yīng)措施來解決問題,從而實現(xiàn)教學(xué)相長。

2.3考核方式的改革

對教學(xué)成果進(jìn)行考核對無論是教還是學(xué)都能做出恰當(dāng)?shù)脑u價,目前我國高職院校中通常采取考核這一手段來對教學(xué)的效果進(jìn)行檢驗。在傳統(tǒng)的教學(xué)模式下,通常采取卷面考試來進(jìn)行考核,而且最終結(jié)果往往是由一次考試的成績來評定的,也就是說,無論學(xué)生平日里表現(xiàn)多好,但如果在作為最終考核的那次考試中發(fā)揮失常,那么就會在一定程度上否認(rèn)這個學(xué)生的學(xué)習(xí)能力。而且這種考核方式并不能夠?qū)W(xué)生的能力、知識以及技能做到真實的反映。由此看來,為了能夠?qū)W(xué)生的學(xué)習(xí)做出恰當(dāng)合理的評價,改革考核方式是非常有必要的。這就要求高職院校要制定一個科學(xué)的評價標(biāo)準(zhǔn),重點突出對學(xué)生知識應(yīng)用能力的培養(yǎng)。在對高職Java程序設(shè)計課程學(xué)習(xí)進(jìn)行考核時,可以通過兩個方面來展開考核工作,相應(yīng)地,學(xué)生總成績也由兩部分組成,一部分是綜合能力考核成績,另一部分是平時課堂表現(xiàn)成績。具體來講,一方面,通過案例教學(xué),教師要求每個小組在對案例分析完成之后,做出案例的分析報告,在此基礎(chǔ)上,綜合小組成員的意見和建議,為假定的任意一個應(yīng)用領(lǐng)域或虛擬企業(yè)設(shè)計一個信息管理系統(tǒng),然后模擬其運行環(huán)境,最后進(jìn)行編碼或者程序設(shè)計??傊褪墙o予學(xué)生一個展示自我知識、技能、操作等綜合能力的機(jī)會,這種考核方式能夠使學(xué)生更加牢固、系統(tǒng)的掌握所學(xué)的理論知識,這方面的考核成績占據(jù)較大的比重,在總成績中通常占據(jù)60%的比例。另一方面,也就是占據(jù)總成績40%的平時成績,具體來講,就是在平時教學(xué)過程中,教師要密切關(guān)注課堂小組討論中每位學(xué)生的表現(xiàn),并且加以記錄,給出相應(yīng)的分?jǐn)?shù)。此外,在本門學(xué)科結(jié)束學(xué)習(xí)后,教師需要組織每個小組進(jìn)行小組內(nèi)成員間的彼此評價,相互打分。最后,教師通過對這兩小部分的成績進(jìn)行綜合的評定,給出每個學(xué)生最終的平時課堂表現(xiàn)成績。

3總結(jié)

篇3

關(guān)鍵詞遺傳算法;TSP;交叉算子

1引言

遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法??偟恼f來,遺傳算法是按不依賴于問題本身的方式去求解問題。它的目標(biāo)是搜索這個多維、高度非線性空間以找到具有最優(yōu)適應(yīng)值(即最小費用的)的點[1]。

基本遺傳算法是一個迭代過程,它模仿生物在自然環(huán)境中的遺傳和進(jìn)化機(jī)理,反復(fù)將選擇算子、交叉算子和變異算子作用于種群,最終可得到問題的最優(yōu)解和近似最優(yōu)解。

2遺傳算法程序設(shè)計改進(jìn)比較

2.1基本遺傳算法對TSP問題解的影響

本文研究的遺傳算法及改進(jìn)算法的實現(xiàn)是以C++語言為基礎(chǔ),在Windows2000的版本上運行,其實現(xiàn)程序是在MicrosoftVisualStadio6.0上編寫及運行調(diào)試的。

1)遺傳算法的執(zhí)行代碼

m_Tsp.Initpop();//種群的初始化

for(inti=0;i<m_Tsp.ReturnPop();i++)

m_Tsp.calculatefitness(i);//計算各個個體的適應(yīng)值

m_Tsp.statistics();//統(tǒng)計最優(yōu)個體

while(entropy>decen||variance>decvar)//m_Tsp.m_gen<100)

{

//將新種群更迭為舊種群,并進(jìn)行遺傳操作

m_Tsp.alternate();//將新種群付給舊種群

m_Tsp.generation();//對舊種群進(jìn)行遺傳操作,產(chǎn)生新種群

m_Tsp.m_gen++;

m_Tsp.statistics();//對新產(chǎn)生的種群進(jìn)行統(tǒng)計

}

2)簡單的遺傳算法與分支定界法對TSP問題求解結(jié)果的對比

遺傳算法在解決NPC問題的領(lǐng)域內(nèi)具有尋找最優(yōu)解的能力。但隨著城市個數(shù)的增加,已沒有精確解,無法確定遺傳算法求解的精度有多高。一般情況下,當(dāng)?shù)鷶?shù)增大時,解的精度可能高,但是時間開銷也會增大。因此可以通過改進(jìn)遺傳算法來提高搜索能力,提高解的精度。

2.2初始化時的啟發(fā)信息對TSP問題解的影響

1)初始化啟發(fā)信息

在上述實驗算法的基礎(chǔ)上,對每一個初始化的個體的每五個相鄰城市用分支界定法尋找最優(yōu)子路徑,然后執(zhí)行遺傳算法。

2)遺傳算法與含有啟發(fā)信息的遺傳算法求解結(jié)果的對比

當(dāng)城市數(shù)增至20個時,用分支定界法已經(jīng)不可能在可以接受的時間內(nèi)得到精確的解了,只能通過近似算法獲得其可接受的解。試驗設(shè)計中算法的截止條件:固定迭代1000代。表2中的平均最優(yōu)解為經(jīng)過多次試驗(10次以上)得到的最優(yōu)解的平均值,最優(yōu)解的出現(xiàn)時間為最優(yōu)解出現(xiàn)的平均時間,交叉操作次數(shù)為最優(yōu)解出現(xiàn)時交叉次數(shù)的平均值。

表220個城市的TSP問題求解結(jié)果數(shù)據(jù)

算法交叉操作

次數(shù)最優(yōu)解

出現(xiàn)時間平均

最優(yōu)解

簡單遺傳算法80244.479.4s1641.8

含初始化啟發(fā)信息的GA79000.237.4s1398.9

從表2中可以看出,當(dāng)初始種群時引入啟發(fā)信息將提高遺傳算法的尋優(yōu)能力。同時縮短了遺傳算法的尋優(yōu)時間和問題的求解精度。

2.3交叉算子對TSP問題解的影響

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)存在待形成的個體中

j++;

}

if(flag==0)//如果所有鄰接城市皆在待擴(kuò)展的個體中

{

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)問題描述與結(jié)果比較

下面筆者用經(jīng)典的測試遺傳算法效率的OliverTSP問題來測試循環(huán)貪心交叉算子的解的精度和解效率。OliverTSP問題的30個城市位置坐標(biāo)如表3所示[2]。

從表4、圖1中可以看到,貪心交叉算子大大提高了遺傳算法的尋優(yōu)能力,同時也降低了交叉操作次數(shù)。在多次試驗中,貪心交叉算子找到的最優(yōu)解與目前記載的最佳數(shù)據(jù)的誤差率為2.7%。而部分匹配交叉算子找到的最優(yōu)解與目前記載的最佳數(shù)據(jù)的誤差率高達(dá)7%。從而可以得到交叉算子對于遺傳算法

2.4并行遺傳算法消息傳遞實現(xiàn)的核心代碼

1)主程序代碼

//接收各個從程序的最優(yōu)個體

for(i=0;i<slave;i++)

{

MPI_Recv(Rchrom[i],chrom,MPI_UNSIGNED,MPI_ANY_SOURCE,gen,MPI_COMM_WORLD,&status);

}

//計算接收各個從程序的最優(yōu)個體的回路距離

for(i=0;i<slave;i++)

{

fitness[i]=0.0;

for(intj=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)的個體并把它記錄到文件里

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ā)送一個最優(yōu)個體

if(gen%9==0)

MPI_Bcast(Rchrom[sign],chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD);

2)從程序代碼

//將上一代的最優(yōu)個體傳回主程序

MPI_Send(Rchrom1,chrom,MPI_UNSIGNED,0,gen,MPI_COMM_WORLD);

//每九代接收一個最優(yōu)個體并將其加入種群中替換掉最差個體

if(gen%9==0)

{

PI_Bcast(Rchrom2,chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD);

Tsp.IndiAlternate(Rchrom2);

}

//進(jìn)行下一代的計算

Tsp.Aternate();

Tsp.Generation();

Tsp.Statistics();

3)并行遺傳算法的性能

筆者在MPI并行環(huán)境下,用C++語言實現(xiàn)了一個解決TSP問題的粗粒度模型的并行遺傳算法。該程序采用的是主從式的MPI程序設(shè)計,通過從硬盤的文件中讀取數(shù)據(jù)來設(shè)置染色體長度、種群的規(guī)模、交叉概率和變異概率等參數(shù)。試驗環(huán)境為曙光TC1700機(jī),測試的對象是OliverTSP問題的30個城市的TSP問題。

正如在測試串行遺傳算法所提到的數(shù)據(jù)結(jié)果,并行遺傳算法也沒有達(dá)到目前所記錄的最好解,但是它提高了算法的收斂性,并行遺傳算法的收斂趨勢如圖2所示[4]。

圖2遺傳算法的收斂過程

3結(jié)束語

本文通過對基本遺傳算法的不斷改進(jìn),證明了添加啟發(fā)信息、改進(jìn)遺傳算子和利用遺傳算法固有的并行性都可以提高遺傳算法的收斂性,其中對遺傳算法交叉算子的改進(jìn)可以大大提高遺傳算法的尋優(yōu)能力。

參考文獻(xiàn)

[1]劉勇、康立山,陳毓屏著.非數(shù)值并行算法-遺傳算法.北京:科學(xué)出版社1995.1

[2]IMOliverDJSmithandJRCHolland,Astudyofpermutationcrossoveroperatorsonthetravelingsalesman[C]//ProblemofthesecondInternationalConferenceonGeneticAlgorithmsandTheirApplication,Erlbaum1897:224-230

篇4

進(jìn)行圖形程序設(shè)計時,還須考慮視頻接口的一個重要特性——虛擬終端功能,因為它允許控制幾個獨立的圖形應(yīng)用窗口,允許多個應(yīng)用程序在同一個終端上進(jìn)行切換。本文提供針對IBM標(biāo)準(zhǔn)終端對虛擬終端進(jìn)行有效管理的手段。

微機(jī)UNIX直接視頻圖形程序設(shè)計有兩種方法,一種是利用設(shè)備驅(qū)動程序(見參考文獻(xiàn)1),另一種是針對IBM標(biāo)準(zhǔn)終端進(jìn)行編程,本文介紹后者。

一、圖形程序設(shè)計

1.檢測視頻適配器

視頻顯示器是由視頻適配器硬件控制的,視頻適配器決定了圖形方式下顯示圖形的分辨率及可能的顏色[2]。利用系統(tǒng)調(diào)用ioctl中的CONS-CURRENT命令可以檢測到當(dāng)前的視頻適配器,即:

ioctl(0,CONS-CURRENT,NULL)

返回-1時表示出錯,即沒有相應(yīng)的視頻適配器硬件,如果檢測到VGA卡則返回值為VGA,如果檢測到EGA卡則返回值為EGA,……。

2.初始化圖形系統(tǒng)

初始化圖形必須完成下列任務(wù)。

(1)獲取當(dāng)前的視頻顯示方式

ioctl的CONS-GET命令用來判斷當(dāng)前適配器的顯示方式,即:

ioctl(0,CONS-GET,NULL)

它返回顯示方式的值,這些值在包含文件vtkd.h中均有定義,如:SW-VAG640x480C為VGA適配器設(shè)置成640x480分辨率彩色圖形模式。

(2)設(shè)置圖形模式

直接將圖形模式值放入ioctl中的命令項即可設(shè)置相應(yīng)的圖形模式,如ioctl(0,SW-VGA640x480C,NULL)

將VGA適配器設(shè)置成640x480分辨率的彩色圖形模式。

(3)獲取圖形模式下視頻緩沖區(qū)物理地址

利用ioctl的MAPCONS命令可以實現(xiàn)此功能,即:

char*scrnmem;

scrnmem=(char*)ioctl(0,MAPCONS,NULL)

所有實現(xiàn)基本圖素的操作都將針對scrnmem進(jìn)行,scrnmem就是EGA/VGA相應(yīng)的四個位平面的重疊地址,有關(guān)EGA/VGA的結(jié)構(gòu)可參閱[2]。

3.實現(xiàn)基本圖素

DOS操作系統(tǒng)下,對EGA/VGA的各種視頻I/O寄存器進(jìn)行操作是很方便的,可以直接使用匯編語言in和out指令進(jìn)行讀寫。然而,UNIX操作系統(tǒng)下,對物理硬件的訪問都是由UNIX系統(tǒng)核心和設(shè)備驅(qū)動程序管理的,要訪問EGA/VGA的各種I/O寄存器,必須獲得對其訪問的特權(quán),為了實現(xiàn)這種功能要求,可以使用下列ioctl系統(tǒng)調(diào)用方式:

ioctl(0,VGA-IOPRIVL,1)獲取VGA的各種I/O寄存器的訪問特權(quán)

ioctl(0,EGA-IOPRIVL,1)獲取EGA的各種I/O寄存器的訪問特權(quán)

UNIX操作系統(tǒng)基本上是采用C語言編寫的,只是在低層的系統(tǒng)內(nèi)核方面才使用低級的匯編語言,遵循這一原則,對EGA/VGA的I/O寄存器的訪問可以采用匯編語言,而實現(xiàn)圖形系統(tǒng)的基本圖素則采用C語言。

如果用戶的UNIX系統(tǒng)中已有inb()和outb()函數(shù)(嵌入在/usr/include/sys/inline.h中),則可以直接使用它們完成對各種I/O寄存器的讀寫,否則,必須編寫下列低級匯編語言例程:

/*向一端口輸出一字節(jié)*/

/*從一端口輸入一字節(jié)*/

voidoutb(intport,ucharvalue)

{

-asmpushedx

-asmmovedx,port

-asmmoval,value

-asmoutdx,al

-asmpopedx

}

ucharinb(intport)

{

-asmpushedx

-asmmovedx,port

-asminal,dx

-asmpopedx

}

基本圖素一般包括:設(shè)置顏色,對調(diào)色板的操作,畫點、線、弧、矩形、圓、橢圓、多邊形、畫扇形、餅圖,任意圖形填充,多邊形填充,保存屏幕,恢復(fù)屏幕等,這些操作均可用C語言實現(xiàn),細(xì)節(jié)問題可參閱[2]。

4.關(guān)閉圖形系統(tǒng)

退出圖形系統(tǒng)之前必須恢復(fù)EGA/VGA各I/O寄存器的值,并將顯示模式恢復(fù)到進(jìn)入圖形模式之前的模式。采用下列ioctl調(diào)用實現(xiàn):

ioctl(0,MODESWITCH|oldmode,NULL)

oldmode是進(jìn)入圖形方式之前獲取的方式,UNIX系統(tǒng)中,獲取的方式和設(shè)置的方式之間的關(guān)系為:

設(shè)置方式值=獲取方式值|MODESWITCH

二、虛擬終端的使用

虛擬終端(VirtualTerminal,簡稱VT)加強(qiáng)了UNIX系統(tǒng)V/386的接口功能,它不僅允許單個用戶開發(fā)一個圖形應(yīng)用軟件,而且允許多用戶、多道程序在同一個物理終端上運行,在開始一個用戶的應(yīng)用程序之前不必停止另一個應(yīng)用程序,而且各個用戶之間可以互相切換。

虛擬終端有兩種操作方式[1],一種是自動操作方式(VT-AUTO),這是默認(rèn)情況,比較簡單,應(yīng)用程序并不了解終端用戶接受或放棄當(dāng)前VT的請求,這意味著被切換掉的進(jìn)程的任何輸入輸出都可能丟失。另一種方式是進(jìn)程控制方式(VT-PROCESS),該方式支持應(yīng)用程序與其它正在使用VT的進(jìn)程之間同步,應(yīng)用程序可以負(fù)責(zé)接受或放棄使用VT。

[1]中介紹了以進(jìn)程方式控制VT的過程,并以設(shè)備驅(qū)動程序方式介紹了接受和放棄對VT控制的信號處理例程。本文給出針對IBM標(biāo)準(zhǔn)終端編制VT的程序和相應(yīng)的信號處理例程。

/*設(shè)置虛擬終端*/

voidsetvirtualterm(void)

{

structvt-modevtmode;

signal(SIGUSR1,release-disp);//release-disp為放棄VT的信號處理例程

signal(SIGUSR2,acquire-disp);//acquire-disp為接受VT的信號處理例程

vtmode.mode=VT_PROCESS;//設(shè)置進(jìn)程控制方式

vtmode.relsig=SIGUSR1;

vtmode.acqsig=SIGUSR2;

if(ioctl(0,VT-SETMODE,&vtmode)==-1)exit(1);//出錯即終止此進(jìn)程

}

/*放棄VT的信號處理例程*/

voidrelease-disp(void)

{

signal(SIGUSR1,release-disp);

保存整個圖形屏幕于內(nèi)部緩沖區(qū)videobuf中;

ioctl(0),MODESWITCH|oldmode,NULL);

//oldmode為進(jìn)入圖形模式之前的顯示方式

ioctl(0,VT-RELDISP,VT-TRUE);

//VT-TRUE表明同意放棄VT,如果此項為0,則表示拒絕放棄VT.

}

/*接受VT的信號處理例程*/

voidacquire-disp(void)

{

signal(SIGUSR2,acquire-disp);

ioctl(0,newmode,NULL);//newmode為應(yīng)用程序所處的圖形模式

scrnmem=(char*)ioctl(0,MAPCONS,NULL);

//重新獲取圖形緩沖區(qū)的物理地址

從videobuf中恢復(fù)整個圖形屏幕,并釋放videobuf;

ioctl(0,VT-RELDISP,VT-ACKACQ);//VT-ACKACQ表明接受VT

}

在微機(jī)UNIX操作系統(tǒng)下,針對EGA/VGA進(jìn)行直接視頻程序設(shè)計,獨立開發(fā)一個圖形程序包,不僅小巧方便,而且可以重用以前在DOS下開發(fā)的圖形應(yīng)用程序。筆者在SCOUNIX系統(tǒng)下開發(fā)了一個小的低層圖形軟件包,許多以前的DOS圖形應(yīng)用程序都可以移植到UNIX系統(tǒng)下來。

另外,本文介紹的程序在使用前還應(yīng)包含下列文件,即:

#include<stdio.h>

#include<sys/types.h>

#include<sys/console.h>

#include<sys/vtkd.h>

#include<termio.h>

#include<sys/signal.h>

分配空間時還應(yīng)加上#include<malloc.h>

參考文獻(xiàn)

篇5

1.算法思想。數(shù)學(xué)里的算法是極其重要的內(nèi)容,是數(shù)學(xué)的組成部分,同時是計算機(jī)理論的核心,也是技術(shù)的核心。在社會發(fā)展過程中,人們的日常生活已經(jīng)離不開計算機(jī),它成為生活中的重要工具,如看電影、繪畫、處理數(shù)據(jù)等,它所涉及的面非常廣,和生活息息相關(guān)。計算機(jī)雖是生活過程中必不可少的工具,但它的工作情況是什么樣呢?想要了解這個問題,就要先從算法來開始學(xué)習(xí)。算法能使邏輯思維能力提高,對有條理思考和表達(dá)的發(fā)展非常有利。在過去時間里,算法這個名詞雖然沒有出現(xiàn),但這種算法思維已經(jīng)滲透到數(shù)學(xué)教學(xué)過程中,例如,運算過程中的四則運算、求解方程等,這些步驟的完成都需要程序化的表達(dá),這個過程也是算法思想的形成。

2.算法的構(gòu)建。在處理一些問題時,一系列可操作的步驟需要設(shè)計,或者設(shè)計它的可算操作,來通過這些步驟進(jìn)行解決問題,這種解決問題的方法就是通常指的算法。廣義的算法:就是一種工作的方法和步驟,例如,歌曲的歌譜、洗衣機(jī)說明書等都是它們使用的算法。數(shù)學(xué)教學(xué)中的算法:數(shù)學(xué)中,把計算機(jī)解決問題過程中的程序認(rèn)為是現(xiàn)代意義的“算法”。這種算法可以用計算機(jī)實現(xiàn),對求解的方法也是統(tǒng)一、機(jī)械的,例如:解方程、作圖問題、函數(shù)求值等的算法。

二、ARCS動機(jī)設(shè)計模式在高中數(shù)學(xué)程序設(shè)計教學(xué)中的應(yīng)用

1.注意策略。在學(xué)生考慮到需要輸入輸出時,實際上他們就已經(jīng)開始有了算法思維,只是很多學(xué)生在開始時不確定如何準(zhǔn)確劃分步驟。通過上述例證使學(xué)生了解算法解決問題的思路和步驟。

2.相關(guān)性策略?!秾O子算經(jīng)》中原文是:“今有物,不知其數(shù),三三數(shù)之,剩二,五五數(shù)之,剩三,七七數(shù)之,剩二,問物幾何?答曰:二十三?!睂Ω咧猩鷣碚f,在問題提出后,即使有些同學(xué)的思路一開始出現(xiàn)了偏差,但是和實際情況對比之后基本都能猜出正確答案。因此,對自己判斷與實際情況不一致的同學(xué)來說,他們就會更深一步地問自己:為什么不一樣?哪里出現(xiàn)了問題?這有助于學(xué)生獨立思考能力的培養(yǎng)。只有讓學(xué)生自己發(fā)現(xiàn)錯誤、判斷錯誤、解決錯誤,才能讓學(xué)生真正地掌握相關(guān)知識,這也有助于提高學(xué)生的高階思維能力。

3.信心策略。算法實例基本是必考題,每次的考試中都有或多或少地涉及一些。算法題出題方式靈活,可考查內(nèi)容較多,是一個全面評估學(xué)生知識掌握程度的考題。教師在對學(xué)生進(jìn)行考核時,要考慮到學(xué)生自身知識的掌握水平,從學(xué)生角度出發(fā),循序漸進(jìn)地增加難度,切忌一次考核過難,打擊學(xué)生的自信心,降低學(xué)生的學(xué)習(xí)興趣。案例:例1.通過求1+2+3+4+5中的一個算法。解:算法1用逐一相加的方法來進(jìn)行。第一步:計算1+2,得數(shù)3;第二步:把第一步中所得結(jié)果3與3相加,計算得到6;第三步:將第二步中所得的運算結(jié)果6與4相加,計算得到10;第四步:將第三步中所得的結(jié)果10與5相加,計算得得到15.說明:①一個問題的算法肯定不是唯一。②若將本例題改為“求1+2+3+…+100的結(jié)果,給一個算法”,則以上第二算法和第三算法表達(dá)較為方便。對剛開始接觸程序設(shè)計的學(xué)生來說,這類題型可以提高學(xué)生的自信心,使學(xué)生產(chǎn)生強(qiáng)烈的榮譽(yù)感。題目的難度是明確的,但實際解題思路并不復(fù)雜,卻有多種解題方法,對解題思路明確后,其流程圖繪制也就輕而易舉了。給學(xué)生自信心,讓學(xué)生感受自身的能力有助于提升學(xué)生的學(xué)習(xí)動力。

4.滿意策略。以滿意度策略為基礎(chǔ)的數(shù)學(xué)課堂教學(xué)方式有很多,如多媒體教學(xué)、學(xué)生學(xué)習(xí)目標(biāo)設(shè)定、多元化教學(xué)方式等。在教學(xué)中,本人根據(jù)學(xué)生各自情況,與學(xué)生進(jìn)行溝通后為每人設(shè)定了相應(yīng)的學(xué)習(xí)目標(biāo)。每次測評之后并不以全班同學(xué)的成績來評論學(xué)生的好壞,而是通過橫向與縱向兩方面相比,讓學(xué)生全面了解自身當(dāng)前學(xué)習(xí)狀況。另外,數(shù)學(xué)課堂教學(xué)中,要重視學(xué)生的能動性,通過參與問題、解決問題的方式讓學(xué)生充分表現(xiàn)自己。通過滿意策略提高學(xué)生的學(xué)習(xí)動機(jī)。

三、總結(jié)

篇6

1城市設(shè)計的主要內(nèi)容及其對計算機(jī)圖形圖像技術(shù)的要求

城市設(shè)計簡要地說就是為人們設(shè)計聚居地的一種藝術(shù),它是城市規(guī)劃的重要組成部分。城市設(shè)計所關(guān)心的是建筑實體的視覺效果;人與場所的連接性;活動空間與舒適環(huán)境的創(chuàng)造;整個城市景觀改善的進(jìn)程。城市設(shè)計要為建筑物實體及其空間布局,為建筑形式構(gòu)圖及其與周圍空間的三維關(guān)系,為獲得美學(xué)與社會質(zhì)量成就進(jìn)行視景布置建立整體框架。

1.1城市設(shè)計內(nèi)容的層次性。城市設(shè)計的基本內(nèi)容分為宏觀、中觀、微觀三個層次。

宏觀層次:城鎮(zhèn)分布與城市形象。城市設(shè)計的宏觀層次包括在一定區(qū)域內(nèi)的城鎮(zhèn)分布;城鄉(xiāng)一體化規(guī)劃與景觀設(shè)計;城市的格局與形態(tài)、功能組團(tuán)、環(huán)境保護(hù)、基礎(chǔ)設(shè)施、分區(qū)特色與舒適的環(huán)境、城市出入口、土地利用與活動場所等。城市設(shè)計的宏觀層次內(nèi)容與城鎮(zhèn)體系規(guī)劃相輔相成,不過城市設(shè)計更注重于城市的關(guān)鍵性特征與自然景觀的構(gòu)成;注重城市開發(fā)建設(shè)對自然景觀、文化或社會經(jīng)濟(jì)資源的物質(zhì)的和視覺質(zhì)量的直接和間接影響。在對宏觀層次的城市設(shè)計進(jìn)行評價時,創(chuàng)造高質(zhì)量的城市環(huán)境和優(yōu)美的城鄉(xiāng)視野成為重要準(zhǔn)則。包括對自然山水景觀的組織與利用,視覺特征物的適宜性和可視性,整體高度輪廓和體量的協(xié)調(diào)性,與傳統(tǒng)景觀的協(xié)調(diào)性等等。為應(yīng)用ArcGIS對炎陵縣的自然地理、人口分布、交通條件等進(jìn)行綜合分析作出的城鎮(zhèn)布局。為應(yīng)用ArcGIS對炎陵縣重點發(fā)展地區(qū)的用地空間發(fā)展所作的規(guī)劃。規(guī)劃在宏觀上充分考慮了炎陵縣作為人文與生態(tài)旅游縣的自然環(huán)境特色。

中觀層次:建筑物與空間。中觀層次城市設(shè)計內(nèi)容包括用地布局、建筑設(shè)計、交叉口與廣場、街道和路網(wǎng)格局、視線走廊、連接度與整體性、體量與高度、地標(biāo)物、開敞空間和公園、人行道與步行系統(tǒng)的連接等等內(nèi)容。中觀層次城市設(shè)計內(nèi)容與城市總體或分區(qū)規(guī)劃相輔相成,不過城市設(shè)計主要關(guān)注開發(fā)建設(shè)對自然景觀的物質(zhì)和視覺質(zhì)量的直接和間接影響;人工建造物的適宜性和視角的關(guān)系;對光和空氣的穿透性影響;與步行道格局的協(xié)調(diào)性;與城市整體立面輪廓和體量的協(xié)調(diào)性;與地方傳統(tǒng)的協(xié)調(diào)和對周圍環(huán)境的影響等等。圖3為應(yīng)用ArcGIS對炎陵縣城現(xiàn)狀所作的全景鳥瞰。

微觀層次:使用者環(huán)境。微觀層次的城市設(shè)計內(nèi)容包括建筑物的人的尺度、街道陳設(shè)、材質(zhì)顏色和紋理、過渡的處理、廣告和標(biāo)志、街道景觀等。微觀層次的城市設(shè)計與詳細(xì)規(guī)劃設(shè)計相輔相成。在對微觀層次城市設(shè)計進(jìn)行評價時,自然方面主要關(guān)注功能上的適宜性。人造方面關(guān)注街道結(jié)構(gòu)和功能的適宜性,創(chuàng)造好的步行環(huán)境,人的尺度和生活質(zhì)量的提高,空間的創(chuàng)造等。圖4為某中學(xué)新校園的大門,通過三維建模貼圖生成。

1.2城市設(shè)計對信息技術(shù)的要求

從城市設(shè)計各層次的內(nèi)容及評價原則來看,人與自然環(huán)境的協(xié)調(diào),恰當(dāng)?shù)目臻g組織,悅目的視覺效果均是共同的追求。以往城市規(guī)劃和建筑設(shè)計由于受到技術(shù)手段的限制,規(guī)劃師和建筑師主要是通過二維圖形加空間想象來構(gòu)思和評價設(shè)計方案,僅在進(jìn)行建筑單體設(shè)計或很小的群體設(shè)計中才應(yīng)用三維效果圖,或固定路徑的動畫來模擬建成后的空間關(guān)系和視覺效果。眾所周知,傳統(tǒng)的效果渲染需要耗費大量時間和占用大量計算機(jī)內(nèi)存。因此多方案的交互式設(shè)計和實時動畫根本不可能進(jìn)行。

城市設(shè)計計算機(jī)視景仿真需要解決幾個方面的問題。其一,處理數(shù)字高程模型,生成并修改三維地形,進(jìn)行坡度、坡向、高程、填挖、淹沒、視線視域分析。

其二,進(jìn)行建筑密度、容積率、可達(dá)性、緩沖、選址可行性分析,用以評價社會經(jīng)濟(jì)與環(huán)境效果。以上兩項是GIS的典型功能。其三,大面積多單體的快速三維建模,包括建筑物、構(gòu)筑物、城市家俱、廣告牌、樹木、車輛、人物等。一般GIS只有二維拉伸功能,稱為2.5維,不是真三維。而流行的3Dmax三維建模不勝任大量對象建模與實時瀏覽任務(wù)。其四,實時虛擬。要能快速地重繪畫面,包括對場景對象、天光背景、動畫路徑、視點視角等的改變均能立即作出反應(yīng)。從理論上說,以上四大問題可以在一個GIS平臺或統(tǒng)一的VR系統(tǒng)中得到解決,不過目前這種平臺還處在研發(fā)之中,但是我們可以借助GIS與VR綜合集成來解決問題。

2一種基于GIS與VR的城市設(shè)計技術(shù)方案

2.1虛擬現(xiàn)實系統(tǒng)集成。無論是GIS還是VR,當(dāng)前國內(nèi)外均有多種商業(yè)軟件可供選用。美國ESRI的ArcGIS是世界上最先進(jìn)的地理信息系統(tǒng),不過它的三維建模功能不強(qiáng),且沒有實時虛擬動畫的功能。美國Multigen-Paradigm公司的Multigen-Vega是當(dāng)前虛擬現(xiàn)實的旗艦軟件,其強(qiáng)大的三維建模工具Creator和虛擬仿真引擎Vega有機(jī)結(jié)合能很好地滿足虛擬城市實時動畫要求,不過它不具備空間分析的功能。其它的GIS與VR軟件大體也是如此。所幸的是,我們已經(jīng)有了一個綜合兩個方面的優(yōu)勢來解決城市設(shè)計技術(shù)問題的方案。這就是ESRI公司委托Multigen-Paradigm公司開發(fā)了一個ArcGIS擴(kuò)展模塊SiteBiulder,該模塊使得ArcGIS具備了實時動畫功能并且能接受Multigen的三維模型。于是我們就有了一個基于GIS與VR的應(yīng)用于城市設(shè)計的虛擬現(xiàn)實系統(tǒng).

2.2系統(tǒng)應(yīng)用步驟。該系統(tǒng)的完整的應(yīng)用包括場景的規(guī)劃設(shè)計、單體的建筑設(shè)計、三維建模并貼圖、實時虛擬動畫幾部分內(nèi)容

2.2.1城市規(guī)劃設(shè)計。無論是新城區(qū)的開發(fā)還是老城區(qū)的改建均要先確定規(guī)劃設(shè)計目標(biāo),提出社會、經(jīng)濟(jì)、環(huán)境方面的要求。根據(jù)要求,進(jìn)行自然條件、建設(shè)條件等一系列的基礎(chǔ)分析。在分析基礎(chǔ)上完成土地利用、道路交通、建筑布局、豎向規(guī)劃、工程設(shè)施等規(guī)劃設(shè)計方案。值得注意的是,以往規(guī)劃設(shè)計僅用CAD進(jìn)行輔助設(shè)計。本系統(tǒng)強(qiáng)調(diào)應(yīng)用ArcGIS技術(shù)輔助規(guī)劃設(shè)計,原因有兩個方面。其一,CAD不具備所要求的空間分析功能;其二,只有ArcGIS主題及主題中的特征(對象)才能被引入到SiteBiulder中進(jìn)行實時動畫。圖5為應(yīng)用ArcGIS制作的湖南城市學(xué)院新校區(qū)地勢圖,圖6為新校園的一個規(guī)劃模型。

2.2.2建筑設(shè)計。在規(guī)劃布局的基礎(chǔ)上,進(jìn)行建筑設(shè)計方案。各單體設(shè)計成果仍以平、立、剖面圖為主。為配合下階段的Creator三維建模和紋理貼圖,建筑師繪制的單體立面效果圖很有用處。整幅有陰影的彩色立面圖可以代替多塊片的煩瑣貼圖,在三維場景中具有相當(dāng)?shù)牧Ⅲw效果。如有必要,某些單體可設(shè)計出多個,供虛擬替代方案優(yōu)化所用。

2.2.3組織ArcGIS主題。在SiteBiulder三維場景中,各虛擬對象是以ArcGIS主題來組織并引入的。進(jìn)入三維場景的主要是三維地形、道路、建筑、樹木、鋪地和草地。主題中的特征并不要表現(xiàn)對象的具體幾何形狀,而只要確定各對象的具置。例如用點主題表示建筑布局,每棟建筑物僅需要一個點來表示,每個點代表的建筑物的模型被存放在數(shù)據(jù)庫中,完全相同的建筑物如住宅只須保存一個實例就行了。只要建立起點對象與建筑實例的關(guān)聯(lián),則不同的建筑物模型都會被引入場景中。

2.2.4創(chuàng)建三維模型。本虛擬系統(tǒng)采用MultiGen公司的Creator作為三維場景建模工具,它的Open-Flight采用樹狀層次結(jié)構(gòu)來組織管理場景數(shù)據(jù)。

城市設(shè)計所涉及的場地中的模型包括天空、地面、單體建筑、構(gòu)造物、樹木、街道陳設(shè)物、廣告牌等等,建模工作量巨大。因此在建立模型之前,應(yīng)根據(jù)場景中每個實體的幾何空間位置以及模型內(nèi)部與模型之間的相互關(guān)系,確定虛擬場景中所有單體模型的層次歸屬,以有利于模型的修改、調(diào)用。三維模型并非越細(xì)越好。我們要在幾何真實與紋理真實之間取得某種協(xié)調(diào)。適當(dāng)?shù)貏澐謳缀蚊婧蜏?zhǔn)備適當(dāng)分辨率的圖片是建筑虛擬的關(guān)鍵。

2.3.5創(chuàng)建虛擬動畫場景。起動ArcGIS及其擴(kuò)展模塊SiteBiulder,將模型庫中的各模型實例與主題中的各特征建立起聯(lián)系,各虛擬對象將依各自的空間位置呈現(xiàn)在三維場景中。SiteBiul-der有一套自己的菜單和工具,完成實時動畫。

3新建校園虛擬現(xiàn)實應(yīng)用實例

篇7

為了彌補(bǔ)立法上過于粗簡的缺陷,最高人民法院先后頒布了一系列司法解釋對簡易程序進(jìn)行進(jìn)一步規(guī)范,其中部分內(nèi)容,如賦予雙方當(dāng)事人程序選擇權(quán)、規(guī)定簡易程序與普通程序的轉(zhuǎn)換等,還在此次修訂中正式寫入《民事訴訟法》。上述司法解釋對于立法的粗簡起到了一定的彌補(bǔ)作用,在司法審判實踐中發(fā)揮了巨大的作用。但是,司法解釋囿于效力的限制,與《民事訴訟法》不在一個法律位階,執(zhí)行起來顯得剛性不足,這就使得簡易程序沒有建立起相應(yīng)的地位。適用標(biāo)準(zhǔn)抽象和不明確。我國現(xiàn)行《民事訴訟法》第一百五十七條用“事實清楚”、“權(quán)利義務(wù)關(guān)系明確”、“爭議不大”三者結(jié)合起來界定適用簡易程序的標(biāo)準(zhǔn),這種規(guī)定存在著很明顯的缺陷和邏輯錯誤。在司法實踐中,何為簡單民事案件,完全取決于法官的主觀理解。程序設(shè)計未體現(xiàn)簡便快捷。簡便快捷是簡易程序區(qū)別于普通程序的明顯特點,也是其最大價值所在。目前,我國《民事訴訟法》在普通程序的基礎(chǔ)上規(guī)定了簡易程序,其大部分規(guī)定都參照普通程序的做法,只是少了合議庭組成,無合議庭筆錄,對案件審理的部分環(huán)節(jié)進(jìn)行了簡化,其他環(huán)節(jié)與普通程序相比沒有太大差異,并未體現(xiàn)簡易程序應(yīng)有的規(guī)律,遠(yuǎn)不能滿足對簡易民事案件審判的要求。

我國小額經(jīng)濟(jì)糾紛案件訴訟程序的構(gòu)建

(一)立法模式的選擇

綜觀世界各國各地區(qū)的小額訴訟立法,大致存在三種模式。第一種模式是在民事訴訟法典外單獨設(shè)置小額訴訟程序,如美國各州都規(guī)定了專為小額法庭制定的訴訟程序,韓國為處理大量的小額案件專門制定了《小額審判法》。第二種模式是在民事訴訟法典中設(shè)置專門的章節(jié)來規(guī)定小額訴訟程序,如英國在其《民事訴訟規(guī)則》里專章規(guī)定了小額索賠審理制,日本在其《民事訴訟法》里第六編專編規(guī)定了“關(guān)于小額訴訟的特則”,我國臺灣地區(qū)也在其《民事訴訟法》里對小額訴訟程序做出了特別規(guī)定。第三種模式是在民事訴訟法簡易程序中對小額訴訟程序做出規(guī)定,如德國和法國的小額訴訟程序就是通過對簡易程序的簡化來實現(xiàn)的。筆者認(rèn)為,結(jié)合世界小額訴訟的幾種主要立法模式,并從我國國情和立法傳統(tǒng)出發(fā),我國可以在民事訴訟法典中的簡易程序一章后設(shè)置專章來規(guī)定小額訴訟程序,從而使小額訴訟程序獨立于普通程序和簡易程序。

(二)適用范圍的確定

對于小額訴訟程序的適用范圍,我國應(yīng)當(dāng)采用世界各國的普遍做法,即以訴訟標(biāo)的額的最高限額作為小額訴訟的適用標(biāo)準(zhǔn)。小額的標(biāo)準(zhǔn)直接與普通民眾的消費規(guī)模和交易習(xí)慣相關(guān),我國人均收入偏低且不同地區(qū)差別較大,甚至在同一個省、自治區(qū)、直轄市內(nèi)的不同地區(qū)也有很大的差異,因此各地區(qū)不宜統(tǒng)一規(guī)定“一刀切”的標(biāo)準(zhǔn)。應(yīng)根據(jù)中國各地的不同情況,在“各省、自治區(qū)、直轄市上年度就業(yè)人員年平均工資百分之三十以下”的基礎(chǔ)上,各省級人民法院可以根據(jù)各自的經(jīng)濟(jì)發(fā)展水平在上述幅度內(nèi)自行確定轄區(qū)內(nèi)不同地區(qū)的標(biāo)的額上限,最后報最高人民法院備案。同時,小額訴訟程序適用案件類型一方面限于給付之訴,另一方面給付請求不僅限于金錢,也可包括其他小額動產(chǎn)或有價證券,這樣更符合小額訴訟程序的目的。

(三)地域管轄的特殊性

現(xiàn)行《民事訴訟法》對民事案件的管轄采取了“地域管轄”原則,第二十一條確定了“原告就被告”的管轄原則,第三十四條確定了“合意管轄”的原則。在小額經(jīng)濟(jì)糾紛中大量存在著消費者與商家或廠家的消費糾紛,而消費者與商家或廠家的經(jīng)濟(jì)地位懸殊,如果還是要求廣大消費者統(tǒng)一到商家或廠家住所地或格式合同確定的法院,將可能給當(dāng)事人帶來更大的訴訟成本,進(jìn)而影響當(dāng)事人訴諸法院維護(hù)自身權(quán)利的積極性。因此,在小額訴訟程序中,應(yīng)當(dāng)確立原告所在地法院管轄這一原則,有助于保護(hù)經(jīng)濟(jì)上處于弱勢地位的小額案件當(dāng)事人的合法權(quán)利;而當(dāng)雙方當(dāng)事人均為法人商人或均為自然人時,就不適用此項原則,而仍應(yīng)依照通常的“原告就被告”與“合意管轄”原則。

(四)賦予當(dāng)事人程序選擇權(quán)

在民事訴訟領(lǐng)域,程序選擇權(quán)主要是指在民事訴訟法規(guī)定的范圍內(nèi),當(dāng)事人有選擇訴訟程序及其他程序事項的權(quán)利。與《民事訴訟法》當(dāng)事人雙方“約定”適用簡易程序的規(guī)定不同,原告時,可以主動行使程序選擇權(quán),選擇是否適用小額訴訟程序。如果原告選擇適用小額訴訟程序,則被告享有了程序異議權(quán)。即如果被告就適用小額訴訟程序有異議,應(yīng)當(dāng)在答辯期內(nèi)向法院提出異議申請,并說明理由,經(jīng)法院審查,如果異議成立,應(yīng)將案件轉(zhuǎn)入簡易程序或普通程序;如果被告在答辯期內(nèi)沒有提出異議,則視為默示同意選擇小額訴訟程序。

(五)限制律師

小額訴訟因其標(biāo)的額較小,訴訟成本有限,聘請律師必將大大增加當(dāng)事人的訴訟成本,不符合小額訴訟設(shè)立的目的??梢栽谛☆~訴訟程序的立法中取消有關(guān)律師的規(guī)定,但針對當(dāng)事人法律專業(yè)知識不足的情況,法官應(yīng)更主動地介入訴訟、行使職權(quán),而不像在普通程序和簡易程序中那樣消極。

我國小額經(jīng)濟(jì)糾紛案件訴訟程序的具體設(shè)置

(一)形式

當(dāng)事人可以預(yù)約到法院。當(dāng)事人可以口頭,也可使用固定格式化狀,這種狀由法院提供,并且法院應(yīng)預(yù)先印制各種常見狀的樣稿,供當(dāng)事人參考填寫。當(dāng)事人口頭的,法院應(yīng)當(dāng)記入筆錄,由當(dāng)事人簽字確定。

(二)庭前準(zhǔn)備工作

為了保證庭審的順利進(jìn)行,開庭前的準(zhǔn)備工作是完全必要的,但不能把準(zhǔn)備工作復(fù)雜化。關(guān)于開庭的各種通知和訴訟權(quán)利的告知,應(yīng)以口頭方式,并簡化送達(dá)、簽字等手續(xù),避免小額訴訟程序復(fù)雜化。

(三)實行獨任審判

通過對小額訴訟程序的域外考察可以看出,世界各國均規(guī)定了法官獨任審理的制度。我國《民事訴訟法》第一百四十五條也規(guī)定:“簡單的民事案件由審判員一人獨任審理”,而小額訴訟程序?qū)徖淼氖禽^之更為簡單的小額經(jīng)濟(jì)糾紛。因此,我國在構(gòu)建小額訴訟訴程序時,也應(yīng)當(dāng)規(guī)定一審審理由審判員一人獨任擔(dān)當(dāng)?shù)闹贫取?/p>

(四)審理時間和審理期限

為了不影響當(dāng)事人的正常工作,節(jié)約當(dāng)事人的訴訟成本,可以將開庭時間安排在節(jié)假日或者夜間,由法官根據(jù)當(dāng)事人雙方的具體情況自行決定。在雙方當(dāng)事人一同到法院要求解決糾紛的情況下,則應(yīng)當(dāng)立即安排人員進(jìn)行審理,爭取當(dāng)日審結(jié)。并且,按照我國簡易程序所規(guī)定的3個月的審理期限,對于小額訴訟程序來說還嫌過長,可以規(guī)定在立案之日起30日內(nèi)審結(jié)。

(五)調(diào)解前置

注重調(diào)解一直是我國民事審判的優(yōu)良傳統(tǒng),在構(gòu)建我國的小額訴訟程序時應(yīng)當(dāng)規(guī)定調(diào)解前置主義:即凡適用小額訴訟程序?qū)徖淼陌讣?,?yīng)當(dāng)先行調(diào)解,鼓勵雙方當(dāng)事人達(dá)成調(diào)解協(xié)議,及時化解矛盾,調(diào)解不成的才進(jìn)入審判程序;并且,對于調(diào)解成功的案件,當(dāng)事人只須繳納二分之一的訴訟費用,以調(diào)動當(dāng)事人的積極性,提高前置調(diào)解的成功率。

(六)簡化證人作證

在小額訴訟程序中,證人未必都要出庭作證。可以允許證人將法官需要詢問的事項提供證言,并在當(dāng)?shù)毓C機(jī)關(guān)進(jìn)行公證,或由法官在開庭階段電話詢問證人,而不必一定要求證人出庭作證。

(七)簡化法庭調(diào)查和法庭辯論程序

在小額訴訟程序中,關(guān)于法庭調(diào)查和法庭辯論程序,有三種情形可以從簡進(jìn)行:第一,遇有雙方當(dāng)事人相互認(rèn)可或無爭議的事實及情節(jié),法庭調(diào)查和法庭辯論完全可以從簡進(jìn)行,對事實、情節(jié)、證據(jù)不進(jìn)行審理和調(diào)查,只將雙方認(rèn)可的情況記錄在卷就可以了;第二,遇有雙方當(dāng)事人對案件事實、證據(jù)無爭議,只是在舉證責(zé)任的承擔(dān)和法律的運用上有分歧的情形,法庭調(diào)查可以省略,而直接引導(dǎo)雙方進(jìn)行法庭辯論;第三,依小額訴訟程序?qū)徖淼陌讣?,法庭調(diào)查和法庭辯論不必機(jī)械地分開,完全可以靈活地交叉進(jìn)行。

篇8

參考文獻(xiàn):

[1]鄭莉.計算機(jī)入門語言講什么[J].計算機(jī)教育,2006,7:25-26

[2]朱平.java程序設(shè)計教學(xué)[J].湖北教育學(xué)院學(xué)報,2006,23(2):46-48

[3]孫偉.“java程序設(shè)計”課程的教學(xué)改革與實踐[J].計算機(jī)時代,2005,11:84-86

[4]張孝祥,Java就業(yè)培訓(xùn)教程.清華出版社.2006.9.

[5]印昊,JAVA與面向?qū)ο蟪绦蛟O(shè)計.高等教育出版社.2004.4.

參考文獻(xiàn):

[1]李紅艷.科技情報系統(tǒng)安全體系結(jié)構(gòu)研究[D].西安電子科技大學(xué)2010

[2]張自然.基于JAVA/CORBA的WWW分布式電子商務(wù)系統(tǒng)研究[D].華中師范大學(xué)2002

[3]陳俊.基于SNMP和JAVA的網(wǎng)絡(luò)流量檢測系統(tǒng)[D].武漢理工大學(xué)2005

[4]黃華毅.基于Java移動系統(tǒng)的主機(jī)安全問題解決方案[D].暨南大學(xué)2003

[5]任力偉.基于CORBA的WebSCADA系統(tǒng)架構(gòu)[D].南京理工大學(xué)2004

[6]DANNYAYERS,JOHNBELL.JAVA數(shù)據(jù)庫編程指南[M].北京:電子工業(yè)出版社,2002.

[7]鄭莉.Java語言程序設(shè)計[M].北京:清華大學(xué)出版社,2006.

[8]魏海萍.標(biāo)準(zhǔn)Java2類庫使用手冊[M].北京:電子工業(yè)出版社,2005.

參考文獻(xiàn)

[1]史寶會.“任務(wù)驅(qū)動”教學(xué)法的幾點體會.信息教育技術(shù),2005.

[2]劉鳳艷.建構(gòu)主義論——教學(xué)改革的理論基礎(chǔ).牡丹江師范學(xué)院學(xué)報(哲學(xué)社會科學(xué)版),2006.6.

[3]遲麗華主編.《Java程序設(shè)計教程》.清華大學(xué)社出版.

篇9

關(guān)鍵詞:高職院校,程序設(shè)計,語言,教學(xué)方法

 

一、引言

近年來,隨著科技的進(jìn)步,各行業(yè)對計算機(jī)技術(shù)的應(yīng)用越來越普及,為適應(yīng)社會對高層次人才的需求,各高校也在非計算機(jī)專業(yè)加強(qiáng)了計算機(jī)知識的教學(xué),在一些理工科專業(yè)中開設(shè)了計算機(jī)公共基礎(chǔ)課程,并進(jìn)一步提升了程序設(shè)計課程的重要性。另外,程序設(shè)計課程是高職高專院校計算機(jī)專業(yè)的專業(yè)基礎(chǔ)課程之一,它不僅可以培養(yǎng)學(xué)生的編程能力,增強(qiáng)學(xué)生的邏輯思維能力,還是學(xué)生學(xué)習(xí)好后續(xù)專業(yè)課程的前提和保障。

為了將學(xué)生順利地領(lǐng)進(jìn)計算機(jī)程序設(shè)計語言的大門,為了培養(yǎng)和訓(xùn)練學(xué)生的邏輯思維能力和編程的實際動手能,為了取得較好的教學(xué)效果和提高教學(xué)質(zhì)量。筆者通過近年來的教學(xué)經(jīng)驗,對程序設(shè)計課程教學(xué)中存在的實際問題做個分析、在教學(xué)思路與教學(xué)方法上提出一些建議。

二、教學(xué)中存在的問題

1、學(xué)習(xí)目標(biāo)不明確,興趣不濃,積極性不高

由于高職院校學(xué)生的入學(xué)成績相對較低,學(xué)習(xí)基礎(chǔ)和學(xué)習(xí)能力相對較差,對知識的渴望程度有限,在沒有明確的學(xué)習(xí)目標(biāo)指引下,很難學(xué)好一門課程。免費論文參考網(wǎng)。在教學(xué)中本人發(fā)現(xiàn),有很多學(xué)生不清楚學(xué)習(xí)程序設(shè)計語言課程的重要性,認(rèn)為程序語言設(shè)計課程與他未來的工作毫無關(guān)系;有些學(xué)生認(rèn)為學(xué)習(xí)程序設(shè)計語言太枯燥,不如學(xué)習(xí)多媒體或網(wǎng)絡(luò)的一些課程;有些學(xué)生是因為學(xué)習(xí)程序設(shè)計需要較強(qiáng)的邏輯思維能力和一定的數(shù)學(xué)、英語基礎(chǔ),因而在學(xué)習(xí)程序設(shè)計時顯得力不從心,不能掌握應(yīng)用計算機(jī)解題的基本思維方式,對計算機(jī)程序設(shè)計產(chǎn)生畏懼感,知難而退。

2、教學(xué)方式呆板,教學(xué)內(nèi)容陳舊

在教學(xué)過程中,有許多教師仍在沿用傳統(tǒng)的教學(xué)方法,偏重知識的傳授,忽視能力的培養(yǎng)。課堂上往往只是知識的傳授者、灌輸者,以教師作為課堂的中心,以廣大學(xué)生為講授對象,教師一邊講解教學(xué)內(nèi)容,一邊進(jìn)行演示,課堂氣氛沉悶,師生間缺乏互動溝通,課堂上留給學(xué)生練習(xí)的時間偏少,忽視了學(xué)生的認(rèn)知主體作用,無法激發(fā)學(xué)生的積極主動性,所有學(xué)生被迫按照老師的講授速度進(jìn)行學(xué)習(xí),不利于培養(yǎng)思維能力與創(chuàng)造能力,多數(shù)理論停留在紙上談兵的階段。

教材內(nèi)容陳舊、枯燥,脫離課程教學(xué)目的,脫離實際。有些教師往往把很大的精力甚至是主要精力放在程序設(shè)計語言的語法規(guī)則和語義上,不自覺地把“程序設(shè)計”課變成“程序語言”課,在考查方式上也常常是一張試卷決定該課程的成績,導(dǎo)致了學(xué)生學(xué)習(xí)精力的偏移教材中的例題和習(xí)題大都是立足于程序語言本身的語法規(guī)則,與現(xiàn)實生活相差太遠(yuǎn),致使部分學(xué)生覺得學(xué)習(xí)編程語言是一件枯燥的事。

3、過于注重理論學(xué)習(xí)而忽略了編程實踐能力

在高職院校中,非計算機(jī)專業(yè)的程序設(shè)計語言課程的課時量往往很少,例如我校安排的理論課時和實踐課時加起來總課時為64課時。在教學(xué)過程中,很多老師由于受到課時的限制,無法按照正常進(jìn)度講授完所需的課程知識,或者無法對知識進(jìn)行詳細(xì)展開講解,只好占用上機(jī)時間講授理論知識,導(dǎo)致學(xué)生過度重視課本上的理論細(xì)節(jié)的東西,忽略問題的整體結(jié)構(gòu),輕視實驗課上的上機(jī)操作。

三、提高語言程序設(shè)計教學(xué)質(zhì)量的幾點思考

1、努力培養(yǎng)學(xué)生學(xué)習(xí)興趣

對于計算機(jī)程序設(shè)計語言而言,由于許多學(xué)生在進(jìn)入大學(xué)以前并未接觸過它,所以,他們會認(rèn)為計算機(jī)語言很深奧、很難學(xué),導(dǎo)致對計算機(jī)語言的學(xué)習(xí)缺乏信心。教師應(yīng)該采取適當(dāng)?shù)姆绞郊ぐl(fā)學(xué)生的積極性和自信心。

“興趣是最好的老師”, 因為高職學(xué)生有基礎(chǔ)較弱自律性不強(qiáng)的特點,所以在講授語言程序設(shè)計課時更應(yīng)該優(yōu)先考慮如何調(diào)動學(xué)生的積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣,點燃他們的學(xué)習(xí)熱情。所以在上課伊始應(yīng)該向?qū)W生介紹作為 21世紀(jì)的大學(xué)生在計算機(jī)應(yīng)用方面的要求,以及計算機(jī)應(yīng)用對于他們今后就業(yè)的影響以及工作中的用途。另外,在剛進(jìn)行計算機(jī)語言教學(xué)時,不易涉及難度大、不易理解的內(nèi)容,要突出趣味性、易學(xué)性,降低學(xué)生對新事物的困難感??稍谡n堂上當(dāng)場編寫一些小程序、小游戲,并進(jìn)行演示,以調(diào)動學(xué)生的興趣和積極性。

2、采用靈活多變的教學(xué)方法

1)實例教學(xué)法

教師根據(jù)本節(jié)課的教學(xué)目標(biāo),確定本節(jié)課的教學(xué)目的,然后再精選具有一定代表性的、能涵蓋本節(jié)課要講的知識點的案例程序,通過對案例程序的簡單講解引出本節(jié)課要講的語法知識,運用語法反過來分析程序的運行結(jié)果,根據(jù)程序的執(zhí)行過程分析程序的功能,根據(jù)程序的功能反過來分析編程思路,理解了上述編程思路后,運用這種方法結(jié)合原程序結(jié)構(gòu)再來完成一系列類似程序的編寫。

下面以本人C語言課程中“for 語句”的教學(xué)過程為例,詳細(xì)闡述一下運用實例教學(xué)法如何來實施課堂教學(xué)。

①根據(jù)本節(jié)課在教學(xué)大綱中的要求:熟練掌握for語句的使用,利用任務(wù)驅(qū)動的方式為本節(jié)課設(shè)定任務(wù)。(任務(wù):求1-100之間所有的奇數(shù)和)

②精心選擇案例程序。

③以案例程序引入本節(jié)課的for語句的語法知識,介紹for語句的一般形式,講解for語句的執(zhí)行過程。

④通過前面兩項的講解,將所學(xué)知識運用到案例中去,畫出程序執(zhí)行的實際過程,從而得出程序運行的結(jié)果。

⑤針對案例進(jìn)行編程思路上的分析,讓同學(xué)們真正地理解各變量及表達(dá)式在for語句中所起的作用,以便于他們今后獨立編寫程序。

2)比較歸納法

程序設(shè)計語言中有很多的定義、概念、語法規(guī)則,它們的使用靈活,功能強(qiáng)大,但是難以記憶。教師可以通過比較歸納的方法將這些概念、語法歸類,使學(xué)生獲得的零散知識系統(tǒng)化,對知識理解的更深刻,掌握得更牢固。

下面還是以本人C語言課程為例,在講解完指針這一章后,及時歸納和總結(jié)指針的數(shù)據(jù)類型是至關(guān)重要的。學(xué)生們普遍反映這樣一個問題,前面的章節(jié)學(xué)得挺明白的,一到了指針這一章就開始糊涂起來。而指針又是C語言的一個重要概念,也是 C語言的一個重要特色,如果不掌握指針就是沒有掌握C的精華。免費論文參考網(wǎng)。所以在教學(xué)中一定要提醒學(xué)生,在學(xué)習(xí)本章內(nèi)容時要多思考、多比較、多上機(jī),應(yīng)用的時候應(yīng)十分小心。

3、突出上機(jī)實踐的重要地位,加強(qiáng)操作環(huán)節(jié)教學(xué)指導(dǎo)

為了鍛煉學(xué)生解決較大型復(fù)雜問題的能力,老師在安排實驗課內(nèi)容時,可以布置一個大題目作為長期任務(wù),再按不同功能模塊分解開來,形成一個個短期任務(wù)。每次實驗課要求學(xué)生完成其中一個或幾個簡單的功能模塊,這樣,每次實驗課就好像一條鐵鏈上的一個個鐵環(huán),緊密聯(lián)系。僅以VF語言課程教學(xué)中的“學(xué)生信息管理系統(tǒng)”為例,把這個系統(tǒng)作為一個長期任務(wù),然后把這個系統(tǒng)劃分為若干個小的模塊。免費論文參考網(wǎng)。比如輸入輸出學(xué)生信息、添加學(xué)生信息、修改學(xué)生信息、查詢學(xué)生信息等模塊。這樣,當(dāng)學(xué)生完成每一個功能模塊后,便發(fā)現(xiàn)原來自己實現(xiàn)的是一個復(fù)雜的程序。通過這種方法,一方面可以大大降低學(xué)生對大型復(fù)雜程序的懼怕心理,另一方面也可以培養(yǎng)學(xué)生結(jié)構(gòu)化程序設(shè)計方法的思想。

四、結(jié)束語

程序設(shè)計語言課程作為高職院校學(xué)生的計算機(jī)基礎(chǔ)課程,直接影響到學(xué)生的后續(xù)課程的學(xué)習(xí)以及未來就業(yè)中的實踐能力,所以在為高職院校的學(xué)生講授該課程時,一定要從內(nèi)因和外因兩方面進(jìn)行深入研究學(xué)生的狀況,合理利用教學(xué)環(huán)境中的各種教學(xué)資源,注重以興趣為導(dǎo)向設(shè)計教學(xué)內(nèi)容,并且采用有效的教學(xué)方法,這樣就能夠使該門課程的教學(xué)質(zhì)量上一個臺階。

參考文獻(xiàn)

[1] 譚浩強(qiáng).C 程序設(shè)計[M] .北京:清華大學(xué)出版社, 2004.

[2] 楊延廣.對高職程序設(shè)計課教學(xué)方法的研究與探討.高教論壇,2006(2).

[3] 范新明.高校非計算機(jī)專業(yè)《程序設(shè)計基礎(chǔ)》課程的教學(xué)模式研究與實踐[J].電腦知識與技術(shù),2009,5(20):5 462-5 463.

篇10

關(guān)鍵詞:VB,程序設(shè)計,過程調(diào)用,參數(shù)傳遞

 

1 前言

VB程序設(shè)計是采用面向?qū)ο蟮目梢暬僮鹘缑?,功能?qiáng)大,應(yīng)用廣泛,而相對于其他面向?qū)ο蟮木幊陶Z言,如VC,Delphi等容易學(xué)習(xí)掌握。在程序設(shè)計中,為了縮短程序運行的時間,也為了方便、簡化程序設(shè)計,就需要建立相應(yīng)的過程,建立過程的目的之一就是減少重復(fù)代碼,將公共代碼放入過程中,并由其他事件過程調(diào)用它,調(diào)用過程有諸多技巧,經(jīng)常根據(jù)程序編寫的需要,按功能將程序分解成若干個相對獨立的部分,然后對每個部分進(jìn)行程序編寫測試,這樣就把每一個部分稱之為過程。免費論文。

在全國VB等級考試中,要求學(xué)生掌握的過程主要有事件過程,Sub過程和Function過程。在過程調(diào)用中,Sub過程與Function過程相似,它們都是用來完成特定功能的獨立程序代碼,它們由一組符合VB語法的語句組成,但它們不同的是,F(xiàn)unction過程可以返回一個值給調(diào)用程序。但有一點需要特別注意,那就是Sub過程與Function過程必須在事件過程或其他過程中有調(diào)用它們,否則過程代碼將永遠(yuǎn)不會被執(zhí)行。在過程的調(diào)用中,由于二者參數(shù)傳遞的機(jī)制相同,為便于描述,本文就以Sub過程(即子過程)為例,對過程的定義、調(diào)用及參數(shù)傳遞進(jìn)行分析和說明。

2 VB過程的調(diào)用與分析

在調(diào)用過程時,主調(diào)過程的實參以一定的形式傳遞給被調(diào)過程的形參,完成實參與形參的配對結(jié)合,然后執(zhí)行被調(diào)用的過程體即語句塊。經(jīng)被調(diào)過程處理后,并可得到處理的結(jié)果,但如果被調(diào)過程為Function過程時,可將所得結(jié)果返回給主調(diào)過程。VB中,參數(shù)的傳遞有傳值和傳址(引用)兩種形式。免費論文。

2.1子過程的定義與調(diào)用

自定義子過程的格式:

[Public | Private] [ Static]Sub子過程名([形參表列] )

局部變量和常量定義

<語句塊>

[Exit Sub]

[語句塊]

End Sub

其中形參表列的每個參數(shù)的形式:[ByVal](變量名[()] [As類型,]……)

形參表列中的參數(shù)稱為形參或啞元,只能是變量或數(shù)組名,不能是常量、函數(shù)、表達(dá)式等。在過程定義時,參數(shù)有傳值和傳址兩種定義形式,帶ByVal定義的參數(shù)為值傳遞,用于接收過程調(diào)用時實參傳遞過來的值,否則為地址(引用)傳遞,用于接收過程調(diào)用時實參傳遞過來的地址。

子過程的調(diào)用格式:

(1) Call過程名( [實參表列] )

(2) 過程名[實參表列]

子過程的調(diào)用是一條獨立的調(diào)用語句,有上述(1)、(2)兩種調(diào)用格式。其中:“實參表列”中的參數(shù)稱為實參,實參的個數(shù)、數(shù)據(jù)類型都要與被調(diào)用過程的形參一一對應(yīng),實參可以是同類型的常量、變量、數(shù)組、表達(dá)式等。

2.2傳值方式(ByVal)

VB中的傳值方式,實參與形參在內(nèi)存中占用不同的內(nèi)存單元,當(dāng)調(diào)用一個過程時,系統(tǒng)把實參的值復(fù)制給形參,當(dāng)執(zhí)行被調(diào)用的過程時,實參與形參并斷開聯(lián)系,過程的調(diào)用也將結(jié)束,形參的任何操作和變化都不會影響到實參。傳值方式是“單向”的,形參的值不能返回給實參。在教學(xué)中,通過總結(jié)給出了如下按傳值方式(ByVal)對過程調(diào)用的分析方法。

例1:編寫兩個數(shù)相加的過程,執(zhí)行程序并輸出結(jié)果。

Option Explicit

Public Sub Add(ByValx As Integer, ByVal y As Integer)

x =x + y : Print “x=” ;x

End Sub

Private Sub Command1_Click()

Dim a AsInteger , b As Integer

a = 20: b = 15: Call Add(a, b): Print “a=”; a;“b=”;b

End Sub

程序運行后得到的結(jié)果為:x=35a=20 b=15,通過該方法能簡潔明了地得到正確結(jié)果,x的值由兩個數(shù)相加所得的結(jié)果,而a,b兩個數(shù)的值沒有變化,分析參數(shù)傳遞過程的情況如圖1所示,由于采用傳值方式,實參和形參在內(nèi)存中占用不同的內(nèi)存單元,當(dāng)調(diào)用過程Add時,系統(tǒng)把實參a, b的值復(fù)制一份給形參x和y,便斷開實參與形參的聯(lián)系,執(zhí)行Add過程中的語句塊后,形參x的值進(jìn)行了變化即為兩個數(shù)的和,但它的變化并不影響實參a和b,當(dāng)返回到主調(diào)過程時,形參所占的內(nèi)存被釋放。

2.3傳址方式(ByRef)

傳址方式也稱引用方式,是VB默認(rèn)的參數(shù)傳遞方式,當(dāng)調(diào)用一個過程時,系統(tǒng)將實參的地址傳遞給形參,實參與形參在內(nèi)存中占用相同的存儲單元,即過程接受的是實參變量的地址。因此在被調(diào)過程中對形參的任何操作都變成了對相應(yīng)實參的操作,實參的值會隨著形參的變化而改變,這種傳遞是“雙向”的。下面來分析一下傳址方式(ByRef)的一般情況,即形參與實參均為簡單類型的變量。免費論文。

當(dāng)形參是傳址方式的簡單類型變量,實參是同類型的簡單變量時,系統(tǒng)采用傳址方式實現(xiàn)虛實結(jié)合。下面采用傳址方式,改編例1的程序,分析能否改變a,b的值。Add子過程修改如下,其主調(diào)過程與傳值方式的主調(diào)過程相同。

Public Sub Add(ByRefx As Integer, ByRef y As Integer)

x =x + y : Print “x=” ;x

End Sub

執(zhí)行程序,運行結(jié)果為:x=35 a=35 b=15。分析參數(shù)傳遞過程如圖2所示,由于采用傳址方式,實參和形參在內(nèi)存中占用同一存儲單元,當(dāng)調(diào)用過程Add時,系統(tǒng)把實參a, b的地址分別傳遞給形參x和y,使得x與a是同一存儲單元,y與b也是同一存儲單元,在這種情況下可以把x與a看成是同一個變量,y與b也可看成是同一個變量,執(zhí)行Add過程中的語句塊后,形參x的值進(jìn)行了改變,等同于實參a的值也進(jìn)行了變化,調(diào)用結(jié)束后,返回主調(diào)過程,這樣也就改變了a的值,由于y的值沒有變化,所以b的值也就沒有改變。