(共17张PPT)
程序框图
复习
1、算法的概念
2、算法的特点
3、常见的几个例子
4、判断一个正整数是否是质数的算法
算法的概念
算法是指解决给定问题的有穷操作步骤的描述,简单地说,算法就是解决问题的步骤和方法。
算法的基本特点
1、有穷性
一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。
2、确定性
算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。
3、有序性
算法中的每一个步骤都是有顺序的,前一步是后一步的前提,只有执行完前一步后,才能执行后一步,有着很强逻辑性的步骤序列。
判断一个正整数是否是质数的算法
自然语言描述
图形描述
第一步:判断n是否等于2?若n=2,则n是质数,否则,执行第二步;
第二步:依次从2~(n-1)检验是不是n的因数,即能整除n的数,若有这样的数,则n不是质数;若没有,则n是质数。
开始
输入n
求n除以i的余数
i的值增加1,仍用i表示
i>n-1或r=0?
r=0?
n不是质数
n是质数
结束
否
否
是
是
i=2
判断一个正整数是否是质数的算法
图形描述
思考:
1、r的作用是什么?
2、i的值增加1(i=i+1)有什么作用?
3、整个图形中有哪些基本的图形,各自的意义和作用是什么?
开始
输入n
求n除以i的余数
i的值增加1,仍用i表示
i>n-1或r=0?
r=0?
n不是质数
n是质数
结束
否
否
是
是
i=2
程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。
程序框
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示算法的输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断一个条件是否成立,用“是”、“否”或“Y”、“N”标明
例1
设计一算法:输入圆的半径,输出圆的面积,并画出流程图
算法分析:
第一步:输入圆的半径
第二步:利用公式“圆的面积=圆周率×(半径的平方)”计算圆的面积;
第三步:输出圆的面积。
开始
结束
输入半径R
计算S=Pi
R
R
输出面积S
定义Pi=3.14
思考:整个程序框图有什么特点?
例2
已知一个三角形的三边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的
p=(2+3+4)/2
s=SQR(p
(p-2)
(p
-3)
(p-4))
输出s
结束
开始
面积,画出算法的程序框图.
例3
设计房租收费的算法,其要求是:住房面积80平方米以内,每平方米收费3元,住房面积超过80平方米时,超过部分,每平方米收费5元.输入住房面积数,输出应付的房租.
算法分析:
第一步:输入住房面积S
第二步:根据面积选择计费方式:如果S小于或等于80,则租金为M=s×3,否则为M=240+(S-80)×5
第三步:输出房租M的值。
开始
结束
输入面积S
输出租金M
S<=80
M=3
S
M=240+5
(S-8)
否
是
思考:整个程序框图有什么特点?
例4
任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.
开始
输入a,b,c
a+b>c,a+c
>
b,
b+c
>
a是否同
时成立?
存在这样的
三角形
不存在这样
的三角形
结束
否
是
例5
设计一个计算1+2+...+100的值的算法,并画出程序框图.
开始
i=1
sum=0
i=i+1
sum=sum+1
i≤100?
输出sum
结束
否
是
练习巩固
1 看下面的程序框图,分析算法的作用
(1)
开始
结束
输入x
y=3
x
x+4
x+5
输出y
(2)
开始
结束
输入a,b
a输出a,b
输出b,a
否
是
练习2
城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图。
开始
结束
输入a,b
S>=60?
credit=2
credit=0
否
是
S=(a+b)
0.5
输出credit
课堂练习:
开始
输入a
a
≥0
输出
|a|=a
输出
|a|=-a
结束
N
Y
练习:仔细观察下面两个流程图,说说它有什么作用?
1.
开始
X1=1
X2=2
m=(x1+x2)/2
x2=m
x1=m
m
m
-3<>0
|x1
-x2|<0.005
(x1
x1
-3)
(m
m
-3)
>0
输出所求的近似值m
结束
m=(x1+x2)/2
N
y
y
N
2.
N
Y
小结:
1、程序框图的概念
2、程序框图图例的名称和意义(作用)