0  437256  437264  437270  437274  437280  437282  437286  437292  437294  437300  437306  437310  437312  437316  437322  437324  437330  437334  437336  437340  437342  437346  437348  437350  437351  437352  437354  437355  437356  437358  437360  437364  437366  437370  437372  437376  437382  437384  437390  437394  437396  437400  437406  437412  437414  437420  437424  437426  437432  437436  437442  437450  447090 

18.利用辗转相除法求最大公约数。

   辗转相除法,又名欧几里德算法,是求两个正整数最大公约数的算法,它的出现可追溯至3000年前。辗转相除法并不需要把数作质因子分解。用辗转相除法求正整数a、b的最大公约数运算过程为:

   第一步:用被除数a除以除数b,得到余数c;

   第二步:如果余数c不为0,则用上一步的除数b替换被除数a,用上一步的余数c替换除数b,再次执行第一步;如果余数为0则执行下一步;

   第三步:则此时的除数即是a、b最大公约数。

   例如a=60,b=25,运算过程为:

   ①60÷25=2…10;  ②25÷10=2…5;③10÷5=2…0。第③步时,余数为0,运算结束,则此步的除数5即是60和25的最大公约数。

(1)根据以上分析,画出“辗转相除法求最大公约数”算法流程图如下。其中编号①处应画内容为   ▲   ,编号②处应画内容为   ▲   。(2分)

(2)Visual Basic代码实现:
  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
其中③、④空白处应填的代码分别是:(4分)
    ;④    

第18题图

B.多媒体技术应用

试题详情

17. 用计算机解决“兔子繁殖问题”。

     题目描述:一对兔子饲养到第二个月进入成年,从第三个月开始每个月生一对小兔子,所生小兔子也是出生后第二个月成年,从第三个月开始每月生一对小兔子。假设兔子不会死亡,问这样下去一年后有多少对兔子?

   题目分析:设第n个月兔子的数量用Sn表示。第一、二个月兔子没有繁殖能力,所以还是一对,即S1=1,S2=1;第三个月,生下一对小兔子,兔子数量达到2对,即S3=2;第四个月大兔子继续生下一对小兔子,第三个月出生的小兔子进入成年期但还没生育,兔子数量再加1对,即S4=3;第五个月老兔子继续生育,前个月(第三月)出生的小兔子也开始生育,上个月(第四月)出生的小兔子成年,兔子数量加2对,即S5=5;……依次类推可以列出下表:

经过月数
1
2
3
4
5
6
7
8
9
……
兔子对数
1
1
2
3
5
8
13
21
34
……

    可以发现如下规律:除第1、2个月兔子数量为1对外,第n个月的兔子数量等于前两个月的兔子数量之和,即Sn=Sn-2+Sn-1。如果将每月兔子数量看做数列的各项,就构成了数学史上一个有名的数列,即“斐波拉契数列”:1、1、2、3、5、8、13、21、34、55……这个数列有许多奇特的性质,例如,从第3个数起,每个数与它后面那个   数的比值,都很接近于0.618,正好与大名鼎鼎的“黄金分割”相吻合。

(1)为解决此题,我们采用了  ▲  算法。(填:枚举、解析、排序、查找)(1分)

(2)Visual Basic程序界面设计如第17题图所示(图一为对象初始属性,图二为修改对象属性后界面)。



第17题图一
第17题图二

根据上图,下表A、B分别代表的属性名分别是   ▲      ▲   。(2分)

对象名称
对象属性
属性值
Form1
A
兔子繁殖问题
Text1
B
(空白)

(3)假设程序编写已经正确完成,运行后出现如第17题图二窗口。当在上边文本框输入12,则点击“开始计算”按钮后,下边文本框中显示的内容是:  ▲  。(1分)

试题详情

16. 某公司欲采购办公用品,6家经销商给出的报价分别为49、45、61、46、58、57。

  (1)用选择排序算法对报价进行从大到小排序,则第三遍的排序结果是  ▲  ;(2分)

  (2)假设数据已排好序。若使用对分查找数据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)上述代码订正后运行,如果文本框Text2中显示内容为:7,则文本框Text1中输

入的内容为:   ▲   。(1分)

   (3)上述代码段中不包含   ▲   (填:顺序、选择、循环)结构。(1分)

试题详情

14.下列Visual Basic代码段运行后,变量x、y的值分别为        。(2分)

       x = 10 : y = -10

       x = x + y

       y = x – y

        x = x – y

试题详情

11.在右图所示Visual Basic程序截图中,

类和对象的数量分别为

A.6、3

B.4、6

C.6、4

D.4、7

试题详情

10.五一假期来临,小明网上订购了一张去上海的车票。其

中分别对应“车票”对象的方法、属性、事件的选项是

A.网上订购、订购成功、上海    B.上海、网上订购、订购成功

C.网上订购、上海、订购成功    D.订购成功、上海、网上订购

试题详情

40320。下图是求10! 的Visual Basic代码,其中

有错误的代码行编号是

A.①②          B.①③

C.①④          D.②④

试题详情

9.阶乘是一种累乘积的计算方法,我们用“!”来表示

阶乘,n!=1×2×3×……×n。例如:8!=1×2×3×…×8=

试题详情

8.假设A、B、D的值为True,C的值为False,下列逻辑表达式值为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

试题详情


同步练习册答案