vb教材習(xí)題答案_第1頁
vb教材習(xí)題答案_第2頁
vb教材習(xí)題答案_第3頁
vb教材習(xí)題答案_第4頁
vb教材習(xí)題答案_第5頁
已閱讀5頁,還剩200頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第三部分習(xí)題與解答

第1章程序設(shè)計(jì)語言與程序設(shè)計(jì)

1.1填空題

1.VB是以(事件驅(qū)動)作為運(yùn)行機(jī)制的新一代可視

化程序設(shè)計(jì)語言。

2.程序設(shè)計(jì)語言是(人)與(計(jì)算機(jī))交流的工

具。

3.若從機(jī)器執(zhí)行的角度來對程序設(shè)計(jì)語言進(jìn)行分類,

則可以分為(低級語言)和(高級語言)兩種。

4.計(jì)算機(jī)系統(tǒng)中,對高級語言的翻譯工具稱為(編譯)

程序或(解釋)程序。

5.源程序中的錯誤一般分為(編譯)錯誤、(運(yùn)行)

錯誤和(邏輯)錯誤等三種。

6.VB把一個應(yīng)用程序稱為一個(工程),它包含各

種文件。

1.2選擇題

1.把a(bǔ)和b的乘積寫成ab的錯誤屬于(c)錯誤。

a)編譯b)運(yùn)行c)邏輯d)編譯和

運(yùn)行

2.用戶在什么時候都可以按(b)鍵來查看與當(dāng)前進(jìn)

行的工作相關(guān)的幫助。

a)Heldb)Flc)ESCd)F10

3.窗體文件的擴(kuò)展名為(d)。

a).vbpb).basc).exed).frm

4.指示一個窗體位置的值是窗體的(c)。

a)對象b)事件c)屬性d)方法

5.下面選項(xiàng)中不能運(yùn)行VB程序的操作是(a)。

a)雙擊窗體b)單擊“啟動”按鈕圖標(biāo)

c)從菜單欄運(yùn)行菜單中選“全編譯執(zhí)行”菜單命

令d)按F5鍵

1.3問答題

1.低級語言和高級語言的各自特點(diǎn)是什么?

答:參見教材1」。

2.什么是數(shù)據(jù)描述和數(shù)據(jù)處理?

答:參見教材1.2。

3.源程序的翻譯方式有哪兩種,簡述它們的工作過程。

答:參見教材1.1。

4.一個好程序的基本要求是什么?

答:參見教材1.2。

5.VisualBASIC集成開發(fā)環(huán)境的主窗口由哪些部分構(gòu)

成?各自的主要功能是什么?

答:參見教材1.3。

6.簡述在VB的環(huán)境下,對象、屬性、方法、事件和事

件驅(qū)動程序的概念,并用例子進(jìn)行說明。

答:在VB的環(huán)境下,對象是系統(tǒng)中的基本運(yùn)行實(shí)體,

它封裝了數(shù)據(jù)和操作。工具箱中的命令按鈕、標(biāo)簽、文本框

等是對象摸板??丶怯蒝B工具箱創(chuàng)建的對象。

屬性是對象的性質(zhì)或狀態(tài)特征。例如,窗體的Caption

(標(biāo)題)、BackColor(背景顏色)、Height(高度)和Width

(寬度)等都是窗體的屬性。

事件是對象之間傳遞的消息。VB控件的事件由系統(tǒng)預(yù)先

定義。例如,Click(單擊)事件、DblClick(雙擊)事件。

方法是對象在某些事件驅(qū)動下執(zhí)行的特定操作。它可以

