内容正文:
2.1 算法的概念及描述
DATA ACQUISITION AND CODING
昌化中学 应彤鑫
《数据与计算》
我是河
农夫过河。一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条船,由于船太小,只能装下农夫和他的一样东西。
在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。请写出解决这个问题的步骤。
01. 经 典 再 现
01. 经 典 再 现
1、农夫带羊过河
2、农夫回来
3、农夫带狼过河
4、农夫带羊回来
5、农夫带菜过河
6、农夫回来
7、农夫带羊过河
1、农夫带羊过河
2、农夫回来
3、农夫带菜过河
4、农夫带羊回来
5、农夫带狼过河
6、农夫回来
7、农夫带羊过河
算法
4
算法:解决问题或完成任务的一系列步骤
乐谱
广播体操图谱
武功秘籍
导航图
02. 什 么 是 算 法
5
03. 算 法 的 特 征
6
有穷性
可行性
1个或多个输出
0个或多个输入
确定性
1、不能用算法描述“输出所有的偶数”,是因为不符合算法特征中的( )
A、有穷性 B、明确性 C、有输出 D、可行性
2、下列关于算法的描述,错误的是( )
A、算法可以说是解决问题的方法和步骤
B、算法是解决问题的精确描述
C、算法的特征有:有限个步骤完成、明确性、可行性
D、处理某个问题的算法往往具有唯一性
A
D
03. 算 法 的 特 征
数 据
算法要素
用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。
运 算
在对数据进行运算时,必须明确每一步的运算是什么,对哪些数据进行运算等。
控 制 转 移
在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作。
04. 算 法 的 要 素
8
05. 算 法 的 描 述
自然语言
(1)输入变量flag的值。
(2)若flag的值为1,则设置指示灯为绿色,输出“空车位”;否则,设置指示灯为红色,输出“非空车位”。
9
05. 算 法 的 描 述
流程图
10
05. 算 法 的 描 述
流程图
11
例:设计一个算法,对任意输入的3个整数x、y、z,找出并输出其中的最大值max。
1、输入变量x、y、z的值
2、比较x和y,如果x>y,则将x的值赋给max;否则,将y的值赋给max
3、比较z和max,如果z>max,则将z的值赋给max
4、输出结果max
自然语言
开始
输入变量x、y、z的值
x>y?
max←x
max←y
z>max?
max←z
输出变量max的值
结束
Y
N
N
Y
05. 算 法 的 描 述
05. 算 法 的 描 述
条件判断语句
If 条件 then
(语句序列1)
Else
(语句序列2)
伪代码
循环语句
While 条件
(循环体)
13
05. 算 法 的 描 述
计算机程序设计语言
14
06. 课 堂 小 结
算法的概念
算法的特征
算法的要素
算法的描述
15
$
00. 课 前 回 顾
算法的概念
算法的特征
算法的要素
算法的描述
1
2.2 算法的控制结构
DATA ACQUISITION AND CODING
昌化中学 应彤鑫
《数据与计算》
01. 顺 序 结 构
顺序结构:是指算法中各个步骤按照先后顺序依次执行的结构。
特点:
①每个步骤按照算法中出现的顺序依次执行。
②每个步骤一定会被执行一次,而且只执行一次。
3
02. 分 支 结 构
分支结构(也称选择结构):是指先进行条件判断,再根据判断结果分别执行不同处理的控制结构。
特点:
①首先进行条件判断,根据条件满足与否来决定执行哪个分支。
②在一个分支结构中,必定有—个分支被执行,其他的分支则被忽略。
条件满足?
语句块1
语句块2
4
03. 循 环 结 构
循环结构:算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构。
特点:
算法会先判断循环条件是否满足。若满足则进人循环,执行循环体,然后再次判断循环条件是否满足,若满足则再次进入循环,执行循环体,然后再次判断循环条件是否满足……直到某次循环条件不满足,退出循环。
5
04. 实 践 练 习
1. 求矩形面积s的部分流程图如下图所示,矩形的长、宽分别用变量a、b表示,对于框①和框②的作用,下列说法正确的是( )
A.框①用于输入a和b的值,框②用于输出s的值
B.框①用于输出a和b的值,框②用于输出s的值
C.框①用于输入a和b的值,框②用于输入s的值
D.框①用于输出a和b的值,框②用于输入s的值