第三单元 算法和程序设计 2024-2025学年高中信息技术沪科版(2019) 必修1

2024-08-11
| 13页
| 145人阅读
| 0人下载

内容正文:

第三单元 算法和程序设计 一、选择题 1.在Python中,以下表达式的运算结果为2的是(   ) A.16/8 B.16%8 C.16//8 D.sqrt(4) 2.在Python语言中,下面程序段运行结果是(  ) a=1 s=0 for i in range(1,5): a=a*i s=s+a print(s) A.0 B.15 C.33 D.120 3.下面代码的输出结果是(   ) weekstr = “星期一星期二星期三星期四星期五星期六星期日”;  weekid = 3 print(weekstr[weekid*3: weekid*3+3]) A.星期二 B.星期三 C.星期四 D.星期一 4.某算法的部分流程图如图所示,若n的值为6,数组元素a[0]至a[n-1]依次存放2,0,1,0,0,1。执行这部分流程后,输出f的值为(    ) A.1 B.2 C.3 D.4 5.有如下Python程序段: a=[1,3,3,5,5,7,7,11,15] i=0; j=len(a)-1 ans=[ ] key= 5 while i<=j:     m=(i+j)//2     ans.append(a[m])    #在列表ans末尾添加元素a[m]     if a[m]>key:         j=m-1     else:         i=m+1 执行该程序段后,下列说法正确的是(   ) A.i的值是4 B.j的值是5 C.m的值是5 D.ans的值是[5,3,5] 6.运行以下Python程序,结果是(   ) S=0 P=1 while P <= 10:     if P % 3 == 0:         S=S + 1     P=P + 2 print(S) A.2 B.3 C.4 D.5 7.下列Python表达式中,计算结果值与其它选项不同的是(   ) A.abs(-3//2) B.3**3%5 C.len("1+2") D.int(max("2","12")) 8.运行下列Python程序后,输入41,输出结果为(   ) f=float(input("请输入一个华氏温度:")) c=5*(f-32)/9 print(c) A.5 B.5.0 C.10 D.10.0 9.某算法的部分流程图如图所示,执行这部分流程,输出c的值是(    ) A.9 B.10 C.90 D.100 10.有如下 Python程序段: dic = {'2':'ABC','3':'DEF','4':'GHI','5':'JKL','6':'MNO','7':'PQRS','8':'TUV','9':'WXYZ'} s= input() m="" t=0 for i in range(1, len(s)):     if s[i]==s[i-1]:         t+=1     elif s[i]=="#":         m=m+dic[s[i-1]][t]         t=0 print(m) 若运行该程序后输出“GET”,则输入的内容可能是(   ) A.5#44#9# B.4#33#8# C.3#22#7# D.4#3#8# 11.有如下Python程序段,执行该程序段后,输出显示的内容是(   ) s=0 for k in range(1,5,2):     if k<=1:         m=1     if k<=2:         m+=2     else:         m+=3     s+=m print(s) A.4 B.5 C.9 D.13 12.阅读下列材料,完成问题 不规则形状的面积可以采用蒙特卡洛方法来求解,其原理是在不规则形状外侧构建一个规则图形,通过随机产生点的方式在规则形状范围内产生数量足够的点,统计在不规则形状中的点的比例,从而计算出不规则形状的面积。如图,小姜通过Python编程计算边长为2的正方形与函数y=X2交叉形成的阴影部分面积,程序如下: import random points=1000*1000 hits =0 for i in range(points): x= ① #随机产生一个[0,2]的数并赋值给x y= ② #随机产生一个[0,2]的数并赋值给y dist =0.5*x**2 if ③ : hits=hits+1 print("阴影部分面积是:", ④ ) 划线①②处均需要随机产生[0,2]的数并赋值给变量x和y,查看下表,下列选项中可以产生满足条件随机数的是(    ) 名称 含义 random.randint(a,b) 随机生成一个[a,b]范围内的整数 random.random() 随机生成一个(0,1)范围内的实数 random.choice(seq) 从序列seq的元素中随机挑选一个元素 random.uniform(a,b) 随机生成一个[a,b]范围内的实数 A.random.randint(0,2) B.random.uniform(0,2) C.random.choice(range(0,2)) D.random.random( )*2 13.某算法的流程图如图所示,执行该流程后,输出sum,n的值分别是(   ) A.28,10 B.280,10 C.280,13 D.28,13 14.下面代码的执行结果是(    ) object =["石榴",1,"香蕉","橙子","梨子"] object .append("猕猴桃") print (object) A.["石榴",1,"香蕉","橙子","梨子"] B.["石榴",1,"香蕉","橙子","梨子","猕猴桃"] C.["猕猴桃","石榴",1,"香蕉","橙子","梨子"] D.[1,"香蕉","橙子","梨子"] 15.用python程序对数组元素进行分组,程序运行后b[2]的值为(   ) a=[6,4,2,8,5,3,9,17];b=[] for i in range(len(a)):     f=False     for j in range(len(b)):         if a[i]>b[j][-1]:#列表b是一个二维数组             b[j].append(a[i])#append函数在列表末尾添加一个元素             f=True             break  #跳出本层循环     if f==False:         b.append([a[i]])#新元素为一维数组 A.[2,3] B.[4,5] C.[6,8,9,17] D.[2,5,9] 16.下列关于算法特征的叙述,正确的是(    ) A.算法所包含的步骤可以是无穷的 B.算法每一步骤必须确切地定义 C.一个算法可以没有输出 D.算法只能用Visual Basic来实现 17.某客户购买的新能源汽车价格为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 二、填空题 18.角谷猜想。角谷猜想是指一个正整数y,如果y是奇数,则将其乘以3,然后再加1;如果是偶数,则将其除以2。这样经过若干次运算后,总可以得到自然数1。 小明根据角谷猜想进行了算法设计,并用如下流程图来描述该算法。 请回答下列问题: (1)根据本题算法的流程图所示,则流程图中①②处应填写的内容分别是:① ;② 。 (2)若输入y的值为10,则输出的运算次数为 。(填数字) 19.以下程序的功能如下:计算表达式1+3+9+27+81+…+2187的值,则程序中画线处的表达式应为 。 t=0 i=1 while i<= 2187:     t=t+i      print(t) 20.在Python中, 是用于实现循环遍历的关键字。 21.算法的常用表示方法有3种: 、 、 。 22.一个算法中的每一步都应该是确定的、没有歧义的语句,这符合算法特征中的( )性。 三、判断题 23.已知列表x = [1, 2],执行语句y = x后,表达式id(x) == id(y)的值为True。( ) 24.算法只能用自然语言来描述。( ) 25.网络爬虫是种程序或脚本,通过它可以将非结构化数据从网页中抽取出来,并以结构化的方式存储为本地数据文件。( ) 26.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( ) 27.用户自定义函数通过return语句只能返回一个数值。( ) 四、操作题 28.某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果拥有10个印有“幸运”或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以兑换大奖。若可以兑换大奖,输出1,否则输出0。 输入:两个整数,分别表示印有“幸运”和“鼓励”的瓶盖数 输出:若可以兑换大奖,输出1,否则输出0。 输入样例: 11 19 输出样例: 1 请根据要求编写出上述案例的Python语言程序。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题考查Python基础。16/8 = 2.0(浮点数除法);16%8 = 0(取余运算);16//8 = 2(整除运算);sqrt(4) = 2.0(开平方运算),故选择C。 2.C 【详解】本题考查Python基础。 该程序功能为:遍历产生1到4的数赋值给变量i,每次累乘i到变量a,累加a到变量s。故s=1+2+6+24=33。故正确答案为:选项C。 3.C 【详解】本题考查Python基础。 Python 中的字符串索引是从 0 开始的。字符串切片 s[start:end] 会返回从索引 start 到 end-1 的子字符串(包含 start 索引,但不包含 end 索引)。 题目中weekstr[weekid*3: weekid*3+3]=weekstr[9:12],故正确答案为:选项C。 4.B 【详解】本题考查算法流程图相关内容。分析流程图,其运行过程,具体如下: (1)i=1,i<6成立,执行循环体:a[i-1]>a[i]成立,k=k+1=1,i=i+1=2; (2)i=2,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]成立,f=f+k=1,k=0,i=i+1=3; (3)i=3,i<6成立,执行循环体:a[i-1]>a[i]成立,k=k+1=1,i=i+1=4; (4)i=4,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]不成立,i=i+1=5; (5)i=5,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]成立,f=f+k=2,k=0,i=i+1=6; (6)i=6,i<6不成立,输出f,即:2。 故本题答案是B选项。 5.C 【详解】本题考查Python程序综合应用。第一遍循环,i=0,j=8,m=(i+j)//2=4,不满足a[4]=5>key,i=m+1=5;第二遍循环,m=(i+j)//2=6,满足a[6]=7>key,j=m-1=5;第三遍循环,m=(i+j)//2=5,满足a[5]=7>key,j=m-1=4;第四遍循环,不满足i<=j,循环结束。此时i的值是5,j的值是4,m的值是5,ans的值是[5,7,7]。故选C。 6.A 【详解】本题考查Python程序。首先,初始化S=0表示累加的结果初始为0,P=1作为循环的起始值。然后进入while循环,只要P<=10就会执行循环体。在循环体中,通过if P%3==0来判断P是否能被3整除。当P=1时,不满足能被3整除的条件,P=P+2=3。当P=3时,满足能被3整除的条件,S=S+1=1,然后P=P+2=5。当P=5时,不满足能被3整除的条件,P=P+2=7。当P=7时,不满足能被3整除的条件,P=P+2=9。当P=9时,满足能被3整除的条件,S=S+1=2,然后P=P+2=11。此时P=11,不满足P<=10的循环条件,循环结束。最终输出S的值为2。故答案为:A。 7.C 【详解】本题考查Python表达式。abs(-3//2):首先计算-3//2得到-2,然后取其绝对值得到2。3**3%5:首先计算3**3得到27,然后对27取模5得到2。len("1+2"):字符串"1+2"的长度为3,因此结果是3。int(max("2","12")):比较字符串"2"和"12",根据字符串的ASCII码比较规则,逐个字符比较,"2"在"1"之前,所以max("2","12")返回"2",然后将其转换为整数得到2。故答案为:C。 8.B 【详解】本题考查Python程序执行。float ()函数是Python内置的一个函数,用于将其他数据类型转换为浮点数类型。输入41,则c=5*(f-32)/9=5*9.0/9=5.0。故选B。 9.A 【详解】本题考查的是流程图识读。阅读流程图,可知其计算10~99中个位和十位数字相同的数有的个数。11、22、33、44、55、66、77、88、99满足,一共有9个。故本题应选A。 10.B 【详解】本题考查Python程序。程序通过遍历输入字符串s,当相邻字符相同时,记录相同字符的个数t。遇到“#”时,根据前一个字符在字典dic中对应的字符串,取出第t个字符添加到m中。选项A:输入5#,5对应的是“JKL”,t=1,取出第1个字符“J”;44#,4对应的是“GHI”,t=2,取出第2个字符“H”;9#,9对应的是“WXYZ”,t=1,取出第1个字符“W”,最终得到“JHW”,不符合输出“GET”。选项B:输入4#,4对应的是“GHI”,t=1,取出第1个字符“G”;33#,3对应的是“DEF”,t=2,取出第2个字符“E”;8#,8对应的是“TUV”,t=1,取出第1个字符“T”,最终得到“GET”,符合输出。选项C:输入3#,3对应的是“DEF”,t=1,取出第1个字符“D”;22#,2对应的是“ABC”,t=2,取出第2个字符“B”;7#,7对应的是“PQRS”,t=1,取出第1个字符“P”,最终得到“DBP”,不符合输出“GET”。选项D:输入4#,4对应的是“GHI”,t=1,取出第1个字符“G”;3#,3对应的是“DEF”,t=1,取出第1个字符“D”;8#,8对应的是“TUV”,t=1,取出第1个字符“T”,最终得到“GDT”,不符合输出“GET”。故答案为:B。 11.C 【详解】本题考查的是Python循环和分支语句的应用。range(1,5,2)生成1,3序列数。 k=1时,满足k<=1,执行m=1,也满足k<=2,执行m+=2(即m=m+2=3),执行s+=m(即s=s+m=3); k=3时,不满足k<=1,也不满足k<=2,执行m+=3(即m=3+3=6),执行s+=m(即s=s+m=9) 故选C。 12.B 【详解】本题考查的是随机函数。随机产生点,其点的值应为实数,random.uniform(a,b)随机生成一个[a,b]范围内的实数,故本题应选B。 13.C 【详解】本题考查程序分析。该程序运行过程: 初始:sum=1,n=1 1<100成立,执行sum=sum*n=1*1=1,n=n+3=1+3=4; 1<100成立,执行sum=sum*n=1*4=4,n=n+3=4+3=7; 4<100成立,执行sum=sum*n=4*7=28,n=n+3=7+3=10; 28<100成立,执行sum=sum*n=28*10=280,n=n+3=710+3=13; 280<100不成立,输出sum为280,n为13 故正确答案为选项C。 14.B 【详解】本题考查的是Python列表。append函数会在列表后加上相应的元素,故程序执行的结果是:["石榴",1,"香蕉","橙子","梨子","猕猴桃"]。选项B正确。 15.A 【详解】本题考查数组的应用,b最终为二维数组,每个元素即为一个严格递增(可以不连续)的集合,最终结果,b[0]=[6,8,9,17],b[1]=[4,5],b[2]=[2,3]。故选择A。 16.B 【详解】本题考查的是算法特征。算法具有有穷性,故选项A说法错误;算法每一步骤必须确切地定义,选项B说法正确;算法至少要有一个输出,故选项C说法错误;算法可以用VB来实现,也可以用其它程序语言实现,故选项D说法错误。 17.B 【详解】本题考查的是Python多分支语句。选项A中,如果价格30万元(含)以上,满足if语句,不会执行elif语句,补贴0.5万元,不符合题意;选项C中,如果价格30万元(含)以上,也满足第二个if语句,补贴0.5万元,不符合题意;选项D中,如果价格30万元(含)以上,满足if语句,补贴0.5万元,不符合题意。故选B。 18. y==1?或y<=1?或y等于1吗? y←3y+1或y←3*y+1或y←3×y+1,←改为等号也算对 6 【详解】本题考查算法设计。 (1)根据题目描述可知,①处条件为“y等于1吗?”,也可表示为“y==1?”或“y<=1?”;②处表示y为奇数时的情况,根据题意可得y←3*y+1,也可以表示为y←3y+1;(2)y为10时,运算过程为:10→5→16→8→4→2→1,共运算6次。 19.i=i * 3 【详解】本题考查Python程序设计相关内容。分析程序段,其功能是计算表达式1+3+9+27+81+…+2187的值,由求和表达式t=t+i知,对应的加数为i*3,故本题答案是:i*3。 20.for 或 in 【详解】本题考查Python。在 Python 编程语言中,for和in通常结合使用来创建循环结构,实现对可迭代对象(如列表、元组、字符串等)的遍历,以依次处理其中的每个元素。故答案为:for 或 in。 21. 流程图 自然语言 伪代码 【详解】本题考查的是算法描述。算法的常用表示方法有3种:流程图、自然语言、伪代码。 22.确定 【详解】本题考查的是算法特征。确定性:算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。 23.正确 【详解】本题考查Python基础。 在Python中,当你执行 y = x 这样的语句时,你实际上并没有创建 x 的一个新副本,而是让变量 y 指向了 x 指向的同一个对象。这意味着 x 和 y 都引用了内存中的同一个列表对象,即内存地址相等,故表达式id(x) == id(y)的值为True。故正确。 24.错误 【详解】本题考查算法。算法可以用多种方式来描述,常见的有自然语言、流程图、程序设计语言等。自然语言描述较为通俗易懂,但可能存在模糊和歧义;流程图直观清晰,能更形象地展示算法的流程和逻辑;程序设计语言则可以直接实现算法。故说法错误。 25.正确 【详解】本题考查网络爬虫。网络爬虫就是一种能够按照一定的规则,自动地抓取万维网信息的程序或者脚本。它能够从网页中提取出所需的非结构化数据,并将其整理成结构化的形式,存储为本地的数据文件,以便后续的分析和处理。故说法正确。 26.正确 【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。 27.错误 【详解】本题考查的是Python的自定义函数。用户自定义函数通过return语句可以返回多个数值。故题干中的说法是错误的。 28.x=int(input("你拥有多少个印有"幸运"")) y=int(input("你拥有多少个印有"鼓励"")) if (x>=10) or (y>=20): print("1") else: print("0") 【详解】本题考查Python程序综合应用。根据题干,可采用if...else...分支结构实现,具体代码如下: x=int(input("你拥有多少个印有"幸运"")) y=int(input("你拥有多少个印有"鼓励"")) if (x>=10) or (y>=20): print("1")else: print("0") 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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