高中信息技术华东师大版必修1第二章 算法与程序实现第一节 算法与算法描述优质课件ppt
展开要保持健康的身体,就离不开科学、规律的运动。进入智能时代后,以物联网、 云计算、大数据为特征的智能运动环境正改变着人们的运动方式。 小申是一名运动爱好者,这学期学校健身中心更新了一批跑步机,他和同学就 经常在体育活动课上去锻炼。他们发现在跑步机上可以选择不同的跑步预设模 式,在不同的模式下,跑步机会动态调节运行速度和坡度;跑步机上还有很多传感 设备,可以在运动过程中实时监测运动者的各种身体数据。他们都很疑惑:跑步机 是如何实现这些功能的呢?
学习智能跑步机 中预设跑步模式的算 法,理解算法的特征, 设计并完成跑步机其 他 预 设 模 式 的 算 法 描述。
学习使用 Pythn 程序实现身体质量指 数的计算、显示和简单 统计,查阅资料并完成 卡路里的计算、显示和 统计等各项任务。
使用常用算法,设 计跑步训练课程报表, 并描述完成这些信息 统计所选择的算法和 理由。
第一节 算法与算法描述
在实际生活中,人们一直都在寻求有效的问题解决方法。例如, 做饭时,如何在做完一桌饭菜后,还能保证饭、菜、汤都有一个合适的 温度;旅游时,如何规划旅行路线,以确保在有限的时间和预算内使行 程的性价比最高;如何设置有效的电梯调度方案,以确保乘客等待的 总时间最短……对问题解决的思考在生活中比比皆是,当这些解决问 题的步骤被人们描述并记录下来之后,就成为了可以重复执行的、用来解决一类问题的算法。
图 2.1 某智能跑步机
由于 城 市 中 的 人 口 密集度高,在有限的空间 内进行锻炼成为了大部分人的不二选择,所以智能跑步机逐渐成为了人 们家庭中常备的运动器 材。为了 满 足 不 同 人 群 的锻炼需求,提高锻炼效 果,常见的家用智能跑步 机可以提供多种预设模 式选择的功能,例如“心 率跑”“坡度跑”等,如图 2.1所示。 思考: 1. 智能跑步机是如何根据用户选择的跑步模式,控制用户的具体跑步过程的? 2. 当设定为某种跑步模式时,跑步机又是如何根据不同的人和实时运动的情况进行调节,从而使人获得最佳运动效果的?
智能跑步机能够为用户提供多种预设的跑步模式,会根据用户的选择和用户输入的跑步参数(包括年 龄、体重、跑步时长等),控制跑步机的机电设备运转。以某款智能跑步机为例,当用户开机并选择“心率跑” (即用心率来指导跑步训练,在特定的心率下进行训练来提高心肺能力)模式后,跑步机运转过程如下: ① 直接选择预设值 或是等待用户输入个人体重、跑步时长、年龄、跑步时速等。② 计算并显示目标心率 ③ 倒计时3秒 然后提示用户开始跑步④ 给电机发送信号 启动跑带 运转至设定的跑步时速 ⑤ 在跑步过程中监测当前心率 如果当前心率不在目标心率的浮动范围内 则调节跑带坡度 直至 当前心率稳定在目标心率的浮动范围内 ⑥ 判定是否达到设定的跑步时长 如未达到 则继续监测当前心率 否则给电机发送信号 逐渐降低 跑带运转速度至停止 ⑦ 结束本次跑步。
请仔细阅读以上关于“心率跑”模式的说明,思考以下问题: 1. 上述描述是否存在不够明确的地方? 请罗列出来。 2. 描述中有一项为“选择预设值”,请解释一下此处“预 设值”的含义和作用。
算法在生活中是普遍存在的,算法是在有限步骤内求解某一问题所使用的步骤和方法。 例如,在炒菜时,先放什么,后放什么,这也有一定的顺序和方法,这种顺序和方法我们称之为炒菜的算法;在做数学题时,每一道题都有对应的具体计算方法和步骤,可以称之为这道题的解题算法;使用跑步机跑步时,跑步机会根据用户的选择执行不同的跑步模式,每种跑步模式对应一种算法。
算法必须是由有限个步骤组成,即算法一定要能够结束。
算法中的每一个步骤都应该是确定的、没有歧义的。模糊不清、 模棱两可或带有二义性的描述都会影响算法的确定性。
算法的可行性就是指每一个步骤都可以被计算机执行,可以方便 地用来解决某一类问题。
输入可以是多个也可以是零个,零个输入并不代表这个算法没有输入数据,所需数据 一般已包含在算法中,只是输入的数据没有直观地显现出来。
输出就是算法实现所得到的结果,是算法对输入的数据加工处理 后得到的。输出可以有一个或多个,没有输出的算法是没有意义的。
算法的描述就是把解决问题的方法和步骤用规范的方式描述出 来。这种描述既可以作为程序设计人员编写代码的依据,又可以供算法研究、学习和交流之用,并不依赖于任何一种语言。
自然语言 自然语言就是人们日常生活中使用的语言。用自然语言描述的算法通俗易懂,但也有明显的不足: 用自然语言描述比较复杂的算法时,会显得很冗长,表述不够直 观、清晰。自然语言在描述上容易出现歧义,容易引起算法步骤的不确定性,尤其是在算法中存在较复杂的逻辑时,不易清晰地表示 出来。
图 2.2 “心 率跑”模式算 法的流程图
伪代码是一种介于自然语言和计算机程序设计语言之间的算法描 述语言。伪代码能够较容易地被转换成程序设计语言。虽然流程图描 述算法要比自然语言描述算法清晰直观,但如果需要能够快速转换成 计算机可以执行的语言,一般会采用伪代码的方式进行描述。
三、算法的基本控制结构
图 2.3 顺序结构示意图
图 2.4 刷牙过程的顺序结 构示意图
图 2.5 分支结构示意图
图 2.6 挤牙膏过程的两种分支结构示意图
图 2.7 循环结构示意图
图 2.8 刷牙过程的循环结构示意图
四、编程解决问题的过程
图 2.9 编程解决问题 的一般过程
解决问题的算法往往不止一个,通常可以从时间和空间两个角度来对算法的效率进行评价。使用的 指标分别为时间复杂度和空间复杂度。 1.时间复杂度:用于描述算法运行所需要的时间开销,一般采用算法中基本语句的执行次数进行度 量。例如,要将一张纸等分成 16个大小相等的格子,可以有多种算法。一种算法是以每次画一个格子的 方式,画 16个格子将纸等分。如果画一个格子记为一次操作的话,那就需要 16次。另一种算法是将纸折 起来、再折、再折、再折,经过 4次操作后,打开就可以得到 16个格子了。显然,第二种算法所需要的执行 时间比第一种算法要少,也称为第二种算法的时间复杂度较小。 2.空间复杂度:用于描述算法运行所需要的存储空间,一般主要考虑临时占用的空间大小。
智能服药系统也是家庭健康系统中重要的一部分,可以针对“忘记服药” “不按时服药”“重复服药”等多种问题进行监测和提醒,现在请你设计一款 “智能药盒”。1. 请描述你设计的“智能药盒”的功能。 2. 针对某个功能进行算法设计,并用流程图方式进行描述。 3. 智能药盒和大数据、物联网结合,又可以增加哪些功能,为生活提供 哪些便利?
高中信息技术华东师大版必修1第三节 常用算法及其程序实现一等奖ppt课件: 这是一份高中信息技术华东师大版必修1第三节 常用算法及其程序实现一等奖ppt课件,共20页。PPT课件主要包含了枚举法,确定范围,验证条件,枚举法的程序实现,设计算法,编写程序,调试运行,项目实践,排序和查找,冒泡排序等内容,欢迎下载使用。
2020-2021学年3.2.1 算法一等奖课件ppt: 这是一份2020-2021学年3.2.1 算法一等奖课件ppt,共19页。PPT课件主要包含了算法的描述,流程图,学习目标,算法的特征,重点算法的描述,难点流程图,重难点,流程图三种结构等内容,欢迎下载使用。
粤教版 (2019)必修1 数据与计算3.2.1 算法授课ppt课件: 这是一份粤教版 (2019)必修1 数据与计算3.2.1 算法授课ppt课件,共21页。PPT课件主要包含了algorithm,Sπr²,算法≠数学计算等内容,欢迎下载使用。