執(zhí)行系統(tǒng)預(yù)定義的操作,例如窗體的Print(打?。┓椒?、

Show(顯示窗體)方法;

當(dāng)事件由用戶或VB系統(tǒng)觸發(fā)時,對象會感受到該事件并

對該事件作出響應(yīng),響應(yīng)某個事件后所執(zhí)行的程序就是事件

驅(qū)動程序。事件驅(qū)動程序有時也稱為事件過程。例如,以

下是命令按鈕Command1在接受單擊事件時驅(qū)動的程序:

PrivateSubCommand!Click()

Print〃Helloworld!〃

EndSub

7.總結(jié)使用VisualBASIC開發(fā)一個應(yīng)用程序的過程。

答:參見教材1.5。

8.下面程序是什么事件驅(qū)動程序?如何執(zhí)行該事件驅(qū)動

程序?執(zhí)行的結(jié)果如何?

PrivateSubCommand1Click()

Print〃歡迎你使用VB!〃

EndSub

答:略。

1.4編程題

編寫一個程序。要求設(shè)置窗體的標(biāo)題是“這是我的第一

個練習(xí)”,且在程序執(zhí)行后,單擊窗體顯示如下一行文字:

我可以用VisualBASIC編寫程序了!

解答:

(1)用戶界面設(shè)計(jì):設(shè)計(jì)用戶界面由一個窗體構(gòu)成。

(2)對用戶界面上的控件對象的屬性進(jìn)行設(shè)置:把窗

體的Caption屬性值設(shè)置為“這是我的第一個練習(xí)”。

(3)編寫控件對象的事件驅(qū)動程序:

PrivateSubForm_Click()

Print〃我可以用VisualBASIC編寫程序了!〃

EndSub

第2章基本數(shù)據(jù)類型與表達(dá)式

2.1填空題

1.在程序設(shè)計(jì)語言系統(tǒng)中具有固定語法含義的符號串

稱為(關(guān)鍵字),它們通常用來表示系統(tǒng)提供的標(biāo)準(zhǔn)過程、

函數(shù)、運(yùn)算符、常量等。

2.(標(biāo)識符)用于標(biāo)記用戶自定義的常量、類型、變

量、控件、過程、函數(shù)等名字。

3.整型數(shù)據(jù)占(2)字節(jié)的內(nèi)存空間。長整型數(shù)據(jù)

占(4)個字節(jié)的內(nèi)存空間。單精度浮點(diǎn)型數(shù)據(jù)占(4)

個字節(jié)的內(nèi)存空間。雙精度浮點(diǎn)型數(shù)據(jù)占(8)個字節(jié)

的內(nèi)存空間。日期型數(shù)據(jù)占(8)個字節(jié)的內(nèi)存空間。

4.100%表示100為(整)型數(shù)據(jù);100!表示100

為(單精度浮點(diǎn))型數(shù)據(jù);100@表示100為(貨幣)型

數(shù)據(jù)。

5.符號常量在某一過程中說明,則該符號常量只能在

(該過程內(nèi))內(nèi)有效。

6.若一個整型變量說明了之后沒有給它賦值,則它的

值為(0)o

7.在VB中可以把類型說明符放在變量名的(末尾)

來說明變量的類型。

8.為使VB的編譯程序自動檢查變量聲明,遇到未經(jīng)說

明的標(biāo)識符發(fā)出錯誤警告信息,在程序中要加上(Option

Explicit)語句。

9.對含有多種運(yùn)算的表達(dá)式,各種運(yùn)算之間的順序?yàn)?/p>

(函數(shù)運(yùn)算)一(算術(shù)運(yùn)算)一(關(guān)系運(yùn)算)

一(邏輯運(yùn)算)。

10.把1234.567的小數(shù)部分四舍五入轉(zhuǎn)換為整數(shù),可

使用函數(shù)(Cint(1234.567))。

11.將x四舍五入到百位(例如,若x=23874.52應(yīng)舍

入成23900),可使用表達(dá)式(Int(x/100+0.5)*

100)o

12.將x從十位截斷(例如,x=23874.52應(yīng)截成23800)

可使用表達(dá)式(Fix(x/100)*100或者Int(x/100)*100

或者Cint(x\100)*100)o

13.設(shè)X為數(shù)值變量,求X的常用對數(shù)可使用的表達(dá)式

是(Log(X)/Log(10))o

14.要從字符串“VisualBASIC6.0”中截取子字符串

“BASIC”可使用函數(shù)(Mid(uVisualBASIC

6.0”,8,5))

15.設(shè)S是字符串變量,并且串長度為7,寫出生成由

S的偶數(shù)序號字符組成的字符串的表達(dá)式(例如,把字符

串”ABCDEFG”變成“BDF”)。

答案:Mid(s,2,1)+Mid(s,4,1)+Mid(s,6,1)

16.設(shè)S是字符串變量,并且串長度為7,寫出用第2i-l

個字符代替第2i個字符所得到字符串的表達(dá)式(例如,把

字符串”ABCDEFG^^變成“AACCEEG”)。

答案:String(2,Mid(s,1,1))+String(2,Mid(s,

3,1))+String(2,Mid(s,5,1))+Mid(s,7,1)

或:String(2,Mid(s,1,1))+String(2,Mid(s,3,

D)

+String(2,Mid(s,5,1))+Right(s,1)

17.產(chǎn)生從整數(shù)a到整數(shù)b之間的隨機(jī)整數(shù)可使用表

達(dá)式(Int((b-a+1)*Rnd+a))。

18.產(chǎn)生從100.01到200.99之間的隨機(jī)數(shù)(包括兩端

點(diǎn))可使用的表達(dá)式是

(Int((20099-10001+1)*Rnd+10001)/100)。

2.2選擇題

1.下面選項(xiàng)中(c)是算術(shù)運(yùn)算符。

a)%b)&c)Modd)And

2.下面不合法的標(biāo)識符是(d)o

a)Go_Tob)Tabic)姓名d)Int

