2024-2025学年高中信息技术浙教版(2019)必修一 3.3 简单算法及其程序实现

2024-08-05
| 16页
| 90人阅读
| 0人下载

内容正文:

3.3 简单算法及其程序实现 一、选择题 1.动态规划算法通常用于解决具有以下特性的问题(   ) A.单一解 B.多阶段决策 C.无规律性 D.即时性 2.以下哪个Python代码片段实现了一个简单的条件分支结构(   ) A.if x > 10: print("x is big") B.for i in range(10): print(i) C.while x < 10: print(x) D.print("Hello World") 3.下列问题中,适合使用解析算法解决的是(   ) A.计算两个电阻的并联值 B.输出前100个质数 C.对某次测试中所有考生按成绩排列名次 D.找出10000以内的所有完全平方数 4.如图所示的python程序代码运行后,输出结果是(   ) A.0 B.5 C.10 D.15 5.已知如下Python函数: def f(x, n):     if n==1:         return x     else:         return x*f(x-1, n-1) 下面表达式值最大的为(   ) A.f(5,6) B.f(5,7) C.f(-5,6) D.f(-5,7) 6.数组元素a[0]至 a[n-1]依次存放着n个数据,现需要将下标为 x(0≤x≤n-1)元素在逻辑上删除,例如:n为5,数组a为[1,3,5,7,9] ,x为2,删除操作后输出[1,3,7,9]。实现该功能的程序段如下,横线中应填入的正确代码为(   ) a=[1,3,5,7,9] n=len(a) x=2 for i in range(① ):     ② print(a[:-1]) A.①x,n ②a[i-1]=a[i] B.①n-x    ②a[i-1]=a[i] C.①x,n ②a[i]=a[i+1] D.①x-n,-1 ②a[i]=a[i+1] 7.有如下Python程序段: a="Python"; q=[0]*6 head,tail=0,0 i=len(a)-1 while i>=0:     if i%3!=0:         q[tail]=a[i]     else:         q[tail]=q[head]         head+=1     tail+=1     i-=1 print(q[head:tail]) 当执行该程序段后,输出的结果是(   ) A.['n', 't', 'y', 'o'] B.['t', 'y'] C.['n', 'o', 't', 'y'] D.['n', 'o', 'n', 't', 'y', 'o'] 8.为完善班级功能建设,班长设计并搭建了班级网站,(网站为:http://mo17733146-7.icoc.bz/),网站拥有成绩查询系统,同学们在登入网站后,输入自己的账号和密码就可以查询自己的成绩。 查询成绩信息的部分代码如下: @app.route("/col") def chengji_list():     conn=sqlite3.connect("cj.db")     cur=conn.cursor()     cur.execute("select*from cjcx")     jieguo=cur.fetchall()     cur.close()     conn.close()     return render_template("list.html",jieguo=jieguo) 下列选项中说法正确的是(   ) A.查询的数据表名为cj.db B.连接的数据库文件名是cjcx C.当前视图函数是chengji_list() D.查询成绩信息时URL的地址为http://mo17733146-7.icoc.bz/ 9.有如下Python程序段: a=[4,3,1,2,3] m=0 s=0 for i in range(1,len(a)):     if a[i] < a[m]:         m=i     s=s+m print(s) 执行该程序段后,输出的结果是(   ) A.10 B.9 C.8 D.7 10.某高校开展“迷宫寻宝”活动,按最终得分评判优胜。参赛选手通过手机扫描活动海报上的二维码图片进行注册,填写个人资料后参加比赛。迷宫寻宝规则:30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分。用Python算法控制结构描述“30分钟内到达终点,找到5个以内宝贝得1分,5个及以上且10个以内得2分,10个及以上得3分,超过30分钟未能到达终点得0分”,设time为完成时间(单位:分钟),n为寻宝个数,score为得分,下列选项正确的是(   ) A. if time<=30 :     if n>=10:         score=3     elif n>=5:         score=2     else:         score=l else:     score=0 B. if time>30:     score=0 if n<5:     score=1 elif n<10:     score=2 else:     score=3 C. score=1 if n>=5:     score+=1 elif n>=10:     score+=1 if time>30:     score=0 D. if time<=30:     score=3 if n<10:     score-=1 elif n<5:     score-=1else:     score=0 A.A B.B C.C D.D 11.有如下 Python程序,实现求字符串中的最长连续上升子串的长度。例如:字符串“hellopython”中的最长连续上升子串是“lopy”,长度为 4。 s=input() n=len(s);c=1;max=1 for i in range(1,n):     if (1) :         c=c+1         if c>max:             max=c     else:          (2) print(max) 划线处可选代码为①c=1 ②c=0 ③s[i]<s[i+1] ④s[i]>s[i-1] 划线处正确的语句依次为(   ) A.③① B.③② C.④① D.④② 12.如下图所示的流程图: 算法执行时,若输入n的值为3,则输出s的值是(    ) A.6 B.8 C.9 D.15 13.某算法流程图如图所示。执行该流程图时,依次输入5、4、6、-8、4、0,下列说法正确的是(    ) A.a!=0?执行了4次 B.s=s*x+a执行了5次 C.输出的s值是表达式4*54+6*53-8*52+4*5的值 D.输出的s值是表达式4*53+6*52-8*5+4的值 14.下列伪代码中体现出来的程序算法结构是(   ) A.顺序结构 B.循环结构 C.选择结构 D.三种结构都有 15.随着科技的不断进步,智能家居设备正逐渐成为我们日常生活的一部分,通过各种传感器、控制器和执行器,智能家居系统能够实现对家中设备的智能控制。通过手机、平板等设备,与互联网连接,可以随时随地控制家中的灯光、空调、电视、扫地机器人等,让生活更加便捷。安全系统不仅能监控家庭安全,还能通过面部识别技术识别访客,甚至在紧急情况下自动报警。集成的全屋语音控制系统将使得控制家中的各种智能设备变得前所未有地简单,从播放音乐到调节温度,一切尽在语言之间。假设室内合适的温度是16-24℃,用tmin~tmax表示,通过传感器获取的室内环境温度存放在变量t内,系统根据获取的温度,控制空调调节温度,用k来表示空调调温,k为1时表示上调温度,为-1时表示下调温度,为0表示温度合适,关闭空调。以下代码不能正常调控的是(    ) A. B. C. D. 16.有如下Python程序段: s = 0 ; i = 1 while :     s = s + i     i = i + 2 该程序段运行后,变量s的值等于9,则程序划线处的语句不可能的是(   ) A.i < 5 B.i <= 5 C.i < 6 D.i <= 6 二、填空题 17.在编程语言中, 是指在程序执行过程中,根据条件选择执行不同代码块的语句。 18.在计算机编程中, 是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。 19.有Python程序代码如下: n=int(input("请输入一个整数n:")) if n < 0 :     s = 0 elif n < 16 :     s = n ** 3 else :     s = n * n ** 2 print(s) 若要测试所有分支程序代码是否正确,请列举一组合适的数据 20.将高级语言源程序翻译成机器语言通常有 和 两种方式。 21.阅读下列程序,写出运行结果。 三、操作题 22.小明是个旅游爱好者,他查询了各地的一些热门旅游景点,并整理成文件“旅游景点.xls”,如图a所示,请回答下列问题: A B C D E F G H 1 景点 评分 热度 开放时间 门票价格 所在地 等级 省内外 2 西安钟楼 4.5 8.6 8:00-17:00 30 陕西 AAAAA 省外 3 南山海上观音 4.8 8.2 8:00-17:00 122 海南 AAAAA 省外 4 天涯海角 4.5 8.8 8:00-19:00| 0 海南 AAAA 省外 5 杭州野生动物世界 4.6 7.1 9:00-17:00 杭州 省内 6 杭州野生动物世界 4.6 7.1 210 AAAA 7 千岛湖景区 4.4 8.0 全天 55 杭州 AAAAA 省内 8 乌镇 4.6 8.8 9:00-22:00 180 嘉兴 AAAAA 省内 9 芜湖方特旅游区 4.1 6.7 全天 160 安徽 AAAAA 省外                                                  图a               图b (1)在数据整理阶段,应对图a中第5行和第6行执行 操作(单选,填字母) A.删除第5行数据     B.删除第6行数据    C.删除第5、6两行数据    D.合并第5、6两行数据 (2)小明要用Python程序统计省内景点等级为“AAAAA”的个数,并输出景点名称及其所在地,程序如下,请在划线处填写合适的代码。 import pandas as pd df=pd.read   excel("旅游景点.xls") count=0 for i in range(len(df)):     d=df.at[i, "等级"]     k=df.at[i, "省内外"]     if :         count+=1 print(df.at[i,"景点"], df.at[i,"所在地"]) print(count) (3)小明统计省外各地区的景点个数,并绘制柱形图,部分程序如下,请在划线处填写合适的代码。 import matplotlib.pyplot as plt df1=① df2=df1.groupby("所在地", as   index=False).② x=df2.所在地 y=df2.景点 plt.bar(x,y) #设置绘图参数,显示如图b所示柱形图,代码略 (4)由图b可知,省外景点个数不超过4个的地区有 个。 23.某苗圃搭建了二氧化碳实时监测系统。当苗圃内二氧化碳浓度超标时,打开窗户;当苗圃内二氧化碳浓度不足时,关闭窗户。管理人员可以通过浏览器查看监测信息。该系统结构示意图如图所示。 请回答下列问题: (1)以下属于该系统服务器处理的数据是 (多选,填字母) A.数据库中存储的数据          B.传感器采集的数据 C.执行器采集的数据            D.智能终端传输的数据 (2)该系统网络应用软件的实现架构是 (单选,填字母:A.B/S架构B.C/S架构)。 (3)IoT模块应该填入图中的 处(选填:①/②) (4)Web服务器端程序采用Flask Web框架开发,部分代码如下。 #导入模块,代码略 app-Flask(_name_) @app.route('/') def view():     #从数据库中查询所有记录到data中,代码略     return render_template('view.html',data=data) @app.route('/input',methods-['GET]) definsert():     #将数据存入数据库,代码略 if_name_=='_main_':     app.run(host-'192.168.1.106',port=8080) 若要查看数据记录,在浏览器应输入的URL为: (5)在系统正常运行一段时间后,发现某段时间浏览器显示浓度超标,但是窗户一直未打开。经检测,各设备连接都正常,结合图,简要说明系统中可能造成上述问题的原因。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题考查动态规划算法。动态规划算法通常用于解决多阶段决策问题。它通过将问题分解为更小的子问题,并利用这些子问题的解来构建原问题的解。动态规划特别适用于那些可以通过递归关系定义的问题,且这些问题通常具有重叠子问题和最优子结构的性质。选项A、C和D不符合动态规划的特性。故选B。 2.A 【详解】本题考查分支结构。条件分支结构是根据给定的条件来决定执行不同的代码块。选项A中的if x > 10: print("x is big")是一个典型的条件分支结构,它根据变量x与10的大小比较来决定是否执行print("x is big")这部分代码。选项B中的for i in range(10): print(i)是一个循环结构,用于按特定范围重复执行代码。选项C中的while x < 10: print(x)是一个while循环结构,根据条件决定是否循环执行代码。选项D中的print("Hello World")只是简单的输出语句,没有涉及条件判断。故答案为:A。 3.A 【详解】本题考查算法。解析算法是指通过分析问题中各要素之间的关系,用数学表达式表示出来,通过计算得出问题的解。对于计算两个电阻的并联值,可通过公式解析计算,A选项正确;输出前100个质数,无法通过数学表达式直接计算得出,B选项错误;对某次测试中所有考生按成绩排列名次,需要对成绩数据进行排序操作,不能直接用解析算法,C选项错误;找出10000以内的所有完全平方数,需要逐个判断数字是否为完全平方数,不能直接通过解析计算得出,D选项错误;故答案为:A。 4.C 【详解】本题考查的是Python选择语句。该程序的功能是输出a、b中的最大值,a=5,b=10,故输出10,选C。 5.C 【详解】本题考查程序分析。程序为递归算法。故可知f(5,6)=0,f(5,7)=0,f(-5,6)=151200,f(-5,7)=-1663200。故选择C选项。 6.D 【详解】本题考查程序分析。需要指定range的参数,确定遍历的下标。range的参数可是使用负数索引,故从x-n到-1。每次遍历后一个数覆盖前一个数,实现删除,故a[i]=a[i+1]。正确答案为选项D。 7.A 【详解】本题考查程序分析。分析后程序执行过程为: q[0]=a[5]='n',tail=1 q[1]=a[4]='o',tail=2 q[2]=q[0]='n',tail=3,head=1 q[3]=a[2]='t',tail=4 q[4]=a[1]='y',tail=5 q[5]=q[1]='o',tail=6,head=2 循环结束后tail=6。故输出q[head,tail]为:['n', 't', 'y', 'o'],选项A正确。 8.C 【详解】本题考查程序分析。A选项错误,数据表名为cjcx。B选项错误,连接的数据库文件名是cj.db。D选项错误,http://mo17733146-7.icoc.bz/为网站地址,非查询成绩信息时URL的地址。故正确答案为C选项。 9.D 【详解】本题考查的是Python循环及选择语句。程序执行过程如下表: i a[i] a[m] m s 初始 0 0 1 3 4 1 1 2 1 3 2 3 3 2 1 2 5 4 3 1 2 7 结束 故执行该程序段后,输出的结果是7,选D。 10.A 【详解】本题考查的是Python选择语句。选项B中,如果时间大于30分钟,由于后续的代码,score不可能为0;选项C中,如果30分钟内,10个及以上,只执行score+=1一次,最后得分为2,不符合题意;选项D中,如果30分钟内,5个以内,只执行score-=1一次,最后得分为2,不符合题意。故选A。 11.C 【详解】本题考查的是Python循环和选择语句应用。由 range(1,n),可知依次比较i处与i-1处的字符,若大于则c递增,如果c大于max,则更新max的值,如果i处字符不小于i-1处的字符,则c初始化为1,继续新一轮的查找,故(1)、(2)、处语句依次为 s[i]>s[i-1]、c=1,故本题选C选项。 12.C 【详解】本题考查流程图分析。 由下表可知,循环结束后,s的值为9。 m<n(n的值为3)? s=0 m=0 是 1 1 是 4 2 是 9 3 否 — — 故选择C。 13.D 【详解】本题考查流程图分析。 执行过程如下表所示。 a!=0? s a x 初值 0 4 5 是 4 6 5 是 4*5+6 -8 5 是 (4*5+6)*5-8 4 5 是 ((4*5+6)*5-8)*5+4 0 5 否 — — — 故选择D。 14.C 【详解】本题考查程序结构。这段伪代码中,根据年龄的不同情况进行判断,选择执行不同的输出语句,这体现了选择结构(也叫分支结构),而整个过程是依次按条件判断执行,没有循环过程,也不存在先执行后面的语句再回头执行前面语句的情况,所以主要体现的是选择结构,答案选C。 15.C 【详解】本题考查的是Python分支语句。选项C中,如果t>tmax会执行第一个if,还会进入第二个if进行判断,满足else分支,执行k=0,不符合题意。故本题应选C。 16.A 【详解】本题考查的是循环语句。由循环体可知s=1+3+5+……,要使变量s=9,则s=1+3+5,即i的值不超过6且要取到5,故循环条件为:i<=5或i<6或i <= 6,选项A正确。 17.条件语句或选择结构 【详解】本题考查分支结构。在编程语言中,条件语句或选择结构用于在程序执行时,依据给定的条件来决定执行不同的代码块。条件语句通过对条件的判断,若条件为真(成立)则执行相应的代码块,若条件为假(不成立)则执行另外的代码块或者不执行任何操作。常见的条件语句有if语句、if-else语句、switch语句等。通过条件语句,可以使程序根据不同的情况做出不同的响应和处理,增加了程序的灵活性和逻辑性。故答案为:条件语句或选择结构。 18.条件语句(或if-else语句) 【详解】本题考查条件语句。条件语句(或if-else语句)是一种用于实现条件执行的语句结构,它允许根据不同的条件执行不同的代码块。通过条件语句,程序可以根据某个布尔表达式的结果(真或假)来决定执行哪一段代码,从而实现程序的分支和逻辑控制。故答案为:条件语句(或if-else语句)。 19. -1,15,16  或其他等价答案 【详解】本题考查的是Python多分支语句。阅读程序可知,程序由三个分支:小于0、大于等于0小于16、大于等于16。故测试数据可以是:-1,15,16 或其他等价答案。 20. 解释 编译 【详解】本题考查程序的描述。将高级语言源程序翻译成机器语言通常有解释和编译两种方式。 21.90 【详解】本题考查程序分析。 第一步,根据确定层次关系 运行顺序: 先运行第1行,跳过红框自定义函数到第7行,然后执行绿框代码。当运行到绿框内is_prime(x)时,调用红框自定义函数。 第一步,自定义函数的意义 红框内为自定义函数,遍历“2”-“n-1”所有数字,如果n能被其中任何一个数整除,就返回False,否则就返回True,所以红框是在判断n是否是质数,如果该数是质数,则返回True,否则返回False。(质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数)。 第二步模拟运行 ①初始值:1s=[23,45,67,87],sum=0 ②进入绿框,x遍历列表ls x=23时,是质数,执行第10行,sum=sum+x=0+23=23 x=45时,不是质数,可以被3整除,不执行第10行 x=67时,是质数,执行第10行,sum=23+67=90 x=87时,不是质数,可以被3整除,不执行第10行 ③绿框循环完毕,执行第11行,输出sum,故运行结果为90 22. D k=="省内" and d=="AAAAA" df[df.省内外=="省外"] count() 5 【详解】本题考查程序分析。1、图a中第5行和第6行数据缺失,观察可知为相同数据互补,故可以合并。选择D。2、if语句缺少判断省内且等级为AAAAA的条件,d取出等级,k取出省内。故填写k=="省内" and d=="AAAAA"。3、题目需要查询出省外数据,然后统计,查询条件为省内外字段等于省外。故填写df[df.省内外=="省外"]。4、按照所在区字段分类,并调用count方法统计个数。故填count()。5、根据图b,显然有5个地区。故填5。 23. AD B ② http://192.168.1.106:8080/ ①执行器故障、②传感器故障 【详解】本题考查信息系统的分析。1、根据图示,系统服务器连接的数据流为数据库和智能终端传输的数据,故选择AD选项。2、网络应用软件需要为用户提供更多个性化服务,使用C/S架构更为适合,故本题选B。3、IoT模块是物联网设备中的一个重要组成部分需要连接网络和智能终端,故应填在②位置上。4、通过代码app.run(host-'192.168.1.106',port=8080)可知URL地址为http://192.168.1.106:8080/。5、根据题目中窗户未打开,可能是执行器的故障。根据题目中说明浓度超标,可能传感器故障。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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