第四章程序设计基础2024—2025学年高中信息技术粤教版(2019)必修1

2024-08-06
| 10页
| 78人阅读
| 0人下载

内容正文:

第四章程序设计基础2024—2025学年高中信息技术粤教版(2019)必修1 一、选择题 1.以下是小红编写的根据身高计算票价的程序。运行程序,输入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;” 2.若字符串s的值为"abcde",执行如下程序段后,变量res的值不可能是(   ) from random import randint res ="" i, j = 0, len(s)-1 while i < len(s)and j >= i:     if randint(0,1)==0: #randint(0,1)随机生成0或1          res+= s[i]          i +=1     else:        res += s[j]        j-=1 A."abced" B."aecbd" C."aedbc" D."edcba" 3.下列Python表达式中值最小的是( ) A.6//2*8/3 B.len(range(0,12))/4 C.int('3'+'2')//abs(-6) D.3**2-7%5//7 4.将整数转换为小数的函数是(    ) A.float() B.round() C.int() D.str() 5.在Python中,下列能正确表示”a≤5而且a≥3”的逻辑是(   ) A.a<=3 or a>=3 B.a<=5 and a>=3 C.a<=5 or a >=3 D.3<=a<=5 6.有如下 Python 程序段: def fac(n):     if n==0: #①         s=1     else:         s=n*fac(n-1)     return s print(fac(3)) 下列说法不正确的是 A.该程序应用了递归算法 B.程序运行后,fac()函数被调用 3 次 C.若问题规模为 n,该程序段的时间复杂度为 O(n) D.将①处代码改为“n==1”,该程序功能不变 7.在Python中,下列表示“比较对象是否相等”的运算符是( ) A.<> B.= C.!= D.== 8.有如下程序段: s=1 a=[[1,2,3],[4,5,6],[7,8,9]] for i in range(3):     for j in range(3):         if i==j:             s*=a[i][j] 则执行程序段后,变量s的值为(   ) A.28 B.6 C.45 D.15 9.运行下列程序后,函数f(4)的值为(   ) def f(n):    if n==1:       return 1    else:       return n+f(n-1) A.10 B.1 C.3 D.6 10.以下Python程序, 输出结果是(  ) x=int(3.0) x=x+2 print(x**2) A.25 B.10 C.25.0 D.10.0 11.Python语言中的“ord”是将字符转换为对应存储编码的函数,编码值以十进制数形式显示,例如>>>ord(‘a’) ,输出的结果是:97,则>>>ord(d)输出结果为(   ) A.102 B.100 C.98 D.110 12.有如下Python程序段: a=[[1,1],[2,2],[3,3],[4,-1]] head=0 cur=a[head][1] a[head][1]=-1 while cur!=-1: p=a[cur][1] a[cur][1]=head head,cur=cur,p 则程序运行后,a的值为( ) A.[[1,1],[2,2],[3,3],[4,-1]] B.[[1,-1],[2,0],[3,1],[4,2]] C.[[4,1],[3,2],[2,3],[1,-1]] D.[[4,-1],[3,0],[2,1],[1,2]] 13.在Python中,下列选项为整数的是(   ) A.int("123") B.'123' C.123 D."123" 14.有如下Python程序段: s=0 for i in range(1,10):    if i%3==0:       continue    s=s+i print(s,i) 程序段执行后,变量 s和i的值分别是(  ) A.55 11 B.37 10 C.27 10 D.27 9 15.有如下Python程序段: import random n=6;a=[0]*n;i=0 while i<n: k=random.randint(1,10) if k%2==0: i=i-1 elif k%3==0: a[n-1]=k n=n-1 else: a[i]=k i=i+1 执行该程序段后,列表a中的各元素可能的是(    ) A.[0,0,3,3,6,9] B.[1,1,0,3,7,9] C.[5,0,0,5,7,3] D.[0,0,5,3,3,9] 16.有如下Python程序段: # 输入3个整数分别存储到变量a、b、c中,代码略 if a > b and a > c:     maxn = a elif b > a and b > c:     maxn = b elif c > a and c > b:     maxn = c print("a,b,c的最大值为:", maxn) 执行该程序段,输入下列4组测试数据,无法正确输出a、b、c的最大值的是(   ) A.10,20,30 B.20,30,10 C.30,10,10 D.10,10,10 17.以下对于逻辑表达式“a or b”的描述,错误的是(    ) A.若a=True,b=True,则a or b=True B.若a=True,b=Fa1se,则a or b=True C.若a=True,b=True,则a or b=False D.若a=False,b=False,则a or b=False 18.下列表达式中,值为True的是(    ) A."chat" not in "chatGPT" B.int (max("3","22","111"))!=abs(int(-3.9)) C."a3b"[0:2]<="a3B" D.18//3**3==2 19.列表是Python中常用的序列类型,和变量样是可变的。以下关于列表的描述正确的是(  ) A.列表中的元素索引不能为负值 B.列表中元素的值可以修改 C.列表中的元素不能是列表类型 D.列表中元素的数据类型必须是一样的 20.在Python中,属于正确变量名的是(   ) A.88abe B.abc_88 C.abc@88 D.for 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题主要考查Python程序的调试。分析程序可知,出错的原因是字符串类型不能直接和整型进行“+”运算,应把第8行中的money改为str(money),故本题选C选项。 2.B 【详解】本题考查Python程序设计相关内容。分析程序段,可知: A选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第二次循环,若randint(0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“ab”;第三次循环,若randint(0,1)==0成立,将s[2](即字符'c')添加到res中,则res=“abc”;第四次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“abce”;第五次循环,若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“abced”,选项正确。 B选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第二次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“ae”;第三次循环,若randint(0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“aeb”;第三次循环,若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“aed”;由此推出,无论第三次循环产生的随机数是0还是1,都不会出现“aec”,继而推出选项错误。 C选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第二次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“ae”;第三次循环,若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“aed”;第四次循环,若randint(0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“aedb”;第五次循环,若randint(0,1)==0或randint(0,1)==1成立,都会将s[2](即字符'c')添加到res中,则res=“aedbc”,选项正确。 D选项,第一次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“e”;第二次循环,若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“ed”;第三次循环,若randint(0,1)==1成立,将s[2](即字符'c')添加到res中,则res=“edc”;第四次循环,若randint(0,1)==1成立,将s[1](即字符'b')添加到res中,则res=“edcb”;第五次循环,若randint(0,1)==1成立,将s[0](即字符'a')添加到res中,则res=“edcba”,选项正确。 故本题答案是B选项。 3.B 【详解】本题考查Python运算符与表达式相关内容。A选项,6//2*8/3-->3*8/3-->24/3-->8.0;B选项,len(range(0,12))/4-->12/4-->3.0;C选项,int('3'+'2')//abs(-6)-->32//6-->5;D选项,3**2-7%5//7-->9-7%5//7-->9-2//7-->9-0-->9。B选项值最小。故本题答案是B选项。 4.A 【详解】本题考查Python函数应用。将整数转换为小数的函数是 float()。round() 函数用于对浮点数进行四舍五入,它不会将整数转换为小数。int() 函数用于将一个数(浮点数或字符串表示的数字)转换为整数,它会去掉小数部分。str() 函数用于将其他数据类型转换为字符串形式。故答案为A选项。 5.B 【详解】本题考查Python运算符与表达式相关内容。and运算符用于连接两个或多个条件表达式,当且仅当所有条件表达式都为True时,整个逻辑表达式的结果才为True。 or运算符作用是判断两个条件中的至少一个是否为真,如果至少一个条件为真,则整个表达式返回True;否则,返回False。能正确表示”a≤5而且a≥3”的逻辑是:a<=5 and a>=3,故本题答案是B选项。 6.B 【详解】本题考查Python程序。程序运行后,fac()函数被调用了4次,包括初始调用和三次递归调用。当fac(3)被调用时,实际上还会调用fac(2)、fac(1)和fac(0),因此总共调用了4次。故答案为:B。 7.D 【详解】本题主要考查Python运算符。=是赋值运算符,!=是表示“比较对象是否不相等”,==表示“比较对象是否相等”,故本题选D选项。 8.C 【详解】本题考查Python程序。根据程序可知,当i与j相等时,即矩阵中的对角线,即a[0][0],a[1][1],a[2][2]进行相乘,最终计算结果为s=1*1*5*9=45。故答案为:C。 9.A 【详解】本题主要考查Python程序的执行。分析程序可知,f(4)=4+f(3)=4+3+f(2)+4+3+2+f(1)=4+3+2+1=10,故本题选A选项。 10.A 【详解】本题考查的是Python程序基础。int转换为整型,x=int(3.0)=3,x=x+2=3+2=5,x**2=5**2=25。故选A。 11.B 【详解】本题主要考查Python函数的应用。Python语言中的“ord”是将字符转换为对应存储编码的函数,编码值以十进制数形式显示,例如>>>ord(‘a’) ,输出的结果是:97,则>>>ord(d)输出结果为97+3=100,故本题选B选项。 12.B 【详解】本题考查Python程序设计相关内容。分析程序段可知:head=0,cur=a[head][1]=a[0][1]=1,a[0][1]=-1,a=[[1,-1],[2,2],[3,3],[4,-1]],循环各变量如下:    程序运行后,a的值为[[1,-1],[2,0],[3,1],[4,2]],故本题答案是B选项。 13.C 【详解】本题考查的是数据类型。int( )用于将一个字符串或数字转换为整型,字符串用英文单引号或双引号表示。故本题应选C。 14.D 【详解】本题考查的是python程序。本题的功能是求区间[1,9]中不是3的倍数的数之和,即s=1+2+4+5+7+8=27,i最后的值为9,故答案为D。 15.D 【详解】本题考查Python程序设计相关内容。random.randint(1,10)生成1~10的随机整数。通过分析代码段,可知:当k=2、4、6、8、10时,a列表元素值不会出现2、4、6、8、10,A选项错误;当k=3、9时,列表最后元素aa[5]元素值为对应的3、9;若3、9同时出现,则两值之间不应该出现3、9之外的数值,B选项错误;当列表元素前有两个0(未被修改)出现时,其列表最后的两个元素值应该是3、9中的一个,C选项错误。故本题答案是D选项。 16.D 【详解】本题考查的是Python程序调试。阅读程序,可知当a、b、c三个数相等的时候,三个判断条件都不满足,找不到最大值,故本题应选D。 17.C 【详解】本题主要考查Python逻辑表达式。若a=True,b=True,则a or b=True,故本题选C选项。 18.C 【详解】本题考查Python表达式的运算。"chat" not in "chatGPT"值为False;int (max("3","22","111"))=abs(int(-3.9))=3,因此表达式int (max("3","22","111"))!=abs(int(-3.9))值为False;"a3b"[0:2]="a3",因此表达式"a3b"[0:2]<="a3B"值为True;18//3**3=18//27=0,因此表达式18//3**3==2值为False。故选C。 19.B 【详解】本题考查的是列表相关知识。列表中的元素索引可以为负值,负值表示从末尾开始的位置,故选项A说法错误;列表中元素的值可以修改,选项B说法正确;列表中的元素可以是列表类型,选项C说法错误;列表中元素的数据类型可以不一样的,故选项D说法错误。 20.B 【详解】本题考查变量名。变量名不能以数字开头,关键字不能作为变量名,字符@符号不能出现在变量名中。故选择B。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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