第三章算法的程序实现同步作业2023—2024学年高中信息技术浙教版(2019)必修1

2024-07-08
| 9页
| 34人阅读
| 0人下载

内容正文:

第三章算法的程序实现同步作业 2023—2024学年高中信息技术浙教版(2019)必修1 一、选择题 1.下列python表达式结果最小的是(   ) A.2**3//3+8%2*3 B.5**2%3+7%2**2 C.1314//100%10 D.int("1"+"5")//3 2.如图所示的代码,当输入23时,输出结果为(   ) 1 S=int(input('请输入') 2 if S <5: 3    print('小了') 4 elif S<15: 5    print('还是有点小了') 6 elif S<25: 7    print('差不多') 8 elif S>=25: 9    print(‘很好') 10 else: 11  print('这不是数字‘) A.小了 B.很好 C.差不多 D.这不是数字 3.有如下 Python 程序段: import random a=[0,0,0,0,0] flag= 1 i=0 while i<5: b=random.randint(1, 100) if flag>0 or b>50: a[i]=flag*b i+=1 flag=-flag print(a) 执行程序后,输出的列表 a 可能是(   ) A.[5, -53, 23, -65, 38] B.[-67, 64, -91, 78, -31] C.[4, -69, 0, -84, 34] D.[60, -30, 71, -29, 88] 4.为了对某信息系统中的字符串数据进行加密,小蓝同学设计了加密函数secret(s,k),其中s为明文,k为正整数密钥,函数的返回值为密文。secret()函数的Python代码如下: def secret(s, k):     a = [i for i in s]     a.append('*')     n = len(s) + 1     ans = ""     t = 0     head, tail = 0, n - 1     while         t = t + 1         if t == k:             ans += a[head]             t = 0         else:             a[tail] = a[head]             tail = (tail + 1) % n             head = (head + 1) % n     return ans 下列有关该加密过程的说法错误的是(   ) A.该加密过程用到的数据结构为队列 B.该加密过程属于对称加密中的替代加密法 C.若原文s为python,密钥k=3,则加密得到的密文为tnhyop D.将方框处代码改为head<tail可能会影响最终的加密结果 5.函数如下 打印结果哪项是正确的( )。 A.changeInt: number2= 3 number: 3 B.changeInt: number2= 3 number: 2 C.number: 2 changeInt: number2= 2 D.number: 2 changeInt: number2= 3 6.执行下列代码,说法错误的是?( ) import sqlite3 db = sqlite3.connect('data.db') cur = db.cursor() cur.execute("CREATE TABLE IF NOT EXISTS list(id INTEGER PRIMARY KEY autoincrement, name text)") db.commit() cur.execute("SELECT COUNT(*) FROM list") if cur.fetchall()[0][0] == 0: cur.execute('INSERT INTO list(id,name) VALUES(1,"lilei")') db.commit() A.data.db文件中有一张名为list的数据表 B.list数据表中有两个字段id和name C.list数据表中没有记录 D.去掉最后一行的db.commit(),对程序有影响 7.用Python表达式表示数轴上x的取值范围,以下书写正确的是(  ) A.x> =5 or x <8 and x=9 B.x > =5 and x < 8 or x ==9 C.x> =5 and x <8 and x ==9 D.x >=5 or x < 8 or x <9 8.购买地铁车票:乘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 9.表达式3*4**2//8%5的计算结果是(   ) A.1 B.2 C.4 D.6 10.有如下Python程序段: n=int(input()) a=1;q=[0]*100;two=three=rear=0;q[0]=a while rear!=n:     if(2*q[two]+1>3*q[three]+1):         rear+=1         q[rear]=3*q[three]+1         three+=1     elif(2*q[two]+1<3*q[three]+1):         rear+=1         q[rear]=2*q[two]+1         two+=1     else:         rear+=1         q[rear]=3*q[three]+1         two+=1;three+=1 运行上述程序段后,如果输入10,则q[n]的值是(  ) A.15 B.22 C.27 D.31 11.以下是小红编写的根据身高计算票价的程序。运行程序,输入1.2后,程序报错(报错提示如下),出错的原因是(  ) Traceback(mostrecentcalllast): File"C:\Usersi*****。py",line8,in <module> print("你的票价是:"+money+"元。") TypeError:canonlyconcatenatestr (not"int")tostr 1 height=float(input("请输入身高:")) 2 if height<=1.2: 3  money=0 4 elif height<1.5: 5  money=20 6 else: 7  money=40 8 print("你的票价是:"+money+"元。") A.用height直接和1.2比较 B.第8行代码中使用了中文 C.字符串类型不能直接和整型进行“+”运算,应把第8行中的money改为str(money) D.程序中使用了运算符“+”,应该把“+”改为“&amp;” 12.在Python中,下面语句不正确的是(   ) A.x=y+10 B.x=y=Z=100 C.x,y,z=1,2,3 D.f(x)=x**2+1 13.下面的程序段,通过键盘输入5,则运算结果是(   ) A=input() print(A * 5) A.3125 B.25 C.5*5 D.55555 14.下列Python程序段执行后,语句s=s+i执行的次数是(   ) s=0 i=1 while i<5:     s=s+i     i=i+1 print(s) A.2次 B.3次 C.4次 D.5次 15.已知列表a1=[1,2,3,4],执行语句a1[0]=5后,列表a1中的内容为(   ) A.[1,2,3,4] B.[5,2,3,4] C.[5,1,2,3,4] D.[1,2,3,4,5] 16.在Python中,以下表达式的计算结果不为0的是(    ) A.3//5 B.21%7 C.2/4 D.10*0 17.有如下程序,输入1101110后的运行结果为(      ) s1=input(“请输入一串01组合”) s2=len(s1) s=0 for i in range(s2):    a=int(s1[i])    s=s*2+a   print(s) A.110 B.111 C.220 D.110111 18.判断a是否能被b整除,以下语句正确的是(    ) A.if a/b=0: B.if a//b=0: C.if a%b= =0: D.if a//b= =0: 19.小明学习了Python后,定义了一个列表:list1=[7,-15,32,-10,90],则 Python表达式min(list1)+abs(list1[3])的值为(   ) A.-25 B.-5 C.0 D.17 20.下列Python数据不属于列表的是(        ) A.{24,56,7,89,4} B.[24,56,7,89,4] C.[24,56,’a’,’猕猴桃’] D.[’A’,’B’ ’C’, ’D’] 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题主要考查Python表达式的运算。2**3//3+8%2*3=8//3+0*3=2,5**2%3+7%2**2=25%3+7%4=1+3=4,1314//100%10=13%10=3,int("1"+"5")//3=5,故本题选A选项。 2.C 【详解】本题主要考查Python程序的执行。当输入23时,执行elif S<25: print('差不多'),输出结果为:差不多。故本题选C选项。 3.A 【详解】本题主要考查Python程序的执行与调试。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。b=random.randint(1, 100),即b是随机生成[1,100]之间的整数,a[i]=flag*b,每次循环后flag取相反数,flag初值为1,故列表a索引为偶数项的值为正数,索引为奇数项的数为负数,排除B、C选项。由if判断条件可知当flag为-1时,b必须大于50才能进入if结构否则重新生成b,排除选项D,故执行程序后,输出的列表 a 可能是[5, -53, 23, -65, 38],选A选项。 4.B 【详解】本题考查Python程序。根据secret函数的代码,使用队列把明文按照一定规则从新排列得到密码,A选项正确。该算法思想应为简单加密算法中的换位密码法,B选项错误。把s=”python”,k=3代入函数,会得到密文tnhyop。每3个字符处对一个,拼接到密码中,不到3时进入队尾。C选项正确。若把head!=tail改为head<tail,会出现错误,因为根据首尾指针的变化可以判断这是一个循环队列,循环队列中head会大于tail,但此时队列中还有元素,不能结束,若修改会导致循环提前结束,造成错误,D选项正确。故答案为:B。 5.B 【详解】本题主要考查Python程序的执行。number1=2,执行语句chanageInt(number1),输出changeInt: number2= 3,接着执行print("number:",number1),输出number: 2,故本题选B选项。 6.C 【详解】本题考查程序设计相关内容。A选项,由“cur.execute("SELECT COUNT(*) FROM list")”知,data.db文件中有一张名为list的数据表,选项说法正确。B选项,由“cur.execute("CREATE TABLE IF NOT EXISTS list(id INTEGER PRIMARY KEY autoincrement, name text)")”知,list数据表中有两个字段id和name,选项说法正确。C选项,由“ cur.execute('INSERT INTO list(id,name) VALUES(1,"lilei")')”知,list数据表中有记录,选项说法错误。D选项,db.commit()是用于提交事务的方法,在Python中,当你对数据库进行了插入、更新或删除等操作时,这些操作将默认处于一个事务中,为了将这些操作永久保存到数据库中,你需要显式地调用commit()方法来提交事务,只有在调用commit()方法后,对数据库的更改才会生效,所以去掉最后一行的db.commit(),对程序有影响,选项说法正确。故本题答案是C选项。 7.B 【详解】本题考查Python运算符与表达式相关内容。由图中可知x的取值是[5,8)和9。结合关系、逻辑运算符,其表达式为:x>=5 and x< 8 or x == 9。故本题答案是B选项。 8.B 【详解】本题考查条件语句。根据题目要求,购买地铁车票:乘1-4站3元/人;5-9站4元/人;9站以上5元/人。故N<=9满足5-9站4元/人,最适合,因此选项B正确。 9.A 【详解】本题主要考查Python表达式的运算。3*4**2//8%5=3*16//8%5=48//8%5=6%5=1,故本题选A选项。 10.B 【详解】本题考查Python程序的执行。这段程序使用了一个队列(q)来存储数字序列。首先,将数字1放入队列,然后根据一定规则生成后续数字。规则为:如果2*q[two]+1大于3*q[three]+1,则将3*q[three]+1放入队列,并递增three;如果2*q[two]+1小于3*q[three]+1,则将2*q[two]+1放入队列,并递增two;如果两者相等,则将3*q[three]+1放入队列,并递增two和three。程序运行过程如下:初始化a=1,将1放入队列。通过比较规则不断生成后续数字,直到队列中有n个数字。输入n=10,执行10次生成,得到队列q,有效部分为:[1、3、4、7、9、10、13、15、19、21、22]。故q[n]的值为22,因此答案是B。因此,答案为B。 11.C 【详解】本题主要考查Python程序的调试。分析程序可知,出错的原因是字符串类型不能直接和整型进行“+”运算,应把第8行中的money改为str(money),故本题选C选项。 12.D 【详解】本题主要考查Python赋值语句。Python赋值语句是将右边的表达式赋给左边的变量,不可以直接将表达式赋给函数,故本题选D选项。 13.D 【详解】本题主要考查程序的运行。input输入的是字符,字符*5,就会显示5倍的字符来。通过键盘输入5,则运算结果是55555,故本题选D选项。 14.C 【详解】本题考查Python程序调试。变量i初值是1,循环条件是i<5,因此i取1、2、3、4,即循环4次。故选C。 15.B 【详解】本题考查Python列表操作。列表索引从0开始,已知列表a1=[1,2,3,4],执行语句a1[0]=5后,列表a1中的内容为[5,2,3,4],故选B。 16.C 【详解】本题考查Python运算符与表达式相关内容。A选项,3//5-->0。B选项,21%7-->0。C选项,2/4-->0.5。D选项,10*0-->0。故本题答案是C选项。 17.A 【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将二进制数1101110通过“按权展开、逐项相加”的方法转换为十进制数110,故本题选A选项。 18.C 【详解】本题考查的是Python表达式。判断a是否能被b整除,只要判断a除以b的余数是否为0,在Python中用==表示相等。故本题应选C。 19.B 【详解】本题主要考查Python列表的操作。min返回列表对象的最小值,abs求绝对值函数,因此list1=[7,-15,32,-10,90],则 Python表达式min(list1)+abs(list1[3])的值为-15+10=-5,故本题选B选项。 20.A 【详解】本题考查Python语句。列表是Python中的一种数据类型,是用[]括起来的一组有顺序的数据。选选项B,C,D都属于列表,选项A不属于列表,故本题选A。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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