3.下列選項(xiàng)中,把r定義為雙精度型變量的是(c)0

a)r%b)r!c)r#d)r$

4.下列表達(dá)式中(d)是錯誤的。

a)2N/5b)-21/5c)271/5)d)

(-2)71/5)

5.在下列選項(xiàng)中,正確表達(dá)2曲的表達(dá)式是(c)o

a)2a+5b)2,+2-5c)2"(a+5)d)

2a25

6.10Mod4的值為(b)o

a)1b)2c)4d)10

7.下列運(yùn)算符中(a)優(yōu)先級最高。

a)/b)\c)Modd)+

8.在VB中不能表示邏輯真的是(d)o

a)Trueb)-1c)1d)T

9.能正確表達(dá)aWl或a25的邏輯表達(dá)式是(c)。

a)a〈二15^4a>=5b)a〈=1,a>=5

c)a<=lora>=5d)a<=lAnda>=5

10.設(shè)X為整型變量,不能正確表達(dá)1<X<5的邏輯

表達(dá)式是(a)o

a)1<X<5b)X=2orX=3orX=4

c)1<XAndX<5d)Not(X<=1)AndNot

(X>=5)

11.求C0S35°可以使用的函數(shù)是(d)o

a)Cos35b)Cos(35)c)Cos(35°)

d)Cos(35*3.14159/180)

12.Len(“中國人民”)的值是(b)。

a)0b)4c)8d)不能確定

13.設(shè)X是一個正實(shí)數(shù),對X的第二位小數(shù)四舍五入可

使用的函數(shù)是(c)o

a)Int(X+0.05)/10b)

Int((X+0.05)/10)

c)Int(10*(X+0.05))/10d)

Int(10*(X+0.05)/10)

14.函數(shù)Int(Rad*99+1)產(chǎn)生隨機(jī)數(shù)的范圍是(b)。

a)[1,99)b)[1,99]c)[1,100)

d)[1,100]

2.3下列符號哪些是正確的變量名

1)n2)3x3)Abs4)855)

print_566)名稱

7)E8)a%b9)ab#10)MyName

11)“年齡”12)學(xué)校$

答案:除了以下符號外,其它符號都是正確的變量名。

錯誤的變量名原因

3x變量名必須以字母為開始

Abs不能和關(guān)鍵字同名

85變量名必須以字母開始

兀不是英文字母

a%b_變量名中不能用字符%

MyName變量名內(nèi)不能有空格字符

2.4把下列數(shù)學(xué)表達(dá)式寫成VB表達(dá)式

1)4—2)

1+1

1+

x+y

x{x[x(ax+b)+c]+d)+e

3)ln(1+|a+|10)4)Ji+/cos48°

1—2

5)ctg(-x)6)

1+X

logic(a2+2ab+b2)

答案:

1)l/(l+(l/(l+l/(x+y))))

2)x*(x*(x*(a*x+b)+c)+d)+e

3)Log(1+Abs((a+b)/(a-b))10)

4)Sqr(l+3.14159/2*Cos(48*3.14159/180))

5)l/Tan((l-x*x)/(l+x*x))或者

Cos((l-x*x)/(l+x*x))/Sin((1-x*x)/(l+x*x))

6)Log(a*a+2*a*b+b*b)/Log(10)

2.5寫出下列函數(shù)的值

1)Int(-1234.5678)2)

Fix(1234.5678)

3)val(“12.34”)4)

Cint(1234.5678)

5)Abs(-lOO)6)Sgn(-lOO)

7)Sqr(sqr(16))8)

Left("VisualBASIC6.0",6)

9)Mid(aVisualBASIC6.0",8,5)

10)InStr(l,"VisualBASIC6.0”,“BASIC")

11)String(3,“$”)12)

Int((100*Rnd)+l)

答案:

1)-12352)12343)12.344)1235

5)100

6)-17)28)Visual9)BASIC

10)0

11)$$$12)產(chǎn)生從整數(shù)1到整數(shù)100之間的隨機(jī)

整數(shù)

2.6寫出下列表達(dá)式的值

1)(3+6)'\22)18\4*4.0-2

/1.6

3)25\3Mod3.2*Int(2.5)4)“xyz”+“438”

5)“abc”&“123”&“abc”6)349.25+

“0.75”=350

7)“china”>=aCanadan8)

“abc”<="abc”&“123”

9)3>4And5=510)TrueOrNot

7-3<=4

答案:

1)42)03)24)

xyz4385)abcl23abc

6)True7)True8)True9)False

10)True

2.7設(shè)a1,a2,a3是布爾變量,其值依次為:True,

True,False,寫出下列布爾表達(dá)式的值

1)NotalAndNota22)NotalEqv

Nota2

3)alOra2Anda34)alXora2

