版權(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
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 模擬電子 課課程設(shè)計(jì)
- 動力定位培訓(xùn)課程設(shè)計(jì)
- 企業(yè)銀行實(shí)訓(xùn)課程設(shè)計(jì)
- 初中陶泥娃娃課程設(shè)計(jì)
- 水彩人物肖像課程設(shè)計(jì)
- 模擬電子課程設(shè)計(jì)簡單
- 初中生體育課程設(shè)計(jì)
- 培訓(xùn)課程設(shè)計(jì)要素
- 機(jī)頭操作安全操作規(guī)程有哪些(6篇)
- 測硫操作規(guī)程有哪些(8篇)
- 高三備考經(jīng)驗(yàn)分享
- 為實(shí)現(xiàn)中國夢而努力奮斗課件
- ards患者的護(hù)理查房
- 《科技節(jié)主題班會》課件
- 邊緣計(jì)算節(jié)點(diǎn)間事件驅(qū)動同步模式
- 校園食堂與食品安全
- 《字體設(shè)計(jì)基礎(chǔ)》課件
- 大腸埃希菌敗血癥護(hù)理查房課件
- 五年級上冊語文第12課《古詩三首》同步練習(xí)(含答案)
- NDJ-8S數(shù)字旋轉(zhuǎn)粘度計(jì)
- GB 17565-2022防盜安全門通用技術(shù)條件
評論
0/150
提交評論