全国计算机等级考试二级Python真题及解析8图文程序填空阅读填空程序试题.docx
- 文档编号:25894330
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:41
- 大小:708.93KB
全国计算机等级考试二级Python真题及解析8图文程序填空阅读填空程序试题.docx
《全国计算机等级考试二级Python真题及解析8图文程序填空阅读填空程序试题.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级Python真题及解析8图文程序填空阅读填空程序试题.docx(41页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级Python真题及解析8图文程序填空阅读填空程序试题
全国计算机等级考试二级Python真题及解析(8)图文程序填空阅读填空程序试题
一、程序填空
1.完善程序实现以下功能并保存。
输出数组的最大值。
arr1=[12,435,76,24,78,54,866,43]
________=-32768
foriinrange(0,7):
ifarr1[i]>max1:
max1=________
print("最大值是:
",________)
input("运行完毕,请按回车键退出...")
2.阅读程序。
分析有关多项式的代码并回答问题。
求1!
+2!
+3!
+……+20!
的和。
n=0
s=0
t=1
forninrange(1,21):
t*=n
s+=t
print(s)
(1)n的作用是________________。
(2)s的作用是______________。
(3)t的初值必须赋值为1,这是因为_________。
(4)t*=n的等价语句是__________
(5)s+=t的等价语句是______。
3.调试程序。
请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
forfruitinfruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
4.以下是计算s=1+6+11+...+101的程序代码,请补全程序。
s=0
foriinrange(1,102, ):
s=
print(s)
请补充完成上述程序①_________②_________
5.程序分析题
学校举行校园歌手大赛,评委由6人组成。
评分方法:
去掉一个最高分和一个最低分,计算其余4位评委的平均分,作为选手的最终得分。
max记录最高分;min记录最低分;s记录六位评委的总分;aver记录最终得分。
第1步:
从文本框中分别读入6位评委的打分并依次存入到a
(1)至a(6)中
第2步:
将第1位评委的打分a
(1)分别赋给最高分max,最低分min和总分S
第3步:
利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。
第4步:
从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。
max=a[0]
min=a[0]
s=0
foriinrange(6):
s=s+a[i]
ifa[i]>max:
max=a[i]
ifa[i] min=a[i] aver=()/4 (1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。 A.EntryB.LabelC.FrameD.Button (2)题目中算法描述采用的是__________A、自然语言B、伪代码C、流程图D、.N-S图 (3)下列程序代码片段对应于算法描述中的第2步至第4步。 请填写片段中空白处的表达式填写完整________ 6.约瑟夫问题是个有名的问题: N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。 例如N=6,被杀掉的顺序是: 1,4,3,0,5;最后只剩下2这个人。 llist= n=int(input(“请输入参与人数: ”)) foriinrange(0,n-1): llist.append([i,i+1]) ___________ ___________ long=n k=head i=1 p=2 while(____): ifi==p-1: t=llist[k][1] print(llist[t][0])#索引为t的删除 __________________ ift==head: ___________________ i=1 p+=1 long=long-1 k=llist[k][1] ______________ i+=1 print(llist[head][0]) 7.求50以内所有5的倍数的和。 8.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。 9.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 10.求水仙花数(一个三位数,其各位数字立方和等于该数字本身) 11.猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少。 12.程序设计: 在舞会上,男生、女生各自排成一队。 舞会开始时,依次从男队和女队的队头各出一人配成舞伴。 跳完后的两人重新回到队尾。 例如: boy=['Alex','Steven','Jack'],girl=['Ada*,'Babs'.,'Danla','Jane'] 输出: Turn1: (Alex,Ada) Turn2: (Steven,Babs) Turn3: (Jack,Danla) Turn4: (Alex,jane) …… Turn12: (Jack,jane) 代码如下: boy=['Alex','Steven',‘Jack'] girl=['Ada','Babs','Danla','Jane'] foriinrange(12): x,y=①#出队 print(“Turn{: 2}): ({},{})".format(i+1,x,y)) boy.append(②)#再进队 girl.append(③)#再进队 (1)程序代码中①处正确的代码是(_______)。 A.boy.pop(l).girl.pop(l)B.girl.pop(l),boy.pop(l) C.boy.pop(0),girl.pop(0)D.girl.pop(0),boy.pop(0) (2)程序代码中②处正确的代码是(_______)。 A.xB.yC.iD.i+1 (3)程序代码中③处正确的代码是(_______)。 A.xB.yC.iD.i+1 13.(最大公约数)用辗转相除法求两个正整数的最大公约数。 代码如下: defgcd(m,n): r= whiler! =0: m=n n= return a=int(input(‘请输入a的值: ’)) b=int(input(‘请输入b的值: ’)) print(‘最大公约数是: ') 填空: ________________________________________ 14.请在空格处填写正确的代码,使程序完善。 实现功能: 绘制y=x2-2x+1的图像 #加载numpy模块并限简洁的别名为np importnumpyasnp #加载matplotlib.pyplot模块并限简洁的别名为plt importmatplotlib.pyplotasplt #x在-7到9之间,每隔0.1取一个点 x=np.arange(-7,9,0.1) _____=x**2-2*x+1 plt.plot(x,________) plt.title('y=x*x-2*x+1') plt.xlabel('x') plt.ylabel('y') plt._________ 15.完善程序实现以下功能并保存。 输入一元二次方程的系数a,b,c的值,求解一元二次方程ax2+bx+c=0(a≠0) #请不要更改源程序的结构,删除原题里的①、②。 填写正确的代码,使程序完善 importmath a=float(input("请输入方程系数a(! =0): ")) b=float(input("请输入方程系数b: ")) c=float(input("请输入方程系数c: ")) delta=b*b-4*a*c ifdelta>________: x1=(-b+math.sqrt(delta))/(2*a) x2=(-b-math.sqrt(delta))/(2*a) print("方程有两个不同的解",x1,x2) elifdelta==0: x1=________ print("方程有两个相同的解",x1) else: print("方程无解") input("运行完毕,请按回车键退出...") 16.编写程序。 如图所示的算法,请用Python程序写出实现该算法相应的代码。 17.有如下程序段: sum=0 foriinrange(1,20,3): sum+=i print(“sum=”,sum) (1)循环变量i的初值为: _________,终值为: _________,步长为: __________。 (2)该程序执行后,输出的结果为: ____________________。 18.现代生活半径的扩大和生活节奏加快使出行成本不断增长。 滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。 小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。 小C就在思考这个滴滴快车是怎么计费的? 可否用所学的Python语言也编写一个计费程序。 于是小C开展了有关这个项目活动的探究。 根据实际情况,回答问题。 (一)收集、分析数据,运用数理思维建模 登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”: 滴滴快车(普通型)计价规则 时段 起步价 里程费 时长费 普通时段 8.00元 1.35元/公里 0.20元/分钟 00: 00-06: 30 8.50元 2.40元/公里 0.50元/分钟 06: 30-09: 00 8.50元 1.50元/公里 0.45元/分钟 21: 00-23: 00 8.50元 1.50元/公里 0.40元/分钟 23: 00-00: 00 8.50元 2.40元/公里 0.50元/分钟 注意: 1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。 2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。 小C同学19: 33从“南内环恒地大厦停车场-入口”到“坞城新纪元大酒店(长风店)”乘坐滴滴快车(普通车型),里程4.1公里,时长约21分钟,按照表中的计费规则,小C同学此次出行应该支付的车费是: 车费=8+(4.1-3.3)×1.35+(21-9)×0.2=9.68。 (1)小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具: _____________ A.数字化可视化表达工具B.信息加工工具 C.三维设计工具D.信息检索工具 (2)假设Tot1表示时长费,Tot2表示里程费,S表示实际里程,T表示实际时长,Cost表示应支付费用。 运用数学解析式归纳出计费公式为: 如果时长超过9分钟,则Tot1=_____________。 如果里程小于等于3.3公里则Tot2=_____________,否则Tot2=_____________。 应支付费用: Cost=______________。 (二)运用算法描述方法将问题解决步骤化 小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。 (3)自然语言描述: 第一步: _________________________ 第二步: 计算时长费Totl 第三步: 计算里程费Tot2 第四步: _________________________ 第五步: _________________________ (4)流程图描述: (如图)流程图中,表示计算与赋值的是_____________,表示算法流向的是______________。 A. B. C. D. E. (5)算法描述中,用到了三种基本控制结构,分别是_______________、______________和______________。 如图示中的流程图使用的控制结构是_______________和______________。 (选填: 顺序结构、选择结构、循环结构、树型结构) (6)一个算法必须有______________或多个数据输入。 有______________或多个数据输出。 (选填: 零个/一个) (三)编写、调试、运行程序,验证算法并解决问题________ 19.某字符转置算法描述如下: 将字符串(均为大写字符)s依次转换为相对应的数值(字符A~Z对应数值1~26); ·转换后的数值以K个数据为一段,将n个待处理的数据依次分割成若干段(最后一段不足部分用0来补充); 每一段中K个数据与K*K转置矩阵进行乘法运算; 将乘法运算得到的每一个结果值除以26求余数,依次转换成相应字符(数值1~26对应字符A~Z),最后按原始字符串长度输出。 乘法运算规则如下: 第i个元素c(i)=第j个元素a(j)*转置矩阵第j行第i个元素b(t)的乘积之和(其中j=1,2…K) 例如: 字符串s=PYTHON,区块大小K=4,的转置过程如下: (1)根据算法描述,上述示例中,字符“N”的相乘结果(即图中(★)处)为________。 (2)请在划线处填入合适代码。 PrivateSubCommandl_Click() Dima(1To100)AsInteger´存储字符串,长度不超过100个字符 Dimb(1To100)AsInteger存储转置矩阵,长度不超过10*10 Dimc(1To100)AsLong DimsAsString,tmpAsString DimkAsInteger,tAsInteger,iAsInteger,jAsInteger DimnAsInteger,mAsInteger,lensAsInteger s=Textl.Text´在Textl中输入原始字符串 k=Val(Text2.Text)´在Text2中输入区块大小K Randomize Fori=1Tok^2 b(i)=Int(Rnd*9)+1 tmp=tmp十Str(b(i)) IfiModk=0Then List2.AddItemtmp tmp="". EndIf Nexti lens=Len(s): n=lens Fori=1Ton tmp=Mid(s,i,1) ①__________ Listl.AddItemStr(a(i)) Nexti DoWhilenModk<>0 n=n十1 a(n)=0 Listl.AddItemStr(a(n)) Loop Fori=1Ton m=(i―1)Modk+1 t=1 Forj=②__________ c(i)=a(j)*b((m-1)*k+t)+c(i) t=t+1 Nextj Nexti Fori=1Ton List3.AddItemStr(c(i)) Nexti s=″″ Fori=1Tolens ③__________ s=s+Chr(t+64)} Nexti Text3.Text=s´在Text3中输出转置后的字符串 EndSub 20.小强开展网上直播售货,为此购买了以下直播硬件设备: ①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器 请回答下列问题: (1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号) (2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100: 1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填: 能/不能)满足直播要求。 请列式证明__________。 (3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。 流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数) 图a (4)为了快速了解各类别商品的利润,小强用python编程处理。 处理的结果界面如图b所示。 部分代码如下,请在①②划线处填写合适的代码。 图b importpandasaspd importnumpyasnp importmatplotlib.pyplotasplt detail=pD.read_excel(___) print(detail) foriinrange(len(detail[: ])): ifdetail[‘成交与否’][i]==1: detail[‘lirun’]=___ dg=detai1[[‘类别’,‘lirun’]].groupby(by=‘类别’) print(“总利润”,detail[‘lirun’].sum()) ’数据可视化代码略 21.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。 为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。 一般情况下,规模N=1时,问题的解是已知的。 已知: 从1到n的连续自然数相乘的积、叫做阶乘、用符号n! 表示。 如5! =1×2×3×4×5,规定0! =1。 我们用递归算法可以较容易求n的阶乘。 求n的阶乘算法可以描述如下: n! =n*(n-1)! (n-1)! =(n-1)*(n-2)! (n-2)! =(n-2)*(n-3)! 2! =2*1! 1! =0! 0! =1 如果把n! 写成函数形式,即f(n),f(n)=n*f(n-1)。 如f(5)就是表示5! ,求5! 的过程可以写成如下形式: f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f (2)f (2)=2*f (1)f (1)=1 (问题求解)在python中用递归算法求1! +2! +……+n! (n的值为整数,从键盘输入)。 请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。 deff(n): ifn==0: return1 else: return_________ s=0 n=int(input("请输入n: ")) foriin_______: s=________ print(s) 22.学习了Python绘制图形操作后,信息小组接到了编程演示的任务。 为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。 代码如下: importturtle turtle.bgcolor("black") colors=["red","green","blue","yellow"] forx①range(100): turtle.pencolor(colors[x%4]) turtle.circle(x) turtle.left(90) 请分析任务,完成下列题目。 (1)程序中①处应填写(________)。 A.printB.inputC.inD.colors (2)程序中x%4的作用是(________)。 A.计算x乘以4的结果 B.计算x除以4的整数部分 C.计算x除以4的小数部分 D.计算x除以4的余数 (3)执行此程序,绘制出圆形的总颜色数是(________)。 A.1B.4C.5D.100 (4)执行此程序,绘制出圆形的总个数是(________)。 A.1B.4C.99D.100 (5)此程序属于程序设计结构中的(________)。 A.顺序结构B.分支结构 C.循环结构D.跳转结构 23.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢? 请帮小金完成代码编程. defconvert(s): m=0 le=len(s) key=s[le-1] ifkey=="B": n=2 elifkey=="D": _______ else: n=16 i=0 whilei<=le-2: c=s[le-1-i] ifc>="0"andc<="9": a=ord(c)-ord("0") elifc>="A"andc<="F": a=ord(c)-ord("A")+10 _____________ i+=1 returnm s=input("请输入算式") result=0;suanfu1="";suanfu2="";s1="" foriinrange(len(s)): c=s[i] ifc=="+"orc=="-"orc=="=": __________ suanfu1=suanfu2 suanfu2=c ifsuanfu1=="": result=t ifsuanfu1=="+": result=result+t ifsuanfu1=="-": result=result-t s1="" else: s1=s1+c print("计算结果为"+str(result)+"D") (1)将程序横线处补充完整 (2)如输入“1110B+10D-30H=”则输出结果为___________。 24.奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。 “奇校验”的原理: 在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。 例如: 接收到的每个字节及校验码 1的个数 传输正误 100101001 4 错误 011010101 5 正确 101011010 5 正确 根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。 请回答下列问题: (1)若接收到的二进制码为“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 Python 解析 图文 程序 填空 阅读 试题