Ora3

5)(NotalOra2)And(a2Ora3)

6)NotalAnda2Impa3

答案:

1)False2)True3)True4)False

5)True6)True

2.8用關(guān)系表達(dá)式或邏輯表達(dá)式表示下列條件

1)i整除j2)n是小

于正整數(shù)k的偶數(shù)

3)l<=x<104)x,y其

中有一個小于z

5)yH-100,-10],并且ye[10,100]

6)坐標(biāo)點(diǎn)(x,y)落在以(10,20)為圓心,以35

為半徑的圓內(nèi)

7)三條邊a,b和c構(gòu)成三角形

8)年份Year能被4整除,但不能被100整除或者能被

400整除

答案:

1)iModj=02)n<kAndnMod2=0

3)l<=xAndx<104)x<zOry<z

5)Not(y>=-100Andy<=-10)AndNot(y>=10And

y<=100)

6)Sqr((x-10)-2+(yT5)^2)<35

7)a+b>cAndb+c>aAndc+a>b

8)YearMod4=0AndyearMod40000OrYearMod400=0

2.9問答題

1.標(biāo)識符的選取必須遵循什么規(guī)則?

答:參見教材2.1.20

2.各種基本數(shù)據(jù)類型的取值范圍如何?

答:參見教材2.2表2-1。

3.空串與空格有什么不同?

答:參見教材2.1.1。

4.什么是符號常量?使用符號常量有什么好處?

答:參見教材2.3.1。

5.自動變量與靜態(tài)變量如何定義?它們之間有什么不

同?

答:參見教材2.3.2。

6.兩個字符串如何進(jìn)行比較(關(guān)系)運(yùn)算,如何確定運(yùn)算

結(jié)果?試舉例說明。

答:參見教材2.4.3。

第3章程序流程控制

3.1填空題

1.設(shè)變量r表示圓的半徑,則計(jì)算圓的面積并賦給變

量s使用的賦值語句為(s=3.14159*r*r)。

2.給命令按鈕Command2的Caption屬性賦予字符串

“退出”使用的賦值語句為(Command2.Caption="退

出")。

3.為了求n的階乘,要求用戶輸入n的值。程序使用

InputBox函數(shù)輸入,要求對話框提示信息為“請輸入一個

求階乘的數(shù):”,標(biāo)題為“求數(shù)的階乘”,并且正確地把輸入

的信息轉(zhuǎn)換為數(shù)值存放到變量n中,則使用的賦值語句為

(n=val(InputBox("請輸入一個求階乘的數(shù):","

求數(shù)的階乘"))o

4.如果使用MsgBox對話框顯示提示信息“退出本系

統(tǒng)?”,并顯示“是(Yes)”和“否(No)”兩個按鈕,顯示

圖標(biāo)“?”號,指定第一個按鈕為默認(rèn)值以及標(biāo)題為“提示

信息”,則調(diào)用MsgBox函數(shù)的形式為(MsgBox("退出本

系統(tǒng)?",4+32+0,"提示信息"))o

5.如果使用MsgBox對話框顯示提示信息”文件未找

到!”,并顯示“確定”按鈕、圖標(biāo)“!”號和標(biāo)題“文件查

找”,則使用的MsgBox語句為(MsgBox"文件未找到”,

0+48+0,"文件查找")o

6.要在當(dāng)前窗體Form和立即窗口輸出字符串“Visual

BASIC6.0”使用的Print方法分別是(Print"Visual

BASIC6.0")和(Debug.Print"VisualBASIC6.0")o

7.使用Print方法時,若用逗號分隔,則按(標(biāo)準(zhǔn))

格式輸出各表達(dá)式的值,若用分號分隔,則按(緊湊)格式

輸出各表達(dá)式的值。

8.注釋語句是一個(非執(zhí)行)語句,VB不對它們

進(jìn)行編譯,對程序的執(zhí)行結(jié)果沒有任何影響。

9.判別變量i是否為偶數(shù),若為偶數(shù)就把它顯示出來。

使用單行結(jié)構(gòu)條件語句為(IfiMod2=0Thenprint

x)。

10.判別變量x是否大于0,若大于0,則累加到變量

S1中,否則,累加到變量s2中,使用的單行結(jié)構(gòu)條件語句

為(Ifx>0Thensl=sl+xElses2=s2+x)。

2x+1x>0

11.給定分段函數(shù)y=,0X=0,求y的值,使用

2x—1x<0

的單行結(jié)構(gòu)條件語句為(Ifx>0Theny=2*x+lElseIfx=0

Theny=0Elsey=2*xT)。

12.判別a是否等于b,若a二b,則輸出字符串“ais

equaltob”的塊結(jié)構(gòu)條件語句為()。

答案:

Ifa=bThen

Print“aisequaltob”

End

13.判別ch是否為小寫字母,若是,輸出“yes”;否

則,輸出“No”的塊結(jié)構(gòu)條件語句為()0

答案:

IfAsc(ch)>=97AndAsc(ch)<=122Then

Print“Yes”

Else

Print“No”

EndIf

14.若一個case子句中的表達(dá)式表由逗號分隔的若干

個常數(shù)組成,則它的含義是:當(dāng)測試表達(dá)式的值等于(這

些常數(shù)中的某一個)時,執(zhí)行該case子句相應(yīng)的程序塊。

15.若case子句中的表達(dá)式表列具有形式:〈表達(dá)式

DT?!幢磉_(dá)式2》,則它的含義是:當(dāng)測試表達(dá)式的值等于

(這個范圍內(nèi)的值)時,執(zhí)行該case子句相應(yīng)的程序

塊。

16.若case子句中的表達(dá)式表列具有形式:Is〈關(guān)系

運(yùn)算符〉〈表達(dá)式〉,則它的含義是:當(dāng)測試表達(dá)式的值滿足

(Is后的關(guān)系)時,執(zhí)行該case子句相應(yīng)的程序塊。

17.在循環(huán)語句中,反復(fù)執(zhí)行的程序段稱為(循環(huán)

體);進(jìn)入循環(huán)體的條件稱為(循環(huán)條件);中止循環(huán)

體執(zhí)行的條件稱為(結(jié)束循環(huán)條件)。

3.2選擇題

1.下列賦值語句中,(d)是正確的。

a)x!="abc"b)a%="lOe"c)x+1

=5d)s$=100

2.下列選項(xiàng)中,(d)不能交換變量a和b的值。

a)t=b:b=a:a=tb)a=a+b:b=a-b:

a=a-b

c)t=a:a=b:b=td)a=b:b=a

