2.1 算法的概念及描述 同步练习(含答案)2024-2025学年高中信息技术浙教版(2019)必修一

资源下载
  1. 二一教育资源

2.1 算法的概念及描述 同步练习(含答案)2024-2025学年高中信息技术浙教版(2019)必修一

资源简介

2.1 算法的概念及描述
一、选择题
1.算法的特征包括下列哪几项。( )
A.有穷性 B.复杂性 C.可行性 D.确定性
2.在深度优先搜索中,我们首先访问一个节点,然后尽可能深地搜索其子节点,直到无法继续为止。然后回溯到上一个节点,继续搜索其它子节点。这种搜索策略的一个主要特点是它会深入探索任何一个分支。请问,这种搜索策略通常用于解决哪类问题( )
A.寻找最短路径问题 B.解决迷宫问题
C.拓扑排序问题 D.寻找最大公约数问题
3.下列关于算法描述,正确的是( )
A.一个算法的执行步骤可以是无限的 B.一个完整算法必须要有输入
C.一个完整算法必须要有输出 D.算法只能用流程图表示
4.符号运算中的“蕴含”关系通常用哪个符号表示( )
A.∧ B.∨ C.→ D.
5.计算圆面积的算法可描述为 ①输入圆半径r ,②计算圆面积s= ,③输出结果s ,④结束,这个算法属于( )
A.枚举算法 B.排序算法 C.递归算法 D.解析算法
6.计算机解决问题的步骤和方法是( )
A.编程 B.分析 C.算法 D.抽象建模
7.有关算法理解错误的是( )
A.算法必须要有数据的输出
B.算法是计算机解决某一问题的方法,且需要使用某种方法进行精确地描述
C.解决某一个实际问题的算法可以有无限个步骤
D.算法的步骤不能出现歧义
8.“洗衣机的洗衣流程”情境问题,洗衣机模拟人洗衣的过程,自动执行洗衣程序,节省了大量的人力,这主要归功于由算法控制的机器设备。算法指在有限步骤内解决问题所使用的方法,从下图2的“洗涤算法”中,可以看出算法具有的特征是( )

