潘地林VB課后答案_第1頁
潘地林VB課后答案_第2頁
潘地林VB課后答案_第3頁
潘地林VB課后答案_第4頁
潘地林VB課后答案_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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

Print

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()

Print

Fori=1To4

PrintTab(8i);

Forj=1To8

Print"*”;

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()

Print

Fori=lTo4

PrintTab(7);

PrintSpc(4i);

Forj=1To21

Print

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

Print

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

Print

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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論