3.若在消息框MsgBox中顯示“確定(Ok)”和“取消

(Cancel)”兩個按鈕,則buttons參數(shù)的設(shè)置值是(b)。

a)0b)1c)2d)3

4.若在消息框MsgBox中選擇第二個按鈕為默認(rèn)值,則

buttons參數(shù)的設(shè)置值是(b)o

a)0b)256c)512d)768

5.若單擊了“終止(Abort)”按鈕,則MsgBox函數(shù)的

返回值是(c)。

a)lb)2c)3d)4

6.以下不正確的單行結(jié)構(gòu)條件語句是(d)。

a)Ifx>yThenPrint"x>y"b)IfxThent=

t*x

c)IfxMod3=2Then?xd)Ifx<0Theny

=2*x-l:PrintxEndIf

7.給定程序段

DimaAsInteger,bAsInteger,cAsInteger

a=l:b=2:c=3

Ifa=c-bThenPrint〃#####〃ElsePrint''*****"

以上程序(c)。

a)沒有輸出b)有語法錯

c)輸出#####d)輸出*****

8.把a(bǔ),b之中的最大值存放于max,F面語句書寫正

確的是(d)o

a)Ifa>bThenmax=aElsemax=bEndIf

b)Ifa>bThenmax=a

Elsemax=b

EndIf

c)Ifa>bThend)Ifa>bThen

max=amax=a

ElseElse

max二bmax=b

EndIf

9.下列Case語句中正確的是(c)。

a)SelectCasexy=x*xT

Case1Or3Or5CaseIs>10

y=x+ly=2*xT

EndSelectCaseIsx

b)SelectCasex<=1

Case1,3,

5Y=2*x+1

EndSelect

c)SelectCased)SelectCasex

xCasex>=l

CaseIs<=0Andx<=5

y=x-ly=x-l

CaseIs>0CaseIs>10

y=Sqr(x)+1y=x*x+l

EndSelectEndSelect

10.執(zhí)行下列程序段后屏幕上(c)。

i%=10:Sum=0

Whilei>1

Sum=Sum+i

i=i-1

Wend

PrintSum

a)無顯示b)顯示10c)顯示54d)顯

示55

11.執(zhí)行下列程序段輸出結(jié)果是(c)。

x%=2

Dowhilex<8

Print“*”;

x=x+2

Loop

a)*b)**c)***d)****

12.設(shè)有程序段

Dimk%

k=5

Dountilk=0

k=k-l

Loop

則下面對循環(huán)語句描述正確的是(c)0

a)循環(huán)體1次也不執(zhí)行b)循環(huán)體執(zhí)行

1次

15

C)循環(huán)體執(zhí)行5次d)循環(huán)體執(zhí)行

無限次

13.下面描述中錯誤的是(a,c)。

a)執(zhí)行Dountil〈條件>??Toop語句中,當(dāng)循環(huán)<

條件》為false時,結(jié)束循環(huán)體的執(zhí)行。

