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