第三单元 算法和程序设计 单元检测(含答案)-2023—2024学年沪科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

第三单元 算法和程序设计 单元检测(含答案)-2023—2024学年沪科版(2019)高中信息技术必修1

资源简介

第三单元 算法和程序设计 单元检测
一、选择题
1.已知正方形的边长为a,其中有一个内切圆,圆内小正方形的边长为a/2。下列流程图执行后的输出结果为( )。
A.圆外四角面积之和
B.内切圆面积
C.小正方形面积
D.阴影部分面积
2.某算法部分流程图如图所示。执行这部分流程,输入x、y的值分别为60,27,则输出m的值是( )
A.3 B.87 C.120 D.540
3.某算法的部分流程图如下图所示,执行这部分流程,若输入i的值为序列[2, 3, 4, 5]中的随机数,则下列说法正确的是( )
A.变量c的最大值为11 B.“a>0 ”至少执行5次
C.程序结束时变量a一定等于0 D.只能使用while语句实现该循环结构
4.为了防止他人登录自己的邮箱,每个邮箱都需要设置密码。以下密码最为安全的是( )
A.ABCDEF B.a&b_12xy
C.Anywhere D.20011201
5.有VB程序段如下:
s1 = Text1.Text
s2 = ""
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If c >= "0" And c <= "9" Then
c = Chr((Asc(c) - Asc("0") + 1) Mod 10 + Asc("0"))
s2 = s2 + c
ElseIf c >= "A" And c <= "Z" Then
c = Chr(Asc(c) + 32)
s2 = c + s2
End If
Next i
Text2.Text = s2
执行该程序段,在文本框Text1中输入“GoLand,19”,则文本框Text2中显示的内容为( )
A.lg20 B.lg210 C.210,dnalog D.210,goland
6.要设置可靠的三叶草登录密码。以下最适合的选项是( )
A.12345678 B.20191909 C.ASDFGH D.G1_ 19#Wxm
7.算法的空间复杂度是指( )。
A.算法程序的长度 B.算法程序中的指令条数
C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间
8.下图是把华氏温度转换为摄氏温度的算法,这种描述算法的方式是( )
A.自然语言 B.流程图
C.伪代码 D.高级语言
9.关于三种基本结构的流程图,下列选择正确的是()
A.一是顺序结构、二是分支结构、三是循环结构
B.一是顺序结构、二是循环结构、三是分支结构
C.一是分支结构、二是顺序结构、三是循环结构
D.一是循环结构、二是分支结构、三是顺序结构
10.以下三斜求积术中正确顺序是( )
①用公式计算面积 ②输出三角形面积s
③计算 ④输入边长a、b、c
A.④③①② B.①③②④ C.④①③② D.①②③④
11.下列流程图中不包含循环结构的是( )。
A. B.
C. D.
12.下列关于算法特征的叙述,正确的是( )
A.算法所包含的步骤可以是无穷的 B.算法每一步骤必须确切地定义
C.一个算法可以没有输出 D.算法只能用Visual Basic来实现
13.以下流程图描述的算法执行结果是( )
A.50
B.False
C.True
D.30<50
14.有27个砝码,外观一模一样,其中有一个异常砝码重0.95g,其他砝码重1g。有一个只能分清轻重的天平,请问最少需要使用( )次天平能找出那个重0.95g的砝码。
A.2 B.3 C.4 D.5
15.如下左图和右图所示,是求绝对值的算法,其描述方式分别是
A.自然语言、流程图 B.伪代码、流程图
C.自然语言、伪代码 D.流程图、自然语言
二、填空题
16.完善程序。求出100以内满足afor a in range(1,101)
for b in range :
for c in range(1,101):
if :
print(a," ",b,"",c)
17.阅读下列程序,写出运行结果
a,b = 1,1 n = int(input("请输入一个大于等于3的正整数n:")) for i in range(n-2): c = a + b a = b b = c print(c) 程序运行后,输入:6
运行输出结果是:
18.以下流程图中,输出结果 。
19.下图所示的算法流程图:
执行情况如下:
当输入a、b的值分别为3、8时,输出结果为5
当输入a、b的值分别为11、7时,输出结果为4
问题一:下列流程图填入虚线框中,符合条件的是 。
A B C
问题二:依据问题一所选流程图,当输入a、b的值分别为9、6时,输出结果为 。
20.算法的常用表示方法有3种: 、 、 。
三、判断题
21.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
22.程序实际上是一组机器操作的指令或语句的序列,程序有三种基本控制结构:顺序结构、选择结构和循环结构。( )
23.调用函数的方式十分灵活,可以单独调用也可以让其返回值参与表达式运算。( )
24.任何一个算法必须包含顺序结构、选择结构和循环结构。( )
25.千言万语不如一张图。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图。 (判断对错)
四、操作题
26.如果一个正整数从左到右读与从右到左读是一样的,就称它为回文式数(简称回数),如图321。“回数猜想”的主要思想是,对任意正整数,若它不是回数,则按下列算法即可获得一个回数:
(1)把该整数的数字顺序颠倒,求得该数的逆序数;
(2)将该整数和其对应的逆序数相加;
(3)若相加结果不是回数,则将结果作为新的整数,返回步骤(1)。
小林按照上述算法,设计了验证回数猜想的VB程序(猜想次数不超过10次),程序功能如下:在文本框Text1中输入一个正整数,单击“验证”按钮(Command1),获取文本框Text1中的数,当该数不是回数时,采用回数猜想的方法进行验证,并在列表框List1中输出每次验证的过程,若验证成功或验证次数超过10次,则停止验证,最后在列表框List1中输出验证结果。程序运行效果如图所示。
实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim t As String, a As Long, b As Long
Dim count As Integer ' count用于存储回数猜想的验证次数
t = Text1.Text
count = 1
Do While Check(t) = False And count <= 10
a = Val(t)

