溫州醫(yī)學(xué)院vb說(shuō)課材料_第1頁(yè)
溫州醫(yī)學(xué)院vb說(shuō)課材料_第2頁(yè)
溫州醫(yī)學(xué)院vb說(shuō)課材料_第3頁(yè)
溫州醫(yī)學(xué)院vb說(shuō)課材料_第4頁(yè)
溫州醫(yī)學(xué)院vb說(shuō)課材料_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

溫州醫(yī)學(xué)院vb3.1三種基本的控制結(jié)構(gòu)選擇結(jié)構(gòu)(分支結(jié)構(gòu))在程序的運(yùn)行過(guò)程中,存在岔路,通過(guò)特定的條件進(jìn)行選擇循環(huán)結(jié)構(gòu)程序設(shè)計(jì)中最重要的結(jié)構(gòu),計(jì)算機(jī)進(jìn)行復(fù)雜工作的基礎(chǔ)3.2選擇結(jié)構(gòu)語(yǔ)法格式1IF<條件>THEN<語(yǔ)句1>[ELSE<語(yǔ)句2>]解釋?zhuān)?lt;條件>表達(dá)式為真,程序執(zhí)行<語(yǔ)句1>,反之為假,程序執(zhí)行<語(yǔ)句2>例3-1分段函數(shù)的計(jì)算

1-x2f(x)=

(x-5)1/43.2選擇結(jié)構(gòu)例3-2輸入x、y,僅當(dāng)x<y時(shí),交換x,y值,然后輸出x,y的值(Text控件輸入x,y值,采用label空間輸出結(jié)果)3.2選擇結(jié)構(gòu)語(yǔ)法格式2If(條件)then<語(yǔ)句1>[Else<語(yǔ)句2>]Endif注意:語(yǔ)句1與語(yǔ)句2可能不只有一行程序代碼,可能是某斷代碼塊典型程序例3.3求一元二次方程的根3.2選擇結(jié)構(gòu)語(yǔ)法格式3Selectcase<測(cè)試表達(dá)式>[case<表達(dá)式列表1>[<語(yǔ)句塊1>]][case<表達(dá)式列表2>[<語(yǔ)句塊2>]]…………….[caseelse>[<語(yǔ)句塊n+1>]]Endselect典型程序例3.5多項(xiàng)式計(jì)算<表達(dá)式列表>:與<變量或表達(dá)式>同類(lèi)型的下面四種形式之一:表達(dá)式如:“A”

一組枚舉表達(dá)式(用逗號(hào)分隔)如:2,4,6表達(dá)式1To表達(dá)式2如:60To100Is關(guān)系運(yùn)算符表達(dá)式如:Is<603.2選擇結(jié)構(gòu)典型程序例3.6輸入年月,輸出該月的天數(shù),注意需要考慮閏年閏年的判斷?Ymod4=0andymod100<>0orymod400=0SelectCasemCase1,3,5,7,8,10,12d=31Case4,6,9,11d=30Case2'需要判斷是否為閏年If(yMod4=0AndyMod100<>0OryMod400=0)Thend=29Elsed=28EndIfCaseElseMsgBox("輸入的月份錯(cuò)誤!")EndSelect3.3循環(huán)結(jié)構(gòu)語(yǔ)法格式For循環(huán)變量=初值to終值[Step步長(zhǎng)] 語(yǔ)句塊Next循環(huán)變量典型程序求1-100的整數(shù)和例3.8表達(dá)式求值3.3循環(huán)結(jié)構(gòu)例3.9PrivateSubForm_Click()Dimi%Fori=5To1000Step7IfiMod5=3AndiMod3=2ThenExitFor'返回滿足的第一個(gè)數(shù)NextiIfi<=1000ThenPrintiEndSub3.3循環(huán)結(jié)構(gòu)while…..wend語(yǔ)句格式如下:While<條件><循環(huán)塊>Wend典型應(yīng)用,不定項(xiàng)多項(xiàng)式計(jì)算例3.123.3循環(huán)結(jié)構(gòu)形式1:(當(dāng)型循環(huán))

Do{While}<條件>語(yǔ)句塊[ExitDo]語(yǔ)句塊Loop形式2:(直到循環(huán))

Do語(yǔ)句塊[ExitDo]語(yǔ)句塊Loop{While}<條件>表達(dá)式列表FTExitDo語(yǔ)句塊語(yǔ)句塊TFExitDo語(yǔ)句塊語(yǔ)句塊表達(dá)式列表3.3循環(huán)結(jié)構(gòu)形式1:(當(dāng)型循環(huán))

