内容正文:
2023-2024学年高一下学期浙教版(2019)2.3 用算法解决问题的过程
一、选择题
1.通过算法让计算机解决问题时,算法的要素包括( ) 。
A.信息、运算、控制转移 B.数据、运算、控制转移
C.信息、数据、运算 D.信息、数据、控制转移
2.刘丽编制计算机程序解决邮件加密的问题,需要经历以下的过程:分析问题→( )→编写程序→调试运行→检测结果。
A.确定条件 B.设计算法 C.明确问题 D.建立模型
3.小明为机器人设计算法"机器人走棋盘",流程图如图1。根据这个算法,机器人从图2棋盘A位置沿箭头方向出发,将到达( )
图1
图2
A.③位置 B.④位置 C.①位置 D.②位置
4.下列是算法解决问题的一般步骤:
①设计算法
②提炼核心要素并加以确定或假设
③描述算法
④用数学符号描述解决问题的计算模型
上述步骤正确的顺序为( )
A.①④②③ B.②④①③ C.②①④③ D.①④②③
5.假设一台抽奖机中有红、蓝两色的球,任意时刻按下抽奖按钮,都会等概率获得红球或蓝球之一。有足够多的人每人都用这台抽奖机抽奖,假如他们的策略均为:抽中蓝球则继续抽球,抽中红球则停止。最后每个人都把自己获得的所有球放到一个大箱子里,最终大箱子里的红球与蓝球的比例接近于( )
A.1:2 B.2:1 C.1:3 D.1:1
6.利用Python编程解决“鸡兔同笼”问题,编写完代码后,应该进行( )
A.分析问题 B.设计算法 C.编写程序 D.调试程序
7.利用编程解决问题的首要步骤是( )。
A.设计算法 B.调试运行 C.分析问题 D.编写程序
8.斐波那契在《计算之书》中,提出了“生小兔问题”如果每对兔子(一雄一雌)每月能生殖一对小兔子,每对兔子第一个月没有生殖能力,但从第二个月以后便能每月生一对小兔子。假定这些兔子都没有死亡现象,那么从第一对刚出生的兔子开始,12个月以后会有多少对兔子呢?这种问题的解决通常是为了接近并达到所需的目标或结果,对过程进行重复,每一次重复得到的结果会被用来作为下一次的初始值。这种用计算机解决问题的一种基本方法是( )
A.排序法 B.查找法 C.二分法 D.迭代法
9.某算法的部分流程图如图所示,执行这部分流程后,输出s的值为64,则①处应填入( )
A.i \ 4 = 2
B.Sqr(i) = Int(Sqr(i))
C.i Mod 2 = 1
D.i Mod 2 = 0
10.某算法的部分流程图如图所示。执行这部分流程后,“xx-2”被执行的次数为( )
A.0 B.1 C.2 D.3
11.鸡兔同笼、百钱百鸡、求1000以内所有的素数……这些问题,可以用同一种类型的算法去解决,这种方法是( )
A.解析法 B.枚举法 C.递归法 D.归纳法
12.解决“百鸡百钱”问题,比较恰当的算法是( )
A.递推 B.递归 C.穷举 D.分治
13.计算机编程加工的核心是对解决问题的方法进行描述,也就是( )
A.分析问题 B.设计算法 C.编写代码 D.调试运行
14.下列编制一元二次方程求解程序的步骤正确的是
A.设计算法→分析问题→调试程序→编写程序 B.分析问题→设计算法→编写程序→调试程序
C.编写程序→调试程序→分析问题→设计算法 D.设计算法→编写程序→调试程序→分析问题
15.为了求数列12+32+52+72+……+992的和,以下说法错误的是( )。
A.求和通常采用累加器逐个累加,这题要重复累加50次。
B.这个问题通过循环结构解决。
C.在Visual Basic中只能用do while/loop语句编程解决这个问题。
D.解决这个问题的算法不需要输入。
二、填空题
16.解决问题:求m和 n的最大公约数。根据以下算法描述,回答问题。
①输入m,n
②以m为被除数,n为除数,r为m除以n的余数
③判断r的值
若r=0,输出公约数n
若r≠0,则n将赋值给m,再将r赋值给n,转为执行步骤②
(1)上述算法的描述方式是 。
(2)若 m=2018,n =20,则最大公约数是 。
(3)这个算法是著名欧几里德算法,又称 。
(4)“r 为 m 除以 n 的余数”的 VB 语句是 。
(5)上述算法是用程序的 结构实现。
17.算法解决问题的过程分为三个步骤,分别为抽象与建模, , 。
三、操作题
18.某地出租车的计价标准是:3公里以内(含3公里)10元;超出3公里但不超过10公里(含10公里)的部分每公里收费2元;超出10公里的部分每公里收费3元。现要求设计算法,根据行驶里程计算总费用。
(1)抽象建模。假设行驶里程为s公里,费用为pay元,则求解pay的数学表达式为 。
(2)宸宸和琮琮分别设计了算法解决本问题。使用流程图描述分别如图 1 和图 2 所示。请补充完整算法流程图。
① ② ③ ④
19.某数据加密方法描述如下:
(1)以字节为单位进行加密处理;
(2)将1个字节的8位二进制数分割成前4位与后4位两个二进制数;
(3)分别将上述两个4位二进制数转换为十进制数;
转换前的字符M
字符M的ASCII十进制值
对应的二进制数
分割、转换后的十进制数
对应的加密字符
(4)将每个十进制数转换为1个加密字符,对应的“密码表”如下:
值(十进制)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
加密字符
I
l
i
k
e
C
H
N
P
o
s
t
c
a
r
d
小明按照上述方法,设计了一个字符串(仅包含若干个ASCII字符)加密办法,功能是将这个字符串的每个字符的ASCII码值作为1个字节转换为两个加密字符,连接这些加密字符,最后得到加密结果。下表显示了字符串中一个字符的加密过程:
下图左框中“This is an example!”是一个字符串,它由19个字符(包括大小写字母、空格和标点符号)组成,按照上述方法,每个字符加密后得到两个加密字符,最后加密结果为38个字符,如图中右框所示。
请回答下列问题:
(1)观察可知“e”加密后的结果为 (单选,填字母:A.HC / B.Ci / C.Ce)。
(2)已知ASCII表中,大写字母比对应的小写字母的十进制ASCII值要小32D,根据以上加密规则,完成字符“M”的加密过程,请将答案填写在下表空白处 。
(3)若将“密码表”中值为“0”对应的加密字符“I”改成“i”,加密后的密文可能无法解密,原因是 。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
2.B
3.B
4.B
5.D
6.D
7.C
8.D
9.D
10.D
11.B
12.C
13.B
14.B
15.C
16. 自然语言描述 2 辗转相除法 r=m mod n 循环结构
17. 设计算法 描述算法
18. s≤3 s≤10 (s-3)×2 (s-3)×3
19. A 加密字符i对应两个值0,2
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$