(
课件网) 第2章 算法与问题解决 浙教版(2019版) 信息技术(高中) 必修1 数据与计算 2.1 算法的概念及描述 ·广义地讲,算法指的是解决问题或完成任务的一系列步骤。 ·古代的算法主要指的是“算术”,即数值的算术运算。 古籍———《盘珠算法》 【2.1.1】算法自古就有 田忌赛马中的博弈算法 ·在计算机科学领域内,算法是指用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的 集合。 【2.1.1】算法的定义 你能根据步骤推出运算结果吗? √ 有穷性 一个算法的处理步骤必须是有限的。 √ 确定性 算法中对于每个步骤的执行描述必须是明确的。 √ 可行性 算法中的每一步操作与要求都应该是算法执行者可以实施的,同时在现实环境中能做到且能在有限的时间内完成。 √ 有0个或多个输入 初始数据可以从外界输入,也可包含在算法中,所谓0个输入是指本身给出了初始条件。 √ 有1个或多个输出 算法必须有问题求解的结果,包含至少一个输出。 【2.1.1】算法的特征 【无限循环】 该流程图违反了算法的什么特征? 1、在设计一个排序算法时,给出的指令是 “将数组中的元素按照一定顺序排列,相邻元素的差值尽可能小”。 “相邻元素的差值尽可能小” 这一表述是模糊的。对于具体如何实现 “尽可能小” 没有明确规定。 不同的人可能会有不同的理解和实现方式,比如,有人可能会优先考虑整体差值的平均值最小,而有人可能会先让前几个元素的差值最小,这样就会导致算法的结果不唯一,违反了算法的确定性。 2、在路径规划算法中,指令为 “找到一条从起点到终点的较优路径,尽量避开拥堵区域”。 “较优路径” 和 “尽量避开” 都是模糊的表达。 “尽量避开” 也没有明确规定避开的程度和判断拥堵的具体标准,不同的算法实现可能会得出完全不同的路径规划结果,无法保证算法的确定性。 该语句违反了算法的什么特征? 为防止用户账户被盗,在用户登录账户时,有些信息系统会限制用户尝试输入密码的次数(如图2.1.2),一旦超出限定的次数,系統就会禁止输入并要求进行注册账户验证。下面为某系统验证用户输入密码正确与否的算法: ①密码输入错误次数初始化为零。 ②接受用户输入的密码。 ③将用户输入的密码与原来设置的密码比较,若相同则转 ,否则转④。 ④密码输入错误次数增加1。 ⑤若密码输入错误次数少于5,输出信息“密码错误,请再次输入密码! ”,然后转⑥;否则,输出信息“密码输入错误已达5次,请通过注册邮箱找回密码”,然后转 。 ⑥接受用户输入的密码,然后转③。 ⑦密码正确,进入系统。 ⑧密码验证算法结束。 问题与讨论1: 1、该算法采用了什么形式来描述? 2、结合上述算法,谈谈算法的特征在其中的具体体现。 3、若顺序打乱,程序是否还能够按照逻辑运行?这体现了算法的什么特征?具有这种特征的控制结构称为____结构? 很多设备的“自动”功能,都是内部算法控制的结果。 比如,在夏天把空调温度设定在26℃,每当空调内部的温度传感器测得室内温度小于或等于26℃时,算法就会“告诉”空调已经到达目标温度,可以暂停工作,空调就会“自动”暂时关闭压缩机的运行。这样,既确保了室内温度,又实现了节能环保。 立式空调 拓展链接: 明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。 明确每一步的运算是什么、对哪些数据进行运算等。 根据数据或运算结果的特点进行不同的处理。 数据 运算 控制转移 【2.1.3】△算法的要素 【2.1.4】算法的描述 题目1:停车场车位探测器算法 情境:某智能停车场需要在每个车位安装指示灯,实时显示车位是否空闲。 请设计一个算法,根据传感器的输入信号(1表示 ... ...