3.3简单算法及其程序实现同步作业2024—2025学年高中信息技术浙教版(2019)必修1

2024-08-10
| 14页
| 154人阅读
| 1人下载

内容正文:

3.3 简单算法及其程序实现同步作业2024—2025学年高中信息技术 浙教版(2019)必修1 一、选择题 1.有如下问题: ① 已知圆柱的半径r和高度h,使用公式求出此圆柱的体积。 ② 已知班级每位同学的身高h,按照h的值从大到小进行排列。 ③ 已知直角三角形两条边的边长,利用勾股定理求出第三条边的长度。 ④ 已知“完全平方数”的定义,找出1—1000范围内的所有完全平方数。 用计算机解决上述问题时,适合用解析算法的是(   ) A.①② B.①③ C.②③ D.③④ 2.某算法的部分流程图如下图所示,执行这部分流程,依次输入整数-2,3,-1,2,0。则输出s的值是(   ) A.-3 B.5 C.2 D.0 3.有如下程序段: 以上程序运行后,列表 a 的值可能是(   ) A.[2,5,10,10,10,9] B.[3,8,7,13,3,9] C.[8, 12, 3, 5, 3, 11] D.[6,10,9,7,10,8] 4.某算法的部分流程图如图所示。执行这部分流程,若输入x的值为21,则输出s和k的值分别为(    ) A.4,7 B.-5,11 C.4,9 D.-5,9 5.下列伪代码中体现出来的程序算法结构是(   ) A.顺序结构 B.循环结构 C.选择结构 D.三种结构都有 6.数组元素a[0]至a[n-1]依次存放着n个不重复的正整数。现要在数组a中按顺序找出一组升序子序列,可以是不连续,但要求长度最长(若有多个长度相等的最长子序列时,输出第一个)。 例如:数组a的值为[2,11,4,13,5,17],其中最长的升序子序列是[2,11,13,17]。实现该功能的程序段如下。 a=[2,11,4,13,5,7] n=len(a);ans=[] d=[[1,-1]for i in range(n)] #d[i]包含2个数据项,d[i][0]记录i位置结尾的最长升序子序列的长度 #d[i][1]记录i结尾的最长升序子序列前一数据的索引位置 for i in range(1,n):     for j in range(i):         if  a[j]< a[i]and :                          d[i][1]=j maxlen=0;k=-1 for i in range(n):     if d[i][0]>maxlen:         maxlen=d[i][0]         k=i while k!=-1:     ans.append(a[k])     k=d[k][1] print(ans[::-1]) ①d[i][0]<d[j][0]    ②d[j][0]>=d[i][0]    ③d[i][0]=d[i][0]+1    ④d[i][0]=d[j][0]+1 划线处应填的合适代码依次为(   ) A.①③ B.①④ C.②③ D.②④ 7.下面if语句统计满足“性别 (gender) 为男、职称(rank) 为副教授、年龄(age)小于40岁”条件的人数,正确的语句为(     )。 A.if(gender=="男" or age<40 and rank=="副教授"): n+=1 B.if(gender=="男" and age<40 and rank=="副教授"): n+=1 C.if(gender=="男" and age<40 or rank=="副教授"): n+=1 D.if(gender=="男" or age<40 or rank=="副教授"): n+=1 8.某算法的部分流程图如图所示,输入a的值为26,若用Python语言描述,则下列正确的是() A. B. C. D. 9.计算机在执行高级语言程序时,逐条语句翻译成机器语言并立即执行的程序是(   ) A.解释程序 B.编译程序 C.高级程序 D.汇编程序 10.某客户购买的新能源汽车价格为t万元,可享受当地政府购车补贴,补贴标准如下:价格20万元(不含)以下,补贴0.25万元;价格20万元(含)至30万元(不含),补贴0.5万元;价格30万元(含)以上,补贴1万元。在下列选项中,计算实际购车价格p的程序代码正确的是(   ) A. p=t-0.25 if t>=20:     p=t-0.5 elif t>=30:     p=t-1 B. p=t-1 if t<20:     p=t-0.25 elif t<30:     p=t-0.5 C. p=t-0.25 if t>=30:     p=t-1 if t>=20:     p=t-0.5 D. p=t-1 if t>=20:     p=t-0.5 else:     p=t-0.25 A.A B.B C.C D.D 11.有如下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 12.面额为10元、20元和50元的纸币各有10张,求总额恰好为380元取法方案的算法是:设10元取a张、20元取b张、50元取c张,a、b、c都取0到10之间的整数,将a、b、c取值的所有可能组合逐一代入表达式10 * a+20 * b+50 * c =380,判断是否成立,若成立,则输出这一方案。此算法属于(   ) A.查找算法 B.枚举算法 C.递归算法 D.排序算法 13.运行Python程序的过程中出现了如下图错误提示,原因是()。 A.变量名51study太长 B.应该写成"chinese" =51study C.“chinese”应该写成“chinaˈs” D.变量名51study不符合python语言规范,变量名不能以数字开头 14.有如下 Python程序段: s=''AB18/31C5/D269/E7'' k=3 sum, j,c=0,0,0 flag=False for ch in s:     if "0"<=ch<="9":         c=c*10+int(ch)         j+=1     elif ''A''<=ch<=''Z'':         flag=True     else:         if j==k and flag:             sum+=c         flag=False         j=0;c=0 程序运行后,sum的值是(   ) A.269 B.330 C.584 D.609 15.购买地铁车票:乘1-4站3元/人;5-9站4元/人;9站以上5元/人。根据输入的站数N,输出应付款M,如需将算法补充完整,最适合的选项是(    ) A.N>9 B.N<=9 C.5<=N<=9 D.N>=5 and N<=9 16.有Python程序段如下: s="I2024!";s1="" for i in range(len(s)):     c=s[i]     if "A"<=c<="Z":         c=chr(ord(c)-ord("A")+ord("a"))     elif "a"<=c<"2":         c=chr(ord(c)-ord("a")+ord("A"))     sl=c+sl print(sl) 程序运行后,输出的值是(   ) A.!4202Ti B.It2024! C.iT2024! D.4202Ti 17.为完善班级功能建设,班长设计并搭建了班级网站,(网站为: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/ 18.在Python中,已知A=8,则以下代码执行后输出的结果是(   ) if A<=5:     print(A-5) else:     print(A+10) A.3 B.5 C.10 D.18 19.有如下Python程序段: s=input("请输入待处理字符串:") st="" for i in range(len(s)):     ch=s[i]     if"0"<=ch<="9":         ch=str((int(ch)+3)%10)         st=st+ch     else:         if"A"<=ch<="Z":             ch=ch.lower()         st=st+ch print(st) 执行程序后,输入字符串"Happy2024!",输出的结果(    ) A.7535happy! B.4202Happy! C.!7535yppah D.happy5357! 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题考查解析算法。解析算法的基本思想,是在“前提条件、所求结果、数学表达式”三大要素的框架下完成问题的求解。题中①、③问题具有明确的解析思想,而②、④问题无法用确定的数学表达式来建立起“条件”与“结果”的关系。故答案为:B。 2.B 【详解】本题考查算法流程图阅读理解能力。由流程图可知,a=0时,循环结束,s变量是正数累加的结果,所以最终s的值是5。故选B。 3.C 【详解】本题主要考查Python程序的执行与调试。分析程序,a[i]=random. randint(1,5)*2+1,第一个for循环执行完a[0]~a[6]随机生成3、5、7、9、11之间的数,第二个while循环中,前5个元素参与运算,如果相邻元素呈降序,则交换,否则a[i]递增1。选项A中a[0]不可能为2,选项B中a[3]不可能为13,选项D中a[0]不可能为6,故以上程序运行后,列表a的值可能是:[8,12,3,5,3,11],故本题选C选项。 4.B 【详解】本题考查流程图分析。 根据题意执行过程如下表所示,则输出s和k的值分别为-5,11。 项目 x s k 初值 21 0 1 1 10 -1 3 2 5 2 5 3 2 -3 7 4 1 4 9 5 0 -5 11 故选择B。 5.C 【详解】本题考查程序结构。这段伪代码中,根据年龄的不同情况进行判断,选择执行不同的输出语句,这体现了选择结构(也叫分支结构),而整个过程是依次按条件判断执行,没有循环过程,也不存在先执行后面的语句再回头执行前面语句的情况,所以主要体现的是选择结构,答案选C。 6.D 【详解】本题考查程序分析。if语句判断条件不完整,根据题意该语句要判断当i的前面位置序列长度大于等于i位置上的长度,则i位置上的序列更新为前面位置序列长度加1。故符合条件的选项为D。 7.B 【详解】本题主要考查if条件分支。题目中的条件都是与的关系,所以要用and连接,故本题选B选项。 8.A 【详解】本题考查的是流程图及Python语言。由流程图可知,循环的条件是a!=b,故排除BD,b=b-3这个语句不管a是否大于b都要执行,故排除C。本题应选A。 9.A 【详解】本题主要考查程序执行。解释程序的一般结构可以分为解释模块和运行模块两个主要模块。前者的职能是按源程序动态执行顺序逐个输入语句,并对单个语句进行分析和解释,包括语法和语义的正确性检验、生成等价的中间代码或机器语言代码,以及错误信息提供等处理。后者的职能是运行语句的翻译代码,并输出中间结果或最终结果,故本题选A选项。 10.B 【详解】本题考查的是Python多分支语句。选项A中,如果价格30万元(含)以上,满足if语句,不会执行elif语句,补贴0.5万元,不符合题意;选项C中,如果价格30万元(含)以上,也满足第二个if语句,补贴0.5万元,不符合题意;选项D中,如果价格30万元(含)以上,满足if语句,补贴0.5万元,不符合题意。故选B。 11.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。 12.B 【详解】本题考查算法。此算法是将a、b、c取值的所有可能组合逐一进行尝试,判断是否满足条件,这种将所有可能的情况一一列举出来进行判断的算法属于枚举算法。查找算法是在一组数据中查找特定元素;递归算法是函数在其定义中直接或间接调用自身;排序算法是对一组数据按照特定规则进行排序。而本题是逐个列举所有可能的取值组合,所以是枚举算法。故答案为:B。 13.D 【详解】本题考查的是程序调试。报错内容是“语法错误:无效语法”,变量名51study,数字不能作为变量名的开头,故D项正确。 14.C 【详解】本题考查的是Python程序调试与运行。阅读程序可知,逐个读取字符串中的字符,如果是数字则转换为数值类型;如果是大写字母,则标志位flag为真;如果不是大写字母也不是数字且标志位flag为真同时是三位数字,则将数字累加到sum,标志位flag为假,数字及个数初始为0。s=“AB18/31C5/D269/E7”, 读取到第一个“/”时,由于数字不满足三个标志位flag为假,数字及个数初始为0; 读取到第二个“/”时,由于数字为315满足三个,标志位flag为真(读取大写字母C),则将数字累加到sum=315; 读取到第三个个“/”时,由于数字为269满足三个,标志位flag为真(读取大写字母D),则将数字累加到sum=315+269=584。 后续数字不会满足三个,不会累加sum,故选C。 15.B 【详解】本题考查条件语句。根据题目要求,购买地铁车票:乘1-4站3元/人;5-9站4元/人;9站以上5元/人。故N<=9满足5-9站4元/人,最适合,因此选项B正确。 16.A 【详解】本题考查字符串处理及选择语句应用知识。由代码可知,将大写字母转化为相应的小写字母,而将小写字母转换为相应的大写字母,然后按照逆序进行连接。故可以排除C、D。由于最后的字符“!”未经if语句处理,但该字符也会被逆序连接到sl中。故选A。 17.C 【详解】本题考查程序分析。A选项错误,数据表名为cjcx。B选项错误,连接的数据库文件名是cj.db。D选项错误,http://mo17733146-7.icoc.bz/为网站地址,非查询成绩信息时URL的地址。故正确答案为C选项。 18.D 【详解】本题考查的是Python选择语句。A=8,不满足A<=5,执行 print(A+10),输出8+10=18,故选D。 19.D 【详解】本题考查Python程序分析能力。if语句判断循环遍历的字符串,如果是数字0到9,则数字加3并取余数。如果是大写字母,则转换成小写字母。其它字符不变。以上处理结果逆序存放在st中,最后输出st。故选项D为正确答案。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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