2.1算法与算法描述 课件(共33张PPT)-2022—2023学年高中信息技术华东师大版(2020)必修1

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

2.1算法与算法描述 课件(共33张PPT)-2022—2023学年高中信息技术华东师大版(2020)必修1

资源简介

(共33张PPT)


The concept and description of the algorithm
2.1算法与算法描述
Content
目录
旧知回顾
新知学习
课堂巩固
拓展思考
第一部分
旧知回顾
新知学习
课堂巩固
拓展思考
前课重点
大数据的特征都有哪些?
复习:1.3 数据科学与大数据
大数据处理过程都有那几步?
前课重点
大数据具有价值,但价值密度低
大数据的数据量非常大
即数据类型繁多,不仅包括传统的格式化数据,还包括来自互联网的网络日志、视频、图片、地理位置等
大数据的特征都有哪些?
数据类型多
价值密度低
数据规模大
处理数据快
数据生成速度快,要求对数据进行快速处理
前课重点
数据采集
大数据处理过程都有那几步?
数据挖掘应用
数据预处理
数据分析
第二部分
旧知回顾
新知学习
课堂巩固
拓展思考
一、认识算法
体 验 思 考
由于城市中的人口密集度高,在有限的空间内进行锻炼成为了大部分人的不二选择,所以智能跑步机逐渐成为了人们家庭中常备的运动器材。为了满足不同人群的锻炼需求,提高锻炼效果,常见的家用智能跑步机可以提供多种预设模式选择的功能,例如“心率跑”“坡度跑”等,如图2.1所示。
思考:
1.智能跑步机是如何根据用户选择的跑步模式,控制用户的具体跑步过程的
2.当设定为某种跑步模式时,跑步机又是如何根据不同的人和实时运动的情况行调节,从而使人获得最佳运动效果的
一、认识算法
智能跑步机可以根据用户自身需求选择智能计划包,可选择散步、暴走、模拟山地、日常养生等日常最常用的智能计划包方案,另外使用APPF还可以模拟真实风景的虚拟实景模式,比如在户外的马路上或者风景优美的景区道,将来可以结合VR虚拟现实眼镜来进一步提升虚拟场景的体验。
智能跑步机可根据性别、年龄、身高、腰围、臀围、体重等多项人体参数,计算出用户体质特征及其所适用的运动量、运动强度,这样家里的女人、老人、孩子就根据自己的实际需求来设定跑步健身计划,改变过往盲目的、没计划的跑步模式。
计算机解决问题依靠的是程序,而程序的编写依赖于算法和计算机“语言”, 即首先将需要解决的问题分解为若干个明确的步骤(算法),然后在用计算机能够接受的“语言”准确的描述出来,这样计算机才能够解决问题。
计算机如何解决实际问题?
这里输入简单的文字概述
这里输入简单的文字概述
点击添加标题
一、算法的概念
大家用列举的办法解决了这个问题,如果可能性更多问题更复杂,怎么办?
算法
输入
计算机
枚举法/穷举法
算法是什么?
在学习和生活中我们常常使用算法的知识来解决问题。请根据你刚刚解决问题的思路,小组讨论得出你对算法的概念,以及算法应具备的特征。
一、算法的概念
算法
在生活和学习中,人们经常会运用到算法(algorithm)知识,只是很少意识到。从广义上讲,算法是为解决一类特定问题而采取的确定的、有限的步骤。它描述出某类问题求解的方法和过程,在整个问题解决过程中起着重要的作用。在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程。
一、算法的概念
大家说一说生活中会用到哪些算法知识?
1.将设计人员设计好的三维模型交给计算机来渲染,可以实现三维虚拟场景生成;
2.将下棋的规则和方法借助计算机来实现,可以实现人与计算机对弈;
3.将人对图片的识别和认识过程通过模型设计让计算机进行模拟,可以实现图像的自动识别等等。
算法其实是对解决问题办法的抽象
概念:从广义上讲,算法是为解决一类特定问题而采取的确定的、有限的步骤。
在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程。
一、算法的概念
有输入
有输出
确定性
有穷性
并不是所有解决问题的步骤都是算法,算法一般具有以下特性:
二、算法的特征
可行性
二、算法的特征
算法
特征
一个算法可以有一个或多个输出,以反映对输入数据加工后的结果。
算法的有穷性指算法必须能在执行有限个步骤之后终止,也就是算法步骤不能是无限的。
算法中的每一步操作都是可以执行的,或者都可以分解成计算机可执行的基本操作。
算法的每个步骤都具有确定的含义,没有歧义。模糊不清、模棱两可或带有二义性的描述都会影响算法的确定性。
有输入
有输出
有穷性
可行性
确定性
一个算法一般要求有0个或多个输入,以描述运算对象的初始情况。
三、算法的描述
同学们刚刚是如何记录或者描述解决问题的方法呢?
描述算法就是将解决问题的步骤,用一种可理解的形式表示出来。常用的描述算法的方法有自然语言、流程图和伪代码等。
如何描述算法?
语言?图像?
思考:如何将“15秒”倒计时的算法描述出来?
三、算法的描述
用自然语言描述算法
自然语言指人们日常所用的语言。用自然语言描述算法就是使用人们能读懂的简短语句对算法的步骤进行描述。其中,“倒计时15秒"算法可用自然语言描述为:
步骤1:将计数器设为15;
步骤2:如果显示的值大于或等于1,执行步骤3,否则倒计时结束;
步骤3:输出显示屏信息,并保持显示1s,然后清除显示;
步骤4:将显示屏的值减1,跳转至步骤2.
用自然语言描述算法易于理解,它既可以描述生活中的算法,也可以描述在计算机中执行的算法。但是,自然语言的描述方法存在容易产生二义性的缺点,有可能干扰后续的编程实现。
三、算法的描述
用流程图描述算法
流程图是一种常用的表示算法的图形化工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确,很适合初学算法的人员使用。流程图中常用的符号和功能如下:
开始/结束框
表示算法的开始或结束
输入/输出框
表示输入或输出数据
处理框
框中指出要处理的内容
判断框
表示条件判断及产生分支的情况
流程线
用于控制流程方向
连接点
连接因页面写不下而断开的流程线
三、算法的描述
在实际问题解决中,经常会综合使用这三种结构。例如,“倒计时15s”的算法可用如下的流程图描述。
思考:一个算法的流程图一定是相同的吗?
三、算法的描述
用伪代码描述算法
用伪代码描述算法就是采用一种类似于程序设计语言的代码来表示算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。例如,“倒计时15s"的算法用伪代码可以描述为:
t → 15
while t>=1
output t
sleep 1s
clear
t =t-1
end while
用伪代码描述算法回避了程序设计语言严格的书写格式,保持了语言叙述准确、无二义性的优点,结构性强,比较容易书写和理解。
三、算法的描述
循环结构
分支结构
顺序结构
顺序结构
每一个步骤按先后次序被执行,即执行处理A,然后执行处理B。
分支结构
根据条件的成立与否,选择执行不同的分支处理,当条件成立时用Tnue表示执行处理A;当条件不成立时用False表示,执行处理B。
循环结构
当条件成立时,反复执行处理A,一旦条件不成立就立即结束循环。
三种控制结构:
算法有顺序结构、选择结构和循环结构三种基本控制结构,可用流程图描述,如
第三部分
旧知回顾
新知学习
课堂巩固
拓展思考
巩固新知
挑战困难:天干地支
计算中国农历年份为例,在中国古代的历法中,甲、乙、丙、丁、戊、己、庚、辛、壬、癸被称为“十天干”,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥叫作“十二地支”。十天干和十二地支依次相配,组成六十个基本单位,两者按固定的顺序互相配合,组成了干支纪年法。基于天干地支序列,如果已知2000年是庚辰年,则对于输入的公历年份2019年,可以通过以下方法来推算其农历年份(天干地支列表为循环推算, 即“癸”的后一个天干为“甲”,“亥”的后一个地支为“子”):
天干:用2019减去2000,得到的差除以10取余后得到9,然后天干从“庚”向后推9位为“己”;
地支:用2019减去2000,得到的差除以12取余后得到7,然后地支从“辰”向后推7位为“亥”。
最后,可以推算出公历2019年是农历己亥年。
因此,本问题可以抽象为已知天干、地支序列和对照的年份2000庚辰年basey,对于输入的公历年份year,求出其对应的农历年份。该问题的计算模型如下:
天干:用year 减去basey,得到的差除以10取余后得到余数,然后根据余数的数值,在已知天干列表中从“庚”向后推算相应位数;
地支:用year 减去basey,得到的差除以12取余后得到余数,然后根据余数的数值,在已知地支列表中从“辰”向后推算相应位数。
巩固新知
挑战困难:天干地支
① 设定十天干、十二地支序列
② 设定对照年份2000年及其所对应的天干和地支
③ 输入公历年份year
⑤ 根据计算模型计算该公历年份所对应的地支
④ 根据计算模型计算该公历年份所对应的天干
⑥ 输出该公历年份对应的农历年份。
巩固新知
挑战困难:天干地支
tian=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
di=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
basey=2000
basetian=6
basedi=4
year=int(input("请输入年份:"))
print(tian[(basetian+(year-basey))%10],sep="",end="")
print(di[(basedi+(year-basey))%12])
巩固新知
挑战困难:天干地支


