(共33张PPT)
2.2 算法的概念及描述
第一课时
打开Blockly Games编程游戏后,分组玩迷宫游戏中的前三关。
1、2组玩第一关,3、4组玩第二关,5、6组玩第三关。
思考:玩这关游戏的方法是什么?完成这关游戏需要分几步?
每关找一名同学演示并回答。
第一关
第二关
第三关
一、玩游戏——引入新课
引入:现实生活中,我们解决任何一个问题都需要先弄清楚解决这个问题的方法跟步骤——算法。
在生活和学习中,人们经常会运用到算法,只是我们可能很少意识到。
从现在开始,希望同学们多多关注生活中有关算法的运用,增强自己的信息意识。
一、玩游戏——引入新课
问题1:
小明乘车从A站出发到达B站可以有哪些路线?哪条路线是最佳乘车路线?理由是什么?
任务一:合作探究、问题归纳
问题2:
根据教材第48页的讲解,你能否总结出求两个数的最大公约数的方法?并尝试任意给两个数,求出最大公约数。
算法,简单地说就是解决一个特定问题的方法与步骤。
任务一:合作探究、问题归纳
(1)算法的特征:
有输入:0个或者多个输入;
有输出:有1个或者多个输出;
有穷性:执行有限个步骤后终止;
可行性:每一步操作是可以执行的;
确定性:每个步骤具有确定含义。
(2)算法的一般结构:
由输入数据、处理数据、输出结果三部分构成。
任务二:算法的特征及一般结构
(3)学习算法的重要意义:
我们在生活和学习中会经常遇到算法;
智能时代,算法已经广泛应用于各领域中;
学习算法知识,了解算法的基本设计方法,可以深入理解身边数字化工具的特征,能够利用算法思想解决实际问题,提高学习效率,更好地融入到数字化社会当中。
任务二:算法的特征及一般结构
描述算法就是将解决问题的步骤,用一种可以理解的形式表示出来。常见的有三种方法:自然语言、流程图和伪代码。
自然语言指人们日常所用的语言。用自然语言描述算法就是使用人们能读懂的简短语句对算法的步骤进行描述。
任务三:算法的描述
例:模仿教科书第49页“思考活动”,描述“绿灯变红灯”问题的算法,将倒计时15 s的算法用自然语言描述出来。
步骤1:将计数器t 设为15;
步骤2:如果t 大于或等于1,执行步骤3,否则倒计时结束;
步骤3:输出t ,并保持显示1 s,然后清除显示;
步骤4:将t 的值减1,跳转至步骤2。
任务三:用自然语言描述算法
自然语言描述算法的优缺点:
优点:易于理解,既可以描述生活中的算法,也可以描述在计算机中执行的算法。
缺点:容易产生二义性,使得某些步骤出现不确定性。
任务三:用自然语言描述算法
学生总结:写下本节课的收获和感悟。
教师总结:本节课以迷宫游戏开始,引入了算法的概念;通过
“三个任务”初步认识了算法的特征及一般结构、
设计算法的重要意义,以及描述算法的三种方法。
知识点:算法的含义、算法的特征及一般结构、描述算法的三种基本
方法。自然语言描述算法的方法。
学法指导:多观察、勤思考、多合作交流,培养计算思维。
课堂小结
第二课时
算法的含义。
算法的特征。
算法的一般结构。
描述算法的三种基本方法。
知识回顾
流程图是用图形表示算法的一种常用工具,优点是直观易读,问题解决的步骤清晰简洁,算法结构表达明确,很适合初学算法的人员使用。
任务一:用流程图描述算法
流程图中常用的符号及其功能
任务一:用流程图描述算法
绘制流程图的工具
手工纸上绘制
文本编辑软件
专门绘制流程图的软件
在线绘制流程图的网站
任务一:用流程图描述算法
算法的三种基本控制结构用流程图表示如下:
指令1
指令2
指令3
(a)顺序结构
(b)选择结构(分支结构)
条件
指令1
指令2
真
假
条件
真
假
指令
(c)循环结构
任务一:用流程图描述算法
在实际问题解决中,经常会将三种控制结构综合使用。如:
顺序结构
选择结构
(分支结构)
循环结构
任务一:用流程图描述算法
用伪代码描述算法就是采用类似于程序设计语言的代码来描述算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。
用伪代码描述算法回避了程序设计语言严格的书写格式,保持了语言叙述准确、无二义性的优点,结构性强,比较容易书写和理解。
① 用伪代码表示的格式如下:
输入:…………
输出:…………
指令:…………
…………
…………
任务二:伪代码描述算法探究
伪代码的4种基本指令:赋值指令、输出指令、条件指令和循环指令。
赋值指令
格式:助记符←表达式;
如:p1 ←10;
输出指令
格式:输出(表达式);
任务二:伪代码描述算法探究
条件指令
格式如下:
if(条件表达式)
{
指令序列1
}
else
{
指令序列2
}
循环指令:
一般格式:
while(条件表达式)
{
循环体
}
例:倒计时15 s可用伪代码描述为:
t←15
while t≥1
output t
sleep 1s
clear
t←t-1
end while
任务二:伪代码描述算法探究
伪代码的4种基本指令:赋值指令、输出指令、条件指令和循环指令。
1. 算法的有穷性是指 。 [单选题]
A. 算法程序的运行时间是有限的
B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的
D. 算法只能被有限的用户使用
2. 下列关于算法的描述中,不正确的是 。 [单选题]
A. 一个正确的算法至少要有一个输入
B. 算法的改进,在很大程度上推进了计算机科学与技术的进步
C. 判断一个算法优劣的实质是其解决问题的执行效率
D. 目前仍然存在不能在计算机上实施的有效算法
任务三:当堂检测
A
A
3. 假设在“烧水泡茶”这一过程中要经历5道工序,分别用时是:①洗开水壶1 min;②烧开水10 min;③洗茶壶茶杯2 min;④取茶叶1 min;⑤泡茶1 min。若合理安排这5道工序执行的先后顺序,可以使“烧水泡茶”整个过程所用的总时间最短,则最短总用时为 。 [单选题]
A. 10 min
B. 11 min
C. 12 min
D. 15 min
任务三:当堂检测
C
4. 下列流程图符号中,表示判断的是 。 [单选题]
任务三:当堂检测
A
B
C
D
B
5. 下面算法的伪代码的功能是为输出1~10之间的奇数,则横线上应填写的内容是 。[单选题]
指令:i←1
while (i<10)
{
输出 (i)
___________
}
A. i←1 B. i←i+1
C. i→i+1 D. i←i+2
任务三:当堂检测
D
6. 某算法的部分流程图如图所示,执行这部分流程后,“X ← X-2”被执行的次数为 。[单选题]
A. 0
B. 1
C. 2
D. 3
任务三:当堂检测
C
7. 下列结构中,不属于算法的三种控制结构的是______。 [单选题]
A. 顺序结构
B. 组合结构
C. 循环结构
D. 选择结构
8. 计算机能根据程序的要求将某一段程序执行若干次,这种结构在程序设计中称为______。 [单选题]
A. 顺序结构
B. 分支结构
C. 循环结构
D. 选择结构
任务三:当堂检测
B
C
9. 某算法的部分流程图如图所示,补全该流程图,使其输出结果为输入的两个数中较大的一个。则下列符合条件的选项是______。[单选题]
任务三:当堂检测
A
B
C
D
C
10. 某算法的部分流程图如图所示,若输入X的值为5,则执行这部分流程后,“X ← X-2”被执行的次数为______。[单选题]
A. 2
B. 3
C. 4
D. 5
任务三:当堂检测
B
拓展延伸:
请同学们按照前面的分组,分组完成“编程控灯利出行”项目各功能模块的流程图描述,下节课展示成果并与大家分享。
课堂总结、课外延伸:
谢谢观看
Thanks for watching