c = a + b
List1.AddItem Str(a) & " +" & Str(b) & " =" & Str(c)
count = count + 1
t = c
Loop
If Check(t) Then
List1.AddItem "验证成功!"
Else
List1.AddItem "10次内未验证成功!"
End If
End Sub
' 自定义函数Turn
Function Turn(x As String) As Long
Dim s As String, i As Integer
s = ""
For i = Len(x) To 1 Step -1
s = s & Mid(x, i, 1)
Next i
Turn = ②
End Function
' 自定义函数Check,检查x是否为回文数
Function Check(x As String) As Boolean
Dim i As Integer
Check = True
For i = 1 To Len(x) \ 2 Step 1
If Mid(x, i, 1) <> ③ Then Check = False mid(x,len(x)+1-i,1)
Next i
End Function
(1)程序代码中,自定义函数Turn(x)的功能是
(2)请在划线处填入合适代码。
27.收集2020年度中国主要城市交通运行数据,并记录在Excel表格中,部分界面如图1所示
图1
请回答下列问题:
(1)如图1所示的数据,其结构严格遵循一定的数据格式与长度规范,该数据的结构类型属于 (单选,填字母:A.结构化数据B.半结构化数据C.非结构化数据)
(2)为统计各省份的交通数据情况,选中J3单元格输入公式,然后利用自动填充完成J3:K33的数据计算,请修改J3单元格中的计算公式 。
(提示:AVERAGEIF函数用于对一定区域中满足指定条件的单元格求平均值。如:=AVERAGEIF(B3:B52, 13,E3:E52)表示计算B3:B52区域中广东“交通健康指数”的平均分)
(3)将I列、J列计算好的数据复制并粘贴到新的Excel表格cs.xls中,再利用python 程序的matplotlib模块,建立如图2所示的图表,请在划线①和②处填入合适的代码。① ②
图2
import pandas as pd
import matplotlib. pyplot as plt
cs=pd. read_excel ("cs. xls")
cs. plot. ① (x='省份',y='交通健康指数', color='red')
② #将纵坐标的范围更改为[0.3, 0.8]
plt. show()
28.归并排序是建立在归并操作上的一种有效、稳定的排序算法。其思想是将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。小明通过代码模拟了二路归并的算法,代码如下:
import random
a=[]
b=[]
for i in range(1000):
a.append(random.randint(1,1000))
for i in range(1000):
b.append(random. randint(1,1000))
a.sort()
b.sort()
#随机产生两个升序排序的整数数组a和数组b,分别包含1000个元素
c=[0]*2000
i=j=k=0
while ①:
if ②:
c[k]=a[i]
i+=1
else:

