第2章算法与程序实现2024—2025学年高中信息技术人教/中图版(2019)必修1

2024-08-02
| 11页
| 45人阅读
| 0人下载

内容正文:

第2章 算法与程序实现 一、选择题 1.以下哪个选项正确描述了算法的可行性(   ) A.算法可以在无限时间内完成 B.算法可以在有限时间内完成 C.算法可以在任何计算机上执行 D.算法可以解决所有问题 2.以下哪项不是编程中的错误处理方法(   ) A.忽略错误 B.使用try-except块 C.返回错误代码 D.重启计算机 3.在Python中,以下哪个语句可以正确实现多重赋值(   ) A.a = b =c= 1 B.a = 1; b = 2;c= 3 C.a = (1, 2, 3) D.a = b =c= [1, 2, 3] 4.在算法流程图中,表示算法判断框图的是(   ) A. B. C. D. 5.执行以下程序段后,数组元素 a(4)的值为(   ) a=[] for k in range(10):     f=k%2     if f==0:         a.append(0)     else:         a.append(1)     for j in range(1,k+1):         if f==0:             a[k]+=1         else:             a[k]*=j A.6 B.4 C.2 D.1 6.有如下 Python 程序段: money=float(input("购物总额:")) if money >1000:     pay=(money-1000)*0.9+950 else:     pay=money*0.95 print('应付款:',pay) 若要测试所有分支结构的程序代码是否正确,下列测试数据中最恰当的是(   ) A.500,800 B.800,1000 C.1000,1200 D.1200,1500 7.在Python中,以下选项中可以作为变量名的是(   ) A.1A B.for C.X_2 D.A+B 8.海伦公式用到了开平方的函数,而这个函数在一个叫math的Python标准库中,函数名为(   ) A.input() B.float() C.sqrt() D.print() 9.要求所有两位数质数应选择(   ) A.迭代法 B.顺序法 C.二分查找法 D.穷举法 10.下面两个Python程序的运行结果分别是(  ) A 4 3 1 0 4 3 B 4 3 1 4 3 C 4 3 4 3 1 0 D 4 3 2 1 4 3 2 1 A.A B.B C.C D.D 11.以下问题中,适合利用分支结构求解的是(    ) A.统计班级学生的平均身高 B.判断一元二次方程解的个数 C.计算10!=123…10 D.计算圆周率,保留100位小数 12.程序是(   ) A.解决某个问题的文档资料 B.计算机的基本操作 C.解决某个问题的计算机语言的有限命令的有序集合 D.计算机语言 13.某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是(  ) A.3,4 B.3,5 C.8,13 D.8,15 14.在使用流程图描述算法时,表示分支结构应使用的符号框为(   ) A.矩形框 B.菱形框 C.平行四边形框 D.椭圆形框 15.Python语言语句块的标记是(    ) A.分号 B.冒号 C.缩进 D.大括号 16.以下算法的输出结果是(        ) A.15 B.51 C.69 D.96 17.下列选项中没有体现递归思想是(  ) A. B. C. D. 18.若m= "浙江",w=3,则以下流程图描述的算法执行结果是(   ) A.10 B.15 C.25 D.35 二、填空题 19.填空题:在Python中,使用 可以创建一个函数。 20.在人工智能中, 是指机器对人类语言的理解和生成能力。 21.在非数值计算中, 可以用来快速确定一个元素是否存在于一个集合中。 22.某超市举办年中促销活动,顾客一次性购买商品的金额若在500元以内(包括500元),打9折。若超过500元,打8折。其中x表示顾客购买商品的金额,y表示应付款。请编程计算应付款y。 x=float(input("请输入顾客购买商品的金额:")) x<=500:     y=x*0.9 else:     y=x*0.8 print("应付款为:",y) 23.将高级语言源程序翻译成机器语言通常有 和 两种方式。 24.编写Python程序时,下列表达式应写成( ) 三、判断题 25.在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。( ) 26.python程序中,乘除运算的优先级高于加减运算。( ) 27.在使用Python语言编写程序时,注释不会影响程序结果,所以没有必要写。( ) 28.利用编程解决问题的第一步是设计算法。( ) 29.print(1+"2")的输出结果是"3"( ) 30.执行程序时,程序中的每一条语句至少要运行一次。( ) 四、操作题 31.“完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如6的因子为1,2,3,而6=1+2+3,所以6是完数。完善程序,求100以内的完数。 def wanquanshu(x):     s=0     for i in range(1,① ):         if x% i==0;           s=  ②     if ③ :         print(x) for j in range(2,101):     wanquanshu(④ ) 32.利用身份证号码可以推算出年龄、性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为年份除以12所得余数与下表所对应的值取得。例如:小吴2008年出生,则年龄为2024-2008=16岁,2008除以12所得余数为4,根据对应表生肖为鼠。 鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪 4 5 6 7 8 9 10 11 0 1 2 3 实现上述功能的部分程序代码如下,请回答下列问题: sfz=input("请输入18位身份证号:") sx=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] #计算年龄: year = age = 2024 - year                            #计算该身份证主人当年年龄(取2024年) #判断性别: F_sex = int(sfz[-2]) if :                       #判断性别的数字奇数为男性,偶数为女性 sex = "男" else: sex = "女" #判断生肖: anl = print("年龄是:",age,"性别是:",sex,"生肖是:",anl) (1)小王是2000年出生的,根据题目所给的算法,他的生肖是 (2)请在划线处填入合适的代码。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题考查算法相关内容。一个算法应该具有五个重要的特征:(1)有穷性: 一个算法必须保证执行有限步之后结束;(2)确切性:算法的每一步骤必须有确切的定义;(3)输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;(4)输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;(5)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题答案是B选项。 2.D 【详解】本题考查编程基础知识。在编程中,错误处理方法通常包括忽略错误、使用try-except块以及返回错误代码等。重启计算机并不是一种编程中的错误处理方法,而是对系统级问题的一种处理方式。因此,选项D不是编程中的错误处理方法。故选D。 3.A 【详解】本题考查Python赋值语句。A选项正确,它实现了将数值1同时赋值给a、b、c。B选项错误,在Python中不使用分号来分隔多条赋值语句。C选项错误,a=(1,2,3)是将元组(1,2,3)赋值给a,并非多重赋值。D选项错误,它实现了将列表[1,2,3]同时赋值给a、b、c。故答案为:A。 4.A 【详解】本题考查算法流程图相关内容。用流程图描述算法时,椭圆不是算法流程图基本元素,圆角矩形表示开始或结束;用表示输入或输出;用表示处理过程; 用表示条件判断,故本题答案是A选项。 5.B 【详解】本题考查程序分析。该程序功能为:偶数下标计数,奇数下标累乘,答案为4。故正确答案为:选项B。 6.C 【详解】本题考查Python程序设计相关内容。若要测试所有分支结构的程序代码是否正确,则应在两个范围内分别取值,即大于1000的值和小于等于1000的值,四个选项中,只有C选项(1000,1200)符合要求。故本题答案是C选项。 7.C 【详解】本题考查Python变量相关内容。变量的命名要符合标识符规定,即:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。A选项, 以数字开头,错误;B选项,for为关键字,错误;C选项,符合标识符规定,正确;D选项,含有“+”,错误。故本题答案是C选项。 8.C 【详解】本题考查Python基础。开平方的函数名为sqrt。故选择C。 9.D 【详解】本题考查算法相关内容。迭代算法也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。顺序查找法(也称为线性查找),是一种基本的查找算法,它的工作原理是从数据序列的第一个元素开始,逐个比较每个元素,直到找到要查找的数据,或者检查完整个数据序列。二分法是在一个有序的数据集中,把数据集分成两部分,分别进行搜索,得到满足要求的数据。枚举(穷举)算法通过列举问题所有可能的解,并逐一检查每个解是否满足问题的条件。要求所有两位数质数应选择穷举法。故本题答案是D选项。 10.C 【详解】本题考查Python程序设计相关内容。“break”和“continue”在编程中都是用来控制循环的关键字,但它们的使用场景和效果有所不同:(1)使用场景。“continue”通常用于当循环中的某些条件被满足时,需要跳过当前循环,继续下一次循环的场景;“break”通常用于当循环中的某些条件被满足时,需要立即退出循环的场景。(2)效果。使用“continue”后,循环会立即跳到下一轮,不会执行本轮循环中“continue”后面的语句;使用“break”后,整个循环会立即结束,不论是否已经完成所有的循环。两个程序段均采用while循环,第一个使用break进行转向,第二个使用continue进行转向。使用break时,若n==2成立,则结束循环,所以第一个程序段输出结果为:4 3;使用continue时,若n==2成立,则结束本次循环,再去判断循环条件n>0是否成立,若成立,继续执行循环体,若不成立,结束循环,所以第二个程序段输出结果为:4 3 1 0。故本题答案是C选项。 11.B 【详解】本题考查程序结构相关内容。分支结构是指根据条件的不同选择执行不同的代码块。程序员需要根据不同的条件编写不同的代码块,并使用条件语句判断条件的真假。分支结构适合于处理分支逻辑,如用户输入的不同命令、不同的错误处理等。ACD选项适合用循环结构解决,B选项适合用分支结构解决。故本题答案是B选项。 12.C 【详解】本题考查的是程序的定义。用某种计算机程序设计语言编写的指令、命令和语句的集合是程序,是能够完成一定任务的一条条指令的集合。故本题应选C。 13.C 【详解】本题考查算法流程图相关内容。分析流程图,可知:循环进行2次,第一次循环后a=3,b=5;第2次循环后a=8,b=13。此时循环终止,故本题答案是C选项。 14.B 【详解】本题考查算法流程图相关内容。菱形框用于条件判断,矩形框用于计算和赋值,圆形框用于开始和结束,平行四边形用于输入输出。故本题答案是B选项。 15.C 【详解】本题考查Python语句块的标记。在Python语言中,语句块(如条件语句、循环语句、函数定义等)的标记是通过缩进来实现的。故答案为:C。 16.D 【详解】本题考查算法流程图相关内容。该流程图功能是比较字符型数据a与b的大小,若a>b成立,则将a与b连接起来,形成新字符串x,a前b后;若不成立,则将b与a连接起来,形成新字符串x,b前a后。“6”不大于“9”,则x为“96”。故本题答案是D选项。 17.C 【详解】本题考查递归思想相关内容。递归的基本思想,是把规模较大的一个问题,分解成规模较小的多个子问题去解决,而每一个子问题又可以继续拆分成多个更小的子问题,最重要的一点就是假设子问题已经解决了,现在要基于已经解决的子问题来解决当前问题;或者说,必须先解决子问题,再基于子问题来解决当前问题,在具体实现时候的体现就是调用自身。ABD体现了递归思想,C选项并未体现递归思想。故本题答案是C选项。 18.D 【详解】本题考查的知识点是流程图算法分析。m= "浙江",w=3,第一个判断执行N分支,第二个判断执行N分支,15+(w-1)*10=15+(3-1)*10=35。故答案为D选项。 19.def 【详解】本题考查Python函数的创建。在Python中,使用def关键字可以创建一个函数。函数定义的基本语法是def 函数名(参数):,然后在下一行缩进的代码块中编写函数体。 20.自然语言处理 【详解】本题考查人工智能。 在人工智能中,自然语言处理(NLP,Nature Language Processing)是指机器对人类语言的理解和生成能力。NLP是计算机科学领域和人工智能领域的一个重要方向,它致力于让机器在理解语言上像人类一样智能,从而弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。故正确答案为:自然语言处理。 21.哈希表 【详解】本题考查哈希表的描述。在非数值计算中,哈希表(Hash Table)是一种常用的数据结构,可以用来快速确定一个元素是否存在于一个集合中。哈希表通过哈希函数将元素的键值映射到表中的一个位置,从而实现快速查找、插入和删除操作。由于哈希表的平均时间复杂度为O(1),因此在需要频繁查找元素的场景中非常高效。 22.if 【详解】本题考查Python程序。程序中需要根据输入的购买商品金额x来确定应付款y的计算方式。使用if语句进行条件判断,如果x<=500,则执行y=x*0.9;否则(即x>500),执行y=x*0.8。所以此处应填if,以实现根据不同条件计算应付款的功能。故答案为:if。 23. 解释 编译 【详解】本题考查程序的描述。将高级语言源程序翻译成机器语言通常有解释和编译两种方式。 24. x=(a-b)/(2*a) 【详解】本题主要考查Python表达式的运算。编写Python程序时,乘运算符是*,因此该表达式应写成x=(a-b)/(2*a)。 25.正确 【详解】本题考查的是算法结构。选择结构会依据条件选择其中一个分支执行。在用乘车卡乘车时,当卡内余额不足,系统会给出提示信息,请乘客投币。在对这一过程设计算法时,必须要用到算法的选择结构。说法正确。 26.正确 【详解】本题考查Python运算符相关内容。在Python中,算术运算符有:加、减、乘、除、取余等。乘除运算的优先级高于加减运算。故本题答案是:正确。 27.错误 【详解】本题主要考查Python注释语句。在Python程序中,注释语句可以增强程序的可读性,写注释非常有必要。题干说法错误。 28.错误 【详解】本题考查利用编程解决问题的步骤相关内容。利用编程解决问题的一般过程为:分析问题、设计算法、编写程序、调试运行,故本题答案是:错误。 29.错误 【详解】本题考查数据类型相关内容。1为int类型,"2"为字符串类型,两者类型不一致,不能进行加法运算。故本题答案是错误。 30.错误 【详解】本题考查的是程序相关知识。在选择语句中,有些语句可能没有运行。故题干中说法错误。 31. x s+i s==x j 【详解】本题主要考查Python程序的综合应用。①range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。所有的真因子(即除了自身以外的约数),故此处填:x。②如果i是x的真因子,则将i累加到变量s中,故此处填:s+i。③完全数是一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,此处判断x与s是否相等,故填:s==x。④处,通过循环变量j依次枚举判断,故此处填:j。 32. int(sfz[6:10])或int(sfz[-12:-8]) F_sex%2==1或F_sex%2!=0 sx[(year-4)%12]或sx[(year+8)%12] 龙 【详解】本题主要考查Python程序的综合应用。①切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。身份证号码第七位到第十位表示出生年份,故填int(sfz[6:10])或int(sfz[-12:-8])。②奇数 为 男性 , 偶数 为 女性,故此处填F_sex%2!=0 或 F_sex%2!==1。③ 生肖为出生年份整除12所得余数与表中所对应的值取得,故此处填sx[(year-4)%12]或sx[(year+8)%12]。④(2000+8)%12=4,故sx[4]="龙"。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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