b)執(zhí)行While〈條件》…Wend語句時,循環(huán)體可能一

次也不執(zhí)行。

c)Do---loopWhile〈條件>語句的循環(huán)體可能一次

也不執(zhí)行。

d)執(zhí)行Do---loopUntil<條件》語句中,當(dāng)循環(huán)條

件為true時,結(jié)束循環(huán)體的執(zhí)行。

14.下面程序段中循環(huán)語句的循環(huán)次數(shù)是(b)。

Forx=10To1Step-3

Printx

Nextx

a)0b)4c)5d)10

15.執(zhí)行語句Fori=lto3:i=i+l:Nexti后變量

i的值是(c)o

a)3b)4c)5d)6

16

16.下面程序段執(zhí)行后輸出結(jié)果是(b)0

Fori=lTo2

s=l

Forj=0Toi-l

s=s+s*j

Nextj

Prints,

Nexti

a)11b)12c)21

d)22

3.3閱讀下列程序,寫出執(zhí)行結(jié)果

1.PrivateSubFormClick

Print-2*3/2,"Visual"&“BASIC",Not5>3,

0.75

Print-2*3/2;"Visual"&"BASIC";Not5>3;

0.75

x=12.34

Print"x=";

Printx

17

EndSub

答案:-3VisualBASIC

False.75

-3VisualBASICFalse.75

x=12.34

2.PrivateSubFormClick

PrintTab(10);-100;Tab(20);200;Tab(30);

-300

PrintSpc(10);-100;Spc(10);200;Spc(10);

-300

EndSub

答案:-100200-300

-100200-300

3.PrivateSubFormClick

x=12.35

PrintFormat(x,"###.##")

PrintFormat(x,"##.##")

PrintFormat(x,"000.00")

PrintFormat(x,"00.0")

18

PrintFormat(x,"0.00%”)

PrintFormat(x,"$##.##")

PrintFormat(x,"+##.##")

PrintFormat(x,"00.00E+00")

EndSub

答案:12.35

12.35

012.35

12.4

1235.00%

$12.35

+12.35

12.35e+00

4.PrivateSubCommand1_C1ick()

Dima%,b%,c%,s%,w%,t%

a=-1:b=3:c=3

s=0:w=0:t=0

Ifc>0Thens=a+b

Ifa<=0Then

19

Ifc<=0Then

w=a-b

EndIf

Else

Ifc>0Thenw=a-bElset=c

EndIf

c=a+b

Printa,b,c

Prints,w,t

EndSub

答案:T32

200

5.PrivateSubCommandIClick()

Dimx%,y%

x=InputBox(〃請輸入x的值:〃)

SelectCasex

Case1,3,5

y=x-1

Case6To10

20

y=x+1

Case2,4

y=2*x

CaseIs>10

y=x*x+1

EndSelect

Printx=;x,y=;y

EndSub

(x的輸入值為2.5、8、4和15)

答案:x=2y=4

x=8y=9

x=4y=8

x=15y=226

6.PrivateSubCommandIClick()

Dimi%,t!

t=1:i=1

Whilei<10

t=t*i

i=i+2

21

Wend

Print〃t=";t

EndSub

答案:t二945

7.PrivateSubCommand1_Click()

Dimi%,x%,y%

x=1:y=1:i=1

DoUntili>8

IfiMod2=1Then

x=x*i

Else

y=y*i

EndIf

i=i+1

Loop

Printx=;x,y=;y

EndSub

答案:x=105y=384

8.PrivateSubCommandlClick()

22

Dimp%,s%

p=1:s=1

Do

p=p+2:s=s+p

LoopWhilep<10

Print〃s=〃;s

EndSub

答案:s二36

9.PrivateSubCommandl_Click()

Dimm%,n%

Form=lto3

n=0

Whilen<=m-l

Printm,n

n=n+l

Wend

Nextm

EndSub

答案:I0

23

20

21

30

31

32

3.4編程題

1.輸入一個學(xué)生成績,若成績在85分以上,則輸出

“verygood";若成績在60分到80分之間,則輸出"good”;

若成績低于60分,則輸出“nogood”。

解答:

(1)界面設(shè)計(jì)和屬性設(shè)置

在窗體上建立兩個標(biāo)簽、兩個文本框和兩個命令按鈕。

窗體和窗體上控件的主要屬性設(shè)置如表3-3-1所示。

表3-3-1第1題的屬性設(shè)置

控件名屬性屬性

稱名值

Forml根據(jù)分?jǐn)?shù)

Caption給定評語

Label1分

Caption數(shù)

24

Label2Capti評

on語

TextlText空

Text2Text空

Capti開

Command1on始

結(jié)

Command2Caption束

(2)程序代碼

PrivateSubCommandlClick()

Dimscore!

