第三章 算法的程序实现 2024-2025学年高中信息技术浙教版(2019)必修一

2024-08-09
| 13页
| 41人阅读
| 1人下载

内容正文:

第三章 算法的程序实现 一、选择题 1.s=[20,10,50,30],此时s 的类型是(   ) A.列表 B.整数 C.字符串 D.布尔值 2.解决问题的过程需要经历一系列的思维和实践活动。例如,外卖送餐员根据自己对道路状况的了解,结合已有经验,“想”出处理问题的具体过程和方法,缩短送餐时间。这主要体现了人们解决问题过程的哪一个阶段(    ) A.分析问题 B.调试运行 C.编写程序 D.寻找解决问题的途径与方法 3.下列Python表达式的值为True的是(   ) A."12"*2>"2" B."a" in ["apple"] C.len(range(12))==12 D.3**2-7%5<int(6.8) 4.用高级语言编写的程序(   )。 A.占用内存空间非常少 B.很复杂且难以理解 C.必须由翻译程序将其编译成机器语言,才能在计算机上执行 D.只能在某种计算机上运行 5.“水仙花数”是指一个三位正整数,其各位数字立方和等于该数本身。例如:153=13+53+33,故153是一个水仙花数。求1000以内的所有水仙花数的Python程序如下: import math for num in range(100,1000): if num==pow(gw,3)+pow(sw,3)+pow(bw,3):#pow(x,y)函数返回xy的值 print(num) 上述程序段中加框处应该填入的代码段是(  ) A. B. C. D. 6.某智能终端从串口获取温/湿度传感器的数据,BXY软件运行部分界面如图所示。 编写以下Python代码,获取串口数据并保存到文本文件“microbit.txt”中。 import serial ser=serial.Serial() ser.baudrate= ① ser.port= ② ser.open() File=open("microbit.txt","wb") for i in range(20):        line=ser.readline()      ③ print(line) File.close() ser.close() 上述程序段中划线处可选语句为: ①File.write(line) ②Serial Port COM7  ③115200                  ④"COM7" 则①②③处的语句依次为(  ) A.①②③ B.③④② C.③②① D.③④① 7.以下程序的输出结果是(   ) for i in range(10):    print(i) A.依次输出1到10 B.输出1加到10的和 C.输出9 D.依次输出0到9 8.下列属于计算机编程语言的有(   ) ①Python ②Visual Basic ③Java ④C++ ⑤CPU A.①②④⑤ B.②③④⑤ C.①②③④ D.①③④ 9.有如下Python程序段: matrix=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]] k=int(input()) tot=0 for i in range(4):     for j in range(4):         if i+j=k:             tot+=matrix[i][j] print(tot) 若输入2,则输出为(   ) A.12 B.10 C.8 D.6 10.有5万元资金存入银行,选择“1年定期、自动转存”的存款方式。5年后会有多少收益呢?(money=50000,假定利率为3.25%,年利率rate固定不变),用for循环计算收益,下列选择错误的是(   ) A、for year in [1,2,3,4,5]: money=money*(1+rate) B、for year in range(1,6): money=money*(1+rate) C、for year in range(1,5): money=money*(1+rate) D、for year in range(5):        money=money*(1+rate) A.A B.B C.C D.D 11.下列值最大的一项是(   ) A.2*3 B.100%8 C.2**2 D.20/3 12.某小区建立了智能垃圾站,住户在垃圾站说出垃圾名称,智能垃圾站自动打开对应的垃圾投递门,投递完成后自动关闭。系统通过传感器1-4采集不同类别垃圾(有害垃圾、可回收垃圾、厨余垃圾、其他垃圾)的产生量,以便垃圾的运输及管理。部分系统结构示意图如图所示。 有Python程序如下: rubbish={1:["香蕉皮","橘子皮","厨余垃圾",……],2:["易拉罐","矿泉水瓶","可回收垃圾",……],3:["电池","过期药品",……],4:["一次性碗筷","其他垃圾",……]} # 省略号代表同类别的垃圾关键词文本 doors=["厨余垃圾","可回收垃圾","有害垃圾","其他垃圾"] # 语音内容经识别后的关键词文本存入变量key for i in rubbish.keys():   if key in rubbish[i]:     print("打开%s投递门"%doors[i-1])     break 阅读程序,下列说法正确的是(    ) A.rubbish[1][1]的值是“橘子皮” B.doors[4]的值是“其他垃圾” C.垃圾名称关键词文本存放在列表doors中 D.垃圾投递门名称存放在字典rubbish中 13.有如下程序段: def bubbleSort (n):    if  n == 1:       return    for i in range (n - 1):       if arr [i]  > arr[i+1]:          arr[i],  arr[i+1] =arr [i+1], arr[i]    bubbleSort(n-1) from random import randint n=randint(3, 5) bubbleSort(n) 若数组arr的值为“64,34,25,12,22,11,90”,则调用函数bubbleSort(n)后 arr[3]的值不可能的是(   ) A.12 B.25 C.34 D.64 14.教室里的学生最舒适的温度范围是tmin~tmax(包括tmin、tmax), 现要实现温度t正常、非正常(偏高或偏低)时,将对应的状态sta的值设为0和1(0为正常,1为偏低或偏高)。下列Python程序段不正确的是(    ) A.if t>tmax: sta=1elif t<tmin: sta=1else: sta=0 B.if not(tmin=<t<=tmax): sta=1 else:    sta=0 C.if t<tmin: sta=1 if t>tmax: sta=1 else: sta=0 D.sta=0 if t<tmin:   sta=1if t>tmax: sta=1 A.A B.B C.C D.D 15.以下Python程序段执行后,输出结果为(    ) m=29 if m%3!=0     print(m, "不能被3整除") else:     print(m, "能被3整除") A.m不能被3整除 B.29不能被3整除 C.29能被3整除 D.m能被3整除 16.利用Python求100以内所有能被3整除的正整数,代码如下: i=l while i<=100:     if :         print(i)     i=i+1 则程序第3行的横线应该填(   ) A.i=i*3 B.i= i%3 C.i%3= =0 D.i/3= =1 17.有如下程序段: from random import randint a = [0] * 5 for i in range(5):     a[i] = randint(0,5) * 2 + 1 #randint(0,1)产生[0,1]的随机整数 for i in range(5):     if a[i] <= a[i-1]:         a[i-1] += 1     else:         a[4] += 1 print(a) 执行该程序段后,变量a的值不可能的是(   ) A.[2,2,2,1,3] B.[4,4,4,4,4] C.[1,3,7,9,16] D.[1,10,9,12,10] 二、填空题 18.若t=['甲','乙','丙','丁'],则字符”乙”在列表中的索引为 。 19.阅读下列程序,写出运行结果 ls=[23,45,67,87] def is_prime(n):     for i in range(2,n):         if n%i==0:             return False     return True sum=0 for x in ls:     if is_prime(x):         sum=sum+x print(sum) 运行结果是 20.将某次比赛最后得分用字典存储:dict={"第1名":50,"第2名":48,"第3名":"47","第4名":"45","第5名":44,"第6名":42}。现需要查询第3名成绩,则表达式的正确书写是: 。 21.在计算机编程中, 是一种将高级语言编写的程序转换为机器语言的过程。 22.以下流程图是一个算法的描述,该算法是对A、B值进行判断,如果A不大于B,则A与B的值互换,最后输出A,B的值。    (1)根据题目中对算法的描述,则流程图中①处填写 。 (2)如果用Python语言实现“输出A,B的值”,则应该写为 。 三、判断题 23.在Python中写程序时,可不用理会中英文标点符号的区别。( ) 24.循环语句可以嵌套使用。( ) 25.使用计算机解决问题的一般步骤为:分析问题、编写程序、调试运行、设计算法。( ) 26.用户自定义函数通过return语句只能返回一个数值。( ) 27.Python语言的变量名要区分英文字母的大小写。( ) 四、操作题 28.一家商场在降价促销,如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣。编写一个Python程序,输入消费额(整数),显示折扣后的应付金额。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题主要考查列表数据结构。 list 列表定义使用中括号 [ ],因此s的类型是列表,故本题选A选项。 2.D 【详解】本题考查解决问题过程相关内容。解决问题过程的阶段有:(1)“分析问题确定要用计算机做什么”的阶段;(2)“寻找解决问题的途径和方法”阶段;(3)“用计算机进行处理”阶段;(4)“运行调试”阶段。外卖送餐员根据自己对道路状况的了解,结合已有经验,“想”出处理问题的具体过程和方法,缩短送餐时间,这主要体现了人们解决问题过程的“寻找解决问题的途径和方法”阶段。故本题答案是D选项。 3.C 【详解】本题考查Python基础。 A选项,结果为运算结果为:"1212">"2",返回False。 B选项,字符"a"并不在列表 ["apple"]中,返回False。 C选项,range(12) 生成一个从 0 到 11 的整数序列,长度为12,故返回True。 D选项,运算结果为:7<6,故返回False。 故正确答案为:选项C。 4.C 【详解】本题主要考查程序设计语言。用高级语言编写的程序占用内存空间多,易于理解,必须由翻译程序将其编译成机器语言,才能在计算机上执行,可以跨平台运行,故本题选C选项。 5.B 【详解】本题主要考查Python程序的调试。加框处是取出num的十位、百位、个位,其中百位bw=num//100,十位sw=(num-bw*100)//10或sw=num//10%10,个位gw=num%10或gw=num-bw*100-sw*10,故本题选B选项。 6.D 【详解】本题主要考查Python程序的执行与调试。第一空是设置波特率,由图可知,波特率是115200,故选③115200。第二空是设置端口,由图可知,端口COM7,故选④"COM7"。第三空将获取串口数据并保存到文本文件“microbit.txt”中,使用写入函数write,故选①File.write(line),故本题选D选项。 7.D 【详解】本题主要考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。因此输出结果是依次输出0到9,故本题选D选项。 8.C 【详解】本题主要考查计算机编程语言。Python 、Visual Basic 、Java 、C++均属于计算机编程语言,CPU是计算机核心组成部件,故本题选C选项。 9.D 【详解】本题考查Python程序。程序的功能是计算二维列表matrix中满足条件i+j=k的元素之和,其中k是用户输入的整数。解析如下:给定二维列表matrix,每个子列表都包含相同的四个整数。用户输入一个整数k。初始化变量tot为0,用于累加满足条件的元素之和。使用嵌套循环遍历matrix的每个元素:外层循环i控制行索引。内层循环j控制列索引。判断条件i+j==k,如果成立,则将matrix[i][j]的值加到tot中。最后输出变量tot的值,即满足条件i+j=k的元素之和。若输入2,根据题目的计算,满足条件的元素有(0,2),(1,1),(2,0),它们分别对应的值是1,2,3,因此最终的输出是1+2+3=6。故答案为:D。 10.C 【详解】本题主要考查Python循环语句。本金是money,定期利率是rate,则一年后的本息是money*rate+money=money*(1+rate),5年后即循环体 money=money*(1+rate)要循环5次。range(start, stop, [step]),start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。range(1,5)生成1、2、3、4序列,循环体只执行4次不符合题意,故选C。 11.D 【详解】本题考查的是Python表达式。2*3=6,100%8=4,2**2=4,20/3≈6.67。故本题应选D。 12.A 【详解】本题考查的是Python字典与循环语句相关知识。rubbish[1][1]的值是“橘子皮”;doors[3]的值是“其他垃圾”;垃圾名称关键词文本存放在字典rubbish中;垃圾投递门名称存放在列表doors中。故本题应选A。 13.B 【详解】本题主要考查冒泡排序算法及Python程序实现。n=randint(3, 5),n可取3、4、5,当n=3时,排序后数组arr的值为“25,34,64,12,22,11,90”;当n=4时,排序后数组arr的值为“12,25,34,64,22,11,90”;当n=5时,排序后数组arr的值为“12,22,25,34,64,11,90”。显然调用函数bubbleSort(n)后 arr[3]的值不可能的是25,故本题选B选项。 14.C 【详解】本题考查Python程序。C选项中,当t小于tmin时sta赋值为1,但是当t大于tmax时,无论之前sta是否为1,都会再次将sta赋值为1,不能正确区分温度偏高和偏低以及正常的情况。故答案为:C。 15.B 【详解】本题考查Python选择语句。m=29,m%3=1执行 print(m, "不能被3整除"),输出:29不能被3整除。故选B。 16.C 【详解】本题主要考查Python程序的执行。该程序实现求100以内所有能被3整除的正整数,故第3行的横线应该填i%3==0,故本题选C选项。 17.B 【详解】本题考查的是Python随机函数及循环语句。由a[i] = randint(0,5)*2+1可知生成的是1~11的奇数。如果列表a中后面的数不大于前一个数,则前一个数加1,否则a[4]加1,选项B中列表值[4,4,4,4,4],由前4个数都是偶数,可知i=1、2、3、4肯定是执行了加1的操作故原列表a前4个数为[3,3,3,3],i=0时,肯定要执行一次a[4]加1(a[4]=4为偶数),即a[0] <= a[-1](a[-1]即为a[4])不成立,原a[0]=3,故原a[4]只能是1(列表值是1~11的奇数),a[4]加1后为2与4不符合,故选项B不可能。 18.1 【详解】本题主要考查Python列表的描述。Python中,列表的索引从0开始,若t=['甲','乙','丙','丁'],则字符”乙”在列表中的索引为1。 19.90 【详解】本题主要考查Python程序的综合应用。分析程序可知,is_prime(n)是判断变量n是否为素数,该程序实现将列表ls中的素数进行累加求和,用变量sum统计。故运行结果sum=23+67=90。 20.dict["第3名"] 【详解】本题考查数据与数据的组织。字典是python当中的一种数据类型,其结果跟之前学过的列表,元组有很大区别,字典内部是一个一对一映射的数据关系。需要查第3名成绩,直接将索引调到第3名,故答案为dict["第3名"]。 21.编译 【详解】本题考查计算机编程。在计算机编程中,编译是将使用高级编程语言编写的程序源代码,通过编译器进行分析、转换和优化,生成计算机能够直接理解和执行的机器语言指令序列的过程。编译过程包括词法分析、语法分析、语义分析、代码优化和代码生成等步骤,最终生成可执行的目标代码。故答案为:编译。 22. A<=B? print(A,B) 【详解】本题主要考查算法流程图及Python语言。①该算法是对A、B值进行判断,如果A不大于B,则A与B的值互换,最后输出A,B的值,故此次判断条件是A<=B?。②如果用Python语言实现“输出A,B的值”,输出函数是print(),则应该写为print(A,B)。 23.错误 【详解】本题考查Python程序设计相关内容。Python中命令和标点符号需要使用英文格式,否则会报错。故本题答案是:错误。 24.正确 【详解】本题考查的知识点是循环结构应用。循环语句可以嵌套使用。在一个循环的内部再使用另一个循环,这就是循环的嵌套。在大多数编程语言中,如Python,Java,C++等,都支持循环的嵌套。故答案为正确。 25.错误 【详解】本题主要考查计算机解决问题的步骤。使用计算机解决问题的一般步骤为:分析问题、设计算法、编写程序、调试运行,故表述错误。 26.错误 【详解】本题考查的是Python的自定义函数。用户自定义函数通过return语句可以返回多个数值。故题干中的说法是错误的。 27.正确 【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。 28.price=int(input("请输入消费额(整数):")) if price < 200:    price=price-price*0.1 else:    price=price-price*0.2 print("折扣后的应付金额是:",price) 【详解】本题主要考查Python程序的执行与调试。用键盘通过输入函数input输入消费额,并用int函数将其转换为整数类型,通过if条件分支结构,判断如果购买金额不高于200元,会给10%的折扣,如果购买金额高于200元,会给20%的折扣,最后用print输出函数输出折扣后的应付金额。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

第三章 算法的程序实现 2024-2025学年高中信息技术浙教版(2019)必修一
1
第三章 算法的程序实现 2024-2025学年高中信息技术浙教版(2019)必修一
2
第三章 算法的程序实现 2024-2025学年高中信息技术浙教版(2019)必修一
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。