Do{Until}<條件>語(yǔ)句塊[ExitDo]語(yǔ)句塊Loop形式2:(直到循環(huán))Do語(yǔ)句塊[ExitDo]語(yǔ)句塊Loop{Until}<條件>表達(dá)式列表TFExitDo語(yǔ)句塊語(yǔ)句塊FTExitDo語(yǔ)句塊語(yǔ)句塊表達(dá)式列表3.3循環(huán)結(jié)構(gòu)例3-14:判斷輸入的任意正整數(shù)是否為素?cái)?shù)PrivateSubCommand1_Click()Dimn%,i%n=Val(Text1.Text)Ifn=2Orn=3ThenText2.Text=Text1.Text+"是素?cái)?shù)"ElseFori=2ToSqr(n)IfnModi=0ThenExitForNextiIfi>Sqr(n)Then'與平方根進(jìn)行比較,超出說(shuō)明是素?cái)?shù)Text2.Text=Text1.Text+"是素?cái)?shù)"ElseText2.Text=Text1.Text+"不是素?cái)?shù)"EndIfEndIfEndSub3.4多重循環(huán)我國(guó)古代數(shù)學(xué)家在《算經(jīng)》中出了一道題:“雞翁一,值錢(qián)五;雞母一,值錢(qián)三;雞雛三,值錢(qián)一;百錢(qián)買(mǎi)百雞,問(wèn)雞翁,雞母,雞雛各幾何?Dimx%,y%,z%'x表示公雞,y表示母雞,z表示小雞Forx=0To20Fory=0To33z=100-y-xIf(5*x+3*y+z/3=100)ThenPrint"公雞:";x;"母雞:";y;"小雞:";zEndIfNextyNextx3.4多重循環(huán)例3.18運(yùn)行時(shí)單機(jī)命令按鈕后,輸入n(n<10),然后在窗體上輸出n層金字塔LoopWhilen<1Orn>9'驗(yàn)證n的值,否則繼續(xù)循環(huán)Fori=1TonPrintTab(n-i+1);'設(shè)置該行輸出的起始位置分號(hào)表示緊湊格式Forj=1To2*i-1PrintTrim(i);'函數(shù)trim除去i兩端的空格NextjNexti3.5數(shù)組及應(yīng)用數(shù)組的概念

數(shù)組是指在內(nèi)存連續(xù)區(qū)域中的相同類(lèi)型數(shù)據(jù)的有序集合,由一個(gè)變量名來(lái)引用。數(shù)組中的每一個(gè)元素都可以通過(guò)一個(gè)數(shù)值下標(biāo)訪問(wèn)。數(shù)組是一組相同類(lèi)型的變量的集合VB中有兩類(lèi)數(shù)組:定長(zhǎng)數(shù)組、動(dòng)態(tài)(可變長(zhǎng))數(shù)組。數(shù)組作用減少變量的聲名數(shù)列的使用程序的效率3.5數(shù)組及應(yīng)用(一)定長(zhǎng)數(shù)組及聲明

Dim|Private|Public

數(shù)組名(下標(biāo)1[,下標(biāo)2…])[As類(lèi)型]維數(shù):數(shù)組下標(biāo)變量的個(gè)數(shù),用“,”分隔下標(biāo):[下界To]上界注:必須為常數(shù),若省略下界為0(默認(rèn)值可由語(yǔ)句OptionBase1改變)每一維大?。?/p>

上界-下界+1

數(shù)組大?。偟脑獢?shù)個(gè)數(shù)):

每一維大小的乘積例:Dimmark(1to100)AsInteger

Dimmark%(100)--->Dimmark%(0to100)

Dima(1to3,1to4)AsIntegerDims(2,5)AsSingle3.5數(shù)組及應(yīng)用靜態(tài)數(shù)組例3.19顯示數(shù)列1,1,2,3,5,8……中前30項(xiàng)的值該問(wèn)題為意大利著名數(shù)學(xué)家LeonardoFibonacci提出的兔子繁殖問(wèn)題,其核心公式為f(n)=f(n-1)+f(n-2)該問(wèn)題的非數(shù)組實(shí)現(xiàn):Dimf1AsLong,f2AsLong,f3AsLong,iAsIntegerf1=1:f2=1Printf1;f2;Fori=3To30'循環(huán)個(gè)數(shù)f3=f1+f2Printf3;'注意分號(hào)IfiMod5=0ThenPrint'滿5個(gè),換行f1=f2:f2=f3'遞歸Nexti3.5數(shù)組及應(yīng)用數(shù)組實(shí)現(xiàn):'PrivateSubform_click()'Dimf(1To30)AsLong,iAsInteger'f(1)=1:f(2)=1'Fori=3To30'循環(huán)個(gè)數(shù)'f(i)=f(i-1)+f(i-2)'Nexti'Fori=1To30'Printf(i);'注意分號(hào)'IfiMod5=0ThenPrint'滿5個(gè),換行'Nexti'EndSub體會(huì)兩者的差異!3.5數(shù)組及應(yīng)用例3-20編程,輸入x1,x2,……x30,按下列公式計(jì)算'輸出各點(diǎn)的滑動(dòng)平均值'xii=1或i=30'yi=(xi-1+xi+xi+1)/31<i<30例3-22建立一個(gè)3行5列的二維數(shù)組。數(shù)組的前四列由輸入對(duì)話框輸入,第5列為同一行上前面4個(gè)數(shù)的和。3.5動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組操作方式動(dòng)態(tài)數(shù)組聲明格式:先定義無(wú)界數(shù)組dima()Redima(10)(使用前必須進(jìn)行二次定義)注意:在聲明時(shí)如果指定了數(shù)組的長(zhǎng)度,則不能進(jìn)行redim操作例3.25輸入n個(gè)整數(shù),求他們的最小公倍數(shù)思考:如何求取若干個(gè)數(shù)的最小公倍數(shù)方法:窮舉法原理:假定有a(1),a(2)….a(n)個(gè)數(shù),那么所有的數(shù)的最小公倍數(shù)必定為a(1)的N倍,因此,可做循環(huán),遍歷a(1)的任意倍數(shù),直至找出a(1)的某個(gè)倍數(shù)能夠被其他所有數(shù)整除為止。3.5動(dòng)態(tài)數(shù)組Dimn%,i%,gbsAsLongDima()AsIntegern=Val(InputBox("n=","輸入元素的個(gè)數(shù)"))ReDima(n)Fori=1Tona(i)=Val(InputBox("a("+Str(i)+")=","輸入數(shù)組各個(gè)元素"))Next

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論