【正文】
** 對應(yīng)誤差曲線的誤差橢圓的長半軸 ***** B = : 39。***** 對應(yīng)誤差曲線的誤差橢圓的短半軸 ***** T = “138 54 12”: 39。***** 對應(yīng)誤差曲線的誤差橢圓的長半軸坐標(biāo)方位角 **** Call GPHP16(X, Y, A, B, T, 2)165 End SubPrivate Sub GPHP16(ByVal XC As Double, ByVal YC As Double, ByVal A As Double, ByVal B As Double, ByVal T As String, ByVal PP As Integer)Rem ***** 屏幕顯示及打印機(jī)打印誤差曲線子過程 ***** Rem ***** 當(dāng)PP=1時(shí),屏幕顯示誤差曲線 ***** Rem ***** 當(dāng)PP=2時(shí),打印機(jī)打印誤差曲線 ***** Dim N As Integer Dim I As Integer Dim DT As Double Dim TT As Double: 39。***** 對應(yīng)誤差曲線的誤差橢圓的長半軸坐標(biāo)方位角 ****N = 400 TT = RAD(T): 39。***** 程序中T應(yīng)為度、分、秒(字符串)DT = 2 * PI()/ NRem ***** 用點(diǎn)斜式直線方程與豎放橢圓(或豎放誤差曲線)的標(biāo)準(zhǔn)方程聯(lián)立方程組 Rem ***** 解算橢圓中心O(0,0)至橢圓圓周(或豎放誤差曲線)交點(diǎn)距離的方法 Rem ***** 誤差曲線的方程為:m^2=a^2*(Cos(t))^2+b^2*(Sin(t))^2 Dim AT As Double Dim BT As Double Dim XI As Double Dim YI As Double Dim M As Double Dim DI As Double Dim XPI As Double Dim YPI As DoubleAT = A ^ 2 BT = B ^ 2If PP = 1 Then (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 0)ElseIf PP = 2 Then Dim XXX As Printer For Each XXX In Printers If = vbPRORPortrait Then Set Printer = XXX: 39。* 設(shè)置為系統(tǒng)默認(rèn)打印機(jī),參見《》P502 Exit For End If Next = 0: 39。***** 通常先設(shè)為零 = 6: 39。***** 設(shè)置打印機(jī)坐標(biāo)系的單位是毫米166Dim ASPP As SingleASPP = / : 39。*** 設(shè)置打印機(jī)新的繪圖區(qū)坐標(biāo)系縱橫比Rem ***** 當(dāng)設(shè)置打印機(jī)坐標(biāo)系的單位是毫米時(shí), = 200: 39。*** 設(shè)置打印機(jī)新的繪圖區(qū)坐標(biāo)系寬為200 =Int( * ASPP): 39。*** 設(shè)置打印機(jī)新的繪圖區(qū)坐標(biāo)系高 =0: 39。*** 設(shè)置打印機(jī)新的繪圖區(qū)坐標(biāo)系坐標(biāo)原點(diǎn)橫坐標(biāo)值 =: 39。ScaleHeight: 39。*** 設(shè)置打印機(jī)新的繪圖區(qū)坐標(biāo)系坐標(biāo)原點(diǎn)縱坐標(biāo)值Rem ***** 通過以上的設(shè)定,將打印機(jī)繪圖區(qū)坐標(biāo)系設(shè)為與數(shù)學(xué)坐標(biāo)系相同 = 0: 39。 ***** 設(shè)定打印機(jī)打印單實(shí)線 = 1: 39。 ***** 設(shè)定打印機(jī)打印單實(shí)線的線寬(YC + A * Sin(TT), XC + A * Cos(TT)): 39。*** 打印機(jī)打印 End IfFor I = 1 To N M = Tan(I * DT): 39。***** 直線的斜率 M = M ^ 2 XI = AT * BT /(BT + AT * M): 39。***** 正立豎放橢圓圓周i點(diǎn)縱坐標(biāo)的平方,X(i)^2 YI = XI * M: 39。***** 正立豎放橢圓圓周i點(diǎn)橫坐標(biāo)的平方,Y(i)^2 DI = Sqr(XI + YI): 39。***** 橢圓中心至橢圓圓周i點(diǎn)的距離D(i)XPI = XC + DI * Cos(TT + I * DT): 39。***** 斜立橢圓圓周i點(diǎn)的縱坐標(biāo)XP(i)YPI = YC + DI * Sin(TT + I * DT): 39。***** 斜立橢圓圓周i點(diǎn)的橫坐標(biāo)YP(i)If PP = 1 Then (YPI, XPI), RGB(0, 0, 0): 39。***** 繪制斜立誤差橢圓 ElseIf PP = 2 Then (YPI, XPI): 39。***** 打印機(jī)打印斜立誤差橢圓 End If Next IIf PP = 1 Then (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 255)ElseIf PP = 2 Then (YC + A * Sin(TT), XC + A * Cos(TT)): 39。*** 打印機(jī)打印 End IfFor I = 1 To N DI = Sqr(AT *(Cos(I * DT))^ 2 + BT *(Sin(I * DT))^ 2): 39。***** 誤差曲線中心至曲線上i點(diǎn)的距離D(i)XPI = XC + DI * Cos(TT + I * DT): 39。***** 斜立誤差曲線上i點(diǎn)的縱坐標(biāo)XP(i)167 YPI = YC + DI * Sin(TT + I * DT): 39。***** 斜立誤差曲線上i點(diǎn)的橫坐標(biāo)YP(i)If PP = 1 Then (YPI, XPI), RGB(0, 0, 255): 39。***** 繪制斜立誤差曲線 ElseIf PP = 2 Then (YPI, XPI): 39。***** 打印機(jī)打印斜立誤差曲線 End If Next IRem ***** 繪制橢圓的長、短軸,用坐標(biāo)正算的方法 ***** Dim X1 As Double Dim Y1 As Double Dim X2 As Double Dim Y2 As DoubleX1 = XC + A * Cos(TT)Y1 = YC + A * Sin(TT)X2 = XC + A * Cos(TT + PI())Y2 = YC + A * Sin(TT + PI())If PP = 1 Then Line(Y1, X1)(Y2, X2), RGB(255, 0, 0)ElseIf PP = 2 Then (Y1, X1)(Y2, X2): 39。*** 打印機(jī)打印 End IfX1 = XC + B * Cos(TT + PI()/ 2)Y1 = YC + B * Sin(TT + PI()/ 2)X2 = XC + B * Cos(TT + 3 * PI()/ 2)Y2 = YC + B * Sin(TT + 3 * PI()/ 2)If PP = 1 Then Line(Y1, X1)(Y2, X2), RGB(255, 0, 0)ElseIf PP = 2 Then (Y1, X1)(Y2, X2): 39。*** 打印機(jī)打印: 39。***** 該方法(EndDoc)意思為“開始打印” End If Rem ***** 以下繪制測量坐標(biāo)系及方框 ***** Rem ***** 略 ***** End Sub圖78 誤差橢圓與誤差曲線168第四篇:VB程序設(shè)計(jì)的常用算法教案VB程序設(shè)計(jì)的常用算法教案算法(Algrith):計(jì)算機(jī)解題的基本思想方法和步驟。算法的描述:是對要解決一個(gè)問題或要完成一項(xiàng)任務(wù)所采 取的方法和步驟的描述,包括需要什么數(shù)據(jù)(輸入什么數(shù)據(jù)、輸出什么結(jié)果)、采用什么結(jié)構(gòu)、使用什么語句以及如何 安排這些語句等。通常使用自然語言、結(jié)構(gòu)化流程圖、偽代碼等來描述算法。一、計(jì)數(shù)、求和、求階乘等簡單算法此類問題都要使用循環(huán),要注意根據(jù)問題確定循環(huán)變量的初值、終值或結(jié)束條,更要注意用來表示計(jì)數(shù)、和、階 乘的變量的初值。例:用隨機(jī)函數(shù)產(chǎn)生100個(gè)[0,99]范圍內(nèi)的隨機(jī)整數(shù),統(tǒng)計(jì)個(gè)位上的數(shù)字分別為1,2,3,4,6,7,8,9,0的 數(shù)的個(gè)數(shù)并打印出來。本題使用數(shù)組來處理,用數(shù)組a存放產(chǎn)生的確100個(gè)隨機(jī)整數(shù),數(shù)組x來存放個(gè)位上的數(shù)字分別為1,2,3,4,6,7,8,9,0的數(shù)的個(gè)數(shù)。即個(gè)位是1的個(gè)數(shù)存放在x中,個(gè)位是2的個(gè)數(shù)存放在x中,…… 個(gè)位是0的個(gè)數(shù)存放在x。將程序編寫在一個(gè)GetTput過程中,代碼如下: PubliSubGetTputDiaAsIntegerDixAsIntegerDiiAsInteger,pAsInteger39。產(chǎn)生100個(gè)[0,99]范圍內(nèi)的隨機(jī)整數(shù),每行印出來Fri=1T100a=IntIfaFr1PrintSpae。a。10個(gè)打ElseFr1PrintSpae。a。EndIfIfid10=0ThenFr1PrintNexti39。統(tǒng)計(jì)個(gè)位上的數(shù)字分別為1,2,3,4,6,7,8,9,0的數(shù)的個(gè)數(shù),并將統(tǒng)計(jì)結(jié)果保存在數(shù)組x,x,x中,將統(tǒng)計(jì)結(jié)果打印出來Fri=1T100p=ad039。求個(gè)位上的數(shù)字Ifp=0Thenp=10x=x+1NextiFr1Printamp。qut。統(tǒng)計(jì)結(jié)果amp。qut。Fri=1T10p=iIfi=10Thenp=0 Fr1Printamp。qut。個(gè)位數(shù)為amp。qut。+Str+amp。qut。amp。qut。+Str)+amp。qut。個(gè)amp。qut。Nexti EndSub二、求兩個(gè)整數(shù)的最大公約數(shù)、最小公倍數(shù) 分析:求最大公約數(shù)的算法思想:對于已知兩數(shù),n,使得n;共除以n得余數(shù)r;若r=0,則n為求得的最大公約數(shù),算法結(jié)束;否則執(zhí)行;←n,n←r,再重復(fù)執(zhí)行。例如:求=14,n=6的最大公約數(shù)nr0 =inputBx n=inputBx n=n* Ifr=dnDhile=nn=rr=dnLpPrintamp。qut。最大公約數(shù)=amp。qut。,n [1][2][3][4][][6][7]下一頁 第五篇:VB程序設(shè)計(jì)課程設(shè)計(jì)VB程序設(shè)計(jì)課程設(shè)計(jì)目的VB程序設(shè)計(jì)課程設(shè)計(jì)是考察學(xué)生對VB程序設(shè)計(jì)課程相關(guān)知識點(diǎn)掌握情況的重要環(huán)節(jié),也是激勵(lì)學(xué)生進(jìn)一步學(xué)習(xí)VB、提高運(yùn)用VB開發(fā)實(shí)際計(jì)算機(jī)程序的能力。課程設(shè)計(jì)的重點(diǎn)在于學(xué)生利用VB開發(fā)程序的能力。課程設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)程序功能該程序具有建立數(shù)據(jù)庫,建立數(shù)據(jù)庫表,添加數(shù)據(jù),刪除數(shù)據(jù),查詢學(xué)生每學(xué)期成績、不及格情況、積點(diǎn)情況等相關(guān)信息的功能。實(shí)現(xiàn)要求每個(gè)學(xué)生建立一個(gè)數(shù)據(jù)庫(名字自擬),數(shù)據(jù)庫中建立學(xué)生基本信息表(學(xué)號、姓名、性別、出生年、出生月、出生日、聯(lián)系電話、年級、班級、住址等)、學(xué)生成績表(學(xué)號、課程號、成績、學(xué)期等)、課程信息表(課程號、課程名稱、出版社、出版日期、版次、頁碼、價(jià)格、課程類型(基礎(chǔ)課、專業(yè)基礎(chǔ)課、選修課等)、開課學(xué)院等)。把課程信息、每一學(xué)期的成績等分別輸入相應(yīng)的表中,其中學(xué)生基本信息表記錄不少于5個(gè)學(xué)生的信息。在以上數(shù)據(jù)的基礎(chǔ)上,實(shí)現(xiàn)相關(guān)的程序功能(不僅僅第3條指定的功能)。設(shè)計(jì)多界面程序,相關(guān)查詢結(jié)果應(yīng)由不同的界面顯示,每個(gè)同學(xué)顯示結(jié)果的形式應(yīng)盡量不同??己烁鶕?jù)學(xué)生實(shí)現(xiàn)程序功能多少(40分)、界面設(shè)計(jì)情況(20分)、課程設(shè)計(jì)報(bào)告撰寫情況(20)、答辯情況(20分)進(jìn)行考核。雷同者應(yīng)重做。課程設(shè)計(jì)報(bào)告內(nèi)容1)課程設(shè)計(jì)題目2)課程設(shè)計(jì)的目的3)程序功能介紹4)程序界面設(shè)計(jì)與控件屬性設(shè)置5)程序代碼編寫6)程序演示(將運(yùn)行過程用截圖方式截下來,并對輸入數(shù)據(jù)、輸出的結(jié)果進(jìn)行適當(dāng)說明)7)課程學(xué)習(xí)與課程設(shè)計(jì)心得體會上交材料本次課程設(shè)計(jì)以小班為單位上交如下資料:1)光盤:每一小班建立一個(gè)目錄(專業(yè)年級班級),在此目錄下建立每個(gè)同學(xué)的目錄(學(xué)號姓名),在每個(gè)同學(xué)的目錄下保存該同學(xué)的電子版的課程設(shè)計(jì)報(bào)告、打包的程序。2)紙制版的課程設(shè)計(jì)報(bào)告