18.利用輾轉(zhuǎn)相除法求最大公約數(shù)。
輾轉(zhuǎn)相除法,又名歐幾里德算法,是求兩個正整數(shù)最大公約數(shù)的算法,它的出現(xiàn)可追溯至3000年前。輾轉(zhuǎn)相除法并不需要把數(shù)作質(zhì)因子分解。用輾轉(zhuǎn)相除法求正整數(shù)a、b的最大公約數(shù)運(yùn)算過程為:
第一步:用被除數(shù)a除以除數(shù)b,得到余數(shù)c;
第二步:如果余數(shù)c不為0,則用上一步的除數(shù)b替換被除數(shù)a,用上一步的余數(shù)c替換除數(shù)b,再次執(zhí)行第一步;如果余數(shù)為0則執(zhí)行下一步;
第三步:則此時的除數(shù)即是a、b最大公約數(shù)。
例如a=60,b=25,運(yùn)算過程為:
①60÷25=2…10; ②25÷10=2…5;③10÷5=2…0。第③步時,余數(shù)為0,運(yùn)算結(jié)束,則此步的除數(shù)5即是60和25的最大公約數(shù)。
(1)根據(jù)以上分析,畫出“輾轉(zhuǎn)相除法求最大公約數(shù)”算法流程圖如下。其中編號①處應(yīng)畫內(nèi)容為 ▲ ,編號②處應(yīng)畫內(nèi)容為 ▲ 。(2分)
(2)Visual Basic代碼實現(xiàn): Private Sub Command1_Click() Dim a As Integer, b As Integer Dim ③ a = Val(Text1.Text) b = Val(Text2.Text) c = a Mod b Do While ④ a = b b = c c = a Mod b Loop Text3.Text = Str(b) End Sub 其中③、④空白處應(yīng)填的代碼分別是:(4分) ③ ;④ 。 |
第18題圖 |
B.多媒體技術(shù)應(yīng)用
17. 用計算機(jī)解決“兔子繁殖問題”。
題目描述:一對兔子飼養(yǎng)到第二個月進(jìn)入成年,從第三個月開始每個月生一對小兔子,所生小兔子也是出生后第二個月成年,從第三個月開始每月生一對小兔子。假設(shè)兔子不會死亡,問這樣下去一年后有多少對兔子?
題目分析:設(shè)第n個月兔子的數(shù)量用Sn表示。第一、二個月兔子沒有繁殖能力,所以還是一對,即S1=1,S2=1;第三個月,生下一對小兔子,兔子數(shù)量達(dá)到2對,即S3=2;第四個月大兔子繼續(xù)生下一對小兔子,第三個月出生的小兔子進(jìn)入成年期但還沒生育,兔子數(shù)量再加1對,即S4=3;第五個月老兔子繼續(xù)生育,前個月(第三月)出生的小兔子也開始生育,上個月(第四月)出生的小兔子成年,兔子數(shù)量加2對,即S5=5;……依次類推可以列出下表:
經(jīng)過月數(shù) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
…… |
兔子對數(shù) |
1 |
1 |
2 |
3 |
5 |
8 |
13 |
21 |
34 |
…… |
可以發(fā)現(xiàn)如下規(guī)律:除第1、2個月兔子數(shù)量為1對外,第n個月的兔子數(shù)量等于前兩個月的兔子數(shù)量之和,即Sn=Sn-2+Sn-1。如果將每月兔子數(shù)量看做數(shù)列的各項,就構(gòu)成了數(shù)學(xué)史上一個有名的數(shù)列,即“斐波拉契數(shù)列”:1、1、2、3、5、8、13、21、34、55……這個數(shù)列有許多奇特的性質(zhì),例如,從第3個數(shù)起,每個數(shù)與它后面那個 數(shù)的比值,都很接近于0.618,正好與大名鼎鼎的“黃金分割”相吻合。
(1)為解決此題,我們采用了 ▲ 算法。(填:枚舉、解析、排序、查找)(1分)
(2)Visual Basic程序界面設(shè)計如第17題圖所示(圖一為對象初始屬性,圖二為修改對象屬性后界面)。
|
|
第17題圖一 |
第17題圖二 |
根據(jù)上圖,下表A、B分別代表的屬性名分別是 ▲ 、 ▲ 。(2分)
對象名稱 |
對象屬性 |
屬性值 |
Form1 |
A |
兔子繁殖問題 |
Text1 |
B |
(空白) |
(3)假設(shè)程序編寫已經(jīng)正確完成,運(yùn)行后出現(xiàn)如第17題圖二窗口。當(dāng)在上邊文本框輸入12,則點(diǎn)擊“開始計算”按鈕后,下邊文本框中顯示的內(nèi)容是: ▲ 。(1分)
16. 某公司欲采購辦公用品,6家經(jīng)銷商給出的報價分別為49、45、61、46、58、57。
(1)用選擇排序算法對報價進(jìn)行從大到小排序,則第三遍的排序結(jié)果是 ▲ ;(2分)
(2)假設(shè)數(shù)據(jù)已排好序。若使用對分查找數(shù)據(jù)65,需查找 ▲ 次。(2分)
15.(1)下列Visual Basic代碼段有一處錯誤,請訂正: ▲ ;(1分)
a = Val(Text1.Text)
If a <= 4 Then b = a + 2 Else b = a - 2
End If
Text2.Text = Str(b)
(2)上述代碼訂正后運(yùn)行,如果文本框Text2中顯示內(nèi)容為:7,則文本框Text1中輸
入的內(nèi)容為: ▲ 。(1分)
(3)上述代碼段中不包含 ▲ (填:順序、選擇、循環(huán))結(jié)構(gòu)。(1分)
14.下列Visual Basic代碼段運(yùn)行后,變量x、y的值分別為 ▲ 、 ▲ 。(2分)
x = 10 : y = -10
x = x + y
y = x – y
x = x – y
11.在右圖所示Visual Basic程序截圖中,
類和對象的數(shù)量分別為
A.6、3
B.4、6
C.6、4
D.4、7
10.五一假期來臨,小明網(wǎng)上訂購了一張去上海的車票。其
中分別對應(yīng)“車票”對象的方法、屬性、事件的選項是
A.網(wǎng)上訂購、訂購成功、上海 B.上海、網(wǎng)上訂購、訂購成功
C.網(wǎng)上訂購、上海、訂購成功 D.訂購成功、上海、網(wǎng)上訂購
40320。下圖是求10! 的Visual Basic代碼,其中
有錯誤的代碼行編號是
A.①② B.①③
C.①④ D.②④
9.階乘是一種累乘積的計算方法,我們用“!”來表示
階乘,n!=1×2×3×……×n。例如:8!=1×2×3×…×8=
8.假設(shè)A、B、D的值為True,C的值為False,下列邏輯表達(dá)式值為False的是
A. A and B or C and D B. (A or B or D) and C
C. A and (B or C or D) D. (A and B and C) or D
湖北省互聯(lián)網(wǎng)違法和不良信息舉報平臺 | 網(wǎng)上有害信息舉報專區(qū) | 電信詐騙舉報專區(qū) | 涉歷史虛無主義有害信息舉報專區(qū) | 涉企侵權(quán)舉報專區(qū)
違法和不良信息舉報電話:027-86699610 舉報郵箱:58377363@163.com