2023-2024学年浙教版高一下学期第五章第一节 枚举算法的程序实现

| 11页
| 124人阅读
| 1人下载

2023-2024学年浙教版高一下学期第五章第一节 枚举算法的程序实现

一、选择题

1.下列问题中,适合使用枚举法解决的是(    )

A.计算1+2+3+…+1000的值

B.计算学校所有同学的平均身高和平均体重

C.查找100以内所有能被6整除的数

D.超市的收银系统,结算顾客所购商品的费用

2.编程输出1到100之间所有的偶数,下列算法最合适的是(  )

A.穷举法 B.冒泡排序法 C.二分查找法 D.插入排序法

3.向文本框Text1中输入一串包含大小写的字母,统计出现次数最多的字母(不区分大小写)并将该字母以大写方式输出到文本框Text2,如有多个字母次数相同的,则只记录最后出现的字母,部分程序如下:

Dim c(1 To 26)As Integer

s=Text1.Text

For i=1 To Len(s)

x=Mid(s,i,1)

If x>="a"Then

t=Asc(x)-Asc("a")+1

Else

t=Asc(x)-Asc("A")+1

End If

 ①

If c(t)>=Max Then Max=c(t): ②

Next i

Text 2.Text=Chr(f+Asc("A"))

划线处应该填入的正确语句是(    )

A.①c(t-1)=c(t-1)+1    ②f=t

B.①c(t)=c(t)+1        ②f=t

C.①c(t-1)=c(t-1)+1    ②f=t-1

D.①c(t)=c(t)+1        ②f=t-1

4.巧妙填数:将1至9这9个数字分别填入3*3的九宫格中,第一行的三个数字组成一个三位数。要使第二行的三位数是第一行的2倍,第三行的三位数是第一行的3倍,如果用计算机程序解决此问题,合适的算法是(  )

A.解析算法 B.枚举算法 C.递归算法 D.查找算法

5.如果一个3位整数恰好等于它各位上的数字的立方和,则则这个3位数称为“水仙花”数,例如153=13+53+33。如page number 0

试卷第1页,共1页

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


果要求出所有的水仙花数,下列算法最合适的是(  )

A.排序法 B.解析法 C.查找法 D.穷举法

6.算法是为了解决问题。下列哪个问题最适合用枚举法求解? (   )

A.一个篮球从10米处做自由落体运动,求落地时的速度

B.求一个圆柱体的表面积和体积

C.一元二次方程求解

D.求解百钱买百鸡问题

7.下面程序的功能是:产生20个[1,100]范围内的随机整数,并统计这20个随机数中的整数的个数(重复出现算1个),结果显示在标签Label1中。例如:5个随机数[10,20,20,31,32]中不重复数字个数为3。程序部分代码如下:

count = 0

For i = 1 To 20

  a(i) = Int(Rnd ∗ 100) + 1

Next i

For i = 1 To 20

   ①

Next i

For i = 1 To 100

  If b(i) <> 0 Then count = count + 1

Next i

Label1.Caption= "不重复数字个数" + Str(count)

为实现上述功能,则程序①处应填入的语句为(    )

A.b(i)=1 B.b(a(i))=a(b(i))+1 C.b(i)=b(i)+1 D.b(a(i))=b(a(i))+1

8.用枚举法在两个□内填入相同的数字使“□3×6528=3□×8256”表达式成立。

for i in range(1):

if :

print(i,“3×6528=3”,i,“×8256”,sep=”)

下列选择正确的是(   )。

A.(i*10+3)*6528==(30+i)*8256

B.(i*3)*6528==(30+i)*8256

C.(i*10+3)*6528==(30*i)*8256

D.(i*3)*6528==(3*i)*8256)

9.下列VB程序功能可以找出1000以内的完全数,并在标签中一一列出来。

Private Sub Command1_Click()page number 1

试卷第2页,共1页

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


 Dim i As Integer, m As Integer, n As Integer

    Label1.Caption = "1000以内的完全数如下:"

    For i = 1 To 1000

        n = 0

        For m = 1 To i \ 2

            If i Mod m = 0 Then n = n + m

        Next

        If n = i Then Label2.Caption = Label2.Caption &amp; "" &amp; Str(i)

    Next

End Sub

该过程采用的算法是(    )

A.枚举 B.查找 C.排序 D.解析

10.逻辑运算符 And 在计算数值时是转换为二进制数后按位进行与运算,计算规则是:1 And 1 = 1,1 And 0 = 0,0 And 1 = 0,0 And 0 = 0,例如 7 转换为二进制数 00000111,12 转换 为二进制为 00001100,因此 7 And 12 的结果为 4。有如下 VB 程序段:

Private Sub Command1_Click()

n = 0

For i = 1 To 31 k = i

t = 0

Do While k > 0

k = k And (k - 1)

t = t + 1

Loop

If t = 3 Then n = n + 1

Next i

Label1.Caption = Str(n)

End Sub

单击命令按钮 Command1,标签 Label1 中显示的结果为

A.6 B.8 C.10 D.12

11.编写VB程序,实现如下功能:在文本框Text1中输入一个大于1000的正整数,单击按钮Command1后会去除其中3个数字,保证余下的数字在不改变顺序的情况下其数值最大,然后在文本框Text2中输出该数。page number 2

试卷第3页,共1页

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。