score=Vai(Textl.Text)

Ifscore>=85Then

Text2.Text="Verygood!”

Elselfscore>=60Then

Text2.Text="Good!”

Else

Text2.Text=〃Nogood!

EndIf

25

EndSub

PrivateSubCommand2_Click()

End

EndSub

(3)運(yùn)行情況

運(yùn)行程序后,屏幕出現(xiàn)用戶界面。把鼠標(biāo)移到Textl文

本框并單擊,輸入分?jǐn)?shù)。然后,單擊“開始”命令按鈕,系

統(tǒng)執(zhí)行Command1_Click事件過程。執(zhí)行結(jié)果如圖3.3.1所

示。單擊標(biāo)題為“結(jié)束”的命令按鈕,執(zhí)行Command2_Click

事件過程,結(jié)束程序的執(zhí)行。

?根據(jù)分?jǐn)?shù)紿定評語

圖3.3.1第1題的執(zhí)行結(jié)果

2.求一元二次方程ax2+bx+c=0的根。

解答:

(1)界面設(shè)計(jì)和屬性設(shè)置

在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬

26

性設(shè)置如表3-3-2所小。

表3-3-2第2題的屬性設(shè)置

控件名屬性屬性

稱名值

Forml求一元二次

Caption方程的根

Capti開始

Command1on

結(jié)束

Command2Caption

(2)程序代碼

由中學(xué)數(shù)學(xué)知識知道,求一元二次方程的根的公式為:

-b±ylb2-4ac

2一五一'

編程時要考慮如下各種情況:

①當(dāng)a=0時,方程不是二次方程;

2

②當(dāng)b-4ac=0時,有兩個相同的實(shí)根:X12=-A;

L22a

③當(dāng)b2-4ac>0時,有兩個不同的實(shí)根:

-b+>!b'-4ac.

X,-22a,

④當(dāng)b2-4ac<0時,有兩個共物復(fù)根:

27

PrivateSubCommandl_Click()

Cis

Dimal,b!,c!,disc!,xl!,x2!,realpart!,

imagpart!

a=InputBox(〃請輸入方程的系數(shù)a:〃)

b=InputBox(〃請輸入方程的系數(shù)b:〃)

c二InputBox(〃請輸入方程的系數(shù)c:〃)

Print:Print

PrintTab(10);〃輸入方程的系數(shù)為:〃;〃a=〃;a;〃b='

b〃〃

;c=;c

Print

IfAbs(a)<=0.000001Then

PrintTab(15);〃方程不是一個二次方程!〃

Else

disc=b-2-4*a*c

IfAbs(disc)<=0.000001Then

PrintTab(10);〃方程有兩個相同的實(shí)根:〃:

〃xl=x2=〃;-b/(2*a)

Elselfdisc>0.000001Then

28

xl=(-b+Sqr(disc))/(2*a)

x2=(-b-Sqr(disc))/(2*a)

PrintTab(5);〃方程有兩個實(shí)根:〃

PrintTab(18);〃xl=";xl

PrintTab(18);〃x2=〃;x2

Elselfdisc<0.000001Then

realpart=-b/(2*a):imagpart

Sqr(-disc)/(2*a)

PrintTab(5);〃方程有兩個虛根:〃;

PrintTab(18);〃xl=";realpart;"+〃

imagpart;

PrintTab(18);〃x2=〃;realpart;

imagpart;〃i

EndIf

EndIf

EndSub

PrivateSubCommand2_Click()

EndSub

29

注意,程序中的條件“fabs(a)<=0.000001"和

“fabs(disc)<=0.000001”分別用來判斷a和disc的值是

否為0。因?yàn)閷?shí)數(shù)在計(jì)算機(jī)計(jì)算和存儲時會有微小的誤差,

若用若=0”和“disc=0”來判斷a和disc是否為0,則會

由于誤差導(dǎo)致條件不成立,無法得到正確的運(yùn)行結(jié)果。

(3)運(yùn)行情況

運(yùn)行程序后,單擊“開始”命令按鈕,執(zhí)行

CommandlClick事件過程。執(zhí)行時,在InputBox框中輸入

a、b和c三個系數(shù)。圖3.3.2?圖3.3.5顯示了不同系數(shù)輸

入的執(zhí)行結(jié)果。

?求一元二次方程的根-1□!x|

輸入方程的系數(shù)為:a=1b=5c=1

方程有兩個實(shí)根:

xl=-.2087121

x2=-4.791288

:并始"J結(jié)束

圖3.3.2執(zhí)行結(jié)果(a)

圖3.3.3執(zhí)行結(jié)果(b)

30

■求一元二次方程的根,1□!x|

輸入方程的系數(shù)為:a=2b=3c=4

方程有兩個虛根:

xl=-.75+1.198958i

