版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章習(xí)翹解答
一、基本概念題
1.說明下列哪些是VisualBasic合法的直接常量,并分別指出它們的類型。
100.0%1001E1123D3123,4560100
"ASDF""1234.5"#2004/10/7#100#兀
&O78&H123TrueT1123!345.54#
答:在VB中,直接常量是以直接明顯的形式給出的數(shù)據(jù)。根據(jù)數(shù)據(jù)類型的不同,直
接常量分為:字符串常量、數(shù)值常量、日期常量和布爾常量。
字符串常量是由一對半角雙引號“"”加以界定的字符序列,該字符序列可以是任何能
被計算機處理的字符。本題中,”ASDF"、"1234.5"是字符串常量。
數(shù)值常量是由數(shù)值、小數(shù)點和正負號所構(gòu)成的數(shù)值。在VisualBasic中除十進制數(shù)值
常量外,還有八進制、十六進制數(shù)值常量。八進制常量前加&O;十六進制常量前加&H。本
題中,100.0、1E1,123D3、0100,100#、&O78、&H123、-1123!利345.54#均為數(shù)值常量。
日期常量用來表示某一天或某一天的具體時間。在VisualBasic>|',日期常量用兩個“#"
號進行界定。本題中,#2004/10/7#是日期常量。
邏輯型常量只有True和False兩個值,表示“真”和“假”本題中,True是邏輯常
一耳
里。
本題中,%100、123,456、n、T不是合法的常量。
2.下列數(shù)據(jù)哪些是變量,哪些是常量?是什么類型的常量?
Name"name"Falseff"11/16/99"cj
"120"n#11/12/2004#12.345
答:"name"、"11/16/99"、"120"是字符串常量;12.345是數(shù)值常量;#11/12/2004#是日
期常量;False是邏輯常量。Name、ff、cj、n是變量。
3.下列符號中,哪些是VisualBasic的合法變量名?
A123al2_3123_aa,123a123Integer
XYZFalseSin(x)變量名sinx叮
答:變量命名的規(guī)則是:必需以字母或漢字開頭,其后可以是下劃線、字母、漢字和數(shù)
字,長度小于255個字符;不能使用VB的關(guān)鍵字。本題中,合法的變量名是:A123、
al2_3>XYZ、變量名、sinx、兀;不合法的變量名是:123_a(不能用數(shù)字開頭)、aJ23(不
能用逗號)、a123(不能有空格)、False、Sin(x)(VB的關(guān)鍵字)
4.把下列數(shù)學(xué)表達式寫成VisualBasic表達式。
(1)Ix+yI+z5(2)(1+xy6
10+3y2
(3)(4)-b+b-4ac
xy2a
1e10+In10
(5)(6)sin45+o
111x+y+1
r+r+r
123
答:(1)abs(x+y)+zA5
(2)(l+x*y)A6
91(3)(10*x+Sqr(3*y))/(x*y)
(4)(-b+Sqr(b*b-4*a*c))/(2*a)
(5)l/(l/rl+l/r2+l/r3)
(6)Sin(3.14159*45/180)+(Exp(10)+log(10))/Sqr(x+y+l)
5.寫出下列表達式的值:
(1)123+23Mod10\7+Asc(MAn)
(2)Int(68.555*100+0.4)/100
(3)#11/22/2004#-10
(4)"ZXY"&123&"abc"
答:VB中計算表達式的值時,首先要考慮的是運算符的優(yōu)先級。
(1)式中整除運算符'優(yōu)先級最高,故首先計算10\7=1;然后計算23Mod1=0;所以
整個表達式的值=123+0+65=188。
(2)式中Int(68.555*100+0.4)=Int(6855.9)/100=6855/100=68.55。意Int()函數(shù)取整時,如
果參數(shù)是正數(shù),則略去小數(shù)部分;如果參數(shù)是負數(shù),則取不大于參數(shù)的最大整數(shù)。
(3)式中的10表示天數(shù),故表達式的值是2004-11-12。
(4)“&”運算符的作用是把字符串連接起來,如果遇到數(shù)值,則先把數(shù)值轉(zhuǎn)換成字符串
后再連接,所以表達式的值是“ZXY123abc”。
6.設(shè)a=7,b=3,c=4,求下列表達式的值:
(1)a+3*c(2)aA2/4
(3)a/2+3\2(4)aMod3+bA3/c\5
答:
(1)式=7+3*4=19
(2)式=7*7/4=12.25
(3)式=7/2+3\2=3.5+1=4.5
(4)式=1+27X4/5=1+6.75\5=1+6\5=2
7.寫出下列函數(shù)的值:
(1)Int(-3.14159)(2)Fix(-3.14159)
(3)Sqr(Sqr(81))(4)Len("VisualBasic程序設(shè)計”)
(5)Int(Abs(99100)/2)(6)Sgn(7*3+2)
(7)LCase("HellowVB!")(8)Mid("HellowVB!",4,3)
(9)Left("HellowVB!",3)(10)Val(“16個力n23個”)
(11)Str(459.55)(12)UCase("VisualBasic")
答:
(1)Int(-3.14159)=-4
(2)Fix(-3.14l59)=-3
(3)Sqr(Sqr(81))=3
(4)Len("VisualBasic程序設(shè)計")=16
(5)Int(Abs(99-100)/2)=0
(6)Sgn(7*3+2)=1
(7)LCase("HellowVB!")="hellowvb"
(8)Mid("HellowVB!",4,3)="low"
(9)Left("HellowVB!",3)="Hel"
(10)Val("16個加23個")=16
(11)Str(-459.55)="-459.55"
92(12)UCase("VisualBasic")="VISAULBASIC"
二、選擇題
1.可以同時刪除字符串前導(dǎo)和尾部空格的函數(shù)是。
A.LtrimB.RtrimC.TrimD.Mid
2.函數(shù)Int(Rnd(l)*10)是在哪個范圍產(chǎn)生隨機整數(shù).
A.(0,1)B.(0,9)C.(1J0)D.(l,9)
3.數(shù)學(xué)式子sin25°寫成VisualBasic表達式是。
A.Sin25B.Sin(25)C.Sin(25°)D.Sin(25*3.14/180)
4.表達式16/4-2A3*8/4Mod5\2的值是
A.14B.4C.20D.2
5.數(shù)學(xué)關(guān)系式3£x<10表示成正確的VB表達式為。
A.3<=x<10B.x>=3Andx<10
C.x>=3Orx<10D,3<=xAnd<10
6.已知A="12345678”,則表達式Val(Left(a,4)+Mid(a,4,2))的值是
A.123456B.123445C.8D.6
7.表達式Len(“123程序設(shè)計ABC")的值是°
A.10B.14C.20D.17
8.下面正確的賦值語句是。
A.x+y=30B.y=3兀*r*rC.y=x+30D.3y=x+l
9.為了給x,y,z三個變量賦初值1,正確的賦值語句是。
A.x=l:y=l:z=lB.x=l,y=l,z=lC.x=y=z=lD.x,y,z=l
10.賦值語句g=123+Mid(”123456”,3,2)執(zhí)行后,變量g中的值是
A.”12334”B.123C.12334D.157
11.表達式Not(a+b=c-d)是。
A.邏輯表達式B.字符表達式C.算術(shù)表達式D.關(guān)系表達式
12.如果x是一個正實數(shù),對x的第3位小數(shù)四舍五入的表達式是
A.0.01*Int(x+0,005)B.0.01*Int(100*(x+0.005))
C.0.01*Int(100*(x+0.05))D.0.01*Int(x+0.05)
13.下列哪組語句可以將變量a、b的值互換o
A.a=b:b=aB,a=a+b:b=ab:a=ab
C.a=c:c=b:b=aD.a=(a+b)/2:b=(ab)/2
14.下列四個字符串進行比較,最小的是
A.'19977"B.“B123”C.“Basic"DJ'DATA”
15.下列邏輯表達式中,其值為True的是。
A."b”>“ABC"B.'THAT”>‘THE"C.9>“H"D."A”>“a”
16.表達式a+b=c是。
A.賦值表達式B.字符表達式C.算術(shù)表達式D.關(guān)系表達式
17.在下列表達式中,非法的是。
A.a=b+cB.a>b+cC.a#b>cD.a<b+c
18.語句PrintFormat(“HELLO",“<”)的輸出結(jié)果是。
A.HELLOB.helloC.HeD.he
19.MsgBox()函數(shù)的返回值的類型是。
93A.整數(shù)B.字符串C.邏輯值D.日期
20.用語句DimA(3to5)AsLong定義的數(shù)組元素個數(shù)是。
A.7B.8C.9D.10
解答:
1.選CoTrim函數(shù)可以除去字符串兩端的空格,而Ltrim、Rtrim則分別除去字符串
左端或右端的空格。
2.選B?Rnd函數(shù)返回一個0?1(不包括1)的單精度小數(shù),乘以10后用Int函
數(shù)取整,得到的數(shù)應(yīng)在0?9之間。
3.選D。VB中,所有三角函數(shù)的參數(shù)必須用弧度代入計算,反三角函數(shù)的返回值是
弧度。
4.選B。因為16/42A3*8/4Mod5\2=4-8*8/4Mod2=4-16Mod2=4-0=4?
5.選B?表示變量x大于等于3而且小于9,應(yīng)注意這里不能使用數(shù)學(xué)式子的習(xí)慣用
法。
6.選B。Left(a,4)的值是“1234”Mid(44,2)的值是“34”兩字符串連接后再由Vai
函數(shù)轉(zhuǎn)變?yōu)閿?shù)值123445。
7.選A。在VB中,西文字符、中文字符和數(shù)字都是一個字符長度,字符串長度就等
于字符的個數(shù)。
8,選Co賦值號左邊只能是變量,不能是表達式,故A是錯誤的;B、D中的均有不
合法的變量名。
9.選A。選項B、D語法錯誤,選項C是一關(guān)系表達式。
10.選D。數(shù)值型數(shù)據(jù)與字符串相加時,如果字符串是數(shù)字,VB把字符串轉(zhuǎn)變?yōu)閿?shù)值
后,再相加;字符串不是數(shù)字時,系統(tǒng)提示出錯。
11.選人。由邏輯運算符組成的表達式是邏輯表達式。
12.選Bo
13.選B?
14.選A。字符串的比較是按字符的ASCII碼值從左到右一一比較,先大為大。
15.選A。
16.選D。表達式a+b=c是關(guān)系表達式,如果a+b的值等于c,則表達式的值為True,
否則為False,
17.選CoVB中的不等號只能用<>。
18.選Bo在格式輸出函數(shù)中,<”是強制小寫符號。
19.選A。MsgBox()函數(shù)的返回值是一個整型數(shù),記錄了用戶在消息框中選擇了哪一
個按鈕。
20.選Co定義的數(shù)組元素個數(shù)是9,數(shù)組元素的下標(biāo)分別是:-3、-2、-1、0、1、2、3、
4、5。
三、判斷題
1.VB6.0中&H12是8進制的數(shù)值常數(shù)。()2.設(shè)A="123".B=123,則A+B的
結(jié)果為246,A-B的結(jié)果為0。()3.已知A$="87654321",則表達式Val(Left$(A$,
4)+Mid$(A$,4,2))的值是:876554。
()4.Rnd函數(shù)產(chǎn)生的是(0,1)之間不包括0、1的隨機小數(shù)。()5.表
示*是5的倍數(shù)或是9的倍數(shù)的邏輯表達式為*乂0~5=00!^乂W9=0。()6.Len("
等級考試")和LenB("等級考試”)的結(jié)果相同。()7.VB6.0中字符串常量是用雙引
號或單引號括起來的字符串。()
948.PrintInStr("VisualBasic",T)的結(jié)果為0。()9.固定數(shù)組中的數(shù)組
元素個數(shù)一旦定義好后,在程序運行過程中不再會發(fā)生變化,并且數(shù)組
中數(shù)組元素的值也不會變化。()10.數(shù)組元素的下標(biāo)可以是常數(shù)、變量或表
達式。()11.在For-Next循環(huán)中,其中Step步長可以是正數(shù),也可以是負數(shù)。
()12.在Do--Loop[WhileIUntil]循環(huán)中,While關(guān)鍵字或Until關(guān)鍵字必須選擇
其中之一。
()
13.在For...Next循環(huán)中,ExitFor子句是可選項,它可以放置在循環(huán)體語句中的任何位
置。
()
14.動態(tài)數(shù)組在定義時已被分配存儲空間。()15.在VB6.0中,OptionBase語
句的參數(shù)只能是0或1。()解答:
1.錯。&H12是16進制的數(shù)值常數(shù),8進制數(shù)值常數(shù)的前綴是&0。
2.對。數(shù)值型數(shù)據(jù)與字符串相加時,如果字符串是數(shù)字,VB把字符串轉(zhuǎn)變?yōu)閿?shù)值后,再
相加。3.對。Left$(A$,4)的返回值是"8765",Mid$(A$,4,2)的返回值是"54",兩個字符串相
加后,
再由Vai函數(shù)轉(zhuǎn)換成876554。
4.錯。Rnd函數(shù)產(chǎn)生的是(0,1)之間的隨機小數(shù),包括0,但不包括1。
5.對。一個數(shù)是另一個數(shù)的倍數(shù)時,相除余數(shù)為零。
6.錯。Len函數(shù)的返回值是字符個數(shù),LenB函數(shù)的返回值是字符串所占用的字節(jié)數(shù)。7.錯。
VB6.0中字符串常量只能是用雙引號括起來的字符串。
8.對。InStr()函數(shù)的返回值是乙字符串在甲字符串中的位置,如果甲字符串中不包含乙
字
符串,則函數(shù)返回值是0。
9.錯。固定數(shù)組中的數(shù)組元素個數(shù)一旦定義好后,在程序運行過程中不再會發(fā)生變化,但
數(shù)組
元素的值是可以變化的。
10.對。
11.對。
12.錯。While關(guān)鍵字和Until關(guān)鍵字可以同時省略,表示無條件循環(huán)。此時,循環(huán)體中
應(yīng)有
ExitDo子句。
13.對。
14.錯。動態(tài)數(shù)組在定義時沒有被分配存儲空間。
15.對。
四、程序閱讀題
1.執(zhí)行以下程序后,顯示的結(jié)果是。
PrivateSubForm_Click()
DimxAsInteger
x=Int(Rnd)+4
SelectCasex
Case5
Print”優(yōu)秀”
Case4
Print"良好”
Case3
95Print”及格”
CaseElse
Print”不及格”
EndSelect
EndSub
答:運行結(jié)果是:良好”因為x=0+4=4,在SelectCase語句中執(zhí)行Print“良好”語
句。2.執(zhí)行以下程序段后,變量x的值為。
DimxAsInteger
x=5
Fori=1To20Step3
x=x+i\5
Nexti
答:變量x的值為16。因為循環(huán)體共執(zhí)行Int((20-1)/3+1)=7次,前兩次循環(huán)x的值
不變;第3次循環(huán)后x的值為6;第4、5次循環(huán),x的值每次加2;第6、7次循環(huán)x的
值每次加3;故循環(huán)結(jié)束后x的值為16o
3.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimxAsInteger
Fori=1To3
Forj=1Toi
Fork=jTo3
x=x+1
Nextk
Nextj
Nexti
Printx
EndSub
答:輸出結(jié)果是x=14o這是一個3重循環(huán),最內(nèi)層的循環(huán)體共執(zhí)行14次,每次加
lo4.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimxAsInteger
x=0
DoWhilex<50
x=(x+2)*(x+3)
n=n+1
Loop
Print"x=':x;nn=";n
EndSub
答:輸出結(jié)果是x=72n=2。本程序執(zhí)行循環(huán)2次,第1次循環(huán),x的值為6,n值為
I;第2次循環(huán),x的值為72,n值為2。x大于50時,循環(huán)終止。
5.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimxAsInteger,aAsInteger
x=0
96Forj=1TO5
a=a+j
Nextj
Printx,a
EndSub
答:輸出結(jié)果是615。竭x中保存的是循環(huán)變量j的終止值6o循環(huán)體執(zhí)行了5
次,故a的值是15。
6.以下程序的循環(huán)次數(shù)是。
Forj=8To35Step3
Printj;
Nextj
答:循環(huán)體共執(zhí)行Int((358)/3+l)=10次。
7.執(zhí)行以下程序輸入4后,程序輸出的結(jié)果是。
PrivateSubForm_Click()
x=InputBox(x)
IfxA2<15Theny=1/x
IfxA2>15Theny=xA2+1
Printy
EndSub
答:輸出結(jié)果是17。因為M2=16>15,故程序執(zhí)行y=xA2+l=17o
8.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimsumAsInteger
sum%=19
sum=2.23
Printsum%;sum
EndSub
答:輸出結(jié)果是22。程序中變量sum被定義成整型變量,所以賦予實數(shù)值時,系
統(tǒng)會把小數(shù)部分除去。%是類型符號,也是表示整型。
9.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
a=100
Do
s=s+a
a=a+1
LoopUntila>100
Printa
EndSub
答:輸出結(jié)果是lOlo程序中使用的是后測型循環(huán)結(jié)構(gòu)。循環(huán)體執(zhí)行1次后,變量a的
值變?yōu)?01,滿足循環(huán)結(jié)束條件,故循環(huán)終止。
10.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
a="ABCD"
97b="efgh"
c=LCase(a)
d=UCase(b)
Printc+d
EndSub
答:輸出結(jié)果是“abcdEFGH”。LCase()函數(shù)的作用是把字符串中的大寫字母轉(zhuǎn)換成小寫;
UCase()函數(shù)的作用是把字符串中的小寫字母轉(zhuǎn)換成大寫。
11.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
x=2:y=4:z=6
x=y:y=z:z=x
Printx;y;z
EndSub
答:輸出結(jié)果是464。應(yīng)注意的是本程序無法實現(xiàn)3個變量值的互換。
12.執(zhí)行下面程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimcountAsInteger
count=0
Whilecount<20
count=count+1
Wend
Printcount
EndSub
答:輸出結(jié)果是20。程序中的循環(huán)體執(zhí)行20次,當(dāng)count的值為20時,不再滿足
循環(huán)條件,程序執(zhí)行循環(huán)結(jié)構(gòu)后面的打印語句。
13.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
a="*,,:b=
Fork=1To3
x=Str(Len(a)+k)&b
Printx;
Nextk
EndSub
答:輸出結(jié)果是2$3$4$o程序循環(huán)執(zhí)行時,Len(a)的返回值始終是1,Str(Len(a)+k)
的值分別是2、3、4o字符串連接符&把兩個字符連接在一起。
14.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
k=0:a=0
DoWhilek<70
k=k+2
k=k*k+k
a=a+k
Loop
Printa
98EndSub
答:輸出結(jié)果是78。程序中的循環(huán)體可以被執(zhí)行兩次。第1次執(zhí)行后變量k、a的值
均為6,第2次循環(huán)后,k的值是72,a的值是78。
15.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimM(10)AsLong,N(10)AsLong
i=3
Fort=1To5
M(t)=t
N(i)=2*i+t
Nextt
PrintN(i);M(i)
EndSub
答:出結(jié)果是113o程序中的循環(huán)體執(zhí)行5次,由于變量i的值保持不變,只對M(t)
和N(3)進行賦值。循環(huán)結(jié)束后,N(3)的值是11,M(3)的值是3。
16.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
Dima()
a=Array(1,2,3,4)
j=1
Fori=3To0Step1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
答:輸出結(jié)果是1234。程序中的循環(huán)體執(zhí)行4次,變量s的值為4+30+200+1000=1234o
17.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
DimM(10)
Fork=1To10
M(k)=11k
Nextk
x=6
PrintM(2+M(x))
EndSub
答:輸出結(jié)果是4o循環(huán)執(zhí)行完成后數(shù)組M的值為(10,9,8,7,6,5,4,3,2,
1)?M(6)的值是5,故M(2+5)=M(7)的值是4。
18.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
Dima(10)AsInteger,p(3)AsInteger
k=5
Fori=1To10
a(i)=i
99Nexti
Fori=1To3
p(i)=a(i*i)
Nexti
Fori=1To3
k=k+p(i)*2
Nexti
Printk
EndSub
答:輸出結(jié)果是33。前兩個循環(huán)執(zhí)行完成后數(shù)組a的值為(1,2,3,4,5,6,7,8,
9,10),數(shù)組p的值為(1,3,9)。第3個循環(huán)執(zhí)行后,k=5+lX2+4X2+9X2=33o
19.執(zhí)行以下程序后,輸出的結(jié)果是。
PrivateSubForm_Click()
Dima(10,10)AsInteger
Fori=2To4
Forj=4To5
a(i,j)=i*j
Nextj
Nexti
Printa(2,5)+a(3,4)+a(4,5)
EndSub
答:輸出結(jié)果是42。程序中數(shù)組a定義了11X11=121個元素,但循環(huán)語句只對其中
的部分元素賦了值。其中a(2,5)的值是10,a(3,4)的值是12,a(4,5)的值是20,三者之和
是42o
20.以下程序運行的結(jié)果是。
OptionBase1
PrivateSubCommandl_Click()
Dima,b(3,3)
a=array(1,2,3,4,5,6,7,8,9)
Fori=lTo3
Forj=lTo3
b(i,j)=a(i*j)
If(j>=i)ThenPrintTab(j*3);Format(b(i,j),M###");
Nextj
Nexti
EndSub
A.123B.1C.147D.l23
4564524646
7897893699
答:輸出結(jié)果是選項D。
五、填空題
1.在VB中聲明符號常量的關(guān)鍵字是。
1002.設(shè)a=l、b=2、c=3,則VB6.0表達式:a<borb<candc<a的值是。
3."a","T","Z","9",這四個字符中,的ASCII碼值最大。
4.執(zhí)行語句B=MsgBox("XXX",,"YYY")后,在消息框中的標(biāo)題信息是。
5.函數(shù)Len("Hello!”+Space(2)+Mid("Shanghai”,5,3))的值是。
6.表達式Ucase(Mid("abcdefgh",3,4))的值是。
7.表達式Int(1234.555*100+0.5)/100的結(jié)果是。
8.使用數(shù)組聲明語句Dima(3,-2To2,5),則數(shù)組a包含元素的個數(shù)有。9.For-
Next循環(huán)的<step>子句缺省時,循環(huán)變量每次改變的值是。
10.填入正確的內(nèi)容,使得程序運行后,能在窗體上打印如圖221所示的圖案。
PrivateSubForm_Click()
Fori=1To4
PrintTab(8i);
Forj=1To8
Print"*”;
Nexti
EndSub圖221第10題的程序運行結(jié)果
11.下面程序的功能是利用隨機函數(shù)產(chǎn)生10個1?100之間的隨機整數(shù),打印其中能被5整
除的數(shù)并求其和,試填入正確的內(nèi)容。
PrivateSubForm_Click()
DimsumAsInteger,xAsInteger
Fori=1To10
x=Int(Rnd*100+1)
If=0Then
sum=sum+x
Print"x=^x
EndIf
Nexti
Ifsum<>OThen
Print"sum='isum
EndIf
EndSub
12.填入正確的內(nèi)容,使得以下程序能夠找出50以內(nèi)所有能構(gòu)成直角三角形的整數(shù)。
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
DimcAsSingle
Fora=1To50
Forb=aTo50
c=Sqr(aA2+bA2)
IfThenPrinta,b,c
Nextb
Nexta
101EndSub
13.填入正確的內(nèi)容,得以下程序能夠計算1+1/3+1/5+……+1/(2N+1),到1/QN+1)小
于10。5
PrivateSubForm_Click()
sum=1:n=1
Do
n=n+2
temp=1/n
sum=sum+temp
Iftemp<0.00001Then
Loop
Print"N=M;n
Print"sum='isum
EndSub
14.某大獎賽,有7位評委給參賽選手打分。以下程序是輸入7位評委對某選手的打分后,
去掉最高分和最低分后計算其平均值作為該選手的成績。試填空使得程序能正確運行。
PrivateSubForm_CIick()
sum=0
Fori=1To7
cj=Val(InputBox("請輸入第“&i&”位評委的打分”,“錄入"))
Ifi=IThen
Max=cj
Min=cj
Else
IfMin>cjThen
Min=cj
ElselfMax<cjThen
Max=cj
EndIf
EndIf
sum=sum+cj
Nexti
aver=
Print”該選手的成績?yōu)椋篴ver
EndSub
15.以下程序用隨機函數(shù)模擬擲骰子,統(tǒng)計擲50次骰子出現(xiàn)各點的次數(shù),試填入正確的內(nèi)
容。
PrivateSubForm_Click()
Dima(lTo6)AsInteger
Randomize
Fori=1To50
n=
a(n)=a(n)+1
Nexti
Fori=1To6
Printi;"點出現(xiàn)”;a(i);"次“
102Nexti
EndSub
解答:
1.Const
2.True
3.
4.YYY
5.11
6.CDEF
7.1234.56
8.120
9.1
10.Nextj
11.xMod5
12.c=Int(c)Andc<=50
13.ExitDo
14.(sum-Max-Min)/5
15.Int(Rnd*6)+1
六、編程題
1.在圖222中半徑”的文本框(Textl)中輸入圓的半徑值后,擊計算面積”鈕
(Command1)“計算周長”按鈕(Command2),其計算結(jié)果將顯示在結(jié)果后的文本框(Text2)
中。試寫出控件的相關(guān)事件代碼,以完成上述各功能。
圖222第1題程序的運行界面
解答:
文本框接收的數(shù)據(jù)為字符串類型,應(yīng)注意數(shù)據(jù)類型的轉(zhuǎn)換,體會數(shù)據(jù)類型的自動轉(zhuǎn)換功
能。程序代碼如下:
PrivateSubCommandl_Click()
Text2.Text=3.14*Val(Textl,Text)A2
EndSub
PrivateSubCommand2_Click()
Text2.Text=2*3.14*Val(Textl.Text)
EndSub
1032.設(shè)計如圖223所示的界面,根據(jù)在文本框中輸入的里程數(shù)計算費用。計算公式:
3公里之內(nèi)為6元,超過3公里小于等于30公里按每公里1.5元加收,超過30公里按每公
里1.8元加收。
圖223程序運行界面
解答:
本題主要考查分支結(jié)構(gòu)的應(yīng)用,本題計算車費有多種情形,選擇多分支語句較合適。程
序代碼如下:
PrivateSubCommandl_Click()
N=Val(Text1.Text)
SelectCaseN
CaseIs<=0
MsgBox(”請輸入數(shù)據(jù)”)
CaseIs<3
Y=6
CaseIs<30
Y=6+(N3)*1.5
CaseElse
Y=6+27+(N30)*1.8
EndSelect
Label3.Caption二”車費為“&Y&“元”
EndSub
PrivateSubCommand2_Click()
Textl.Text=,H,
Label3.Caption二””
EndSub
3.編寫程序?qū)~100自然數(shù)中能同時被3和5整除的數(shù)打印出來,并統(tǒng)計其個數(shù)。
解答:
一個整數(shù)能被另一整數(shù)整除的條件是:它們相除時余數(shù)為零。
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
Fori=1To100
IfiMod3=0AndiMod5=0Then,能夠同時被3和5整除的條件
Printi
n=n+1
104EndIf
Nexti
Print”1-100自然數(shù)中能同時被3和5整除的個數(shù)為:n
EndSub
4.我國現(xiàn)有人口13億,設(shè)年增長率為0.75%,試編寫程序,計算多少年后將超過16億。
解答:
本題有兩種解法,可以根據(jù)公式:
16=13(1+0.0075)n
直接利用標(biāo)準(zhǔn)函數(shù)對數(shù)求得:
n=Log(16/13)/Log(1+0.0075)
也可以利用循環(huán)求得:
PrivateSubForm_Click()
x=13
n=0
DoWhilex<16
x=x*1.0075
n=n+1
Loop
Printn;“年后我國人口將超過16億,達到”;x;“億“
EndSub
5.編寫程序輸出100?200之間不能被3整除的自然數(shù)。
解答:
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
Fori=100To200
IfiMod3oOThen,不能夠被3整除的條件
Printi;”
n=n+1'使用變量n來控制每行輸出5個數(shù)據(jù)
Ifn=5ThenPrint:n=0
EndIf
Nexti
EndSub
6.設(shè)計程序,求s=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值。
解答:
PrivateSubForm_Click()
DimnAsInteger,sAsSingle
s=0
n=Val(InputBox("請輸入n:H)),n由Inputbox函數(shù)輸入再轉(zhuǎn)換為數(shù)值型數(shù)據(jù)
Fori=1Ton
Forj=1Toi
s=s+j
Nextj
Nexti
105Prints
EndSub
7.編寫程序計算S的近似值,直到最后一項的絕對值小于10為止,并用Print方法輸出計
算5
結(jié)果。其中:
111k+1
S=1-2+3-4+KK+(-1)K
解答:
PrivateSubForm_Click()
DimsAsSingle,kAsLong
s=0
k=1
Do
s=s+(l)A(k+l)/k
k=k+1
LoopUntil1/k<0.00001
Prints
EndSub
8.假設(shè)某項稅收的規(guī)定如下:
1收入在500元以內(nèi),免征;
1收入在500?1000元內(nèi),超過500元的部分納稅3%;
1收入超過1000元時,超過的部分納稅4%;
1收入超過2000元時,超過的部分納稅5%o
試編程實現(xiàn)上述操作。
解答:
PrivateSubForm_Click()
DimincomeAsSingle,taxAsSingle
income=Val(InputBox(”請輸入收入:"))
income由Inputbox函數(shù)輸入再轉(zhuǎn)換為數(shù)值型數(shù)據(jù)
SelectCaseincome
CaseIs>2000
tax=500*0.03+1000*0.04+(income2000)*0.05
CaseIs>1000
tax=500*0.03+(income1000)*0.04
CaseIs>500
tax=(income500)*0.03
CaseElse
tax=0
EndSelect
Printtax
EndSub
9.編寫程序,用InputBox()函數(shù)輸入3個整數(shù),打印其中最大的數(shù)。
解答:
PrivateSubForm_Click()
106DimmaxAsInteger,tempAsInteger
max=0
Fori=1To3
Print”輸入第”;i;“個數(shù)”;
temp=Val(InpudBox("輸入整數(shù)”))
Printtemp
Iftemp>maxThenmax=temp
Nexti
Print”你輸入的最大的數(shù)是”;max
EndSub
10.編寫程序,任意輸入3個整數(shù)A、B、C,按由大到小順序把它們打印出來。
解答:
PrivateSubForm_Click()
Dima%,b%,c%,t%
a=Val(InpulBox("輸入整數(shù)a“,“數(shù)據(jù)輸入”))
b=Val(InputBox("輸入整數(shù)b「數(shù)據(jù)輸入”))
c=Val(InputBox("輸入整數(shù)c",“數(shù)據(jù)輸入"))
Print”排序前a;"b;…;c
Ifa<bThen
t=a:a=b:b=t
EndIf
Ifa<cThen
t=a:a=c:c=t
EndIf
Ifb<cThen
t=b:b=c:c=t
EndIf
Print”排序后n;a;"b;"c
EndSub
x3x5x2n-1
11.編寫程序,計算n-1,直到第n項的絕對值小
sinx?x-3!+5!+L+(-1)(2n-1!
于10為止。8
解答:
PrivateSubForm_CIick()
DimxAsSingle,tAsSingle,sinxAsSingle
i=1
sinx=0
x=Val(InputBox("請輸入x的值(弧度)","數(shù)據(jù)輸入"))
t=X
DoWhile(Abs(t)>0.00000001)
sinx=sinx+t
t=t*x*x/((i+1)*(i+2))
107i=i+2
Loop
Print”編程求得的sin(u;x;”)值為";sinx
Print”調(diào)用內(nèi)部函數(shù)求得的sin(n;x;")值為";Sin(x)
EndSub
12.分別編寫兩個程序,在窗體上分別打印出如圖224所示的圖形。
圖224兩種不同的圖案輸出
解答:
打印左邊圖案:
PrivateSubForm_Click()
Print,打印一空行
Fori=5To1Stepl,步長為一1
PrintTab(10);'從第10列開始打印
PrintSpc(10i);'打印由Spc函數(shù)值規(guī)定的空格
Forj=1To2*i1
Print'打印三角形的"*"號
Nextj
Nexti
EndSub
打印右邊圖案:
PrivateSubForm_DblClick()
Fori=lTo4
PrintTab(7);
PrintSpc(4i);
Forj=1To21
Nextj
Nexti
Fori=5To1Step1
PrintTab(O);
PrintSpc(10i);
Forj=1To2*i1
Printn*M;
Nextj
Nexti
EndSub
10813.編寫程序,輸出1000之內(nèi)的所有完數(shù)。完數(shù)”是指一個數(shù)恰好等于它的因子
之和,如6的
因子為1、2、3,而6=1+2+3,因而6是完數(shù)。
解答:
PrivateSubForm_Click()
Fori=1To1000
Sum=0
Fork=1Toi1
IfiModk=OThen
Sum=Sum+k
EndIf
Nextk
IfSum=iThen
Print"i=";i;”是完全數(shù)”
EndIf
Nexti
EndSub
14.-只小球從10米高度上自由落下,每次落地后反彈回原高度的40%,再落下。編程計
算小
球在第8次落地時,共計經(jīng)過了多少米?
解答:
PrivateSubForm_Click()
h=10
Sum=10
Fori=1To7
h=0.4*h
Sum=Sum+2*h
Nexti
Print”小球第8次落地時,經(jīng)過了";Sum;、米”
EndSub
15.編寫程序,求出所有小于或等于100的自然數(shù)對。自然數(shù)對是指兩個自然數(shù)的和與差都
是平
方數(shù),如8和17的和為8+17=25與其差178=9都是平方數(shù),則8和17就稱為自然數(shù)對。
解答:
PrivateSubForm_Click()
DimiAsLong,jAsLong
DimaAsSingle,bAsSingle
Fori=1To100
Forj=IToi1
a=i+j
b=ij
IfSqr(a)=Int(Sqr(a))AndSqr(b)=Int(Sqr(b))Then
Printi,j
EndIf
Nextj
109Nexti
EndSub
16.找出100~999之間的所有“水仙花數(shù)”所謂“水仙花數(shù)”是一個三位數(shù),其各位數(shù)的
立方
和等于該數(shù)本身,例如153=1+5+3,故153是“水仙花數(shù)”333
解答:
PrivateSubForm_Click()
DimpAsInteger
Forn=100To999
a=n\100
b=n\lOMod10
c=nMod10
p=aA3+bA3+cA3
Ifp=nThen
Printn;”是水仙花數(shù)”
EndIf
Nextn
EndSub
17.編寫程序,在窗體上打印圖225所示的“數(shù)字金字塔”
圖2615打印"數(shù)字金字塔”
解答:
PrivateSubForm_Click()
Fori=1To9
PrintSpace(16i);
Forj=IToi
PrintFormat(j,"0M);
Nextj
Forj=i1To1Stepl
PrintFormat。,F(xiàn)");
Nextj
Nexti
EndSub
18.用一元紙幣兌換一分、二分和五分的硬幣,要求兌換硬幣的總數(shù)為50枚,編程列出所有
可
能的兌換方案。
110解答:
采用窮舉法。一元等于100分,考慮5分最多20枚,2分最多50枚,余下是1分
硬幣。
PrivateSubForm_Click()
Fori=0To20'i表示5分硬幣數(shù)量
Forj=OTo50'j表示2分硬幣數(shù)量
k=1005*i2*j'k表示1分硬幣數(shù)量
Ifk+i+j=50Then
Printi,j,k
EndIf
Nextj
Nexti
EndSub
19.編寫程序,建立并輸出一個10X10的矩陣,該矩陣兩條對角線上的元素為1,其余元素
均為
0o
解答:
OptionBase1
PrivateSubForm_Click()
Dima(10,10)AsInteger
Fori=1To10
Forj=1To10
a(i,j)=O
Ifi=jOri+j=11Thena(i,j)=1
Printa(i,j);MH;
Nextj
Nexti
EndSub
111第3章習(xí)題解答
一、選擇題
1.若要設(shè)置計時器控件的定時時間,可通過屬性來設(shè)置。
A.IntervalB.ValueC.EnabledD.Text
2.若要多列顯示列表項,可通過設(shè)置列表框?qū)ο蟮膶傩詠韺崿F(xiàn)。
A.ColumnsB.MultiSelectC.StyleD.List
3.若要獲知列表框中列表項的數(shù)目,可通過訪問屬性來實現(xiàn)。
A.ListB.ListindexC.ListCountD.Text
4.若要向列表框新增列表項,可使用的方法是。
A.AddB.RemoveC.ClearD.Additem
5.若
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東松山職業(yè)技術(shù)學(xué)院《綠色制造與可持續(xù)發(fā)展》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東水利電力職業(yè)技術(shù)學(xué)院《工程項目管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東汕頭幼兒師范高等專科學(xué)?!吨袊糯恼摗?023-2024學(xué)年第一學(xué)期期末試卷
- 廣東嶺南職業(yè)技術(shù)學(xué)院《行業(yè)分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 【名師一號】2020-2021學(xué)年高中英語北師大版必修4-雙基限時練19
- 三年級英語上冊單詞
- 《肩關(guān)節(jié)解剖m》課件
- 語文書六年級上冊人教版
- 【全程復(fù)習(xí)方略】2021年高中化學(xué)選修三單元質(zhì)量評估(二)第2章-分子結(jié)構(gòu)與性質(zhì)-
- 【2021屆備考】2020全國名校數(shù)學(xué)試題分類解析匯編(12月第一期):B9函數(shù)與方程
- 物理八年級上冊凸透鏡成像的規(guī)律(課件)
- 2024-2025學(xué)年新教材高中地理 第3單元 區(qū)域聯(lián)系與區(qū)域發(fā)展 第1節(jié) 大都市輻射對區(qū)域發(fā)展的影響-以上海市為例說課稿 魯教版選擇性必修2
- 物業(yè)充電樁合作加盟協(xié)議書范文
- 機械工安全操作規(guī)程有哪些(11篇)
- 2024年執(zhí)業(yè)醫(yī)師考試-中醫(yī)執(zhí)業(yè)醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 2024-2030年中國真空滅弧室行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 全國計算機一級考試題庫(附答案)
- 【飛科電器公司基于杜邦分析法的財務(wù)分析案例(7700字論文)】
- 廣東省深圳市(2024年-2025年小學(xué)四年級語文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 兒童呼吸道合胞病毒感染臨床診治試題
- 2021-2022學(xué)年廣東省廣州市花都區(qū)六年級(上)期末英語試卷
評論
0/150
提交評論