時(shí)間:2022-07-21 21:51:26
序論:在您撰寫vb程序設(shè)計(jì)論文時(shí),參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
關(guān)鍵詞:vb;程序設(shè)計(jì);改革;實(shí)踐
Abstract:VisualBasicprogrammingasapublicnon-professionalcomputer-basedlessons,theoryandpracticestrong,andteachingdifficult.Thearticleonhowtoimprovethequalityofteachingandtrainingstudentsinanintegratedapplicationdevelopmentcapabilitiesandexplorereformsweremade.
Keywords:VB;programming;reform;practice
1引言
VisualBasic(下面簡稱VB)程序設(shè)計(jì)是我校非計(jì)算機(jī)專業(yè)學(xué)生的必修課,然而VB語言枯燥、難以理解,學(xué)生缺乏相應(yīng)的知識背景,導(dǎo)致學(xué)生對這門課有恐懼心理,缺乏興趣。這就要求我們教師在教學(xué)中分析、摸索出一些較為行之有效的教學(xué)方法,才有可能培養(yǎng)學(xué)生程序設(shè)計(jì)能力,掌握一門技能,激發(fā)學(xué)生對程序設(shè)計(jì)的興趣。筆者在近幾年的教學(xué)實(shí)踐中進(jìn)行了如下改革探索,取得了良好的教學(xué)效果。
2教學(xué)改革與實(shí)施
2.1對課本原有知識進(jìn)行整合,激發(fā)學(xué)生的學(xué)習(xí)興趣
大部分的教材總是先講VB語言的基本語法,然后再講VB中對象的使用。但在講授時(shí)不宜將兩者分開,要把VB面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,事件驅(qū)動(dòng)的編程機(jī)制貫穿于整個(gè)教學(xué)過程中。VB中的對象主要用于構(gòu)建界面,而具體程序功能的實(shí)現(xiàn)則要編寫代碼行,因此任何一個(gè)完整的應(yīng)用程序都不可能只用對象或只用語法。這兩塊內(nèi)容可進(jìn)行穿插講解。這樣就避免了讓學(xué)生在毫無知識背景的情況下去理解抽象難懂的概念,挫傷他們編程的積極性。在教學(xué)過程中,我始終堅(jiān)持以學(xué)生已有的知識程度為基礎(chǔ),打破原有的以課本知識的邏輯結(jié)構(gòu)為順序組織課堂教學(xué)的模式,先不講基本概念,改用從簡單的實(shí)例人手,通過讓學(xué)生觀看、模仿,在實(shí)際操作中去探究和領(lǐng)悟這些概念,并適時(shí)地加以歸納總結(jié),讓學(xué)生在輕松愉快的氣氛中接受新知識。比如,在講到循環(huán)結(jié)構(gòu)中DO——LOOP語句和FOR——NEXT語句的用法時(shí),我用DO——LOOP語句的4種形式和FOR——NEXT語句實(shí)現(xiàn)求解N!的過程,讓學(xué)生去觀察、領(lǐng)悟它們的異同。
2.2教學(xué)方法多樣化
筆者在教學(xué)實(shí)踐中,除了采用傳統(tǒng)的教學(xué)方法如:提問法、小組討論法外,主要采用以下教學(xué)方法:
1)錯(cuò)例分析法
學(xué)生對變量、類型、運(yùn)算符、表達(dá)式這些基本概念和語言規(guī)則的掌握需要一個(gè)過程,對算法和數(shù)據(jù)結(jié)構(gòu)的知識需要不斷積累。學(xué)習(xí)過程中,能聽懂老師授課的內(nèi)容,但自己編制的程序往往錯(cuò)誤百出。課堂上,我經(jīng)常將容易出錯(cuò)的概念以反例形式展示給學(xué)生,讓他們找錯(cuò)誤,通過運(yùn)行。比如錯(cuò)誤使用邏輯運(yùn)算符。
假設(shè)a、b和c是三個(gè)變量。如果已知a<c,要判斷b的值是否在a與c之間,可以使用以下表達(dá)式:a<bAndb<c
不能寫成:a<b<c。
很多學(xué)生會(huì)錯(cuò)誤延用數(shù)學(xué)上的概念,寫成后一種形式。
例OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=-3:b=-2:c=-1
Printa<bAndb<c’顯示True
Printa<b<c’顯示False
EndSub
為什么a<b<c會(huì)得False?因?yàn)?,VB在計(jì)算這個(gè)表達(dá)式時(shí),先計(jì)算“a<b”部分,得True;再計(jì)算“True<c”,并將True轉(zhuǎn)換為一1,-1<-1?最終得False。
通過諸如此類的反例教學(xué),使學(xué)生豁然開朗,印象深刻。
2)零散實(shí)例和核心實(shí)例結(jié)合
零散實(shí)例教學(xué)法,對每個(gè)知識點(diǎn)的運(yùn)用和理解是非常行之有效的,但對前后知識的貫穿缺乏說服力。筆者在教學(xué)改革實(shí)踐中體會(huì)到,除經(jīng)典的零散實(shí)例外,將一個(gè)規(guī)模較大的、典型的、有實(shí)用價(jià)值的、學(xué)生感興趣的核心實(shí)例貫穿于教學(xué)全過程,對提高學(xué)生的編程能力非常幫助。所謂核心實(shí)例是指,實(shí)例從小到大、隨章節(jié)的展開而逐步成長,呈現(xiàn)為逐步進(jìn)化的多個(gè)版本。比如引入一個(gè)貫串全書的問題:設(shè)計(jì)一個(gè)“圖書管理系統(tǒng)”。首先,用最基本的概念和最簡單的結(jié)構(gòu),給出該系統(tǒng)的第一個(gè)(也是最簡單的)版本,以后的每一次課,都對該系統(tǒng)提出新的功能和結(jié)構(gòu)上的要求,并用本次課介紹的新概念和新方法對它進(jìn)行功能上的擴(kuò)充和結(jié)構(gòu)上的改進(jìn)。每次得到該系統(tǒng)的一個(gè)增強(qiáng)的新版本。為達(dá)到設(shè)計(jì)目標(biāo),學(xué)生隨著教學(xué)的進(jìn)程,可以積極投入到對實(shí)例系統(tǒng)的調(diào)試、改進(jìn)的實(shí)踐中,逐漸掌握了所學(xué)的基本知識,同時(shí)也提高了編程能力。
2.3重視實(shí)踐教學(xué),培養(yǎng)學(xué)生綜合應(yīng)用程序開發(fā)能力
VB是一門實(shí)踐性很強(qiáng)的課程,如果只紙上談兵,不上機(jī)練習(xí),是不可能真正掌握VB程序開發(fā)的。實(shí)踐教學(xué)主要注意抓住以下幾點(diǎn):
(1)模仿階段,對課堂核心實(shí)例系統(tǒng)的調(diào)試、改進(jìn)。核心實(shí)例的每次增強(qiáng)版是全面反映教學(xué)內(nèi)容的,學(xué)生通過模仿、知識再現(xiàn)達(dá)到在實(shí)踐中領(lǐng)悟知識,開拓編程思路。
(2)分層次階段,在教學(xué)過程實(shí)施的開始,和核心實(shí)例同步,我就給出了幾個(gè)類似核心實(shí)例的課程設(shè)計(jì)內(nèi)容,供學(xué)生選擇。對核心實(shí)例的調(diào)試比較成功的,可以同步實(shí)施自己所學(xué)的課程設(shè)計(jì)內(nèi)容,達(dá)到培養(yǎng)學(xué)生分析問題和解決問題的能力。對掌握核心實(shí)例有困難的學(xué)生,針對教學(xué)內(nèi)容重新布置實(shí)驗(yàn),強(qiáng)化知識鞏固。課程設(shè)計(jì)內(nèi)容課后上機(jī)完成。
要掌握上面兩個(gè)階段的具體情況,教師應(yīng)親自指導(dǎo),與學(xué)生一起上機(jī)實(shí)驗(yàn),隨時(shí)監(jiān)控學(xué)生實(shí)驗(yàn)過程。對學(xué)生提出的問題及時(shí)予以指導(dǎo),而發(fā)現(xiàn)學(xué)生常犯的共性錯(cuò)誤,可在理論課上進(jìn)行點(diǎn)評。
2.4培養(yǎng)學(xué)生使用標(biāo)準(zhǔn)編碼,養(yǎng)成良好編程習(xí)慣
在程序設(shè)計(jì)過程中,使用標(biāo)準(zhǔn)編碼可以避免一些不必要的錯(cuò)誤。筆者在授課過程當(dāng)中使用標(biāo)準(zhǔn)編碼的實(shí)例,在講解實(shí)例過程中對學(xué)生進(jìn)行適當(dāng)?shù)匾龑?dǎo),讓學(xué)生養(yǎng)成一個(gè)良好的編程習(xí)慣。
程序書寫規(guī)范是非常重要問題,不僅書寫格式應(yīng)該結(jié)構(gòu)層次分明,而且程序里面應(yīng)添加起碼的注釋。不按照標(biāo)準(zhǔn)書寫程序會(huì)增加別人查看程序的難度,同時(shí)也不利于自己以后上機(jī)調(diào)試修改。強(qiáng)調(diào)學(xué)生避免使用VisualBasic中的隱式操作,養(yǎng)成顯式編碼的習(xí)慣。比如永遠(yuǎn)使用OptionExplicit,嚴(yán)格執(zhí)行變量先定義后使用的原則。避免使用缺省屬性,明確指出是在引用對象還是在引用對象屬性。
3結(jié)束語
一門課程的教學(xué)是一個(gè)復(fù)雜的系統(tǒng)工程,筆者將以上一些改革和探索用在課堂教學(xué)和實(shí)踐教學(xué)中,取得了一些效果,但教學(xué)有法,教無定法,只要教學(xué)得法。在教學(xué)實(shí)踐中,合理運(yùn)用多種教學(xué)方法,靈活地、創(chuàng)造性地掌握教學(xué)過程,激發(fā)學(xué)生的興趣,培養(yǎng)學(xué)生的創(chuàng)造性思維和綜合應(yīng)用程序開發(fā)能力。
參考文獻(xiàn)
[1]王棟.VisualBasic程序設(shè)計(jì)實(shí)用教程(第3版).北京:清華大學(xué)出版社2007
程序設(shè)計(jì)課程具有很強(qiáng)的實(shí)踐性,在培養(yǎng)學(xué)生學(xué)會(huì)自己分析問題、使用計(jì)算機(jī)解決問題能力的同時(shí)提倡學(xué)生創(chuàng)新意識和創(chuàng)新能力的培養(yǎng),主要采用的教學(xué)模式有項(xiàng)目教學(xué)法、案例分析法、任務(wù)驅(qū)動(dòng)法等。
1.1《VB程序設(shè)計(jì)》課程中項(xiàng)目的設(shè)計(jì)
1.1.1章節(jié)項(xiàng)目
在整個(gè)教學(xué)過程當(dāng)中,采用了“大項(xiàng)目、小案例、任務(wù)驅(qū)動(dòng)不斷”的教學(xué)模式,設(shè)計(jì)并選取與生活相聯(lián)系的合理的能夠調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性的項(xiàng)目。針對課程教學(xué)的最終目的,設(shè)計(jì)了一個(gè)比較完整的圖書館管理系統(tǒng)綜合項(xiàng)目,但是這門課程知識點(diǎn)較多,要想完成這個(gè)綜合項(xiàng)目,學(xué)生首先必須熟悉VB開發(fā)環(huán)境、掌握VB程序設(shè)計(jì)的基本概念和基礎(chǔ)知識、各章節(jié)的知識點(diǎn)內(nèi)容。為了配合整個(gè)課程最后綜合項(xiàng)目的完成,在具體的教學(xué)中按照教學(xué)內(nèi)容由易到難,針對教學(xué)中的重點(diǎn)和難點(diǎn)安排了13個(gè)章節(jié)項(xiàng)目,幫助學(xué)生更好地學(xué)習(xí)教材各章節(jié)中的知識點(diǎn)。項(xiàng)目一:由現(xiàn)實(shí)生活中的漢諾塔游戲、交換兩個(gè)杯子中飲料的問題,引入一個(gè)利用VB程序解決兩幅圖片對換位置的具體案例,使學(xué)生熟悉VB集成開發(fā)環(huán)境以及各種窗口的使用、掌握常用控件對象的建立以及布局、利用VB開發(fā)簡單應(yīng)用程序的步驟、并初步引入程序設(shè)計(jì)思想,引導(dǎo)學(xué)生思考兩數(shù)互換的問題,使學(xué)生通過觀察、思考、總結(jié)得出兩數(shù)互換的問題和兩幅圖片互換位置是一類問題。項(xiàng)目二:編寫一程序,在屏幕上顯示“歡迎來到VB世界!”,并輸入自己的名字。使學(xué)生熟悉VB編程四部曲———界面設(shè)計(jì)、相關(guān)對象的屬性設(shè)置、相關(guān)對象的代碼編寫、調(diào)試運(yùn)行,尤其注意程序的調(diào)試過程。項(xiàng)目三:設(shè)計(jì)一個(gè)華氏溫度與攝氏溫度之間轉(zhuǎn)換的程序。通過這個(gè)項(xiàng)目熟悉VB的數(shù)據(jù)類型及其運(yùn)算,掌握VB的常用標(biāo)準(zhǔn)函數(shù)、變量以及常量的使用等語法知識點(diǎn)。項(xiàng)目四:利用輸入函數(shù)輸入一元二次方程的系數(shù)a、b、c,編寫程序計(jì)算一元二次方程的兩個(gè)實(shí)根或虛根,用輸出語句輸出結(jié)果。熟悉常用的輸入輸出控件、掌握Print方法、Inputbox()函數(shù)、Msgbox()函數(shù)和Msgbox過程的使用方法。項(xiàng)目五:設(shè)計(jì)一個(gè)賬號和密碼的輸入檢驗(yàn)程序。規(guī)范整理英文文章,即對輸入的任意大小寫的英文文章進(jìn)行整理,規(guī)則是:所有句子開頭應(yīng)為大寫字目(句子是以符號“?”、“.”、“!”作為結(jié)束符的),其他都是小寫字母。使學(xué)生熟練掌握程序三大結(jié)構(gòu)中的選擇和循環(huán)結(jié)構(gòu)。項(xiàng)目六:對一個(gè)班級的學(xué)生成績進(jìn)行輸入統(tǒng)計(jì),找出所有成績中的最高分和最低分、全班成績的平均分等。使學(xué)生掌握數(shù)組的使用。項(xiàng)目七:編寫一個(gè)函數(shù),在已知的字符串中找出最長的單詞。假定已知字符串中只含有字符和空格,空格用來分隔不同的單詞。通過該項(xiàng)目的學(xué)習(xí)使學(xué)生掌握過程程序的設(shè)計(jì)、實(shí)參、形參等基本概念。項(xiàng)目八:常用控件的使用。設(shè)計(jì)一個(gè)類似Win-dows記事本的應(yīng)用程序,并完善其各項(xiàng)功能。通過該項(xiàng)目使學(xué)生掌握菜單、對話框和多重窗體程序設(shè)計(jì)。項(xiàng)目九:導(dǎo)入手機(jī)號碼文件,編寫一個(gè)手機(jī)選號程序,比如說選出手機(jī)尾號后四位相同的手機(jī)號碼等。要求學(xué)生通過學(xué)習(xí),掌握文件的相關(guān)操作,利用文件能夠建立簡單的應(yīng)用程序。項(xiàng)目十:建立本班同學(xué)信息庫,具體包括:學(xué)號、姓名、性別、出生日期、寢室電話、手機(jī)號碼,并用數(shù)據(jù)控件及綁定控件實(shí)現(xiàn)對同學(xué)信息的瀏覽,并實(shí)現(xiàn)按姓名查詢相關(guān)人員的基本信息。通過該項(xiàng)目掌握VB數(shù)據(jù)庫的相關(guān)技術(shù)。項(xiàng)目十一:設(shè)計(jì)多文檔應(yīng)用程序,熟悉VB高級界面的設(shè)計(jì)。項(xiàng)目十二:用MMControl控件設(shè)計(jì)一個(gè)錄音機(jī),用API函數(shù)設(shè)計(jì)一個(gè)用戶化的CD播放器。通過學(xué)習(xí),使學(xué)生掌握VB多媒體程序設(shè)計(jì)。
1.1.2階段項(xiàng)目
為了使整個(gè)學(xué)期的教學(xué)內(nèi)容具有連貫性,糅合各章節(jié)零散的知識點(diǎn),使教學(xué)實(shí)踐具有可操作性,將整個(gè)學(xué)期的教學(xué)實(shí)踐分成了三個(gè)階段,每個(gè)階段選用一個(gè)打破章節(jié)限制的階段項(xiàng)目,使學(xué)生對所學(xué)知識內(nèi)容有一個(gè)階段性較完整的認(rèn)識。這三個(gè)階段依次是實(shí)踐的開始階段、實(shí)踐的展開階段、實(shí)踐的結(jié)束階段,分別對應(yīng)階段項(xiàng)目一、階段項(xiàng)目二和階段項(xiàng)目三。每個(gè)階段中抓住關(guān)鍵教學(xué)環(huán)節(jié),按照“大項(xiàng)目、小案例、任務(wù)驅(qū)動(dòng)不斷”的具體教學(xué)流程組織教學(xué)。階段項(xiàng)目一:選用簡單的項(xiàng)目,如蝴蝶飛舞、字幕滾動(dòng)的項(xiàng)目。由于是初次接觸計(jì)算機(jī)編程語言,所以對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,這門課程的入門學(xué)習(xí)很關(guān)鍵,如果按照常規(guī)授課方法,依據(jù)書本上的章節(jié)內(nèi)容安排依次講授VB語言發(fā)展史、VB語言特點(diǎn)以及編程環(huán)境等內(nèi)容的話,學(xué)生很難接受,往往是聽得稀里糊涂,不知道學(xué)習(xí)VB究竟有什么實(shí)際作用,從而會(huì)產(chǎn)生畏難情緒,最終導(dǎo)致學(xué)生對VB知識學(xué)習(xí)失去興趣和信心。為消除初學(xué)者的畏難情緒,第一階段主要以激發(fā)學(xué)生的學(xué)習(xí)興趣為主,讓學(xué)生對VB有一個(gè)直觀的認(rèn)識,同時(shí)讓學(xué)生在輕松的氣氛中了解VB的編程環(huán)境和編程步驟,以及VB面向?qū)ο?、事件?qū)動(dòng)的編程機(jī)制。萬事開頭難,一旦學(xué)生對VB產(chǎn)生了興趣,就有利于后續(xù)知識的學(xué)習(xí)。階段項(xiàng)目二:難度稍微加大,選用計(jì)算器項(xiàng)目。通過本項(xiàng)目,一方面讓學(xué)生理解控件數(shù)組的含義和設(shè)計(jì)使用方法,以及簡單下拉菜單、常用數(shù)學(xué)函數(shù)的使用、過程函數(shù)的編寫等,進(jìn)一步加強(qiáng)學(xué)生對概念的理解。另一方面讓學(xué)生注意可視化界面的設(shè)計(jì),因?yàn)橛押妹烙^的人機(jī)交互界面,給人賞心悅目感覺的同時(shí)是軟件的門面。階段項(xiàng)目三:選用綜合項(xiàng)目———學(xué)生信息管理系統(tǒng)。通過這個(gè)項(xiàng)目讓學(xué)生真正了解掌握軟件的開發(fā)過程。雖然這個(gè)項(xiàng)目比較難,但是有了前面知識的鋪墊,會(huì)變得容易接受理解,也是對前面所學(xué)知識點(diǎn)的一次鞏固和進(jìn)一步更深入的理解,更是對前面知識的綜合應(yīng)用,讓學(xué)生由淺入深、由易到難,逐步領(lǐng)會(huì)掌握編程的基本思想、基本方法和開發(fā)一個(gè)軟件的完整步驟。三個(gè)階段通過運(yùn)用“大項(xiàng)目、小案例”,每個(gè)階段讓學(xué)生帶著具體任務(wù)去學(xué)習(xí),把枯燥的理論知識與生動(dòng)形象的教學(xué)方式相結(jié)合,以清晰簡明的表達(dá)方式深入淺出地向?qū)W生傳授VB程序設(shè)計(jì)語言課程的知識,使學(xué)生在完成具體任務(wù)的實(shí)踐過程中不斷加深對面向?qū)ο蟪绦蛟O(shè)計(jì)思想和知識的理解。
1.2《VB程序設(shè)計(jì)》課程中的案例選取
有了已經(jīng)準(zhǔn)備好的各模塊的項(xiàng)目,并展示給學(xué)生,學(xué)生有了興趣后,就會(huì)想這些項(xiàng)目是怎么完成的,任務(wù)就落到各個(gè)模塊項(xiàng)目里面具體的案例上了。由于VB程序設(shè)計(jì)授課內(nèi)容多,授課時(shí)間緊張,按各知識模塊劃分選取項(xiàng)目后,在每個(gè)項(xiàng)目里面,按項(xiàng)目選取具體案例或是進(jìn)行設(shè)計(jì)各項(xiàng)目的各功能模塊,各功能模塊實(shí)際就是一個(gè)個(gè)案例。在教學(xué)過程中應(yīng)循序漸進(jìn),可以在原有案例的基礎(chǔ)上逐步改變或增加一些條件,將應(yīng)用進(jìn)行引申,啟發(fā)學(xué)生思維,讓學(xué)生對知識點(diǎn)的理解更透徹,掌握各知識點(diǎn)之間的聯(lián)系,提高學(xué)生發(fā)現(xiàn)問題、解決問題的能力,并在教學(xué)中兼顧學(xué)生生活經(jīng)驗(yàn)與知識趣味性,達(dá)到事半功倍的教學(xué)效果。
1.3任務(wù)設(shè)計(jì)
圍繞每一知識模塊的教學(xué)內(nèi)容、教學(xué)知識點(diǎn),設(shè)計(jì)相關(guān)的項(xiàng)目,并在各個(gè)項(xiàng)目中采用了系列案例以及完成各功能模塊的案例,為了讓學(xué)生更加熟練、更好地掌握教學(xué)內(nèi)容,在各知識模塊的學(xué)習(xí)中設(shè)置學(xué)習(xí)情景,給學(xué)生留有感興趣的任務(wù),讓學(xué)生去完成。同時(shí)根據(jù)各知識模塊提出了單元任務(wù),單元任務(wù)設(shè)置兩個(gè)層次———基本任務(wù)和提高任務(wù)。由于學(xué)生自身水平有差異,對于基礎(chǔ)好、學(xué)有余力的學(xué)生,要求他們不但要完成基本任務(wù),還要完成提高任務(wù);對于大多數(shù)學(xué)生,只要求他們完成基本任務(wù)。由于時(shí)間的限制,可以讓學(xué)生在課余時(shí)間分析任務(wù),在上機(jī)實(shí)踐課以及課余時(shí)間去完成任務(wù),最后做任務(wù)的總結(jié)。有了興趣和任務(wù)的驅(qū)使,學(xué)生為了完成任務(wù),就會(huì)利用各種方式和手段積極主動(dòng)地去解決問題,他們會(huì)通過查閱相關(guān)書本、瀏覽網(wǎng)絡(luò)資源、同學(xué)之間互相協(xié)作等方式解決問題,充分調(diào)動(dòng)了學(xué)生的主觀能動(dòng)性,在完成任務(wù)的過程中學(xué)生分析問題、解決問題、實(shí)際開發(fā)應(yīng)用程序的能力得到了鍛煉,為學(xué)生知識的創(chuàng)新奠定良好的基礎(chǔ),同時(shí)知識面也更廣、更大了。學(xué)生不會(huì)再覺得教學(xué)只是教師一個(gè)人的“獨(dú)角戲”,而是教師和學(xué)生的“二人轉(zhuǎn)”。在相互的配合以及友好和諧的師生關(guān)系中,教學(xué)順利完成的同時(shí)學(xué)生個(gè)人的知識庫也得到了構(gòu)建。
2實(shí)施方法
關(guān)鍵詞:VB實(shí)例教學(xué)激發(fā)性主動(dòng)性
作為語言程序設(shè)計(jì)領(lǐng)域的前沿軟件,VB的發(fā)展歷史已經(jīng)很久,相關(guān)的技術(shù)也比較成熟,由于其簡單易學(xué)、功能強(qiáng)大、應(yīng)用廣泛,因此在很多職業(yè)院校都開設(shè)了這門課程,我校也在計(jì)算機(jī)信息與管理、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)以及電子商務(wù)等相關(guān)專業(yè)開設(shè)了這門課程。正是由于社會(huì)辦學(xué)力量的推動(dòng)和“程序設(shè)計(jì)”職業(yè)的熱衷,現(xiàn)在會(huì)VB的人越來越多了,但是我們也應(yīng)該看到,很多人都局限在“會(huì)VB”,而不能靈活的運(yùn)用,不能用VB完成相應(yīng)的程序設(shè)計(jì),更談不上從事專業(yè)編程工作了。在這樣的情況下,作為高職教師的我們,在教學(xué)中怎樣才能夠吸引同學(xué)們努力主動(dòng)的學(xué)習(xí)好VB,這是我們值得探討的問題。雖然我們學(xué)生的起點(diǎn)相對來說較低,但以后所從事的工作大多數(shù)也是以程序設(shè)計(jì)操作員為主的,因此筆者認(rèn)為我們的主要教學(xué)目標(biāo),不僅是使學(xué)生熟悉VB的基本概念,而且還要能夠熟練的掌握一些程序設(shè)計(jì)的相關(guān)技巧和方法,有一定的程序編寫思維能力,并且在今后的教學(xué)中同學(xué)們能夠積極主動(dòng)的探索和學(xué)習(xí)。為了達(dá)到這個(gè)目的,筆者認(rèn)為以下幾個(gè)方面是我們在教學(xué)中值得開展的:
一、注重實(shí)例教學(xué)
對于一項(xiàng)操作性很強(qiáng)的工作,我們是不可以只講理論的,正如當(dāng)我們學(xué)習(xí)游泳的時(shí)候,如果教練只是告訴我們每個(gè)動(dòng)作的名稱但不告訴我們這些動(dòng)作怎么完成,我們是不可能學(xué)會(huì)游泳的。那么我們在學(xué)習(xí)VB的過程中也必須結(jié)合大量的實(shí)例演示,讓同學(xué)們真正體會(huì)到VB的可視化設(shè)計(jì)和它的實(shí)用性。
在最初接觸這門課程的時(shí)候,我們必須先要詳細(xì)的介紹各個(gè)控件,只有知道每個(gè)控件各自的作用以及使用方法以后我們才可以在VB中創(chuàng)造我們自己的程序。在控件介紹和程序設(shè)計(jì)中我們必須通過實(shí)例的演示來讓學(xué)生在模仿中學(xué)會(huì)各個(gè)控件的使用和程序的編寫。特別是在程序的編寫方面,我們一定要有相關(guān)的實(shí)例來讓學(xué)生在感性上得到認(rèn)識。比如在介紹IF……ELSE選擇控制語句的時(shí)候,如果我們只是講解單純的語句,學(xué)生聽起來覺得比較枯燥,但筆者首先給同學(xué)們演示一個(gè)通過用戶名和密碼的登錄界面,通過選擇控制語句來確定我們在文本框中輸入的條件是否為真做出判斷,如果為真就登錄到我們所需要的另一個(gè)界面,否則彈出一個(gè)提示信息框。在演示的過程中,同學(xué)們都表現(xiàn)出強(qiáng)烈的好奇心和學(xué)習(xí)的欲望,思維表現(xiàn)得非?;钴S,因?yàn)樗麄冇X得這些知識非常有用。在這個(gè)時(shí)候我們抓住這一特點(diǎn),首先,講解實(shí)現(xiàn)這一程序的基本思路,提出實(shí)現(xiàn)思路所需要解決的問題。其次,在程序中講解新語句的使用方法,總結(jié)新語句的使用方法和注意事項(xiàng)。這樣的教學(xué)使學(xué)生很快了解了程序設(shè)計(jì)的整個(gè)過程,并有豁然開朗的感覺,從而產(chǎn)生濃厚的學(xué)習(xí)興趣。雖然這是一個(gè)簡單的編程應(yīng)用,整個(gè)創(chuàng)作過程只用到了簡單的選擇控制語句,但通過此例的學(xué)習(xí)學(xué)生學(xué)會(huì)了選擇控制語句的使用以及如何設(shè)置選擇控制語句,同時(shí)也激發(fā)了同學(xué)們學(xué)習(xí)程序設(shè)計(jì)的興趣,從而創(chuàng)作出自己的程序。
目前市面上有很多關(guān)于VB的實(shí)例教材及各種參考書,但是都比較散而且內(nèi)容也不是很詳細(xì),所以在講解的時(shí)候筆者認(rèn)為必須對實(shí)例進(jìn)行慎重的選取和必要的修改,力求做到以下幾點(diǎn):
1、程序結(jié)構(gòu)嚴(yán)謹(jǐn)化
筆者所收集的程序除了強(qiáng)調(diào)程序的可靠性以外,還要特別強(qiáng)調(diào)程序的結(jié)構(gòu)性,即使是一個(gè)簡單的實(shí)例,也需要做到程序結(jié)構(gòu)的嚴(yán)謹(jǐn)化,使之符合大眾的思維,但也要突出自己的特點(diǎn)。比如在講FOR……NEXT等循環(huán)語句的時(shí)候,一般的都是利用從1累加到另一個(gè)固定的數(shù)值,來完成我們的循環(huán)講解,這樣的語句由于方法是完全一樣的,所以最后的效果也沒有什么吸引力可說。因此,筆者采用了另外一種方式,結(jié)合利用文本框輸入的方式,即在兩個(gè)文本框中可以輸入任何兩個(gè)數(shù),使之從小的數(shù)值累加到另一個(gè)較大的數(shù)值,這樣程序的效果也就更具結(jié)構(gòu)嚴(yán)謹(jǐn)?shù)镊攘?,同學(xué)們的感受也就會(huì)完全不同。
2、步驟詳細(xì)化
因?yàn)橥瑢W(xué)們對新知識的接受,特別象程序設(shè)計(jì)這樣的知識結(jié)構(gòu),還是需要一定的過程,因此為了讓學(xué)生能夠順利的完成實(shí)例,從而在實(shí)踐中提高自己的能力,筆者認(rèn)為對每一個(gè)實(shí)例的操作步驟都要詳細(xì)的板書出來,上機(jī)課或是在課余時(shí)間學(xué)生只要按照程序的操作步驟去做,就可以得到最終的效果,只有這樣同學(xué)們才能掌握程序設(shè)計(jì)的基本思想和相關(guān)步驟。
3、方法常規(guī)化
在講解的過程中,力求采用最簡單、最容易的方法完成每一個(gè)實(shí)例,盡量采用常規(guī)化的語句,避開一些不容易理解的概念、方法。比如,在利用文件操作對數(shù)據(jù)錄入以及把錄入的所有數(shù)據(jù)輸出時(shí),我們可以避開利用Type語句定義自己的數(shù)據(jù)類型的使用,因?yàn)椴捎肨ype語句定義,有多少個(gè)字段,就會(huì)產(chǎn)生多少個(gè)相關(guān)的成員,在這種情況下同學(xué)們就很難想得到這個(gè)成員代表的是什么,它的作用是什么,這樣就把程序復(fù)雜化了,其實(shí)我們完全可以采用簡單的文本框來進(jìn)行輸入,然后用Input函數(shù)輸出就輕松完成了。
二、注重培養(yǎng)學(xué)生的實(shí)際操作能力
還是以游泳為例,不管我們怎么看別人游泳,但自己卻不下水實(shí)踐,我們是永遠(yuǎn)都學(xué)不會(huì)游泳的,那么我們在學(xué)習(xí)VB語言程序設(shè)計(jì)的過程中也必須不斷的練習(xí)、實(shí)踐。
筆者曾擔(dān)任了計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)兩個(gè)班的該門課程的教學(xué),為每周四學(xué)時(shí),其中兩學(xué)時(shí)是筆者的理論講解課,兩學(xué)時(shí)是上機(jī)實(shí)踐操作課。由于學(xué)生的思想還不夠成熟,自我控制能力相對來說還是比較差,因此自覺性還不夠好,為了監(jiān)督他們很好的學(xué)習(xí)、認(rèn)真的實(shí)踐,筆者每次課都留一次作業(yè),第一次就是完全按照筆者的課堂實(shí)例上機(jī)操作,以加強(qiáng)對本節(jié)課課程內(nèi)容的理解并熟練這些操作技巧,這項(xiàng)作業(yè)是必須要上交的,并作為平時(shí)成績登記。因?yàn)檫@是這門課程中最基本的知識要點(diǎn)和教學(xué)要求,雖然學(xué)生不可能每個(gè)人都對這門課程有濃厚的興趣,不可能以后都有可能去從事專業(yè)的程序設(shè)計(jì)工作,但是作為計(jì)算機(jī)專業(yè)畢業(yè)的學(xué)生,筆者希望他們不管以后從事什么樣的職業(yè),對于一些基本的程序設(shè)計(jì)思想以及常用的計(jì)算機(jī)軟件操作,至少都能夠體現(xiàn)出來。
在最后的綜合實(shí)訓(xùn)、實(shí)踐中,筆者結(jié)合同學(xué)們所學(xué)的知識并引進(jìn)一些課外的知識實(shí)例來彌補(bǔ)課本上沒有的相關(guān)內(nèi)容。比如,我們利用VB做前臺界面的設(shè)計(jì),盡量用到所學(xué)過的所有控件進(jìn)行布局、設(shè)置,把它們結(jié)合起來使用,而用小型的Access數(shù)據(jù)庫做后臺數(shù)據(jù)管理來做一個(gè)學(xué)生成績管理系統(tǒng),它具備一般的常用功能,即成績的添加、查詢、修改、刪除,用戶的管理等,雖然這個(gè)管理系統(tǒng)程序的設(shè)計(jì)比較簡單,但通過這樣一個(gè)小型的綜合實(shí)例,就更加讓同學(xué)們了解了VB語言程序設(shè)計(jì)的功能及特點(diǎn)。這是我們VB程序設(shè)計(jì)教學(xué)課程中不可缺少的一個(gè)重要環(huán)節(jié),只有通過這樣的一個(gè)綜合實(shí)例,才能把同學(xué)們零散學(xué)到的知識全部的串聯(lián)起來,讓他們感覺到自己所學(xué)的知識終于有了一定的成果,他們自己也會(huì)感覺很有成就感,也會(huì)產(chǎn)生一種利用計(jì)算機(jī)解決實(shí)際問題的強(qiáng)烈愿望,在今后的學(xué)習(xí)中才能更加有信心和目標(biāo)。
以上的兩個(gè)方面是筆者認(rèn)為的主要教學(xué)方法。采用實(shí)例教學(xué)的一個(gè)重要目的實(shí)際上就是為了使課堂生動(dòng),提高學(xué)生的積極性、主動(dòng)性。雖
然是實(shí)例教學(xué),有很多有趣的程序及相關(guān)的小動(dòng)畫,但是這樣的有趣如果久了,也并不能完全抓住學(xué)生的心,因?yàn)檫@些過程進(jìn)行的場所都是在課堂,課堂生活不可避免的具有一定的單調(diào)性,這只是一個(gè)方面。另一方面是,筆者要求學(xué)生在完成自由獨(dú)立創(chuàng)作這一作業(yè)以后要相互交流經(jīng)驗(yàn),這種交流我們一般都是在自己班內(nèi)部進(jìn)行的,次數(shù)多了大家就會(huì)覺得似乎還需要加入一些更新的內(nèi)容,希望與其他班的同學(xué)一起探討學(xué)習(xí)。為了彌補(bǔ)課堂學(xué)習(xí)和班內(nèi)交流的不足,筆者有時(shí)間就會(huì)將兩個(gè)班的學(xué)生聚集在一起,首先每個(gè)班選幾個(gè)優(yōu)秀的作品演示給大家看,并向大家介紹創(chuàng)作的技巧和存在的問題,然后大家一起討論。最后筆者會(huì)結(jié)合最近的學(xué)習(xí)內(nèi)容對設(shè)計(jì)進(jìn)行一個(gè)總的評說。通過這些活動(dòng)既可以提高學(xué)生的學(xué)習(xí)興趣,提高他們的專業(yè)技能。我們在教學(xué)中,實(shí)例的運(yùn)用是提高教學(xué)效果的保障,在教學(xué)中,我們不防在講解本次課的內(nèi)容之前,先演示本次課需要用到的實(shí)例,這樣既可以調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,也激發(fā)了他們的好奇性,這樣也就抓住了同學(xué)們“人在教室,心也在教室”。
總之,教學(xué)有法,教無定法,只要教學(xué)得法。程序設(shè)計(jì)教學(xué)的主要目標(biāo)是為了使同學(xué)們了解編程的基本思想,培養(yǎng)分析問題、解決問題的基本能力。圍繞著這個(gè)目標(biāo),在保證同學(xué)們學(xué)習(xí)積極性的前提下,按照他們的認(rèn)知規(guī)律組織教學(xué),一切有效的教學(xué)方法都可以在我們的教學(xué)過程中加以運(yùn)用,進(jìn)而使綜合素質(zhì)得到整體提高,這是VB程序設(shè)計(jì)課程教學(xué)的最終目標(biāo)。
參考文獻(xiàn)
[1]劉炳文、楊明福、陳定中.全國計(jì)算機(jī)二級教程VB語言程序設(shè)計(jì)[M]高等教育出版社.20__.4
1.1工程施工放樣題目模型已知某道路曲線第一切線上控制點(diǎn)ZD1(XZD1,YZD1)和JD1(XJD1,YJD1),該曲線設(shè)計(jì)半徑R=1000m,緩和曲線長0l=100m,JD1里程為,轉(zhuǎn)向角α。請按細(xì)則要求使用非程序型函數(shù)計(jì)算器計(jì)算道路曲線主點(diǎn)坐標(biāo)ZH(XZH,YZH)、HY(XHY,YHY)、QZ(XQZ,YQZ)及第一緩和曲線和圓曲線上中樁點(diǎn)i1i2K、K的坐標(biāo)(iX,iY),共計(jì)算5個(gè)點(diǎn)。然后,根據(jù)現(xiàn)場已知測站點(diǎn)O、定向點(diǎn)A、定向檢核點(diǎn)B,使用全站儀進(jìn)行第一緩和曲線和圓曲線上中樁點(diǎn)放樣i1i2K、K點(diǎn)??刂泣c(diǎn)和待放樣曲線之間關(guān)系如圖1所示。上交成果:工程施工放樣成果資料,其中包含曲線常數(shù)、曲線要素、主點(diǎn)里程及曲線中樁坐標(biāo)的計(jì)算成果。
1.2工程施工放樣數(shù)學(xué)模型
1.2.1曲線常數(shù):(1)緩和曲線傾角:πβ180200=×Rl(2)圓曲線內(nèi)移值:(3)切線外移量:23002240Rllm
1.2.2曲線要素:(1)切線長:(2)曲線長度:(3)外矢距:E=R+PR2()secα(4)切曲差:D=2TL
1.2.3主點(diǎn)里程:(1)ZH點(diǎn)里程:(2)HY點(diǎn)里程:(3)QZ點(diǎn)里程:(4)YH點(diǎn)里程:(5)HZ點(diǎn)里程:檢核計(jì)算:
1.2.4獨(dú)立坐標(biāo)計(jì)算:(1)在坐標(biāo)系x′o′y′中,緩和曲線ZH-HY段(i1K)獨(dú)立坐標(biāo)計(jì)算:(2)計(jì)算ZH-HY緩和曲線細(xì)部點(diǎn):(3)計(jì)算ZH-HY緩和曲線HY點(diǎn)(直接將上式0lli代為0lli代為):(4)在坐標(biāo)系x′o′y′中,圓曲線HY-YH段任意一點(diǎn)獨(dú)立坐標(biāo)計(jì)算:=+=+(1)siniiiiyPRCosxmRφφ1.2.5主點(diǎn)及若干曲線中樁點(diǎn)坐標(biāo):(1)(指ZH到JD的坐標(biāo)方位角)(2)(右轉(zhuǎn)用-,左轉(zhuǎn)為+)(3)(右轉(zhuǎn)用-,左轉(zhuǎn)為+)(4)三個(gè)主點(diǎn)坐標(biāo)如下:ZH點(diǎn)坐標(biāo):HZ點(diǎn)坐標(biāo):QZ點(diǎn)坐標(biāo):(5)曲線中樁點(diǎn)坐標(biāo)按線路右轉(zhuǎn)所得公式如下(注意若為線路左轉(zhuǎn)則以下幾個(gè)公式用iiy代替y):
2工程施工放樣項(xiàng)目VisualBasic程序設(shè)計(jì)
2.1程序界面
2.1.1主程序界面。主程序界面設(shè)計(jì)如圖2所示,通過主界面,可以輸入所有的已知數(shù)據(jù),并選擇偏角的類型。圖2主程序界面
2.1.2結(jié)果顯示界面。計(jì)算結(jié)果通過一個(gè)文本框的形式,將所有需要的結(jié)果及一些關(guān)鍵的中間結(jié)果分欄顯示,如圖3所示:圖3結(jié)果顯示界面
2.2核心代碼
2.2.1計(jì)算曲線常數(shù)和曲線要素:IfR<>0ThenJD=Ls*180/(2*R*PI)p=Ls^2/(24*R)-Ls^4/(2688*R^3)m=Ls/2-Ls^3/(240*R^2)T=(R+p)*Tan(PJ/2)+mL=PJ*R+LsE=(R+p)*1/Cos(PJ/2)-Rq=2*T-LElseMsgBox"必須輸入曲線半徑R!"Text12.SetFocusEndIf
2.2.2主點(diǎn)里程及獨(dú)立坐標(biāo)計(jì)算:k1=k1*1000+k11k2=k2*1000+k22k3=k3*1000+k33kZH=k1-TkkZH=kZH\1000kkkZH=kZH-kkZH*1000kkkZH=Format(kkkZH,“###.###”)Str1="ZH點(diǎn)里程:"&"K"&kkZH&"+"&kkkZHStr2="HY點(diǎn)里程:"&"K"&kkHY&"+"&kkkHYStr3="QZ點(diǎn)里程:"&"K"&kkQZ&"+"&kkkQZStr4="YH點(diǎn)里程:"&"K"&kkYH&"+"&kkkYHStr5="HZ點(diǎn)里程:"&"K"&kkHZ&"+"&kkkHZLi=k2-kZHLi1=k3-kZHX11=Li-(Li^5)/(40*R^2*Ls^2)Y11=(Li^3)/(6*R*Ls)X12=m+R*Sin((Li1-0.5*Ls)/R)Y12=p+R*(1-Cos((Li1-0.5*Ls)/R))Xhy1=m+R*Sin(JD*PI/180)Yhy1=p+R*(1-Cos(JD*PI/180))Ajd=((Li1-0.5*Ls)/R)*180/PI
2.2.3坐標(biāo)計(jì)算:Xzh=X2+T*Cos(A)Yzh=Y2+T*Sin(A)Xhy=Xzh-Xhy1*Cos(A)+K*Yhy1*Sin(A)Yhy=Yzh-Xhy1*Sin(A)-K*Yhy1*Cos(A)Xqz=X2+E*Cos(Ajz)Yqz=Y2+E*Sin(Ajz)X111=Xzh-X11*Cos(A)+K*Y11*Sin(A)Y111=Yzh-X11*Sin(A)-K*Y11*Cos(A)X112=Xzh-X12*Cos(A)+K*Y12*Sin(A)Y112=Yzh-X12*Sin(A)-K*Y12*Cos(A)
2.2.4結(jié)果輸出:OpenApp.Path&“\T1.txt”ForInputAs#2DoWhileNotEOF(2)'循環(huán)至文件尾。LineInput#2,TextLine'讀入一行數(shù)據(jù)并將其賦予某變量。Form2.Text1.Text=Form2.Text1.Text&Chr(13)+Chr(10)&TextLineLoopClose#2Form2.Show
3結(jié)語
一、學(xué)情分析
學(xué)情分析是教學(xué)設(shè)計(jì)系統(tǒng)中“影響學(xué)習(xí)系統(tǒng)最終設(shè)計(jì)”的重要因素之一。在教學(xué)設(shè)計(jì)中,依據(jù)教學(xué)設(shè)計(jì)理論,認(rèn)真研究學(xué)生的實(shí)際需要、能力水平和認(rèn)知傾向,“為學(xué)習(xí)者設(shè)計(jì)教學(xué)”,可優(yōu)化教學(xué)過程,更有效地達(dá)成教學(xué)目標(biāo),提高教學(xué)效率。VB的開課學(xué)期一般在大一第二學(xué)期,按照專業(yè)培養(yǎng)計(jì)劃,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等專業(yè)在新生入學(xué)的第一學(xué)期就開設(shè)了《C語言程序設(shè)計(jì)》這門課。對于從未接觸過語言類課程的大一新生來說,C語言的學(xué)習(xí),顛覆了大部分學(xué)生的思維方式,學(xué)生普遍感到很吃力,有相當(dāng)一部分同學(xué)開始對程序類課程感到害怕。
二、教學(xué)方法探討
1.消除學(xué)生的畏難情緒
為了打消學(xué)生的畏難情緒,對于VB教學(xué),應(yīng)首先與學(xué)生談VB,而不是教VB。首先,要讓學(xué)生明白VB和C語言是完全不同的兩種編程方式,不要因?yàn)楹ε翪語言,而害怕VB。教學(xué)中,通過演示一個(gè)簡單的例子,向?qū)W生演示只需要兩行代碼便可制作出美觀的界面和可愛的功能。比如:示例1:制作美觀的界面,實(shí)現(xiàn)窗體上的文字自動(dòng)或手動(dòng)的向下移動(dòng)。突現(xiàn)VB相對于C語言的簡單易懂,引導(dǎo)學(xué)生一步步完成所需功能。最后,啟發(fā)學(xué)生:如果想讓文字上移,如何修改程序?如果想讓文字左移或右移,如何修改程序?如果想讓文字左右交替移動(dòng),又要如何修改程序?通過上述示例的講解,使得學(xué)生對VB有一個(gè)全新的認(rèn)識——直觀、簡單、易學(xué)、易用。其次,要讓學(xué)生了解為什么學(xué)習(xí)VB,VB對于他們有多么重要。這門課的開設(shè)除了承上啟下其他專業(yè)課程外,還有一個(gè)重要的作用就是為了讓學(xué)生能夠參加計(jì)算機(jī)二級考證,VB在二級考證中相對比較易學(xué)易用。再次,告訴學(xué)生,有了C語言的基礎(chǔ),代碼的編寫會(huì)更為容易。從而激發(fā)學(xué)生學(xué)習(xí)的信心。
2.提高學(xué)生的學(xué)習(xí)興趣
在教學(xué)過程中應(yīng)盡量使用簡單易懂的語言和示例,提高學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生理解知識點(diǎn)。比如,在講屬性、方法和事件這三個(gè)很枯燥的概念時(shí),可以通過生活中有趣的示例來進(jìn)行解釋。示例2:通過“蟑螂從女生腳上爬過”的事例,講解屬性、方法和事件的概念。蟑螂從女生腳上爬過時(shí),女生的臉色變紅,臉的顏色為紅色就是屬性;女生尖叫起來,女生跳起來,這是女生本身做出的動(dòng)作就是方法;蟑螂爬過女生的腳,這是外部事物對女生做出的動(dòng)作,就是事件。通過這種類型的示例,成功吸引了學(xué)生的注意力,也幫助學(xué)生理解了這幾個(gè)難懂的概念。在講屬性、方法、事件的書寫格式時(shí),也可將這個(gè)示例寫成VB偽代碼的形式:屬性的表示方法:女生.臉的顏色=紅色方法的表示方法:女生.尖叫啊事件的表示方法:女生_蟑螂爬過至此,學(xué)生對VB程序一下就理解了。
3.實(shí)踐中學(xué)習(xí),項(xiàng)目中鞏固
要想學(xué)好程序設(shè)計(jì)類的課程,大量的練習(xí)是必不可少的。因此,將所有知識點(diǎn)都融入到一個(gè)個(gè)的項(xiàng)目實(shí)例中。課堂上邊演示邊制作,課后布置一些舉一反三的題目,讓學(xué)生自己在課后完成。
參考文獻(xiàn):
[1]寧德瓊.VB下學(xué)生選課系統(tǒng)的設(shè)計(jì)方法[J].曲靖師范學(xué)院學(xué)報(bào),2005(11).
[2]邢國春.基于vb下的ADO控件對學(xué)生選課系統(tǒng)設(shè)計(jì)[J].師范學(xué)院學(xué)報(bào),2004(3).
[3]李媛媛,傅申,李良彬.校園網(wǎng)上選課系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22.
[4]張燕,蘭彬.淺談數(shù)據(jù)庫管理信息系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)[J].北京農(nóng)學(xué)院學(xué)報(bào),2007(6).
[5]康開鋒.高職院校在線選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶大學(xué)碩士學(xué)位論文,2012.
參考文獻(xiàn):
[1]唐小燕,吳斌,魯大林.傳統(tǒng)教學(xué)與案例教學(xué)在《VB程序設(shè)計(jì)》教學(xué)中的實(shí)施效果分析[J],教育信息化,2006年19期
[2]王四化,林蟒,邱伯文,成明.基于VB和Surfer不連續(xù)區(qū)域氣象資料自動(dòng)成圖的實(shí)現(xiàn)[A],第27屆中國氣象學(xué)會(huì)年會(huì)城市氣象,讓生活更美好分會(huì)場論文集[C],2010年
[3]茍秉宸,余隋懷,王聰,初建杰.設(shè)計(jì)專業(yè)創(chuàng)新教學(xué)模式的優(yōu)化與實(shí)踐——基于TeamWorking的專業(yè)外語教學(xué)方法[A],2005年工業(yè)設(shè)計(jì)國際會(huì)議論文集[C],2005年
[4]羅妤.計(jì)算機(jī)軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)教學(xué)改革探討[J].職業(yè),2009,20
[5]劉麗.信息化形式高校計(jì)算機(jī)語言課考試的改革[C].大學(xué)計(jì)算機(jī)基礎(chǔ)課程報(bào)告論壇論文集,2006,4
[6]劉迎春.高職C程序設(shè)計(jì)實(shí)驗(yàn)改革初探[J].中國現(xiàn)代教育裝備,2006,8
[7]彭鑫.VB程序設(shè)計(jì)課程實(shí)驗(yàn)教學(xué)的探索與實(shí)踐[J].桂林師范高等??茖W(xué)校學(xué)報(bào),2009,6
參考文獻(xiàn):
[1]于鵬,李霞.中文版VisualBasic6.0程序設(shè)計(jì)項(xiàng)目教程[M].北京:清華大學(xué)出版社,2010.
[2]張凱,李妙妍,袁靜.任務(wù)驅(qū)動(dòng)教學(xué)法在VB語言程序設(shè)計(jì)課程教學(xué)中的應(yīng)用初探[C].Proceedingsof2010ThirdInternationalConferenceonEducationTechnologyandTraining(Volume8),2010.
[3]段旭,潘舒,易德成.任務(wù)驅(qū)動(dòng)教學(xué)法在VB教學(xué)中的應(yīng)用與實(shí)踐[J].科技信息,2010(30).
[4]苗玥.“任務(wù)驅(qū)動(dòng)教學(xué)法”在“VisualBasic”課程中的應(yīng)用[J].電腦知識與技術(shù),2005(36).
關(guān)鍵詞:VB,程序設(shè)計(jì),過程調(diào)用,參數(shù)傳遞
1 前言
VB程序設(shè)計(jì)是采用面向?qū)ο蟮目梢暬僮鹘缑?,功能?qiáng)大,應(yīng)用廣泛,而相對于其他面向?qū)ο蟮木幊陶Z言,如VC,Delphi等容易學(xué)習(xí)掌握。在程序設(shè)計(jì)中,為了縮短程序運(yùn)行的時(shí)間,也為了方便、簡化程序設(shè)計(jì),就需要建立相應(yīng)的過程,建立過程的目的之一就是減少重復(fù)代碼,將公共代碼放入過程中,并由其他事件過程調(diào)用它,調(diào)用過程有諸多技巧,經(jīng)常根據(jù)程序編寫的需要,按功能將程序分解成若干個(gè)相對獨(dú)立的部分,然后對每個(gè)部分進(jìn)行程序編寫測試,這樣就把每一個(gè)部分稱之為過程。免費(fèi)論文。
在全國VB等級考試中,要求學(xué)生掌握的過程主要有事件過程,Sub過程和Function過程。在過程調(diào)用中,Sub過程與Function過程相似,它們都是用來完成特定功能的獨(dú)立程序代碼,它們由一組符合VB語法的語句組成,但它們不同的是,F(xiàn)unction過程可以返回一個(gè)值給調(diào)用程序。但有一點(diǎn)需要特別注意,那就是Sub過程與Function過程必須在事件過程或其他過程中有調(diào)用它們,否則過程代碼將永遠(yuǎn)不會(huì)被執(zhí)行。在過程的調(diào)用中,由于二者參數(shù)傳遞的機(jī)制相同,為便于描述,本文就以Sub過程(即子過程)為例,對過程的定義、調(diào)用及參數(shù)傳遞進(jìn)行分析和說明。
2 VB過程的調(diào)用與分析
在調(diào)用過程時(shí),主調(diào)過程的實(shí)參以一定的形式傳遞給被調(diào)過程的形參,完成實(shí)參與形參的配對結(jié)合,然后執(zhí)行被調(diào)用的過程體即語句塊。經(jīng)被調(diào)過程處理后,并可得到處理的結(jié)果,但如果被調(diào)過程為Function過程時(shí),可將所得結(jié)果返回給主調(diào)過程。VB中,參數(shù)的傳遞有傳值和傳址(引用)兩種形式。免費(fèi)論文。
2.1子過程的定義與調(diào)用
自定義子過程的格式:
[Public | Private] [ Static]Sub子過程名([形參表列] )
局部變量和常量定義
<語句塊>
[Exit Sub]
[語句塊]
End Sub
其中形參表列的每個(gè)參數(shù)的形式:[ByVal](變量名[()] [As類型,]……)
形參表列中的參數(shù)稱為形參或啞元,只能是變量或數(shù)組名,不能是常量、函數(shù)、表達(dá)式等。在過程定義時(shí),參數(shù)有傳值和傳址兩種定義形式,帶ByVal定義的參數(shù)為值傳遞,用于接收過程調(diào)用時(shí)實(shí)參傳遞過來的值,否則為地址(引用)傳遞,用于接收過程調(diào)用時(shí)實(shí)參傳遞過來的地址。
子過程的調(diào)用格式:
(1) Call過程名( [實(shí)參表列] )
(2) 過程名[實(shí)參表列]
子過程的調(diào)用是一條獨(dú)立的調(diào)用語句,有上述(1)、(2)兩種調(diào)用格式。其中:“實(shí)參表列”中的參數(shù)稱為實(shí)參,實(shí)參的個(gè)數(shù)、數(shù)據(jù)類型都要與被調(diào)用過程的形參一一對應(yīng),實(shí)參可以是同類型的常量、變量、數(shù)組、表達(dá)式等。
2.2傳值方式(ByVal)
VB中的傳值方式,實(shí)參與形參在內(nèi)存中占用不同的內(nèi)存單元,當(dāng)調(diào)用一個(gè)過程時(shí),系統(tǒng)把實(shí)參的值復(fù)制給形參,當(dāng)執(zhí)行被調(diào)用的過程時(shí),實(shí)參與形參并斷開聯(lián)系,過程的調(diào)用也將結(jié)束,形參的任何操作和變化都不會(huì)影響到實(shí)參。傳值方式是“單向”的,形參的值不能返回給實(shí)參。在教學(xué)中,通過總結(jié)給出了如下按傳值方式(ByVal)對過程調(diào)用的分析方法。
例1:編寫兩個(gè)數(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
程序運(yùn)行后得到的結(jié)果為:x=35a=20 b=15,通過該方法能簡潔明了地得到正確結(jié)果,x的值由兩個(gè)數(shù)相加所得的結(jié)果,而a,b兩個(gè)數(shù)的值沒有變化,分析參數(shù)傳遞過程的情況如圖1所示,由于采用傳值方式,實(shí)參和形參在內(nèi)存中占用不同的內(nèi)存單元,當(dāng)調(diào)用過程Add時(shí),系統(tǒng)把實(shí)參a, b的值復(fù)制一份給形參x和y,便斷開實(shí)參與形參的聯(lián)系,執(zhí)行Add過程中的語句塊后,形參x的值進(jìn)行了變化即為兩個(gè)數(shù)的和,但它的變化并不影響實(shí)參a和b,當(dāng)返回到主調(diào)過程時(shí),形參所占的內(nèi)存被釋放。
2.3傳址方式(ByRef)
傳址方式也稱引用方式,是VB默認(rèn)的參數(shù)傳遞方式,當(dāng)調(diào)用一個(gè)過程時(shí),系統(tǒng)將實(shí)參的地址傳遞給形參,實(shí)參與形參在內(nèi)存中占用相同的存儲單元,即過程接受的是實(shí)參變量的地址。因此在被調(diào)過程中對形參的任何操作都變成了對相應(yīng)實(shí)參的操作,實(shí)參的值會(huì)隨著形參的變化而改變,這種傳遞是“雙向”的。下面來分析一下傳址方式(ByRef)的一般情況,即形參與實(shí)參均為簡單類型的變量。免費(fèi)論文。
當(dāng)形參是傳址方式的簡單類型變量,實(shí)參是同類型的簡單變量時(shí),系統(tǒng)采用傳址方式實(shí)現(xiàn)虛實(shí)結(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í)行程序,運(yùn)行結(jié)果為:x=35 a=35 b=15。分析參數(shù)傳遞過程如圖2所示,由于采用傳址方式,實(shí)參和形參在內(nèi)存中占用同一存儲單元,當(dāng)調(diào)用過程Add時(shí),系統(tǒng)把實(shí)參a, b的地址分別傳遞給形參x和y,使得x與a是同一存儲單元,y與b也是同一存儲單元,在這種情況下可以把x與a看成是同一個(gè)變量,y與b也可看成是同一個(gè)變量,執(zhí)行Add過程中的語句塊后,形參x的值進(jìn)行了改變,等同于實(shí)參a的值也進(jìn)行了變化,調(diào)用結(jié)束后,返回主調(diào)過程,這樣也就改變了a的值,由于y的值沒有變化,所以b的值也就沒有改變。