x2=-.75-1.198958i

:""并焙結(jié)束

圖3.3.4執(zhí)行結(jié)果(c)

圖3.3.5執(zhí)行結(jié)果(d)

3%-51<=x<2

3.給定函數(shù)y二2cosx+12<=x<4,從鍵盤上

V1+x24<=x<=5

x--4x4-5其它

輸入x的值,求y的值。(要求使用Case語句)

解答:

(1)界面設(shè)計(jì)和屬性設(shè)置

在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬

性設(shè)置如表3-3-3所示。

表3-3-3第3題的屬性設(shè)置

控件名屬性屬性

稱名值

Forml求給定分段

Caption函數(shù)的值

Capti開始

Command1on

31

結(jié)束

Command2Caption

(2)程序代碼

PrivateSubCommandlClick()

Cis

Dimx!,y!

x=InputBox(〃請輸入x的值:〃)

Ifx>=1Andx<=5Then

SelectCasex

CaseIs<2

y=3*x-5

CaseIs<4

y=2*Cos(x)+1

CaseIs<=5

y=Sqr(1+x*x)

EndSelect

Else

y=x*x—4*x+5

EndIf

PrintTab(10);〃x=〃;x,〃y二〃;y

32

EndSub

PrivateSubCommand2_Click()

End

EndSub

(3)運(yùn)行情況

運(yùn)行程序后,單擊“開始”命令按鈕,執(zhí)行事件過程

CommandlClicko執(zhí)行時,按InputBox對話框提示,輸入

x的值。計(jì)算結(jié)果在窗體上顯示。

4.輸入圓的半徑R和運(yùn)算標(biāo)志,按照運(yùn)算標(biāo)志進(jìn)行指定

運(yùn)算。給定的運(yùn)算標(biāo)志及其表示的運(yùn)算如下:

C(Circle)表示計(jì)算周長

A(Area)表示計(jì)算面積

B(Both)表示周長和面積都計(jì)算

(要求使用Case語句)

解答:

(1)界面設(shè)計(jì)和屬性設(shè)置

在窗體上放置兩個命令按鈕。窗體和命令按鈕的主要屬

性設(shè)置如表3-3-4所示。

33

表3-3-4第4題的屬性設(shè)置

控件名屬性屬性

稱名值

Forml計(jì)算圓周

Caption長或圓面積

或兩者都計(jì)

Capti開始

Command1on

結(jié)束

Command2Caption

(2)程序代碼

PrivateSubCommandlClickO

Cis

Dimr!,fAsString*1

Constpi!=3.14159265

r=InputBox(〃請輸入圓的半徑r:")

Ifr>=0Then

f=UCase(InputBox(〃輸入運(yùn)算標(biāo)志:"+Chr(13)

k_

"C—(計(jì)算周長)〃+Chr(13)&_

34

"A(計(jì)算面積)〃+Chr(13)&

〃B兩者都計(jì)算)〃))

'提示信息分多行顯示

SelectCasef

c〃△〃

CaseC

PrintTab(lO);〃半徑r=〃;r;”圓周長

二〃;r*2*pi

Case〃A〃

PrintTab(lO);“半徑r=〃;r;〃圓面積

=〃;r-2*pi

Case〃B〃

PrintTab(lO);"半徑r=";r;〃圓周長

=〃;r*2*pi

PrintTab(lO);〃半徑r=";r;〃圓面積

=;r2*pi

CaseElse

PrintTab(18)輸入的運(yùn)算標(biāo)志錯!〃

EndSelect

Else

35

PrintTab(18);〃半徑不能是負(fù)數(shù)!〃

EndIf

EndSub

PrivateSubCommand2_Click()

End

EndSub

(3)運(yùn)行情況

運(yùn)行程序后,單擊標(biāo)題為“開始”的命令按鈕,執(zhí)行

Commandl_Click事件過程。按InputBox對話框的提示輸入

半徑r和運(yùn)算標(biāo)志。計(jì)算結(jié)果在窗體上顯示。

5.求滿足l2+22+-+n2>1000的最小n值。(要求使用

While…WEnd語句)

解答:

(1)界面設(shè)計(jì)和屬性設(shè)置

在窗體上建立兩個命令按鈕。窗體和命令按鈕的主要屬

性設(shè)置如表3-3-5所示。

表3-3-5第5題的屬性設(shè)置

控件名屬性名屬性

稱值

36

FormlCaption求滿足

r2+2"2+…

+n"2>1000的

最小n值

Caption開始

Commandl

Caption結(jié)束

Command2

(2)程序代碼

PrivateSubCommandlClick()

Dimn%>s&

n=0:s=0

Whiles<=1000

n=n+1

s=s+n"2

Wend

Print:Print:Pri

溫馨提示

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

評論

0/150

提交評論