前言:我們精心挑選了數(shù)篇優(yōu)質(zhì)vb程序設(shè)計論文文章,供您閱讀參考。期待這些文章能為您帶來啟發(fā),助您在寫作的道路上更上一層樓。
程序設(shè)計課程具有很強的實踐性,在培養(yǎng)學(xué)生學(xué)會自己分析問題、使用計算機解決問題能力的同時提倡學(xué)生創(chuàng)新意識和創(chuàng)新能力的培養(yǎng),主要采用的教學(xué)模式有項目教學(xué)法、案例分析法、任務(wù)驅(qū)動法等。
1.1.1章節(jié)項目
在整個教學(xué)過程當(dāng)中,采用了“大項目、小案例、任務(wù)驅(qū)動不斷”的教學(xué)模式,設(shè)計并選取與生活相聯(lián)系的合理的能夠調(diào)動學(xué)生學(xué)習(xí)積極性的項目。針對課程教學(xué)的最終目的,設(shè)計了一個比較完整的圖書館管理系統(tǒng)綜合項目,但是這門課程知識點較多,要想完成這個綜合項目,學(xué)生首先必須熟悉VB開發(fā)環(huán)境、掌握VB程序設(shè)計的基本概念和基礎(chǔ)知識、各章節(jié)的知識點內(nèi)容。為了配合整個課程最后綜合項目的完成,在具體的教學(xué)中按照教學(xué)內(nèi)容由易到難,針對教學(xué)中的重點和難點安排了13個章節(jié)項目,幫助學(xué)生更好地學(xué)習(xí)教材各章節(jié)中的知識點。項目一:由現(xiàn)實生活中的漢諾塔游戲、交換兩個杯子中飲料的問題,引入一個利用VB程序解決兩幅圖片對換位置的具體案例,使學(xué)生熟悉VB集成開發(fā)環(huán)境以及各種窗口的使用、掌握常用控件對象的建立以及布局、利用VB開發(fā)簡單應(yīng)用程序的步驟、并初步引入程序設(shè)計思想,引導(dǎo)學(xué)生思考兩數(shù)互換的問題,使學(xué)生通過觀察、思考、總結(jié)得出兩數(shù)互換的問題和兩幅圖片互換位置是一類問題。項目二:編寫一程序,在屏幕上顯示“歡迎來到VB世界!”,并輸入自己的名字。使學(xué)生熟悉VB編程四部曲———界面設(shè)計、相關(guān)對象的屬性設(shè)置、相關(guān)對象的代碼編寫、調(diào)試運行,尤其注意程序的調(diào)試過程。項目三:設(shè)計一個華氏溫度與攝氏溫度之間轉(zhuǎn)換的程序。通過這個項目熟悉VB的數(shù)據(jù)類型及其運算,掌握VB的常用標(biāo)準(zhǔn)函數(shù)、變量以及常量的使用等語法知識點。項目四:利用輸入函數(shù)輸入一元二次方程的系數(shù)a、b、c,編寫程序計算一元二次方程的兩個實根或虛根,用輸出語句輸出結(jié)果。熟悉常用的輸入輸出控件、掌握Print方法、Inputbox()函數(shù)、Msgbox()函數(shù)和Msgbox過程的使用方法。項目五:設(shè)計一個賬號和密碼的輸入檢驗程序。規(guī)范整理英文文章,即對輸入的任意大小寫的英文文章進行整理,規(guī)則是:所有句子開頭應(yīng)為大寫字目(句子是以符號“?”、“.”、“!”作為結(jié)束符的),其他都是小寫字母。使學(xué)生熟練掌握程序三大結(jié)構(gòu)中的選擇和循環(huán)結(jié)構(gòu)。項目六:對一個班級的學(xué)生成績進行輸入統(tǒng)計,找出所有成績中的最高分和最低分、全班成績的平均分等。使學(xué)生掌握數(shù)組的使用。項目七:編寫一個函數(shù),在已知的字符串中找出最長的單詞。假定已知字符串中只含有字符和空格,空格用來分隔不同的單詞。通過該項目的學(xué)習(xí)使學(xué)生掌握過程程序的設(shè)計、實參、形參等基本概念。項目八:常用控件的使用。設(shè)計一個類似Win-dows記事本的應(yīng)用程序,并完善其各項功能。通過該項目使學(xué)生掌握菜單、對話框和多重窗體程序設(shè)計。項目九:導(dǎo)入手機號碼文件,編寫一個手機選號程序,比如說選出手機尾號后四位相同的手機號碼等。要求學(xué)生通過學(xué)習(xí),掌握文件的相關(guān)操作,利用文件能夠建立簡單的應(yīng)用程序。項目十:建立本班同學(xué)信息庫,具體包括:學(xué)號、姓名、性別、出生日期、寢室電話、手機號碼,并用數(shù)據(jù)控件及綁定控件實現(xiàn)對同學(xué)信息的瀏覽,并實現(xiàn)按姓名查詢相關(guān)人員的基本信息。通過該項目掌握VB數(shù)據(jù)庫的相關(guān)技術(shù)。項目十一:設(shè)計多文檔應(yīng)用程序,熟悉VB高級界面的設(shè)計。項目十二:用MMControl控件設(shè)計一個錄音機,用API函數(shù)設(shè)計一個用戶化的CD播放器。通過學(xué)習(xí),使學(xué)生掌握VB多媒體程序設(shè)計。
1.1.2階段項目
為了使整個學(xué)期的教學(xué)內(nèi)容具有連貫性,糅合各章節(jié)零散的知識點,使教學(xué)實踐具有可操作性,將整個學(xué)期的教學(xué)實踐分成了三個階段,每個階段選用一個打破章節(jié)限制的階段項目,使學(xué)生對所學(xué)知識內(nèi)容有一個階段性較完整的認(rèn)識。這三個階段依次是實踐的開始階段、實踐的展開階段、實踐的結(jié)束階段,分別對應(yīng)階段項目一、階段項目二和階段項目三。每個階段中抓住關(guān)鍵教學(xué)環(huán)節(jié),按照“大項目、小案例、任務(wù)驅(qū)動不斷”的具體教學(xué)流程組織教學(xué)。階段項目一:選用簡單的項目,如蝴蝶飛舞、字幕滾動的項目。由于是初次接觸計算機編程語言,所以對于非計算機專業(yè)的學(xué)生來說,這門課程的入門學(xué)習(xí)很關(guān)鍵,如果按照常規(guī)授課方法,依據(jù)書本上的章節(jié)內(nèi)容安排依次講授VB語言發(fā)展史、VB語言特點以及編程環(huán)境等內(nèi)容的話,學(xué)生很難接受,往往是聽得稀里糊涂,不知道學(xué)習(xí)VB究竟有什么實際作用,從而會產(chǎn)生畏難情緒,最終導(dǎo)致學(xué)生對VB知識學(xué)習(xí)失去興趣和信心。為消除初學(xué)者的畏難情緒,第一階段主要以激發(fā)學(xué)生的學(xué)習(xí)興趣為主,讓學(xué)生對VB有一個直觀的認(rèn)識,同時讓學(xué)生在輕松的氣氛中了解VB的編程環(huán)境和編程步驟,以及VB面向?qū)ο蟆⑹录?qū)動的編程機制。萬事開頭難,一旦學(xué)生對VB產(chǎn)生了興趣,就有利于后續(xù)知識的學(xué)習(xí)。階段項目二:難度稍微加大,選用計算器項目。通過本項目,一方面讓學(xué)生理解控件數(shù)組的含義和設(shè)計使用方法,以及簡單下拉菜單、常用數(shù)學(xué)函數(shù)的使用、過程函數(shù)的編寫等,進一步加強學(xué)生對概念的理解。另一方面讓學(xué)生注意可視化界面的設(shè)計,因為友好美觀的人機交互界面,給人賞心悅目感覺的同時是軟件的門面。階段項目三:選用綜合項目———學(xué)生信息管理系統(tǒng)。通過這個項目讓學(xué)生真正了解掌握軟件的開發(fā)過程。雖然這個項目比較難,但是有了前面知識的鋪墊,會變得容易接受理解,也是對前面所學(xué)知識點的一次鞏固和進一步更深入的理解,更是對前面知識的綜合應(yīng)用,讓學(xué)生由淺入深、由易到難,逐步領(lǐng)會掌握編程的基本思想、基本方法和開發(fā)一個軟件的完整步驟。三個階段通過運用“大項目、小案例”,每個階段讓學(xué)生帶著具體任務(wù)去學(xué)習(xí),把枯燥的理論知識與生動形象的教學(xué)方式相結(jié)合,以清晰簡明的表達(dá)方式深入淺出地向?qū)W生傳授VB程序設(shè)計語言課程的知識,使學(xué)生在完成具體任務(wù)的實踐過程中不斷加深對面向?qū)ο蟪绦蛟O(shè)計思想和知識的理解。
1.2《VB程序設(shè)計》課程中的案例選取
有了已經(jīng)準(zhǔn)備好的各模塊的項目,并展示給學(xué)生,學(xué)生有了興趣后,就會想這些項目是怎么完成的,任務(wù)就落到各個模塊項目里面具體的案例上了。由于VB程序設(shè)計授課內(nèi)容多,授課時間緊張,按各知識模塊劃分選取項目后,在每個項目里面,按項目選取具體案例或是進行設(shè)計各項目的各功能模塊,各功能模塊實際就是一個個案例。在教學(xué)過程中應(yīng)循序漸進,可以在原有案例的基礎(chǔ)上逐步改變或增加一些條件,將應(yīng)用進行引申,啟發(fā)學(xué)生思維,讓學(xué)生對知識點的理解更透徹,掌握各知識點之間的聯(lián)系,提高學(xué)生發(fā)現(xiàn)問題、解決問題的能力,并在教學(xué)中兼顧學(xué)生生活經(jīng)驗與知識趣味性,達(dá)到事半功倍的教學(xué)效果。
1.3任務(wù)設(shè)計
圍繞每一知識模塊的教學(xué)內(nèi)容、教學(xué)知識點,設(shè)計相關(guān)的項目,并在各個項目中采用了系列案例以及完成各功能模塊的案例,為了讓學(xué)生更加熟練、更好地掌握教學(xué)內(nèi)容,在各知識模塊的學(xué)習(xí)中設(shè)置學(xué)習(xí)情景,給學(xué)生留有感興趣的任務(wù),讓學(xué)生去完成。同時根據(jù)各知識模塊提出了單元任務(wù),單元任務(wù)設(shè)置兩個層次———基本任務(wù)和提高任務(wù)。由于學(xué)生自身水平有差異,對于基礎(chǔ)好、學(xué)有余力的學(xué)生,要求他們不但要完成基本任務(wù),還要完成提高任務(wù);對于大多數(shù)學(xué)生,只要求他們完成基本任務(wù)。由于時間的限制,可以讓學(xué)生在課余時間分析任務(wù),在上機實踐課以及課余時間去完成任務(wù),最后做任務(wù)的總結(jié)。有了興趣和任務(wù)的驅(qū)使,學(xué)生為了完成任務(wù),就會利用各種方式和手段積極主動地去解決問題,他們會通過查閱相關(guān)書本、瀏覽網(wǎng)絡(luò)資源、同學(xué)之間互相協(xié)作等方式解決問題,充分調(diào)動了學(xué)生的主觀能動性,在完成任務(wù)的過程中學(xué)生分析問題、解決問題、實際開發(fā)應(yīng)用程序的能力得到了鍛煉,為學(xué)生知識的創(chuàng)新奠定良好的基礎(chǔ),同時知識面也更廣、更大了。學(xué)生不會再覺得教學(xué)只是教師一個人的“獨角戲”,而是教師和學(xué)生的“二人轉(zhuǎn)”。在相互的配合以及友好和諧的師生關(guān)系中,教學(xué)順利完成的同時學(xué)生個人的知識庫也得到了構(gòu)建。
2實施方法
關(guān)鍵詞:VB實例教學(xué)激發(fā)性主動性
作為語言程序設(shè)計領(lǐng)域的前沿軟件,VB的發(fā)展歷史已經(jīng)很久,相關(guān)的技術(shù)也比較成熟,由于其簡單易學(xué)、功能強大、應(yīng)用廣泛,因此在很多職業(yè)院校都開設(shè)了這門課程,我校也在計算機信息與管理、計算機網(wǎng)絡(luò)技術(shù)以及電子商務(wù)等相關(guān)專業(yè)開設(shè)了這門課程。正是由于社會辦學(xué)力量的推動和“程序設(shè)計”職業(yè)的熱衷,現(xiàn)在會VB的人越來越多了,但是我們也應(yīng)該看到,很多人都局限在“會VB”,而不能靈活的運用,不能用VB完成相應(yīng)的程序設(shè)計,更談不上從事專業(yè)編程工作了。在這樣的情況下,作為高職教師的我們,在教學(xué)中怎樣才能夠吸引同學(xué)們努力主動的學(xué)習(xí)好VB,這是我們值得探討的問題。雖然我們學(xué)生的起點相對來說較低,但以后所從事的工作大多數(shù)也是以程序設(shè)計操作員為主的,因此筆者認(rèn)為我們的主要教學(xué)目標(biāo),不僅是使學(xué)生熟悉VB的基本概念,而且還要能夠熟練的掌握一些程序設(shè)計的相關(guān)技巧和方法,有一定的程序編寫思維能力,并且在今后的教學(xué)中同學(xué)們能夠積極主動的探索和學(xué)習(xí)。為了達(dá)到這個目的,筆者認(rèn)為以下幾個方面是我們在教學(xué)中值得開展的:
一、注重實例教學(xué)
對于一項操作性很強的工作,我們是不可以只講理論的,正如當(dāng)我們學(xué)習(xí)游泳的時候,如果教練只是告訴我們每個動作的名稱但不告訴我們這些動作怎么完成,我們是不可能學(xué)會游泳的。那么我們在學(xué)習(xí)VB的過程中也必須結(jié)合大量的實例演示,讓同學(xué)們真正體會到VB的可視化設(shè)計和它的實用性。
在最初接觸這門課程的時候,我們必須先要詳細(xì)的介紹各個控件,只有知道每個控件各自的作用以及使用方法以后我們才可以在VB中創(chuàng)造我們自己的程序。在控件介紹和程序設(shè)計中我們必須通過實例的演示來讓學(xué)生在模仿中學(xué)會各個控件的使用和程序的編寫。特別是在程序的編寫方面,我們一定要有相關(guān)的實例來讓學(xué)生在感性上得到認(rèn)識。比如在介紹IF……ELSE選擇控制語句的時候,如果我們只是講解單純的語句,學(xué)生聽起來覺得比較枯燥,但筆者首先給同學(xué)們演示一個通過用戶名和密碼的登錄界面,通過選擇控制語句來確定我們在文本框中輸入的條件是否為真做出判斷,如果為真就登錄到我們所需要的另一個界面,否則彈出一個提示信息框。在演示的過程中,同學(xué)們都表現(xiàn)出強烈的好奇心和學(xué)習(xí)的欲望,思維表現(xiàn)得非常活躍,因為他們覺得這些知識非常有用。在這個時候我們抓住這一特點,首先,講解實現(xiàn)這一程序的基本思路,提出實現(xiàn)思路所需要解決的問題。其次,在程序中講解新語句的使用方法,總結(jié)新語句的使用方法和注意事項。這樣的教學(xué)使學(xué)生很快了解了程序設(shè)計的整個過程,并有豁然開朗的感覺,從而產(chǎn)生濃厚的學(xué)習(xí)興趣。雖然這是一個簡單的編程應(yīng)用,整個創(chuàng)作過程只用到了簡單的選擇控制語句,但通過此例的學(xué)習(xí)學(xué)生學(xué)會了選擇控制語句的使用以及如何設(shè)置選擇控制語句,同時也激發(fā)了同學(xué)們學(xué)習(xí)程序設(shè)計的興趣,從而創(chuàng)作出自己的程序。
目前市面上有很多關(guān)于VB的實例教材及各種參考書,但是都比較散而且內(nèi)容也不是很詳細(xì),所以在講解的時候筆者認(rèn)為必須對實例進行慎重的選取和必要的修改,力求做到以下幾點:
1、程序結(jié)構(gòu)嚴(yán)謹(jǐn)化
筆者所收集的程序除了強調(diào)程序的可靠性以外,還要特別強調(diào)程序的結(jié)構(gòu)性,即使是一個簡單的實例,也需要做到程序結(jié)構(gòu)的嚴(yán)謹(jǐn)化,使之符合大眾的思維,但也要突出自己的特點。比如在講FOR……NEXT等循環(huán)語句的時候,一般的都是利用從1累加到另一個固定的數(shù)值,來完成我們的循環(huán)講解,這樣的語句由于方法是完全一樣的,所以最后的效果也沒有什么吸引力可說。因此,筆者采用了另外一種方式,結(jié)合利用文本框輸入的方式,即在兩個文本框中可以輸入任何兩個數(shù),使之從小的數(shù)值累加到另一個較大的數(shù)值,這樣程序的效果也就更具結(jié)構(gòu)嚴(yán)謹(jǐn)?shù)镊攘Γ瑢W(xué)們的感受也就會完全不同。
2、步驟詳細(xì)化
因為同學(xué)們對新知識的接受,特別象程序設(shè)計這樣的知識結(jié)構(gòu),還是需要一定的過程,因此為了讓學(xué)生能夠順利的完成實例,從而在實踐中提高自己的能力,筆者認(rèn)為對每一個實例的操作步驟都要詳細(xì)的板書出來,上機課或是在課余時間學(xué)生只要按照程序的操作步驟去做,就可以得到最終的效果,只有這樣同學(xué)們才能掌握程序設(shè)計的基本思想和相關(guān)步驟。
3、方法常規(guī)化
在講解的過程中,力求采用最簡單、最容易的方法完成每一個實例,盡量采用常規(guī)化的語句,避開一些不容易理解的概念、方法。比如,在利用文件操作對數(shù)據(jù)錄入以及把錄入的所有數(shù)據(jù)輸出時,我們可以避開利用Type語句定義自己的數(shù)據(jù)類型的使用,因為采用Type語句定義,有多少個字段,就會產(chǎn)生多少個相關(guān)的成員,在這種情況下同學(xué)們就很難想得到這個成員代表的是什么,它的作用是什么,這樣就把程序復(fù)雜化了,其實我們完全可以采用簡單的文本框來進行輸入,然后用Input函數(shù)輸出就輕松完成了。
二、注重培養(yǎng)學(xué)生的實際操作能力
還是以游泳為例,不管我們怎么看別人游泳,但自己卻不下水實踐,我們是永遠(yuǎn)都學(xué)不會游泳的,那么我們在學(xué)習(xí)VB語言程序設(shè)計的過程中也必須不斷的練習(xí)、實踐。
筆者曾擔(dān)任了計算機網(wǎng)絡(luò)技術(shù)兩個班的該門課程的教學(xué),為每周四學(xué)時,其中兩學(xué)時是筆者的理論講解課,兩學(xué)時是上機實踐操作課。由于學(xué)生的思想還不夠成熟,自我控制能力相對來說還是比較差,因此自覺性還不夠好,為了監(jiān)督他們很好的學(xué)習(xí)、認(rèn)真的實踐,筆者每次課都留一次作業(yè),第一次就是完全按照筆者的課堂實例上機操作,以加強對本節(jié)課課程內(nèi)容的理解并熟練這些操作技巧,這項作業(yè)是必須要上交的,并作為平時成績登記。因為這是這門課程中最基本的知識要點和教學(xué)要求,雖然學(xué)生不可能每個人都對這門課程有濃厚的興趣,不可能以后都有可能去從事專業(yè)的程序設(shè)計工作,但是作為計算機專業(yè)畢業(yè)的學(xué)生,筆者希望他們不管以后從事什么樣的職業(yè),對于一些基本的程序設(shè)計思想以及常用的計算機軟件操作,至少都能夠體現(xiàn)出來。
在最后的綜合實訓(xùn)、實踐中,筆者結(jié)合同學(xué)們所學(xué)的知識并引進一些課外的知識實例來彌補課本上沒有的相關(guān)內(nèi)容。比如,我們利用VB做前臺界面的設(shè)計,盡量用到所學(xué)過的所有控件進行布局、設(shè)置,把它們結(jié)合起來使用,而用小型的Access數(shù)據(jù)庫做后臺數(shù)據(jù)管理來做一個學(xué)生成績管理系統(tǒng),它具備一般的常用功能,即成績的添加、查詢、修改、刪除,用戶的管理等,雖然這個管理系統(tǒng)程序的設(shè)計比較簡單,但通過這樣一個小型的綜合實例,就更加讓同學(xué)們了解了VB語言程序設(shè)計的功能及特點。這是我們VB程序設(shè)計教學(xué)課程中不可缺少的一個重要環(huán)節(jié),只有通過這樣的一個綜合實例,才能把同學(xué)們零散學(xué)到的知識全部的串聯(lián)起來,讓他們感覺到自己所學(xué)的知識終于有了一定的成果,他們自己也會感覺很有成就感,也會產(chǎn)生一種利用計算機解決實際問題的強烈愿望,在今后的學(xué)習(xí)中才能更加有信心和目標(biāo)。
以上的兩個方面是筆者認(rèn)為的主要教學(xué)方法。采用實例教學(xué)的一個重要目的實際上就是為了使課堂生動,提高學(xué)生的積極性、主動性。雖
然是實例教學(xué),有很多有趣的程序及相關(guān)的小動畫,但是這樣的有趣如果久了,也并不能完全抓住學(xué)生的心,因為這些過程進行的場所都是在課堂,課堂生活不可避免的具有一定的單調(diào)性,這只是一個方面。另一方面是,筆者要求學(xué)生在完成自由獨立創(chuàng)作這一作業(yè)以后要相互交流經(jīng)驗,這種交流我們一般都是在自己班內(nèi)部進行的,次數(shù)多了大家就會覺得似乎還需要加入一些更新的內(nèi)容,希望與其他班的同學(xué)一起探討學(xué)習(xí)。為了彌補課堂學(xué)習(xí)和班內(nèi)交流的不足,筆者有時間就會將兩個班的學(xué)生聚集在一起,首先每個班選幾個優(yōu)秀的作品演示給大家看,并向大家介紹創(chuàng)作的技巧和存在的問題,然后大家一起討論。最后筆者會結(jié)合最近的學(xué)習(xí)內(nèi)容對設(shè)計進行一個總的評說。通過這些活動既可以提高學(xué)生的學(xué)習(xí)興趣,提高他們的專業(yè)技能。我們在教學(xué)中,實例的運用是提高教學(xué)效果的保障,在教學(xué)中,我們不防在講解本次課的內(nèi)容之前,先演示本次課需要用到的實例,這樣既可以調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,也激發(fā)了他們的好奇性,這樣也就抓住了同學(xué)們“人在教室,心也在教室”。
總之,教學(xué)有法,教無定法,只要教學(xué)得法。程序設(shè)計教學(xué)的主要目標(biāo)是為了使同學(xué)們了解編程的基本思想,培養(yǎng)分析問題、解決問題的基本能力。圍繞著這個目標(biāo),在保證同學(xué)們學(xué)習(xí)積極性的前提下,按照他們的認(rèn)知規(guī)律組織教學(xué),一切有效的教學(xué)方法都可以在我們的教學(xué)過程中加以運用,進而使綜合素質(zhì)得到整體提高,這是VB程序設(shè)計課程教學(xué)的最終目標(biāo)。
參考文獻
[1]劉炳文、楊明福、陳定中.全國計算機二級教程VB語言程序設(shè)計[M]高等教育出版社.20__.4
1.1工程施工放樣題目模型已知某道路曲線第一切線上控制點ZD1(XZD1,YZD1)和JD1(XJD1,YJD1),該曲線設(shè)計半徑R=1000m,緩和曲線長0l=100m,JD1里程為,轉(zhuǎn)向角α。請按細(xì)則要求使用非程序型函數(shù)計算器計算道路曲線主點坐標(biāo)ZH(XZH,YZH)、HY(XHY,YHY)、QZ(XQZ,YQZ)及第一緩和曲線和圓曲線上中樁點i1i2K、K的坐標(biāo)(iX,iY),共計算5個點。然后,根據(jù)現(xiàn)場已知測站點O、定向點A、定向檢核點B,使用全站儀進行第一緩和曲線和圓曲線上中樁點放樣i1i2K、K點。控制點和待放樣曲線之間關(guān)系如圖1所示。上交成果:工程施工放樣成果資料,其中包含曲線常數(shù)、曲線要素、主點里程及曲線中樁坐標(biāo)的計算成果。
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主點里程:(1)ZH點里程:(2)HY點里程:(3)QZ點里程:(4)YH點里程:(5)HZ點里程:檢核計算:
1.2.4獨立坐標(biāo)計算:(1)在坐標(biāo)系x′o′y′中,緩和曲線ZH-HY段(i1K)獨立坐標(biāo)計算:(2)計算ZH-HY緩和曲線細(xì)部點:(3)計算ZH-HY緩和曲線HY點(直接將上式0lli代為0lli代為):(4)在坐標(biāo)系x′o′y′中,圓曲線HY-YH段任意一點獨立坐標(biāo)計算:=+=+(1)siniiiiyPRCosxmRφφ1.2.5主點及若干曲線中樁點坐標(biāo):(1)(指ZH到JD的坐標(biāo)方位角)(2)(右轉(zhuǎn)用-,左轉(zhuǎn)為+)(3)(右轉(zhuǎn)用-,左轉(zhuǎn)為+)(4)三個主點坐標(biāo)如下:ZH點坐標(biāo):HZ點坐標(biāo):QZ點坐標(biāo):(5)曲線中樁點坐標(biāo)按線路右轉(zhuǎn)所得公式如下(注意若為線路左轉(zhuǎn)則以下幾個公式用iiy代替y):
2工程施工放樣項目VisualBasic程序設(shè)計
2.1程序界面
2.1.1主程序界面。主程序界面設(shè)計如圖2所示,通過主界面,可以輸入所有的已知數(shù)據(jù),并選擇偏角的類型。圖2主程序界面
2.1.2結(jié)果顯示界面。計算結(jié)果通過一個文本框的形式,將所有需要的結(jié)果及一些關(guān)鍵的中間結(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主點里程及獨立坐標(biāo)計算: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坐標(biāo)計算: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é)語