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