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

2024-08-06
| 13页
| 97人阅读
| 0人下载

内容正文:

第三单元 算法和程序设计 一、选择题 1.在算法设计中,确保算法能够在有限步骤后终止的特性称为(   ) A.可行性 B.确切性 C.有穷性 D.输入性 2.流程图描述的算法输出的是(   )种图形。 A. B. C. D. 3.如图所示算法,分别输入学生成绩score和等级grade:57和“C”,70和“C+”时,输出结果分别是(   ) A.57、70 B.“请努力”、“请努力” C.57、“请努力” D.“请努力”、70 4.列表a的初值如表所示,流程图描述算法执行结果是(   ) a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] -10 0 1 3 4 9 6 10 A.8 B.6 C.1 D.9 5.流程图描述算法的功能是(   ) A.求1+4+7+…+100的值 B.求1*4*7*…*100的值 C.求1+4+7+…+97的值 D.求1*4*7*…*97的值 6.已知列表L=[2,4,6,8,10],则元素L[2]的值是(    ) A.2 B.4 C.6 D.10 7.小王同学写了Python程序,来判断一行诗是否为回文诗句,代码如下: s=input("请输入一句古诗:") if : print(s,"是回文诗!") else: print(s,"不是回文诗!") 加框处代码可替换为以下哪个选项,以实现相同功能(    ) A.s==s[len(s)-1:0:-1] B.s==s[-1:-len(s)+1:-1] C.s[:len(s)//2]==s[-1:(len(s)-1)//2] D.s[:len(s)//2]==s[-1:-(len(s)//2)-1:-1] 8.变量是在程序运行过程中值允许改变的量。以下可以用作python变量名的是(   ) A.import B.Student 5 C.3dmax D.abc#123 9.数组元素a[0]至a[n-1]依次存放着n个不重复的正整数。现要在数组a中按顺序找出一组升序子序列,可以是不连续,但要求长度最长(若有多个长度相等的最长子序列时,输出第一个)。 例如:数组a的值为[2,11,4,13,5,17],其中最长的升序子序列是[2,11,13,17]。实现该功能的程序段如下。 a=[2,11,4,13,5,7] n=len(a);ans=[] d=[[1,-1]for i in range(n)] #d[i]包含2个数据项,d[i][0]记录i位置结尾的最长升序子序列的长度 #d[i][1]记录i结尾的最长升序子序列前一数据的索引位置 for i in range(1,n):     for j in range(i):         if  a[j]< a[i]and :                          d[i][1]=j maxlen=0;k=-1 for i in range(n):     if d[i][0]>maxlen:         maxlen=d[i][0]         k=i while k!=-1:     ans.append(a[k])     k=d[k][1] print(ans[::-1]) ①d[i][0]<d[j][0]    ②d[j][0]>=d[i][0]    ③d[i][0]=d[i][0]+1    ④d[i][0]=d[j][0]+1 划线处应填的合适代码依次为(   ) A.①③ B.①④ C.②③ D.②④ 10.下列代码的运行结果为(   ) a=0 for i in range(1,10): a=a+i print(a) A.55 B.45 C.40 D.35 11.在 Python 语言中,a=2,b=6下列表达式返回值为True的是(   ) A.a!=b-4 and a==b-3 B.a>=b-5 or a+b>9 C.b<a+3 and a>=b+2 D.not a<b-1 or b>a+5 12.有如下Python程序段: x,y,z=5,3,4 s=0 if x>y:     s=x elif y>z:     s+=z s-=5 print(s) 上述程序段运行之后s的值是(   ) A.0 B.-5 C.-1 D.5 13.如下是计算圆的周长与面积的算法,其描述方式是(   ) ①输入半径r ②求周长c=2πr ③求面积s≡πr2 ④输出周长和面积 A.流程图 B.自然语言 C.程序代码 D.项目式 14.算法每个步骤的运算都有明确定义,且计算结果是唯一的。这体现算法的特征是(   ) A.可读性 B.可行性 C.确定性 D.有穷性 15.有如下 Python 程序段: import random n=6;a=[0]*n;i=0 while i<n:   k=random.randint(1,10)   if k%5==0:       i-=1   elif k%3==0:       a[n-1]=k       n=n-1;i+=1   else:       a[i]=k   i=i+1 执行该程序段后,列表a中的各元素可能的是(    ) A.[8,0,0,3,1,6] B.[0,0,5,8,1,3] C.[1,4,0,0,6,7] D.[8,0,0,8,1,9] 16.有如下Python程序: a=[""]*10 s=input("请输入字符串:") a[0]=s[0] t=0 for i in range(1,len(s)):     if t>=0 and s[i]==a[t]:         t=t-1     else:         t=t+1    a[t]=s[i] 运行程序段,输入以下字符串,运行后变量t的值变化过程与其它三项不同的是(   ) A.BAABA B.AAABA C.AABAB D.BBABA 二、填空题 17.在Python中, 可以用来实现代码的复用。 18.如图所示算法,输入k是3,该算法输出结果是 。 19.Python语句list(range(1,10,3))执行结果为 。 20.已知a=5,那么(a>2)*a*2的值是( ) 21.已知足球场长度105.16米,宽度68.16米,请使用Python编写一段程序,计算出足球场的面积多少平方米? 下面是部分程序代码,请将程序补充完整并确保程序能正确运行。 a=105.16 b=68.16 print(a,b,s) 三、判断题 22.已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值一定为True。( ) 23.Python字典中的“键”可以是列表、元组、数字、字符串( ) 24.列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。( ) 25.网络爬虫是种程序或脚本,通过它可以将非结构化数据从网页中抽取出来,并以结构化的方式存储为本地数据文件。( ) 26.程序是用某种程序设计语言编写的,可以被计算机执行的指令序列。( ) 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题考查算法相关内容。算法被描述为解决问题的一系列有序步骤,这些步骤需要满足一些基本的特性以确保算法的有效性和正确性。有限性:算法必须在有限的时间内完成,即算法必须包含有限个步骤。这意味着算法不能陷入无限循环或其他无限的操作中。确定性:算法的每个步骤都必须是明确且没有歧义的。也就是说,对于算法中的每个步骤,都必须有确切的定义和明确的操作方式。可实现性: 算法中的每一个步骤都必须是可行的,也就是说,它们必须能够在某个计算模型(如图灵机)下被精确执行。这包括使用明确定义的操作和数据结构。另外,算法的描述不应有歧义,即不同的人应该能够按照相同的步骤来执行算法。有输入:算法应该有零个或多个输入,这些输入是算法开始执行前所需要的已知条件或数据。有输出:算法应该有一个或多个输出,这些输出是算法执行后得到的结果。这些结果应该是算法执行前未知的,或者是从输入数据经过计算后得到的新信息。可行性:算法中的操作必须是可以在实际环境中执行的,这包括时间可行性和空间可行性。也就是说,算法的执行时间必须是可接受的,并且它所使用的存储空间也必须在可接受的范围内。确保算法能够在有限步骤后终止的特性称为有穷性。故本题答案是C选项。 2.A 【详解】本题考查算法分析。 该算法功能为外循环i=1控制行,i<=5控制5行输出。内循环k=1控制列,k>10控制输出10列,当k为奇数时,输出白五星,否则输出黑五星。故正确答案为:选项A。 3.D 【详解】本题考查算法流程图相关内容。分析流程图,学生成绩score和等级grade:57和“C”,判断条件成立,执行输出“请努力”操作;学生成绩score和等级grade:70和“C+”,判断条件不成立,执行输出成绩score操作,即:70。故本题答案是D选项。 4.B 【详解】本题考查流程图。程序运行过程如下。最终输出i的值为6。故答案为:B。 t i 0 1 0 2 0 3 0 4 0 5 0 6 1 6 5.D 【详解】本题考查流程图。流程图中,通过循环从1开始,每次增加3,当值超过97时停止循环。在循环中进行累乘操作。所以该流程图是求1*4*7*…*97的值。故答案为:D。 6.C 【详解】本题考查列表。给定列表L=[2,4,6,8,10],要找出索引为2的元素的值。列表的索引从0开始计数,所以:L[0]对应的元素是2;L[1]对应的元素是4;L[2]对应的元素是6。因此,元素L[2]的值是6。故答案为:C。 7.D 【详解】本题考查Python程序。要判断一个字符串是否为回文,需要比较字符串的前半部分和后半部分的逆序是否相等。我们分析各选项的含义:s==s[len(s)-1:0:-1]:这段代码从倒数第二个字符开始逆序到第一个字符,少比较了第一个字符和最后一个字符,错误。s==s[-1:-len(s)+1:-1]:这段代码从最后一个字符逆序到第二个字符,少比较了第一个字符,错误。s[:len(s)//2]==s[-1:(len(s)-1)//2]:这段代码将字符串前半部分和后半部分进行比较,但后半部分的索引不正确,错误。s[:len(s)//2]==s[-1:-(len(s)//2)-1:-1]:这段代码将字符串前半部分与后半部分的逆序进行比较,正确。因此,加框处代码可替换为D选项。故答案为:D。 8.B 【详解】本题考查变量。import是系统保留字不能用作变量名;3dmax,第一位只能用字母或下划线;abc#123,符号可用作变量名的只有下划线,不能包含“#”。故答案为:B。 9.D 【详解】本题考查程序分析。if语句判断条件不完整,根据题意该语句要判断当i的前面位置序列长度大于等于i位置上的长度,则i位置上的序列更新为前面位置序列长度加1。故符合条件的选项为D。 10.B 【详解】本题考查Python程序设计相关内容。range函数用于生成一个整数序列,其语法是range(start, stop[, step])。其中start是序列的起始值,stop是序列的结束值(不包括),step是步长,默认为1,即序列中相邻两个数的差。分析程序段,i的取值范围是[1,9],程序段作用是1--9计算的和,结果为45,故本题答案是B选项。 11.B 【详解】本题考查Python运算符与表达式相关内容。A选项,a!=b-4 and a==b-3-->2!=2 and 2==3-->False。B选项,a>=b-5 or a+b>9-->2>=1 or 8>9-->True。C选项,b<a+3 and a>=b+2-->6<5 and 2>=8-->False。D选项,not a<b-1 or b>a+5-->not 2<5 or 6>7->False。故本题答案是B选项。 12.A 【详解】本题考查Python程序。x>y成立,故s的值是5,条件语句结束后,s=s-5,因此s=0。故答案为:A。 13.B 【详解】本题考查算法的描述方法。算法的描述方法有:自然语言、程序代码、伪代码以及流程图。自然语言(Natural language)通常是指一种自然地随文化演化的语言。从题中可知,所用的算法描述方法是自然语言。故选:B。 14.C 【详解】本题考查算法相关内容。算法是指为解决某个特定问题而采取的方法和步骤。这里所说的算法一般是指用计算机解决问题的方法和步骤,即计算机算法。一个算法的设计具备如下特点:(1)有穷性。它包含两个方面:一方面是指一个算法应在有限的操作步骤内完成;另一方面是指算法操作应在有限的时间范围内完成;(2)确定性。算法中的每一个步骤都是确定的,即不能有二义性,这样才能确保对于同一个算法,相同的输入必然得出相同的执行结果;(3)有零个或多个输入。输入是指算法所需要的外部信息。在计算机上实现的算法,是用来处理数据对象的,在大多数情况下这些数据对象需要通过输入来得到;(4)有一个或多个输出。算法是有目的的操作,算法的目的是为了求解,这些解只有通过输出才能得到。没有输出的算法是没有意义的;(5)有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。算法每个步骤的运算都有明确定义,且计算结果是唯一的。这体现算法的特征是确定性。故本题答案是C选项。 15.D 【详解】本题考查Python随机数、程序设计等相关内容。通过分析代码段,可知:当k=5或10时,a列表元素值不会出现5或10,B选项错误;当k=3、6、9时,a[5]元素值为对应的3、6、9,C选项错误;当列表元素前有两个0(未被修改)出现时,其列表最后的两个元素值应该是3、6、9中的一个,A选项错误。故本题正确答案是D选项。 16.A 【详解】本题考查的是Python程序设计相关内容。t初始值为0,a(t)为第一个字符,从第2个字符开始判断,如果与a(t)相同而且t>=0,则t=t-1,否则t=t+1,a(t)更新为新字符。输入:BAABA,t值变化过程为:1、0、1、2;输入:AAABA,t值变化过程为:-1、0、1、2;输入:AABAB,t值变化过程为:-1、0、1、2;输入:BBABA,t值变化过程为:-1、0、1、2。故本题答案为A。 17.函数和模块 【详解】本题考查Python函数的描述。在Python中,函数和模块是实现代码复用的主要方式。函数通过定义可重复使用的代码块来实现复用,而模块通过将相关的函数、类和变量组织在一起,方便在不同的程序中导入和使用。 18.24 【详解】本题考查算法分析。 该程序功能累加从3开始到10之间的所有奇数的和给变量S。即S=3+5+7+9=24。故正确答案为:24。 19.[1,4,7] 【详解】本题考查Python。range函数的语法是range(start,stop,step),它生成一个从start开始、到stop(不包括stop)结束、步长为step的整数序列。对于list(range(1,10,3)),参数为1(起始值)、10(终止值,不包括)、3(步长),生成的序列为1,4,7。因此,执行该语句的结果是[1,4,7]。故答案为:[1,4,7]。 20.10 【详解】本题考查Python表达式的运算。在Python中,布尔值可以被转化为数值,True是1,False是0。已知a=5,a>2值为True,即为1,因此(a>2)*a*2的值是10。 21.s=a*b 【详解】本题考查的是Python顺序结构。面积=长*宽,由print(a,b,s)面积存储在s中,故划线处代码为:s=a*b。 22.错误 【详解】本题考查Python集合数据类型的描述。已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值不一定为True,也有可能A=B。故表述错误。 23.错误 【详解】本题考查Python基础。 列表(list)由于是可变的(可以添加、删除或更改其中的元素),因此不能用作字典的键。故错误。 24.正确 【详解】本题考查Python基础。 在Python中,列表(list)对象的extend()方法是一个原地操作,意味着它直接在原列表上添加元素,而不是创建并返回一个新的列表。因此,调用extend()方法前后,列表对象的内存地址保持不变。故正确。 25.正确 【详解】本题考查网络爬虫。网络爬虫就是一种能够按照一定的规则,自动地抓取万维网信息的程序或者脚本。它能够从网页中提取出所需的非结构化数据,并将其整理成结构化的形式,存储为本地的数据文件,以便后续的分析和处理。故说法正确。 26.正确 【详解】本题考查计算机程序。编写程序时,程序员需要选择适当的程序设计语言,并使用该语言的语法和规则来编写指令。然后,这些指令被编译器或解释器转换为计算机可以直接执行的机器代码。程序在计算机上运行时,会按照程序员编写的指令序列逐步执行,从而完成特定的任务或解决特定的问题。故题干说法正确。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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