版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)二級vb例題編寫的窗體單擊事件過程代碼如下:
PrivateSubForm_Click()DimxAsInteger,aAsIntegerDimbAsInteger,cAsIntegerx=36a=Int(x/10)'求十位數(shù)
b=xMod10'求個位數(shù)
c=b*10+a'生成新的數(shù)
Print"處理后的數(shù):";cEndSub運行程序后單擊窗體,輸出結(jié)果是:
處理后的數(shù):63
例3.1
給定一個兩位正整數(shù)(如36),交換個位數(shù)和十位數(shù)的位置,把處理后的數(shù)顯示在窗體上PrivateSubForm_Click()DimxAsInteger,aAsIntegerDimbAsInteger,cAsIntegerx=36
a=x\10
'求十位數(shù)
b=x-10*a
'求個位數(shù)
c=b*10+aPrint"處理后的數(shù):";cEndSub
把上述程序改為以下形式,效果是否一樣?想一想
通常,解決某個問題的程序方法有多種,我們應(yīng)該從中選擇較優(yōu)的一種方法。編寫的窗體單擊事件過程代碼如下:
PrivateSubForm_Click()DimaAsInteger,bAsInteger,cAsIntegerRandomize'初始化隨機(jī)數(shù)生成器
a=Int(90*Rnd+10)'產(chǎn)生[10,99]區(qū)間內(nèi)的隨機(jī)整數(shù)
b=Int(90*Rnd+10)c=a+b'求兩數(shù)之和
Print"產(chǎn)生的兩個隨機(jī)數(shù):";a,bPrint"和數(shù):";cEndSub運行程序后單擊窗體,輸出結(jié)果是:
產(chǎn)生的兩個隨機(jī)數(shù):5671
和數(shù):127例3.2
通過隨機(jī)函數(shù)產(chǎn)生2個兩位正整數(shù),求這2個數(shù)之和并顯示出來
再次運行程序,單擊窗體后輸出另一組結(jié)果是:產(chǎn)生的兩個隨機(jī)數(shù):1837
和數(shù):55
先從字符串a(chǎn)中找出某個指定字符(本例為空格),再以此字符為界拆分成兩個字符串。編寫的窗體單擊過程代碼如下:例題2PrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera="Visual└┘Basic"
'└┘表示空格
n=InStr(a,"└┘")
'查找空格位置
b=Left(a,n-1)
'取左邊部分
c=Mid(a,n+1)
'取右邊部分
Printb
'顯示左邊部分
Printc
'顯示右邊部分
EndSub
程序運行后單擊窗體,輸出結(jié)果是:
Visual
Basic例3.3
使用字符串函數(shù)示例PrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera="Visual└┘Basic"
'└┘表示空格
n=InStr(a,"└┘")
'查找空格位置
b=Left(a,n-1)
'取左邊部分
c=Right(____,____)
'取右邊部分
Printb
'顯示左邊部分
Printc
'顯示右邊部分
EndSub
程序運行后單擊窗體,輸出結(jié)果是:
Visual
Basic
若用Right函數(shù)來代替Mid函數(shù),應(yīng)如何改動?想一想答案:a,Len(a)-n
PrivateSubForm_Click()
x=#1/1/2011#
a=x-Date
b=Weekday(x)
c=Year(Date)
d=Month(Date)
e=Hour(Time)
f=Minute(Time)
Print"現(xiàn)在距離2011年元旦還有:";a;"天"
Print"2011年元旦是:星期";b-1
Print"本月份是:";c;"年";d;"月"
Print"現(xiàn)在是:";e;"時";f;"分"
EndSub
運行程序后單擊窗體,輸出結(jié)果如下:
現(xiàn)在距離2011年元旦還有:304天
2011年元旦是:星期6
本月份是:2010年3月
現(xiàn)在是:10時27分例3.4
使用日期/時間函數(shù)示例(留給學(xué)生分析)
將輸入的字符串反向顯示。界面包含兩個標(biāo)簽,一個按鈕和兩個文本框(text1用于輸入,text2用于顯示反向后的字符串),運行結(jié)果如圖3.2所示。從文本框text1輸入字符串,單擊command1按鈕,在文本框顯示反向字符串。3.7應(yīng)用示例
程序代碼如下:
PrivateSubCommand1_Click()Dimstr,strReAsStringDimiAsIntegerstr=Text1.TextFori=1ToLen(str)strRe=Mid(str,i,1)&strReNextiText2.Text=strReEndSub【程序分析】①FOR
NEXT為循環(huán)語句(讀者可見第四章).本題中的循環(huán)次數(shù)由字符串的長度Len(str)決定的.②用Mid函數(shù)每次從字符串中第i個位置取一個字符。③注意語句strRe=Mid(str,i,1)&strRe的用法,思考一下,若改為:strRe=strRe&Mid(str,i,1),結(jié)果如何?
判斷條件:年號(y)能被4整除,但不能被100整除;或者能被400整除,用邏輯表達(dá)式來表示這個條件,寫成:
(yMod4=0AndyMod100<>0)Or(yMod400=0)
也可寫成:
(Int(y/4)=y/4AndInt(y/100)<>y/100)OrInt(y/400)=y/400)
例4.1判斷某一年是否閏年
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性
(2)編寫程序代碼
功能要求:用戶在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)中輸入數(shù)據(jù),單擊“判斷”按鈕后,則在“最大數(shù)=”文本框(Text4)中輸出結(jié)果
例4.2輸入三個數(shù)a、b、c,求出其中最大數(shù)
PrivateSubCommand1_Click()DimaAsInteger,bAsIntegerDimcAsInteger,mAsIntegera=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa>bThenm=a'm用來存放較大值
Elsem=bEndIfIfc>mThenm=cText4.Text=mEndSub
程序代碼
(1)建立應(yīng)用程序的用戶界面和設(shè)置對象屬性
(2)編寫程序代碼功能要求:用戶從上面三個文本框(Text1、Text2、Text3)中輸入數(shù)據(jù),單擊“排序”按鈕(Command1),則在第4個文本框(Text4)中顯示結(jié)果
例4.3輸入三個數(shù),將它們從大到小排序
PrivateSubCommand1_Click()a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa<bThen'本條件語句實現(xiàn)a>=bt=a:a=b:b=tEndIfIfa<cThen'本條件語句實現(xiàn)a>=ct=a:a=c:c=tEndIfIfb<cThen'本條件語句實現(xiàn)b>=ct=b:b=c:c=tEndIfText4.Text=a&","&b&","&cEndSub
程序代碼起泡法窮舉法PrivateSubCommand1_Click()Dima!,b!,c!Clsa=InputBox("a=")b=InputBox("b=")c=InputBox("c=")Ifa>bAndb>cThenPrinta,b,cIfa>bAndb<=cAnda>cThenPrinta,c,bIfa>bAndb<=cAnda<=cThenPrintc,a,bIfa<=bAndb<=cThenPrintc,b,aIfa<=bAndb>cAnda>cThenPrintb,a,cIfa<=bAndb>cAnda<=cThenPrintb,c,aEndSub
程序代碼
實現(xiàn)一些簡單的條件判斷分支結(jié)構(gòu)格式:
IIf(條件,條件為真時的值,條件為假時的值)
功能:對條件進(jìn)行測試,若條件成立(為真值),則取第一個值(即“條件為真時的值”),否則取第二個值(即“條件為假時的值”)。
例如,將a、b中的小數(shù),放入Min變量中:
Min=IIf(a<b,a,b)4.2.3IIf函數(shù)
例如:0時至12時,顯示“早上好”利用窗體裝載(Load)事件,采用Print直接在窗體上輸出結(jié)果
PrivateSubForm_Load()DimhAsIntegerShow'使print輸出在窗體上的內(nèi)容可見
h=Hour(Time)'取系統(tǒng)的時間
FontSize=30:ForeColor=RGB(255,0,0)BackColor=RGB(255,255,0)Ifh<12ThenPrint"早上好!"ElseIfh<18ThenPrint"下午好!"ElsePrint"晚上好!"EndIfEndIf
EndSub例4.4
根據(jù)不同的時間段發(fā)出問候語
輸入學(xué)生成績(百分制),判斷該成績的等級(優(yōu)、良、中、及格、不及格)
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性
(2)編寫程序代碼
功能要求:用戶從“成績”文本框(Text1)中輸入學(xué)生成績,單擊“執(zhí)行”按鈕(command1)后,經(jīng)判斷得到等級并顯示在標(biāo)簽Label2上。
例4.5判斷成績的等級
PrivateSubCommand1_Click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成績等級為:"Ifscore<0ThenLabel2.Caption="成績出錯"ElseIfscore<60ThenLabel2.Caption=temp+"不及格"ElseIfscore<=79ThenLabel2.Caption=temp+"及格"ElseIfscore<=100ThenLabel2.Caption=temp+"優(yōu)良"ElseLabel2.Caption="成績出錯"EndIfEndSub
實現(xiàn)例4.5所完成的功能,程序代碼如下:
PrivateSubcommand1_click()DimscoreAsInteger,tempAsStringscore=Val(Text1.Text)temp="成績等級為:"SelectCasescoreCase0To59Label2.Caption=temp+"不及格"Case60To69Label2.Caption=temp+"及格"Case70To79Label2.Caption=temp+"中"Case80To89Label2.Caption=temp+"良"Case90To100Label2.Caption=temp+"優(yōu)"CaseElseLabel2.Caption="成績出錯"EndSelectEndSub
例4.6
用SelectCase語句來實現(xiàn)多分支選擇功能
先在窗體上顯示以下考題:
雞兔同籠,已知雞和兔總頭數(shù)為h=23,總腳數(shù)為f=56,求雞兔各有多少只?
再提供輸入框由學(xué)生回答問題,然后采用輸出框顯示對答案的評判意見。
設(shè)計步驟如下:
(1)在窗體上設(shè)置一個命令按鈕Command1(2)采用窗體的裝載事件Form_Load,使考題內(nèi)容直接顯示在窗體上。
例4.7
求雞數(shù)和兔數(shù)
當(dāng)用戶單擊“答題”按鈕時,程序提供輸入對話框,由用戶輸入答案,再通過輸出框顯示評判意見。采用的程序代碼如下:
PrivateSubForm_Load()
ShowPrintFontSize=18PrintSpc(9);"考一考你"FontSize=13PrintSpc(5);"雞兔同籠,已知雞和兔總頭數(shù)為23,"PrintSpc(3);"總腳數(shù)為56,求雞兔各有多少?"EndSub
PrivateSubCommand1_Click()h=23:f=56'總頭數(shù)及總腳數(shù)
j1=(4*h-f)/2'求出的雞數(shù)
t1=(f-2*h)/2'求出的兔數(shù)
j2=Val(InputBox("雞的只數(shù)是多少?","請回答"))t2=Val(InputBox("兔的只數(shù)是多少?","請回答"))SelectCaseTrue'選擇真值
Casej1=j2Andt1=t2MsgBox("回答完全正確!")Casej1=j2MsgBox("雞數(shù)回答正確,但兔數(shù)不對!")Caset1=t2MsgBox("兔數(shù)回答正確,但雞數(shù)不對!")CaseElseMsgBox("回答錯誤!")EndSelect
EndSub
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性
一個計時器控件和一個文本框。計時器控件Timer1的Interval屬性值設(shè)定為1000(1秒)例4.10
建立一個電子時鐘
(2)編寫程序代碼
PrivateSubTimer1_Timer()
'timer事件過程
Text1.Text=Time'Time是時間函數(shù)
EndSub
利用計時器可以按指定間隔時間對字體進(jìn)行放大
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性
一個計時器控件和和一個標(biāo)簽。計時器控件Timer1的計時器采用默認(rèn)的屬性值
Enabled屬性值為True(真),Interval屬性值為0
例4.11
實現(xiàn)字體的放大
(2)編寫程序代碼
PrivateSubForm_Load()Label1.Caption="放大"Label1.Width=Form1.Width'把標(biāo)簽的高度和寬度
'設(shè)置為窗體相同尺寸
Label1.Height=Form1.HeightTimer1.Interval=800
EndSubPrivateSubTimer1_Timer()IfLabel1.FontSize<140ThenLabel1.FontSize=Label1.FontSize*1.2ElseLabel1.FontSize=8EndIf
EndSub
例4.12
電子倒計時器。先由用戶給定倒計時的初始分秒數(shù),然后開始倒計時,當(dāng)計到0分0秒時,通過消息對話框顯示“倒計時結(jié)束”
(1)在窗體上建立一個計時器(Timer1)、兩個標(biāo)簽、兩個文本框(Text1和Text2)和一個命令按鈕(Command1)
計時器的Enabled屬性值為True,Interval屬性值為0
4.6程序舉例
(2)編寫程序代碼
DimmAsInteger,sAsInteger'聲明模塊級變量
PrivateSubForm_Load()Timer1.Interval=1000'設(shè)置每隔1秒觸發(fā)1次Timer事件
Timer1.Enabled=False'關(guān)閉計時器
EndSubPrivateSubCommand1_Click()'“倒計時”
m=Val(Text1.Text)s=Val(Text2.Text)Timer1.Enabled=True'打開計時器
EndSubPrivateSubTimer1_Timer()
Ifs>0Then
s=s-1
Else
Ifm>0Then
m=m-1
s=59
EndIf
EndIf
Text1.Text=Format(m,"00")
Text2.Text=Format(s,"00")
Ifs=0Andm=0Then
MsgBox"計時結(jié)束"
UnloadMe
EndIfEndSub
(1)分析:方程的解有以下幾種可能:
若a=0,不是二次方程若b2-4ac=0,有兩個相等實根若b2-4ac>0,有兩個不等實根若b2-4ac<0,有兩個共軛復(fù)根
(2)程序框圖程序框圖
程序框圖也稱程序流程圖,它能直觀地表示程序的處理步驟,是一種描述算法的常用方法。
(3)建立應(yīng)用程序的用戶界面和設(shè)置對象屬性
(4)編寫程序代碼例4.14
求一元二次方程ax2+bx+c=0的解
程序框圖假假假真真真開始輸入a,b,ca=0
輸出“不是二次方程”D=b*b–4*a*cR=-b/(2*a)D=0輸出兩實根-b/(2*a)輸出兩個實根X1,X2輸出兩個復(fù)根R+PiR-PiD>0計算復(fù)根的虛部P=sqr(-D)/(2*a)X1=(-b+sqr(D))/(2*a)X2=(-b-sqr(D))/(2*a)結(jié)束
當(dāng)用戶在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)輸入a,b,c的值后,單擊“計算”按鈕,則從“x1=”文本框(Text4)和“x2=”文本框(Text5)輸出計算結(jié)果。當(dāng)輸入的a,b,c為1,2,-8時,運行結(jié)果如下圖
功能要求
PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingleDimDAsSingle,X1AsSingle,X2AsSingleDimRAsSingle,PAsSinglea=Val(Text1.Text)'取數(shù)據(jù)ab=Val(Text2.Text)'取數(shù)據(jù)bc=Val(Text3.Text)'取數(shù)據(jù)cIfa=0Then'當(dāng)a=0Text4.Text="不是二次方程"Text5.Text="不是二次方程"Else'a<>0D=b*b-4*a*cR=-b/(2*a)
IfD=0Then'D=0Text4.Text=RText5.Text=RElseIfD>0Then'D>0X1=(-b+Sqr(D))/(2*a)X2=(-b-Sqr(D))/(2*a)Text4.Text=X1Text5.Text=X2Else'D<0P=Sqr(-D)/(2*a)Text4.Text=R&"+"&P&"i"Text5.Text=R&"-"&P&"i"EndIfEndIf
EndSub
PrivateSubForm_Load()Dima(1To10)AsLong,sumAsLong,tAsLongDimnAsIntegerShowt=1Forn=1To10t=t*n
a(n)=tNextnsum=0ForEachxInasum=sum+xNextxPrint"1!+2!+3!+……10!=";sumEndSub輸出結(jié)果:
1!+2!+3!+…+10!=4037913
例6.8
求1!+2!+…+10!的值
解題方法:
(1)利用Int(91*Rnd+10)產(chǎn)生值為10到100的隨機(jī)整數(shù)
使用Randomize得到不同的隨機(jī)數(shù)序列
(2)按值從小到大進(jìn)行排序。排序方法:
將10個數(shù)放入數(shù)組a中,對下列下標(biāo)變量進(jìn)行排序處理:
a(1),a(2),a(3),…,a(10)
①從這10個下標(biāo)變量中,選出最小值,通過交換把該值存入a(1)中②除a(1)之外(a(1)已存放最小值),從其余9個下標(biāo)變量中選出最小值(即10個數(shù)中的次小值),通過交換把該值存入a(2)中
③選出a(3)~a(10)中的最小值,通過交換,把該值存入a(3)中
④重復(fù)上述處理,至a(8),可使a(1)~a(8)按小到大排列
⑤第9次處理,選出a(9)及a(10)中的最小值,通過交換把該值存入a(9)中,此時a(10)存放的就是最大值
例6.6
隨機(jī)產(chǎn)生十個10~100的整數(shù),用“選擇排序法”按值從小到大順序排序,最后輸出結(jié)果排列要求
小大示例:
a(1)a(2)a(3)a(4)
906465591.a(1)與a(2)~a(4)比較,選出最小值,結(jié)果
599065642.a(2)與a(3)~a(4)比較,選出次小值,結(jié)果
596490653.a(3)與a(4)比較,選出較小值,結(jié)果
59646590i=1j=2,3,4i=2j=3,4i=3j=4Fori=1to3Forj=i+1to4……NextjNexti程序結(jié)構(gòu)
完成上述比較及排序處理過程,可以采用兩重循環(huán)結(jié)構(gòu),外循環(huán)的循環(huán)變量i從1到9,共循環(huán)九次;內(nèi)循環(huán)的循環(huán)變量j從i+1到10。
本例采用默認(rèn)的用戶界面,所需數(shù)據(jù)由隨機(jī)函數(shù)產(chǎn)生,處理后結(jié)果信息通過Print方法直接輸出在窗體上。
PrivateSubForm_Load()ShowRandomizeDima(1To10)AsIntegerPrint"原始數(shù)據(jù):"Fori=1To10'產(chǎn)生10個隨機(jī)數(shù)
a(i)=Int(91*Rnd+10)Printa(i);Nexti
(3)程序結(jié)構(gòu)
Print:PrintFori=1To9Forj=i+1To10Ifa(i)>a(j)Thent=a(i):a(i)=a(j):a(j)=t'交換位置
EndIfNextjNextiPrint"排序結(jié)果:"Fori=1To10Printa(i);NextiEndSub
改寫中間程序段“Fori=1To9”~“Nexti”(共7個程序行)
Fori=1To9k=i‘k用來記錄每次選擇的最小值的下標(biāo)
Forj=i+1To10Ifa(k)>a(j)Thenk=jEndIfNextjt=a(k):a(k)=a(i):a(i)=t'交換位置
Nexti
變量k記錄每一次選出的最小值的下標(biāo),在本次比較結(jié)束后,使a(i)與a(k)一次換位即可排列要求
小大示例:
a(1)a(2)a(3)a(4)
90646559a(1)與a(2)~a(4)比較,選出最小值,直接與a(1)交換,結(jié)果:
59646590
5.1.1For...Next循環(huán)語句
按指定次數(shù)執(zhí)行循環(huán)體
例5.1
在窗體上顯示2至10各偶數(shù)的平方數(shù)采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()DimkAsIntegerShowFork=2To10Step2Printk*kNextkEndSub程序運行結(jié)果:
41636641005.1循環(huán)語句說明:循環(huán)變量k的初值、終值和步長值分別為2,10和2,即從2開始,每次加2,到10為止,控制循環(huán)5次。每次循環(huán)都將循環(huán)體(Printk*k)執(zhí)行一次
采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()
Shows=0Fork=1To8s=s+kNextkPrint"s=";sEndSub
程序運行結(jié)果如下:
s=36
語句s=s+k(循環(huán)體語句)的執(zhí)行過程
例5.2
求S=1+2+3+…+8
采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()Showt=1Forc=1To8t=t*cNextcPrint"T=";tEndSub
程序運行結(jié)果是:
T=40320
語句t=t*c也稱乘法器。先將t置1(不能置0)。
在循環(huán)程序中,常用累加器和累乘器來完成各種計算任務(wù)例5.3
求T=8!=1×2×3×…×8
采用Print直接在窗體上輸出結(jié)果,程序代碼如下:
PrivateSubForm_Load()ShowDimpiAsSingle,cAsInteger,sAsIntegerpi=0s=1's表示加或減運算
Forc=1To10000Step2pi=pi+s/cs=-s'交替改變加、減號
NextcPrint"π=";pi*4EndSub
程序運行結(jié)果是:
π=3.141397
例5.4
用π/4=1-1/3+1/5-1/7+……級數(shù)求π的近似值(取前5000項來進(jìn)行計算)
下面采用“窮舉法”來解此題。其做法是:從所有可能解中,逐個進(jìn)行試驗,若滿足條件,就得到一個解,否則不是。直到條件滿足或判別出無解為止。
令母雞為x只,小雞為y只,根據(jù)題意可知
y=100–x
開始先讓x初值為1,以后逐次加1,求x為何值時,條件3x+y/3=100成立。如果當(dāng)x達(dá)到33時還不能使條件成立,則可以斷定此題無解
例5.5
用100元買100只雞,母雞3元1只,小雞1元3只,問各應(yīng)買多少只?
采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()DimxAsInteger,yAsIntegerShowForx=1To33y=100-xIf3*x+y/3=100ThenPrint"母雞只數(shù)為:";x,Print"小雞只數(shù)為:";yEndIfNextxEndSub
運行結(jié)果:
母雞只數(shù)為:25小雞只數(shù)為:75
采用DoWhile...Loop語句
采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()DimnAsInteger,sAsLongShown=1:s=0DoWhilen<=100s=s+n*nn=n+1LoopPrint"s=";sEndSub例5.6
求S=12+22+…+1002
程序運行結(jié)果:
S=338350
是否可以交換順序:
n=n+1
s=s+n*n采用Print直接在窗體上輸出結(jié)果,程序代碼:
PrivateSubForm_Load()ShowDimpiAsSingle,nAsLong,sAsIntegerpi=0:n=1:s=1DoWhilen<=100000'或1/n>=0.00001pi=pi+s/ns=-sn=n+2LoopPrint"π=";pi*4EndSub例5.7
用π/4=1-1/3+1/5-1/7+……
級數(shù),求π的近似值。當(dāng)最后一項的絕對值小于10-5時,停止計算
程序運行結(jié)果:
π=3.141575
“輾轉(zhuǎn)相除法”算法:求出m/n余數(shù)p,若p=0,n即為最大公約數(shù);若p非0,則把原來的分母n作為新的分子m,把余數(shù)p作為新的分母n繼續(xù)求解設(shè)計步驟如下:
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性例5.8
輸入兩個正整數(shù),求它們的最大公約數(shù)
編寫的“計算”按鈕Click事件過程代碼如下:
PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,pAsIntegerm=Val(Text1.Text):n=Val(Text2.Text)Ifm<=0Orn<=0Then
MsgBox("數(shù)據(jù)錯誤!")EndEndIfDop=mModnm=nn=pLoopWhilep<>0Text3.Text=mEndSub
若輸入的m和n的值為85和68,則運行結(jié)果如上圖
把每次輸入的數(shù)累加。當(dāng)輸入-1時結(jié)束程序的運行
(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性
(2)編寫程序代碼
PrivateSubForm_Load()ShowSum=0DoWhileTrue'條件為真,循環(huán)無終止進(jìn)行下去
x=Val(InputBox("請輸入要加入的數(shù)(-1表示結(jié)束)","輸入數(shù)據(jù)"))Ifx=-1ThenExitDoEndIfSum=Sum+xText1.Text=SumLoop
MsgBox("累加運算結(jié)束")EndSub
以-1作為“終止循環(huán)標(biāo)志”
例5.9
設(shè)計一個“加法器”程序例5.9.1有一張厚0.5mm、面積足夠大的紙,將它不斷地對折,問對折多少次后,其厚度可達(dá)到珠穆朗瑪峰的高度?N=0H=0.5Dowhileh<8848000N=n+1H=2*hLoopPrint"對折次數(shù)為:”;n
N=0H=0.5Dowhileh<8848000N=n+1h=2*hIfh>8848000ThenExitdoEndifLoopPrint“對折次數(shù)是:”;n例5.10.1
求s=1!+2!+……+10!的值。S=0Forn=1to10T=1Form=1tonT=t*mNextmS=s+tNextnPrint“S=“;sS=0T=1Forn=1to10T=t*nS=s+tNextnPrint“S=“;S
本例可采用兩重循環(huán)來實現(xiàn)。外循環(huán)控制輸出7行,內(nèi)循環(huán)控制每行輸出要求的字符數(shù)。在進(jìn)入內(nèi)循環(huán)之前,使用PrintTab()來對起始輸出位置定位,退出內(nèi)循環(huán)后,使用Print來控制換行。例5.11
編一程序,輸出下列所示的圖形
采用Print直接在窗體上輸出結(jié)果,程序代碼如下:
PrivateSubForm_Load()
ShowFori=1To7PrintTab(10-i);Forj=1To2*i-1PrintChr(i+48);NextjPrintNextiEndSub
PrintChr(i+48)與Printi有所不同
(1)分析:設(shè)一元硬幣為a枚,二元硬幣為b枚,五元硬幣為c枚,可列出方程
a+b+c=10
a+2b+5c=25
采用兩重循環(huán),外循環(huán)變量a從0~10,內(nèi)循環(huán)變量b從0~10
(2)創(chuàng)建應(yīng)用程序的用戶界面
例5.12
取一元、二元、五元的硬幣共十枚,付給25元錢,有多少種不同的取法?
(3)編寫程序代碼
程序通過Print方法把處理結(jié)果輸出在標(biāo)簽的下方
PrivateSubForm_Load()Show
CurrentX=0:CurrentY=1500'確定開始顯示的坐標(biāo)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員B證(項目負(fù)責(zé)人)模擬考試題及解析
- 中考地理專項復(fù)習(xí):地球和地球儀(解析版)
- 2024年婚介服務(wù)合同
- 工亡補(bǔ)償協(xié)議書參考
- 應(yīng)屆生委托院校代為保管個人戶口檔案合同
- 建筑起重機(jī)械租賃合同范例
- 跨國風(fēng)險應(yīng)對備用金存款協(xié)議
- 廣東省購房合同模板及合同條款
- 工裝設(shè)計施工合同樣本
- 農(nóng)業(yè)銀行的建設(shè)項目勘察設(shè)計合同
- 新能源無人機(jī)技術(shù)研究報告
- 歐姆龍PLC入門課程
- 新疆紀(jì)要維吾爾族的起源和形成
- 異位妊娠PPT課件ok
- 動物遺傳育種繁殖學(xué)
- 2023年全國高考體育單招考試數(shù)學(xué)模擬試卷試題(含答案詳解)
- 守株待兔兒童故事繪本PPT
- 貫徹落實八項規(guī)定實施細(xì)則實施辦法
- 2022年小學(xué)美術(shù)新課程標(biāo)準(zhǔn)考試模擬試題及部分答案(共五套)
- 超星爾雅學(xué)習(xí)通《人人學(xué)點營銷學(xué)》章節(jié)測試答案
- YY 0600.3-2007醫(yī)用呼吸機(jī)基本安全和主要性能專用要求第3部分:急救和轉(zhuǎn)運用呼吸機(jī)
評論
0/150
提交評論