内容正文:
算法及其描述
1.想到北京天安门广场看升旗。
✳算法是
特征是 、 、 、 、 。
2.打开手机地图APP,搜索“天安门广场”,点击“路线”按钮,选择出行方式为“公交地铁”,按照APP提供的导航步骤乘坐交通工具。
解决一类问题而采取的确定的、有限的步骤。
有输入
有输出
有穷性
可行性
确定性
1.计算两个数的最大公约数。
2.在通讯录中查找某个朋友的电话号码。
3.智能手机的桌面壁纸。
4.‘给我考上清华大学’这个指令。
5.从一份学生名单中随机抽取两名幸运儿。
6.生成一个随机的强密码。
算法的输入0个或多个;算法的输出1个或多个。
√
√
×
×
√
√
1.某技术团队设计了一套数据处理流程,声称其为“算法”,但测试后发现该流程始终不生成任何结果。该流程不被认定为算法的核心原因是( )
A. 流程步骤过于复杂,人工难以验证
B. 无输出则无法产生有效效果或信息,违背算法存在的根本意义
C. 未使用编程语言编写,无法在设备上执行
D. 缺少输出会导致流程步骤无法形成闭环
B
2.某图书馆的计算机查询系统核心是一个“图书查询算法”。用户通过在终端输入书名或作者名来启动查询。系统接收到指令后,会在数据库中搜索匹配的图书,最后在屏幕上显示所有匹配图书的列表及其当前状态(如在馆、已借出等)。
请根据此案例,完成以下关于该算法的填空:
(1).该算法所包含的“访问数据库”、“字符串匹配”等操作,必须是计算机能够执行的基本操作,这体现了算法的 特性。
(2).在该算法中,用户输入的“书名或作者名”。本例中,它的数量是 。(一个/多个)
(3).如果用户未输入任何关键词直接按下了“查询”键,系统应弹出提示“请输入关键词”。这个“提示信息”是算法必须有的 ,这也再次证明了算法必须有 (0个/一个或多个)输出的重要性。
可行性
一个
输出
一个或多个
算法的描述方法:自然语言、
流程图常用符号
开始/结束框
输入/输出框
处理框
判断框
流程线
流程图、伪代码
begin
input A, B
if A > B then
max ← A
else
max ← B
output max
end
伪代码
算法三种基本控制结构
S1
…
Sn
条件
S1
条件
S1
S2
True
False
True
False
顺序结构
选择结构
循环结构
3.根据算法的描述方法和基本结构,判断以下说法是否正确?
(1)自然语言描述绝对精确,是描述算法的最佳方式。( )
(2)算法有顺序结构、选择结构和循环结构三种基本控制结构。( )
(3)流程图描述算法时,判断条件必须写在菱形框内。( )
(4)用伪代码描述算法时,明确地用Input和Output关键字来说明输入和输出是一个好习惯。( )
(5)算法的描述方法一旦确定就不能更改,必须始终如一地使用同一种方法。( )
×
√
√
√
×
(6)流程图描述因其直观性,最适合用于最终的程序代码编写。( )
(7)“如果下雨在体育馆上体育课,不下雨则在操场上体育课”。用流程图来描述这一问题时,判断“是否下雨”的流程图符号是矩形( )
(8)伪代码是一种介于自然语言和编程语言之间的描述工具,避免了严格的语法细节。( )
(9)在流程图中,平行四边形通常用来表示输入或输出操作。
( )
(10)伪代码是真正可以在计算机上编译运行的代码。( )
×
√
√
√
×
02
练一练
4.算法的步骤必须是有限的,并且保证执行有限步后结束。这体现了算法的 ( )
A.有输出 B. 有穷性 C.确定性 D.可行性
5.反复输入密码验证的算法基本结构是( )
A.顺序结构 B.选择结构 C.循环结构 D.框架结构
6.“获取教室当前温度值,若温度>28℃则开启空调制冷,若温度≤28℃则关闭空调”,该算法的描述方法是( )
A.流程图 B.自然语言 C.伪代码 D.机器语言
B
C
B
7.下列关于算法的说法,正确的是( )
A. 算法只能用计算机语言描述
B. 解决同一问题的算法只有一种
C. 算法的步骤必须是有限的
D. 复杂问题的算法无法被人类理解
8.下列问题中,适合用循环结构算法解决的是( )
A. 根据输入的气温,判断是否需要穿外套
B. 计算三角形的周长(已知三边长度)
C. 输出 100 以内所有能被 3 整除的数
D. 根据学生成绩,划分优秀、合格、不合格三个等级
C
C
9.小明根据下面分段函数设计了算法,并用流程图描述。
请根据分段函数和流程图,回答以下问题:
(1)该算法的每一个步骤的表示都是确定的、没有歧义的,这主要体现了算法的 。
(2)如图,该算法用到的描述方法是 。
(3)流程图中虚线框内算法的基本结构是 。
(4)流程图中菱形框内应该填写的是 。
(5)若输入 x 的值为-3,则输出 y 的值是 。
确定性
流程图
选择结构
X<1
-2
$$