VB程序設(shè)計(jì) 習(xí)題及答案第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
《VB程序設(shè)計(jì) 習(xí)題及答案第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《VB程序設(shè)計(jì) 習(xí)題及答案第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) ? 5.1 試編程序,打印出自然數(shù)1到20的立方數(shù)。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() Form1.Print " x", " x^2" For x = 1 To 20 Form1.Print x, x ^ 2 Next x End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "打印自然數(shù)1到20的立方數(shù)" Form1.Print "單擊窗體開
2、始" End Sub 圖5-1 程序運(yùn)行結(jié)果 程序運(yùn)行結(jié)果如圖5-1所示: ? 5.2 試編程序,打印出1到500之間所有偶數(shù)的和。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() Sum = 0 For k = 1 To 500 If k Mod 2 = 0 Then Sum = Sum + k Next k Form1.Print "1到500的偶數(shù)和為:"; Sum End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True
3、 Form1.Print Form1.Print "打印1到500之間所有偶數(shù)的和" Form1.Print 圖5-2 程序運(yùn)行結(jié)果 End Sub 程序運(yùn)行結(jié)果如圖5-2所示: ? 5.3 試編寫打印下面圖案的源程序。 * * * * * * * * * * * * * * * 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() For i = 1 To 5 Form1.Print Tab(5 + i); For
4、 j = i To 5 Form1.Print "*"; Next j Form1.Print Next i End Sub 程序運(yùn)行結(jié)果如圖5-3所示: ? 圖5-3 程序運(yùn)行結(jié)果 ? 5.4 試編寫打印下面圖案的源程序。 * * * * * * * * * * * * * * * * * * * * * * * * * ? 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click()
5、 For i = 1 To 4 Form1.Print Tab(10 - i); For j = 1 To 2 * i - 1 Form1.Print "*"; Next j Form1.Print Next i For k = 3 To 1 Step -1 Form1.Print Tab(10 - k); For j = 1 To 2 * k - 1 Form1.Print "*"; Next j Form1.Print 圖5-4 程序運(yùn)行結(jié)果 Next k
6、 End Sub 程序運(yùn)行結(jié)果如圖5-4所示: ? 5.5 編寫程序,計(jì)算下面表達(dá)式的值 (1)1!+3!+5!+……+(2N+1)! 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() n = Val(InputBox("請輸入N值")) Sum = 1 term = 1 For k = 3 To 2 * n + 1 Step 2 term = term * (k - 1) * k Sum = Sum + term Next k Form1.Print "1!+3!+5!+……+(2N+1
7、)!="; Sum 圖5-5(1)程序運(yùn)行結(jié)果 End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算1!+3!+5!+……+(2N+1)!" End Sub 運(yùn)行結(jié)果: 若n輸入的值為5,則程序運(yùn)行結(jié)果如圖5-5(1)所示。 ? (2)1+X/2!+X2/4!+X3/6!+……+XN/(2N)! 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() x = Val(InputBox("請輸入x值")) n = Val(
8、InputBox("請輸入N值")) Sum = 1 t1 = 1 t2 = 1 For k = 2 To 2 * n Step 2 t1 = t1 * x t2 = t2 * (k - 1) * k Sum = Sum + t1 / t2 Next k Form1.Print "1+X/2!+X^2/4!+……+X^N/(2N)!="; Sum End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算1+X/2!+X^2
9、/4!+……+X^N/(2N)!" End Sub 運(yùn)行結(jié)果: 圖5-5(2)程序運(yùn)行結(jié)果 若x輸入值為:1.5,n輸入值為:5,則程序運(yùn)行結(jié)果如圖5-5(2)所示。 ? (3)1+1×3+1×3×5+……+1×3×……(2N+1) 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() n = Val(InputBox("請輸入N值")) Sum = 1 term = 1 For k = 3 To 2 * n + 1 Step 2 term = term * k Sum = Sum + term
10、 Next k Form1.Print "1+1×3+1×3×5+……+1×3×……(2N+1)="; Sum End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算1+1×3+1×3×5+……+1×3×……(2N+1)" End Sub 運(yùn)行結(jié)果: 若n輸入值為5,則程序運(yùn)行結(jié)果如圖5-5(3)所示: ? ? ? ? 圖5-5(3)程序運(yùn)行結(jié)果 ? ? (4)x-x3/3!+x5/5!-x7/7!+…… 【參考答案】 程序代碼設(shè)計(jì) Priva
11、te Sub Command1_Click() x = Val(InputBox("請輸入x值")) Sum = x t1 = x t2 = 1 f = 1 k = 1 While (t1 / t2 > 0.0001) k = k + 2 t1 = t1 * x * x t2 = t2 * (k - 1) * k 圖5-5(4)程序運(yùn)行結(jié)果 f = f * (-1) Sum = Sum + f * t1 / t2 Wend Form1.Print "x-x^3/3!+x^5/5!-x^
12、7/7!+……="; Sum End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算x-x^3/3!+x^5/5!-x^7/7!+……" End Sub 運(yùn)行結(jié)果: 若x輸入值為:1.5, 則程序運(yùn)行結(jié)果如圖5-5(4)所示: ? (5)1+1/2+1/3+……+1/N (1/N<10-4) 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() Sum = 0 k = 1 While (1 / k > 0.0001)
13、 Sum = Sum + 1 / k k = k + 1 Wend Form1.Print "1+1/2+1/3+……+1/N="; Sum End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算1+1/2+1/3+……+1/N" Form1.Print "單擊窗體開始" End Sub 程序運(yùn)行結(jié)果如圖5-5(5)所示: 圖5-5(5)程序運(yùn)行結(jié)果 ? ? 5.6 由隨機(jī)函數(shù)產(chǎn)生10道一位整數(shù)與兩位整數(shù)相加的加法題,產(chǎn)生的加法題依次
14、顯示在屏幕上,每產(chǎn)生一道題后,由用戶輸入答案,如果答案正確,記10分;如果答案錯誤,允許第二次輸入答案,第二次輸入答案正確,記5分,錯誤記0分。最后給出總得分。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() s = 0 For i = 1 To 10 a = Int(10 * Rnd) b = Int(10 + 90 * Rnd) str1$ = "第" & i & "題 " & a & "+" & b c = Val(InputBox(str1$ & " 第一次回答")) If a + b =
15、 c Then s = s + 10 str2$ = str1$ & " 10分" Else c = Val(InputBox(str1$ & " 第二次回答")) If a + b = c Then s = s + 5 str2$ = str1$ & " 5分" Else str2$ = str1$ & " 0分" End If End If Form1.Print str2$ Next i Form1.Print
16、 "總分"; s End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "加法題,第一次回答正確10分," Form1.Print "第二次回答正確5分" Form1.Print "單擊窗體開始" End Sub 圖5-6 程序運(yùn)行結(jié)果 程序運(yùn)行結(jié)果如圖5-6所示: ? 5.7 編寫計(jì)算還貸款年限的程序,從貸款的第三年開始還貸,貸款年利按復(fù)利計(jì)算。貸款額10萬元,年利率7%,每年還款數(shù)3萬元,要求輸出經(jīng)過多少年才能還清貸款,以及最后一年的還款數(shù)。 【參考答案】
17、程序代碼設(shè)計(jì) Private Sub Form_Click() Dim p As Single p = 10 r = 0.07 n = 0 While (p > 0) p = p * (1 + r) n = n + 1 If n >= 3 Then p = p - 3 Wend Form1.Print "還清貸款時間" & n; "年" Form1.Print "最后一年的還款數(shù)" & (3 + p) & "萬" End Sub ? Private Sub Form_Load() Form1.AutoR
18、edraw = True Form1.Print "貸款額10萬元,年利率7%" Form1.Print "計(jì)算還貸數(shù)據(jù)" Form1.Print "單擊窗體開始" End Sub 圖5-7 程序運(yùn)行結(jié)果 程序運(yùn)行結(jié)果如圖5-7所示: ? 5.8 輸入三角形的三條邊A、B、C,根據(jù)A、B、C的數(shù)值判斷三角形的性質(zhì),并給出如下信息:(1)等邊三角形;(2)等腰三角形;(3)任意三角形;(4)不能構(gòu)成三角形。 【參考答案】 (1)用戶界面設(shè)計(jì) (2)控件屬性設(shè)置(略) (3)程序代碼設(shè)計(jì) Private Sub Command1_Click() a
19、= Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If (a = b And b = c) Then str1 = "等邊三角形" ElseIf (a = b Or b = c Or c = a) Then str1 = "等腰三角形" ElseIf (a + b <= c Or b + c <= a Or c + a <= b) Then str1 = "不能構(gòu)成三角形" Else str1 = "任意三角形" End If Label2.
20、Caption = str1 End Sub 圖5-8程序運(yùn)行結(jié)果 程序運(yùn)行結(jié)果如圖5-8所示。 ? 5.9 一個球從10米的高處落下,它每次反彈的高度為前一次下落高度的2/3,編寫程序計(jì)算球第10次落地時運(yùn)動的總路程。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() h = 10 s = h For i = 1 To 9 h = h * 2 / 3 s = s + 2 * h Next i s = CInt(100 * s) / 100 Form1.Print "球第10次落地時的總路程
21、為"; s; "米" End Sub 圖5-9 程序運(yùn)行結(jié)果 ? ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "計(jì)算球第10次落地時的總路程" Form1.Print "單擊窗體開始" End Sub 程序運(yùn)行結(jié)果如圖5-9所示。 ? 5.10 編寫程序把一個分?jǐn)?shù)化為最簡分?jǐn)?shù)。對一個分?jǐn)?shù)化簡,實(shí)際是要尋找分子N與分母M的最大公因子。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Command1_Click() Dim m As Integer, n As
22、Integer, u As Integer, v As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m > n Then u = m: v = n Else v = m: u = n End If Do r = u Mod v u = v: v = r Loop Until r = 0 m = m / u: n = n / u Label2.Caption = "化簡后分子 " & m & " , 分母 " & n End Sub 程序運(yùn)行
23、結(jié)果如圖5-10所示: 圖5-10 程序運(yùn)行結(jié)果 ? ? 5.11 幼兒園的小朋友分吃一堆糖果。第一天吃了一半,又吃了一顆;第二天,同樣吃了剩下的一半,又多吃了一顆。到第十天一看,只剩一顆糖果。問原來共有多少顆糖果。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() num = 1 For k = 9 To 1 Step -1 num = (num + 1) * 2 Next k Form1.Print "糖果數(shù)為"; num End Sub ? Private Sub Form_Load() Form
24、1.AutoRedraw = True Form1.Print "計(jì)算糖果數(shù)" Form1.Print "單擊窗體開始" End Sub 程序運(yùn)行結(jié)果如圖5-11所示: ? 圖5-11 程序運(yùn)行結(jié)果 ? 5.12 求解方程X3+Y3-Z3=3,其中X、Y、Z均為正整數(shù),且X、Y、Z均≥1,同時X、Y、Z均≤6。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() For x = 1 To 6 For y = 1 To 6 For z = 1 To 6 If x ^ 3 + y ^ 3 -
25、 z ^ 3 = 3 Then Form1.Print x; y; z End If Next z Next y Next x End Sub 圖5-12程序運(yùn)行結(jié)果 ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "解方程X^3+Y^3-Z^3=3" Form1.Print "單擊窗體開始" End Sub 程序運(yùn)行結(jié)果如圖5-12所示: ? 5.13 36塊磚,36人搬,男搬4、女搬3、兩個小兒抬一磚,
26、要求一次全搬完,問男、女、小兒需若干? 方程:x+y+z=36 4*x+3+y+z/2=36 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() For x = 1 To 36 For y = 1 To 36 For z = 1 To 36 If x + y + z = 36 And 4 * x + 3 * y + z / 2 = 36 Then Form1.Print x; y; z End If Next z Next y Next
27、 x End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "男、女、小兒需若干" Form1.Print "單擊窗體開始" 圖5-13程序運(yùn)行結(jié)果 End Sub 程序運(yùn)行結(jié)果如圖5-13所示: ? 5.14 打印出3~100之間的所有素?cái)?shù)(質(zhì)數(shù))。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() k = 0 For n = 3 To 100 For i = 2 To n - 1 If n Mod
28、i = 0 Then Exit For Next i If i > n - 1 Then k = k + 1: Print Format(n, "@@@@@@"); If k = 5 Then k = 0: Print Next n End Sub ? 圖5-14程序運(yùn)行結(jié)果 Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "打印出3-100之間的所有素?cái)?shù)" Form1.Print "單擊窗體開始" End Sub 程序運(yùn)行結(jié)果如圖5-14所示: ?
29、 5.15 驗(yàn)證哥德巴赫猜想:“任何一個大于6的偶數(shù),均可以表示為兩個素?cái)?shù)之和”,從鍵盤輸入一個大于6的偶數(shù)后,打印出所有的分解結(jié)果。 【參考答案】 程序代碼設(shè)計(jì) Private Sub Form_Click() n = Val(InputBox("輸入一個大于6的偶數(shù)")) If n <= 6 Or n Mod 2 <> 0 Then Form1.Print "數(shù)據(jù)錯誤" Else For m1 = 2 To n / 2 m2 = n - m1 f = 0 For i = 2 To m1 - 1
30、 If m1 Mod i = 0 Then f = 1: Exit For Next i For i = 2 To m2 - 1 If m2 Mod i = 0 Or f = 1 Then f = 1: Exit For Next i If f = 0 Then Print m1; m2 Next m1 End If End Sub ? Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "打印兩個素?cái)?shù)之和" Form1.Print "單擊窗體開始" End Sub 運(yùn)行結(jié)果: 若輸入值為:100,則程序運(yùn)行結(jié)果如圖5-15所示: 圖5-15程序運(yùn)行結(jié)果 ?
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案