j+=1
k+=1
while i c[k]=a[i]
i+=1
k+=1
while j c[k]=b[j]
j+=1
k+=1
for i in range(k):
print(c[i],end=' ')
29.输入一段长度为n的英文字母,对其进行某种加密方法,描述如下:
(1)将原文转换为若干行m列(m为奇数)的矩阵,最后一行若不足m个数据则以“#”填充。
(2)将矩阵中的数据,从末行末列数据开始以回路的方式提取字符。按顺序生成加密字符。例如对字符“helloworld”,m=3的加密过程如下图,其加密结果为“#lwleor#dolh”
程序窗口界面如图:
请回答下列问题:
(1)字符串“helloworld""”经过加密后密文为“dollrleowh,则加密矩阵列数m为 。
(2)上述加密算法对应解密的VB程序代码如下,请在划线处填入合适的代码。
Private Sub commandl_click()
Dim a As String, n As Integer, yw As String
Dim i As Integer, j As Integer
Dim index As Integer, k As Integer, x As Integer
s= Text1.ext'文本框text中为待解密的字符串
m =Val(Text2.Text)
n = Len(s)
yw=″″
k=0
x=n/m
For i= 1 To
index=n-i+1
yw = yw+ Mid(s, index, 1)
Forj=2 To m
If Then
index = index-2*(x-i)-1
Else
index = index-2*(i-1)-1
End If
If Mid(s, index, 1) = "#" Then
yw = yw+ Mid(s,index, 1)
Next j
Next i
Label1. Caption = Mid(yw, 1, Len(yw) - k)
End Sub
30.调试程序。请阅读以下程序并写出运行结果。
#ex16.py
i=0
sum=0
while i<10:
if i%3==0:
sum+=i
print(i)
i=i+1
print('sum',sum)
五、简答题
31.思考高楼的自动电梯在运行时需要考虑哪些方面(例如方便乘客,节约能源等),请为自动电梯设计一个适宜的算法。
32.数据应用既为我们带来便利,同时也存在许多安全隐患,如未经许可数据被复制、篡改、暴露或破坏等,因此平时使用过程中采取相应的策略,进行数据保护,如设置安全密码和验证码等方法来对数据进行加密。结合学过的知识,请说明如何设置安全密码。
33.用计算机解决实际问题的过程中,需要进行算法设计,请问什么是算法?
参考答案:
1.D
2.D
3.B
4.B
5.A
6.D
7.D
8.B
9.A
10.A
11.D
12.B
13.C
14.B
15.A
16.(1,101) a*a==b*b+c*c
17.8
18.107
19.C 3
20.流程图 自然语言 伪代码
21.正确
22.正确
23.正确
24.错误
25.正确
26.(1)求x的逆序数
(2)①b=turn(t) ②Val(s) ③ mid(x,len(x)+1-i,1)
27.A
=AVERAGEIF($B$3:$B$52,$ I3,E$3:E$52) bar plt.ylim(0.3, 0.8)
28.i29.5 x j mod 2=0 k=k+1
30.0
31.自动电梯能实现自动升降,主要是它安装了微型电脑控制器。微型电脑控制器主要任务如下:
A.要让乘客方便,尽可能减少等待。
B.要节约能源,尽可能减少空开里程和往返次数。
我们可以从上述两个方向思考,设计适宜的算法。
一个参考算法如下:
① 乘客进入电梯房,按目标楼层键并关门启动运行;
② 控制器根据事先存储在电脑中的指标判断人员是否超载?若超载发出提示信息,下去若干人,返回第①步;若未超载,执行下一步;
③关闭电梯门,根据目标楼层键判断上升或下降;
④ 随时判断是否有人按下同方向的请求键。若是,则运行到该层停下,开门上下人,并按键启动;若没有新的请求,则到达既定目标层后,停止;
⑤接受新的请求,转而执行①;否则,停止。
32.一、设置密码长度不能太少
二、密码同时包含字母大小写、数字及特殊字符
33.算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。

展开更多......

收起↑

资源预览