课程基本信息
课例编号
学科
信息技术
年级
高一
学期
第一学期
课题
算法概念与描述
教科书
书名:
《信息技术》必修1
出版社:人民教育出版社;中国地图出版社
出版日期:2019
年
6
月
学生信息
姓名
学校
班级
学号
课后练习
阅读下面的流程图说出它的功能。
某城市公交车票价2元,乘客可以刷卡乘车。刷卡时,若公交卡余额不足2元,提示“请投币”;若余额大于等于2元但小于10元,提示“余额即将不足”;若余额大于等于10元,提示“欢迎乘车”。请用流程图描述该功能。
欧几里得算法又名辗转相除法,其算法可用下图所示的流程图描述(“%”为取模运算符,可返回除法的余数),认真阅读流程图,分析该算法实现的功能。
开始
i能被3整除
输出
i≤100
结束
开始
输入正整数m和n
r←m%n
m←n
ne
r
True
结束课程基本信息
课例编号
学科
信息技术
年级
高一
学期
1
课题
算法的概念与描述
教科书
书名:
《信息技术》必修1
出版社:人民教育出版社;中国地图出版社
出版日期:2019
年
6
月
教学目标
教学目标:
1.
了解算法的含义,理解算法在解决问题中的作用。
2.
能结合实例,理解并描述算法的特征。
3.
理解算法的三种基本控制结构。
4.
选用恰当的描述方法和控制结构表示简单算法,增强用算法解决问题的意识。
教学重点:理解算法的三种基本控制结构,能够选用恰当的描述方法和控制结构表示简单算法。
教学难点:根据实际问题,分析设计算法。
教学过程
时间
教学环节
主要师生活动
4分钟
算法的
概念
通过生活中的问题引入,引出主题
小明到北京旅游时,火车到达北京站,小明计划乘坐地铁从北京站去天安门参观,地铁线路图如下图所示,你能帮小明规划好路线吗?是否还有其他的路线?
规划好的路线就是我们设计好的算法。解决同一个问题可以有不同的算法。
结合实例,讲解算法概念
广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。
例如:想要从北京去上海迪士尼旅游,就可以采用如下的步骤解决这个问题。
①
网上购买迪士尼门票;
②
根据日期,购买火车票或者飞机票;
③
根据行程及日期安排,预定酒店住宿;
④
带好各种票据,收拾好行李,按时乘车;
⑤
到达上海,乘坐出租车或公共交通去往酒店入住,放行李;
⑥
带好门票,按时到迪士尼游玩。
上述步骤就是解决这个问题的算法。其实在解决生活中的很多问题时,都有算法的身影,算法就是在解决特定问题时,采取的确定的、有限的步骤。
7分钟
算法的
特征
自主探究,分析算法特征
布置实践任务,分析解决以下三个问题的算法,根据分析填写学案上的表格。
判断抛物线
轴是否有交点。
已知函数,设计一个算法,输入,输出函数值。
设计一个算法,输入,输出的绝对值。
总结讲解算法特征
根据实践结果,总结说明算法的特征,对算法的五大特征进行讲解。
有输入。一个算法通常要求有0个或多个输入,以描述运算对象的初识情况。
有输出。一个算法可以有一个或多个输出。
有穷性。算法必须能在执行有限个步骤之后终止。
可行性。算法中的每一步操作都是可以执行的,或者都可以分解成计算机可执行的基本操作。
确定性。算法的每个步骤都具有确定的含义,没有歧义。
除了上述的数值问题可以用算法来描述,算法也可以描述很多的非数值问题,比如:图书资料的检索,人名的排序等。
请同学们思考解决这些问题的算法步骤是什么?是否符合算法的五个特征呢?
8分钟
算法的描述
问题驱动,分析三种描述方法
小明在去往地铁站时,在路口遇到了一个红绿灯。小明发现该红绿灯上配有一个倒计时器,倒计时15s之后红灯变成了绿灯,如何将“倒计时15秒”的算法描述出来?
提问:你能通过我们的语言描述出解决该问题的算法步骤吗?
分析讲解该问题,说明如何用自然语言描述该算法。
①
将计数器t设为15;
②
如果t大于等于1,执行步骤③,否则执行步骤⑤;
③
显示t,并保持显示1分钟,然后清除显示;
④
将t的值减1,跳转至步骤2。
⑤
倒计时结束。
说明自然语言描述算法的优缺点,引出用流程图来描述算法。
流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确。
讲解流程图常用符号的作用。说明绘制流程图的方法。引导学生用流程图描述倒计时15分钟的算法。
通过对上述流程图的分析,说明该流程是一种循环结构。引出算法有三种基本控制结构,分别是顺序、选择、循环结构。
顺序结构。每一步骤按先后次序被执行,即先处理S1,再处理后面的S2到Sn,如下图顺序结构所示。
选择结构,又称分支结构。根据条件是否成立,选择执行不同的分支,如下图选择结构所示,当条件C成立时(用True表示),执行处理S1;当条件不成立时(用False表示),执行处理S2。
循环结构。当条件成立时,反复执行S1,一旦条件不成立就立即结束循环,如下图循环结构所示。
说明除自然语言、流程图外,还可以用伪代码方式描述算法。用伪代码描述算法就是采用一种类似于程序设计语言的代码来表示算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。
展示倒计时15分钟的伪代码描述,分析伪代码描述的优缺点。
最后总结说明算法的三种描述方法的特点及优缺点。
实践练习,巩固所学
某地有两种不同类型的出租车,其计费标准分别为:甲车3千米起步,价格10元,3千米以上(含3千米)每千米为2元;乙车3千米起步,价格8元,3千米以上(含3千米)每千米2.2元。
设计算法,在不同里程时给出最优资费的用车选择。选用一种描述方法对该算法进行描述,并解释其中使用到的算法控制结构的类型。
练习讲解,分析算法的设计和算法的结构,以及如何用不同的方式描述算法。
4分钟
算法的
效率
对比分析,感受算法效率
已知有10个一模一样的零件,其中9个零件的质量相同,只有一个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。
对比分析“一一比较法”和“二分法”的比较次数。
进一步提问:在问题规模扩大(零件个数增加)的时候,两种方法比较次数的区别。由此,提出算法的效率。
说明不同算法解决问题的效率不同,设计算法时要考虑算法的效率。
2分钟
总结梳理
小结
算法的定义:广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。
算法的特征:包括有输入(0个或多个)、有输出(1个或多个)、有穷性、可行性、确定性。
算法的描述:可以用自然语言、流程图、伪代码来描述算法,每种方法各有优缺点,需要我们对具体问题结合具体条件选择合适的描述方法。
算法的效率:解决同一问题可能有多种算法,需要考察不同算法的效率,结合具体情况选择合适的算法。课程基本信息
课例编号
学科
信息技术
年级
高一
学期
第一学期
课题
算法概念与描述
教科书
书名:
《信息技术》必修1
出版社:人民教育出版社;中国地图出版社
出版日期:2019
年
6
月
学生信息
姓名
学校
班级
学号
学习目标
1.
了解算法的含义,理解算法在解决问题中的作用。
2.
能结合实例,理解并描述算法的特征。
3.
理解算法的三种基本控制结构。
4.
选用恰当的描述方法和控制结构表示简单算法,增强用算法解决问题的意识。
课前学习任务
说一说:你认为,算法是什么?你在解决生活中的问题时使用过算法吗?
课上学习任务
【学习任务一】
分析解决以下三个问题的算法,归纳算法的特征。
①
判断抛物线
轴是否有交点。
②
已知函数,设计一个算法,输入,输出函数值。
③
设计一个算法,输入,输出的绝对值。
任务1:
根据分析,填写下表。
分析项目①抛物线②分段函数③绝对值执行的步骤个数4每一步是否明确可执行是是否有输入无是否有输出有
任务2:
请结合你的分析,归纳算法有哪些共同特征呢?
【学习任务二】
某地有两种不同类型的出租车,其计费标准分别为:甲车3千米起步,价格10元,3千米以上(含3千米)每千米为2元;乙车3千米起步,价格8元,3千米以上(含3千米)每千米2.2元。
设计算法,在不同里程时给出最优资费的用车选择。选用一种描述方法对该算法进行描述,并解释其中使用到的算法控制结构的类型。
任务1:
设计并选用一种方式描述算法。
任务2:
请分析并说明该算法中使用到的算法控制结构的类型。
推荐的学习资源
1.算法百科:https://baike.baidu.com/item/%E7%AE%97%E6%B3%95/209025?fr=aladdin(共32张PPT)
算法概念与描述(第八课时)
地铁1号线
情境描述
小明到北京旅游,他乘坐火车到达了北京站,然后准备乘坐地铁去天安门参观,地铁线路图如下图所示,你能帮小明规划好路线吗?是否只有一条路线?请大家思考这个问题。
路线1:乘坐地铁2号线,从北京站到建国门站,在建国门站换乘1号线,在天安门东站下车。
地铁1号线
路线1:共乘坐4站,换乘1次。
情境描述
路线2:乘坐地铁2号线,从北京站到崇文门站,在崇文门站换乘5号线,到东单站,在东单站换乘1号线,在天安门东站下车。
地铁1号线
路线2:共乘坐4站,换乘2次。
情境描述
地铁1号线
地铁1号线
情境描述
寻找路线的方法,可以称之为算法
当你想要从北京去上海迪士尼旅游,你会如何规划行程呢?
算法的概念
广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。
①
网上购买迪士尼门票;
②
根据日期,购买火车票或者飞机票;
③
根据行程及日期安排,预订住宿酒店;
④
带好各种票据,准备好行李,按时乘车;
⑤
到达上海,乘坐出租车或公共交通车辆去往酒店入住,放行李;
⑥
带好门票,按时到迪士尼游玩。
解决同一个问题的算法可能有多种。
算法就是在解决特定问题时,采取的确定的、有限的步骤。
算法的概念
其他方案
①
判断抛物线
轴是否有交点。
②
已知函数,要求输入x的一个值,就输出函数的值。
③设计一个算法,要求输入x的一个值后,输出相应的绝对值。
分析解决以下三个问题的算法,归纳算法的特征。
算法的特征
判断抛物线
轴是否有交点。
分析项目
①抛物线
执行的步骤个数
每一步是否明确可执行
是否有输入
是否有输出
4
计算△=
;
如果△大于等于0,执行步骤③,否则执行步骤④;
输出有交点,结束;
输出无交点,结束。
是
否
是
算法的特征
分析项目
①抛物线
②分段函数
③绝对值
执行的步骤个数
4
每一步是否明确可执行
是
是否有输入
无
是否有输出
有
算法的特征
分析项目
①抛物线
②分段函数
③绝对值
执行的步骤个数
4
5
4
每一步是否明确可执行
是
是
是
是否有输入
无
有
有
是否有输出
有
有
有
算法的特征
在计算机领域,算法作为一个精心设计的运算序列,描述了计算机如何将输入转化为输出的过程。算法一般具有如下特征:
算法的特征
算法的特征
有输入
一个算法通常要求有0个或多个输入。
有输出
一个算法可以有一个或多个输出。
有穷性
算法必须能在有限个步骤之后终止。
可行性
算法中的每一步都是可以执行的。
确定性
算法的每个步骤都具有确定的含义,没有歧义。
算法已经广泛应用于各领域中,不只是解决数学问题。例如,如何在图书管理系统中查找需要的书籍?解决该问题的过程也是算法吗?符合算法的五个特征吗?
算法的特征
自然语言
小明在去往地铁站时,在路口遇到了一个红绿灯。小明发现该红绿灯上配有一个倒计时器,倒计时15秒之后红灯变成了绿灯,如何将“倒计时15秒”的算法描述出来?
算法的描述方法
自然语言
将计数器t(剩余秒数)设为15;
如果t大于等于1,执行步骤③,否则执行步骤⑤;
显示t,并保持显示1秒,然后清除显示;
将t的值减1,跳转至步骤②。
倒计时结束。
倒计时15秒?
自然语言
歧义
易于理解
流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确。
开始/结束框
输入/输出框
处理框
判断框
流程线
流程图
流程图符号
名称
功能
开始/结束框
表示算法的开始或结束
输入/输出框
表示输入或输出数据
处理框
框中指出要处理的内容,此框有一个入口和一个出口
判断框
用于表示条件判断及产生分支的情况,判断框有四个顶点,通常上面的顶点表示入口
流程线
用于控制流程方向
流程图
操作时,我们可以在纸上手工绘制流程图,也可以使用工具软件或者到特定的网站进行绘制。
文稿处理软件
流程图绘制软件
在线绘制流程图网站
流程图
结束
t
←
15
t
≥
1
输出t
t
←
t-1
True
False
保持显示1秒
清除显示
倒计时15秒?
将计数器t设为15;
如果t大于等于1,执行步骤③,否则执行步骤⑤;
显示t,并保持显示1秒,然后清除显示;
将t的值减1,跳转至步骤②。
倒计时结束。
流程图
开始
循环结构
顺序结构
选择结构
三种基本结构
结束
t
←
15
t
≥
1
输出t
t
←
t-1
True
False
保持显示1秒
清除显示
开始
S1
Sn
…
顺序结构
False
True
S1
S2
C
选择结构
三种基本结构
S1
C
False
True
循环结构
注意区分
选择和循环
三种基本结构
False
True
S1
S2
C
选择结构
S1
C
False
True
循环结构
伪代码
t
←
15
while
t
≥
1
output
1
sleep
1s
clear
t
←
t-1
end
while
规避了程序设计语言严格的书写格式,无歧义,结构性强。
不太适合完全没有程序设计基础的初学者。
倒计时15秒?
伪代码
算法的描述方法
算法的描述方法
自然语言
伪代码
流程图
自然语言就是使用日常所用的语言描述算法的步骤。
优点:使用简单,易于理解。
缺点:容易产生二义性。
流程图是用图形表示算法的一种常用工具。
优点:步骤清晰简洁,算法结构表达明确,适合初学者使用。
缺点:绘制过程繁琐,对于复杂问题,结构过于复杂,不易理解。
伪代码是采用一种类似程序设计语言的代码来描述算法。
优点:回避了程序设计语言严格的书写格式,叙述准确,无二义性,结构性强。
缺点:需要具备一定的程序设计语言基础,不利于初学者使用。
某地有两种不同类型的出租车,其计费标准分别为:甲车3千米起步,价格10元,3千米以上(含3千米)每千米为2元;乙车3千米起步,价格8元,3千米以上(含3千米)每千米2.2元。
设计算法,在不同里程时给出最优资费的用车选择。选用一种描述方法对该算法进行描述,并解释其中使用到的基本结构。
实践练习
结构?
实践练习
p1←甲车的起步价
p2←乙车的起步价
x1←甲车起步里程后,每千米的费用
x2←乙车起步里程后,每千米的费用
n←计划行使的里程数
p1,p2,x1,x2,n
n
≥
3
甲车省钱
p1
开始
p1←p1+x1×(n-3+1)
p2←p2+x2×(n-3+1)
True
True
False
p1>p2
False
True
乙车省钱
两车相同
False
结束
算法的描述方法
顺序结构
选择结构
p1,p2,x1,x2,n
n
≥
3
甲车省钱
p1开始
p1←p1+x1×(n-3+1)
p2←p2+x2×(n-3+1)
True
True
False
p1>p2
False
True
乙车省钱
两车相同
False
结束
在实际问题解决中,经常会将三种控制结构综合使用。
已知有10个一模一样的零件,其中9个零件的质量相同,只有一个质量略轻,不符合规格要求。现在有一台天平,请设计算法找出该零件。
算法效率
一一比较?
次数?
其他方法?
1~5次
二分法
2~3次
如果有n个零件(n>10),要找出其中质量较轻的一个零件,以上方法是否仍然可用?试分析
n
=
10000时,这些算法在问题解决效率上的不同。
算法效率
一一比较
二分法
1~5000次
5~13次
效率更高
在解决问题时,可根据问题规模,选择合适算法
地铁1号线
乘坐地铁问题
迪士尼旅游问题
零件问题
在实际解决问题的过程中,应综合考虑问题类型、问题规模、适用范围等因素,选择合适算法。
算法效率
小结
算法概念和描述
算法的概念
算法的特征
算法的效率
算法的描述方法
有输入
有输出
确定性
有穷性
可行性
一个算法通常要求有0个或多个输入。
一个算法可以有一个或多个输出。
算法必须能在有限个步骤之后终止。
算法中的每一步都是可以执行的。
算法的每个步骤都具有确定的含义。
自然语言
流程图
伪代码
用日常所用语言来描述算法的步骤。
流程图是用图形表示算法的一种常用工具。
采用一种类似程序设计语言的代码来描述算法。
算法就是解决一个特定问题而采取的确定的,有限的步骤。
对于同一个问题,不同算法解决问题的效率不同。
小结
算法概念和描述
算法的概念
算法的特征
算法的效率
算法的描述方法
有输入
有输出
确定性
有穷性
可行性
一个算法通常要求有0个或多个输入。
一个算法可以有一个或多个输出。
算法必须能在有限个步骤之后终止。
算法中的每一步都是可以执行的。
算法的每个步骤都具有确定的含义。
自然语言
流程图
伪代码
用日常所用语言来描述算法的步骤。
流程图是用图形表示算法的一种常用工具。
采用一种类似程序设计语言的代码来描述算法。
算法就是解决一个特定问题而采取的确定的,有限的步骤。
对于同一个问题,不同算法解决问题的效率不同。