The concept and description of the algorithm
2.2算法的概念及其描述
请完成学案课后作业,同学们再见!
结 束!
冒泡排序
快速排序
二、两种算法的比较
VS
Expand the thinking
旧知回顾
新知学习
课堂巩固
巩固思考
第四部分
Writing
Finding
Signal
逻辑思维和计算思维
中学生了解算法的基本设计方法,可以深入理解身边数字化工具的特征,能够利用算法思想解决实际问题,提高学习和生活效率,更好地融入信息社会。
一、为什么学习算法
冒泡排序
快速排序
二、两种算法的比较
VS
冒泡排序
快速排序
二、两种算法的比较
VS
可以看出,解决排序问题,“快速”排序算法比“冒泡”排序算法快很多。解决同一个问题会有多种方法,人们往往需要考虑算法的“时间复杂度”和“空间复杂度”,并根据需求设计合适的算法,从而提高效率。学习算法知识,了解算法的基本设计方法,可以深入理解身边数字化工具的特征,能够利用算法思想解决实际问题,提高学习和生活效率,更好地融入信息社会。
算法
贪心算法
分支界限法
回溯法
空间复杂度
穷举法
动态规划法
递推法
递归法
时间复杂度
分治法
三、算法风暴

展开更多......

收起↑

资源预览