1、高中信息技术期学科Python语言基础期末考试图文word程序填空阅读填空程序试题高中信息技术期学科Python语言基础期末考试图文word程序填空阅读填空程序试题一、程序填空1小敏有10万元本金,想要购买银行保证收益型理财产品。每年到期后连本带利仍购买此种理财。请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。(例如输人:5.15%,输出:14年后收益超过本金。)1 s=input(请输入年利率:)2 rate=float(s:-1)*0.013 money=1000004 year=05 while moneyn),用m除以n得到余数r,若余数r不
2、为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。描述一描述二描述三输入两个正整数m,n(mn);计算m除以n所得的余数r;m=n,n=r;若r=0,则m,n的最大公约数等于m;否则转到步骤;输出最大公约数m;结束。(1)描述一是_描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。(2)在描述三中代码4到6行作用是_。(3)在描述三程序设计中,补充代码第8行划线处为_。18(项目情境)递归就是自己调用自己
3、,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=12345,规定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!
4、 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的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。def f(n): if n=0: return 1 else: return _s=0n=int(input(请输入n:)for i in_: s=_print(s)19学校开展“奇妙的数字”研究性学习活动。张轩小组
5、4人决定把课题定为探秘水仙花数。(1)张轩使用XX搜索引擎搜索到“水仙花数”是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153 = 13+53+33,那么这个数就是一个“水仙花数”。XX属于_搜索引擎(全文,分类)(2)为了求解100-999这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设计,并使用python编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:k是可以重新赋值的,k是变量还是常量?_程序中处有空缺,请补充完整处的代码。_程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做_(解析法,枚
6、举法,递归法,二分法)。(3)在研究成果展示环节, 张轩小组可以使用什么软件制作探秘水仙花数的研究成果报告? (_)20学习了Python绘制图形操作后,信息小组接到了编程演示的任务。为此,小组同学编写了一段代码,绘制出多个不同颜色的圆形。代码如下:import turtleturtle. bgcolor(black)colors=red, green, blue, yellowfor x range(100):turtle. pencolor(colorsx%4)turtle. circle(x)turtle. left(90)请分析任务,完成下列题目。(1)程序中处应填写(_) 。Apri
7、nt Binput Cin Dcolors(2)程序中x%4的作用是(_)。A计算x乘以4的结果B计算x除以4的整数部分C计算x除以4的小数部分D计算x除以4的余数(3)执行此程序,绘制出圆形的总颜色数是(_)。A1 B4 C5 D100(4)执行此程序,绘制出圆形的总个数是(_)。A1 B4 C99 D100(5)此程序属于程序设计结构中的(_)。A顺序结构 B分支结构C循环结构 D跳转结构21小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金突发奇想,能不能用python程序来完成这些作业呢?请帮小金完成代码编程.def convert(s): m=0 le=len
8、(s) key=sle-1 if key=B: n=2 elif key=D: _ else: n=16 i=0 while i=0and c=Aand c=F: a=ord(c)-ord(A)+10 _ i+=1 return ms=input(请输入算式)result=0;suanfu1=;suanfu2=;s1=for i in range(len(s): c=si if c=+ or c=- or c=: _ suanfu1=suanfu2 suanfu2=c if suanfu1=: result=t if suanfu1=+: result=result+t if suanfu1=
9、-: result=result-t s1= else: s1=s1+cprint(计算结果为+str(result)+D)(1)将程序横线处补充完整(2)如输入“1110B+10D-30H=”则输出结果为_。22奇偶校验码是一种增加二进制传输系统可靠性的简单且广泛采用的方法,该方法通过增加一个校验位使得传输的二进制码中“1”的个数恒为奇数或偶数,因此该校验码也分为“奇校验”和“偶校验”。“奇校验”的原理:在发送端发送的每个字节二进制码后增加一个校验位(0或1),使得“1”的个数为奇数;接收端接收并统计每个字节及其校验位中“1”的个数,若为偶数,则意味着传输过程中存在差错。例如:接收到的每个字
10、节及校验码1的个数传输正误1001010014错误0110101015正确1010110105正确根据以上原理,小强编写了一个Python程序,对接收到的9位二进制编码进行“奇校验”,判断其传输的正误,若判断正确则将前一个字节的编码转成十六进制并输出。请回答下列问题:(1)若接收到的二进制码为“101011011”,传输过程_(选填:是/否)存在差错。(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。s=input(请输入9位二进制编码:)code=10:A,11:B,12:C,13:D,14:E,15:Fk=0;p=0;ans=“”for i in s:#统计9位二进制编码
11、中“1”的个数k=k+int(i)if _:print(传输错误!)else:print(传输正确!)for j in range(0,8,4):p=int(sj:j+4,2)# int(x,base):将x(字符串或者数字)按照base进制转换成整数if 0=p9): #计算时长费用6 Tot1=(T-9)*0.27 if(S=3.3): #算里程费用8 Tot2-89 else:10 Tot2=8+(S-3.3)*1.3511 Cost-Totl+tot212 print(Cost) #输出总车费(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:_。NameError Traceback(most recent call last)ipython-input-2-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1