图1 图2
A.无穷性 B.单一性 C.确定性 D.繁琐性
9.第一年有一头小母牛,每头小母牛从出生第四年起,每年生一头小母牛,按此规律,第10年时有( )头母牛。
A.13 B.15 C.19 D.28
10.i=3:s=1/(i-3) 无法执行,原因是它违反了算法特征中的( )
A.有穷性 B.唯一性 C.可行性 D.确定性
11.某算法部分流程图如图所示,在流程图空白处填入一组代码,使输出结果sum与表达式“2-4+6-8+…-100”值相同的是( )
①i=i+1 ②k=-k*2 B.①k=-k ②i=i+2
C.①i=i+2 ②k=-k D.①k=-k*2 ②i=i+2
12.下列问题无法用算法具体描述的是( )
A.求所有自然数中5的倍数之和 B.计算一元二次方程的根
C.百鸡百钱问题
D.随机产生10个50以内的自然数并按降序排列
13.下列关于流程图描述算法说法正确的是( )
A.流程图直观易懂,但容易产生二义性 B.流程图描述算法不直观、不清晰
C.流程图必须包含一个判断框 D.流程图中无须填写程序代码
14.某算法流程图如下图所示,若输入k的值为5,以下说法正确的是( )
A.程序运行结束后,s的值是2 B.循环体共执行了5次
C.程序结束后,t的值为-1 D.表达式i<k执行了5次
15.下列关于“洗涤算法”的描述,错误的是( )
A.洗涤算法中的每一步洗衣机都能理解并正确执行,体现了算法的确定性
B.洗衣任务完成,蜂鸣器发出鸣叫声,蜂鸣器鸣叫是一种输出
C.洗衣机能在有限的时间里完成洗衣任务,体现了算法的有穷性
D.在“快洗”模式中,进水时间、洗涤次数等都属于输入
二、填空题
16.为了确保算法的正确性,我们通常需要对算法进行 ,以验证其是否满足预期的功能要求。
17.在算法描述中,使用流程图可以直观地展示算法的 。
18.空间复杂度表示算法执行过程中所需存储空间的多少,通常与 相关。
19.在解析算法时,我们通常需要关注算法的 、正确性和效率。
20.深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。它使用 数据结构来存储待访问的节点。
21.算法是解决问题的方法,它具备有穷性、确定性、有零个或多个输入、有一个或多个输出、 等特征。
三、判断题
22.使用伪代码表示算法时,可以省略一些不必要的细节。( )
23.在伪代码中,通常不需要指定变量的类型。( )
24.计算机算法必须具有有穷性、确定性、有输入有输出和可行性。( )
25.算法有零个或多个输入、有一个或多个输出。( )
26.算法是解决问题的方法,是程序设计的核心和灵魂,算法中的每一步不一定都可以被分解为基本的可执行操作。( )
27.算法具有确定性,每个问题的解决,只有一种确定的算法。( )
四、操作题
28.算法是指在有限步骤内求解某一问题所使用的一组定义明确
的规则。某一个算法的描述如下:
①输入两个数A,B;
②如果A大于B,则A除以B的余数值赋给C;
③否则,则将B除以A的余数值赋给C;
④输出C;
⑤结束
(1)以上算法的描述属于哪一种: ;
(2)以上算法第②步用Python语言实现,下划线文字的代码可以写为: ;
(3)以上算法第③步用Python语言实现,下划线文字的代码可以写为: ;
(4)如果A的值是5,B的值是3,则执行完算法后,A的值是 ,C的值是 。
参考答案:
1.ACD
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选ACD选项。
2.B
【详解】本题考查算法。
寻找最短路径问题:虽然DFS可以用于找到路径,但它通常不是寻找最短路径的首选算法,因为DFS会深入探索任何一个分支,而不考虑路径的长度。
拓扑排序问题:拓扑排序通常用于有向无环图(DAG),以确保所有任务都按照正确的顺序执行。虽然DFS可以用于拓扑排序(通过记录节点的完成时间),但这不是DFS的主要应用场景。拓扑排序更常用的是基于Kahn算法或基于DFS的另一种变体(记录节点的开始时间)。
寻找最大公约数问题:这个问题与DFS无关。寻找最大公约数通常使用欧几里得算法(也称为辗转相除法)。
深度优先搜索通常用于解决迷宫问题等需要深入探索分支的问题。故正确答案为:选项B。
3.C
【详解】本题主要考查算法的描述。一个算法的执行步骤必须是有限的; 一个完整算法可以有零个或多个输入; 一个完整算法必须要有输出; 算法能用流程图、自然语言、伪代码等表示,故本题选C选项。
4.C
【详解】本题考查符号运算。“→”也可以表示蕴含关系,即如果前面的命题为真,那么后面的命题也为真(尽管这种用法不如条件关系常见)。但在某些逻辑系统中,“蕴含”确实是这样表示的。请注意,此题可能存在歧义,因为“蕴含”更常见的表示方法是使用条件语句,如“如果P,则Q”。然而,在给定的选项中,“→”是最接近“蕴含”关系的符号。因此,选择C作为答案。但在实际应用中,请务必注意符号的准确含义和上下文。故选C。
5.D
【详解】本题主要考查算法的描述。计算圆面积s可以用带入公式计算得到,属于解析算法,故本题选D选项。
6.C
【详解】本题考查计算机解决问题。计算机解决问题的步骤和方法涉及多个方面,包括分析问题、设计算法、编写程序等。在这些步骤中,算法起着关键作用。算法是一系列清晰而有序的指令,描述了如何执行特定任务或解决特定问题。通过设计和实现算法,计算机能够有效地解决各种问题。故答案为:C。
7.C
【详解】本题主要考查算法的描述。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选C选项。
8.C
【详解】本题考查的是算法特征。一个算法应该具有以下五个重要的特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。从图中可知,算法具有确定性。故本题应选C。
9.C
【详解】本题主要考查算法描述。根据题干规律,可列出如下表格,由表可知,第10年时有19头母牛,故本题选C选项。
10.C
【详解】本题考查的是算法特征。i=3:s=1/(i-3) ,除数为0,它违反了算法特征中的可行性,故应选项C。
11.B
【详解】本题考查的是流程图识读。输出结果sum与表达式“2-4+6-8+…-100”值相同的,判断条件为i<=100,故i=i+2要在sum=sum+i*k的后;要实现正负的切换,通过k=-k实现。故选B。
12.A
【详解】本题考查算法相关内容。一个算法应该具有的特征:(1)有穷性,一个算法必须保证执行有限步之后结束; (2)确切性,算法的每一步骤必须有确切的定义;(3)输入,一个算法有零个或多个输入,以刻画运算对象的初始情况;(4)输出,一个算法有一个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的;(5)可行性,算法原则上能够精确地运行。BCD符合算法特性,可以描述,A选项,不符合算法的有穷性,错误。故本题答案是A选项。
13.D
【详解】本题考查流程图相关内容。流程图描述算法,优点:形象直观,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现,并可以直接转化为程序。缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。流程图表示顺序结构时,不含判断框。ABC说法错误 。流程图是以特定的图形符号加上说明,表示算法的图,不需要填写程序代码。D选项正确。故本题答案是D选项。
14.D
【详解】本题考查的是流程图识读。观察流程图可知,该算法功能是计算s=1-2+3-……t-1的值。若输入k的值为5,s=1-2+3-4=-2,选项A说法错误;i从1到4,故循环体共执行了4次,选项B说法错误;程序结束后,t的值为1,选项C说法错误;i要从1判断到5,故表达式i<k执行了5次,选项D说法正确。故本题应选D。
15.D
【详解】本题主要考查算法的描述。在“快洗”模式中,进水时间、往洗衣机放衣物等都属于输入,洗涤次数不属于输入,故本题选D选项。
16.测试
【详解】本题考查算法相关内容。测试是验证算法正确性的常用手段,通过输入特定的测试用例来检查算法的输出是否符合预期。故本题答案是:测试。
17.逻辑结构
【详解】本题考查算法流程图相关内容。在算法描述中, 使用流程图是一种非常直观的方法来展示算法的逻辑结构。 流程图通过使用特定的图形符号和带箭头的线, 可以清晰地表示出算法中的顺序、 选择和循环等基本结构。 这种图形化的表示方法不仅使得算法的执行过程一目了然, 而且有助于理解和分析算法的逻辑流程。 故本题答案是:逻辑结构。
18.输入规模
【详解】本题考查算法相关内容。空间复杂度是衡量算法执行过程中所需存储空间大小的一种量度, 它与输入规模有关, 是评估算法效率的一个重要方面。 故本题答案是:输入规模。
19.可读性
【详解】本题考查算法。解析算法时,除了正确性和效率,还需要关注算法的可读性,即代码是否易于理解。故答案为:可读性。
20.栈
【详解】本题考查算法。
深度优先搜索使用栈这种数据结构来存储待访问的节点,以便实现后进先出的遍历顺序。故正确答案为:栈。
21.可行性
【详解】本题考查算法的描述。算法是解决问题的方法,它具备有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性等特征。
22.正确
【详解】本题考查伪代码。伪代码的目的是清晰地呈现算法的核心逻辑和主要步骤,而非追求完全详细和精确到编程语言的级别。因此,在不影响理解算法本质和流程的前提下,可以省略一些在特定编程语言中才需要关注的非关键细节。这样能更突出算法的重点和关键部分,使读者更容易把握算法的整体思路。故说法正确。
23.正确
【详解】本题考查伪代码。伪代码的主要目的是清晰地表达算法的逻辑和步骤,重点在于算法的思路和结构,而不是严格遵循编程语言中对变量类型的明确指定。它更侧重于以一种简洁和易懂的方式描述算法,让读者能够快速理解算法的核心内容。故说法正确。
24.正确
【详解】本题考查算法特征。有穷性,算法必须在有限的时间内完成,即算法的执行步骤是有限的,不能陷入无限循环中。确定性,算法的每一步骤都必须有明确的定义,不会出现模棱两可的情况。算法在相同的条件下,只有一条执行路径,相同的输入只会产生相同的输出。输入,算法有零个或多个输入,这些输入是算法开始执行前所必需的或外部提供的。输出,算法至少有一个输出,它是算法执行后产生的结果。算法的目的是为了求解某个问题或处理某个数据,并将处理结果以某种形式输出。可行性,算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数的基本运算实现,故根据题意说法正确。
25.正确
【详解】本题考查算法特征相关内容。算法基本特点:有穷性、可行性、确定性、输入(零或多个输入)、输出(有一个或多个输出)。故本题答案是:正确。
26.错误
【详解】本题主要考查算法的描述。算法是解决问题的方法,是程序设计的核心和灵魂,算法中的每一步一定都可以被分解为基本的可执行操作,故表述错误。
27.错误
【详解】本题主要考查算法的描述。算法具有确定性,每个问题的解决,可以有多种确定的算法,故表述错误。
28. 自然语言 C = A % B C = B % A 5 2
【详解】本题考查算法的表示方法。
(1)题目中是以自然语言的形式对算法进行描述的。故答案为:自然语言。
(2)在 Python 中,A 除以B的余数用A % B表示,所以这里填 C = A % B。
(3)同理,B 除以A的余数用B % A表示,所以填 C = B % A。
(4)当A=5,B=3时,A大于B,执行第②步,C=5%3=2,A的值不变仍为5,所以A的值是5,C的值是2。故答案为:5、2。

展开更多......

收起↑

资源预览