(共16张PPT)
2算法的基本结构及设计
2.1顺序结构与选择结构
提问:已知一个三角形三条边的边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出算法流程图。(s= ), p=
1.输入三角形三边长a,b,c;
2.计算p= ;
3.计算s=
4.输出S.
同学们算法除了用自然语言表示外,还可以用其它的方法表示吗?
思考:
一、流程图
(1)流程图的概念
为了使算法结构更加清晰,用规定式样的图形、指向线和文字组合起来表示算法。就称为流程图。
思考:
既然流程图要用借助图来描述,那么这些图是怎样规定的呢
起止框
处理框
输入输出框
判断框
流程线
表示一个算法的起始和结束
表示一个算法输入和输出的信息
填写 (字母、数据)
判断某一条件是否成立,成立时在
出口处标明“是”或“Y”;不成立时
标明“否”或“N”.
赋值、计算(计算、公式)
表示流程的路径和方向
(2)流程图的图形符号及意义
例1已知一个三角形三条边的边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出算法流程图。(p= ), s=
解:
1.输入三角形三边长a,b,c;
2.计算p= ;
3.计算s=
4.输出S.
输出s
开始
输入a,b,c
结束
流程图如下:
p=
s=
二 、1、顺序结构
(1)顺序结构是指在一个算法中运算是按照步骤依次执行的,这是一种最简单的算法结构,也是任何一个算法必不可少的逻辑结构。
(2)顺序结构的流程图
结 束
开 始
A
B
这种算法的
流程图
习题1.设计算法,求出方程ax+b=0(a≠0,b≠0)的解,画出算法流程图。
[解析]其算法如下: 流程图如下:
(1)输入a,b;
(2)计算x=
(3)输出x。
开始
输入a,b
x=
输出x
结束
提问:如果a R,又该怎样设计算法和画出算法的流程图呢?
变式引申:设计算法,求出方程ax+b=0(b ≠ 0)的解,画出算法流程图。
(1)输入a,b;
(2)若a=0时,输出“无解”;
否则x=
(3)输出x。
开始
输入a,b
a=0
x=
输出x
输出“无解”
结束
否
是
其流程图表示如下:
【解析】其算法表示如下:
2、选择结构
(2).选择结构的流程图
计算机执行这种结构的算法,先对条件进行判断,若条件为真,则执行步骤1,若条件为假,则执行步骤2.
是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。
(1).定义:
条件
步骤1
步骤2
成立
不成立
选择结构的实质就是分段函数
注意:
练习1、比较上面两个流程图有什么差别?
(1)、顺序结构在流程图中的体现就是用带箭头的流程将框图自上而下地连接起来,按顺序执行算法步骤。
(2)、选择结构在流程图中的体现就是用判断框图来表示,判断筐内写上条件,然后有两个出口,分别对应着条件满足与条件不满足时所执行的不同指令。
A
B
条件
A
B
成立
不成立
解:算法步骤如下:
(1)输入x;
(3)输出函数值y。
(2)如果x≥0, 那么使y=x-1;否则( x<0),得y=-x-1
练习2、试设计一个求 y= 的算法,并画出流程图。
x-1 (x≥0)
-x-1 (x<0)
开始
输入x
x<0
是
否
y=-x-1
y=x-1
输出y
结束
流程图
开始
输入a
a≥0
输出”负数”
输出
结束
否
是
练习3:如果a=2,指出下列流程图运行的结果是__
练习4、设计算法,求出方程ax+b=0的解,画出算法流程图。
提示:综合例题1与变式引申,分类讨论a,b的取值。
小结
1、流程图
(1)流程图由程序框、流程线和程序框外必要的文字说明组成。
(2)流程图框有:起始框、输入(输出)框、处理框和判断框。
2、算法的基本逻辑结构:顺序结构、选择结构
3、在具体画程序框图时,要注意的问题:
(1)流程线上要有标志执行顺序的箭头
(2)判断框后边的流程线应根据情况标注“是”或“否”
来决定程序该走哪一步;
1.P104.6、7 ; 2.请大家了解一下我国著名的数学家秦九韶
作业: