Presentation is loading. Please wait.

Presentation is loading. Please wait.

算法初步 §1.1.2 程序框图.

Similar presentations


Presentation on theme: "算法初步 §1.1.2 程序框图."— Presentation transcript:

1 算法初步 § 程序框图

2 复习 1、算法的概念 2、算法的特点 3、常见的几个例子 4、判断一个正整数是否是质数的算法

3 算法的概念 算法是指解决给定问题的有穷操作步骤的描述,简单的说,算法就是解决问题的步骤和方法。

4 算法的基本特点 1、有穷性 一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。 2、确定性 算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。 3、可行性 算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果 。

5 第一步:判断n是否等于2?若n=2,则n是质数,否则,执行第二步;
判断一个正整数是否是质数的算法 开始 输入n n=2? d=2 flag=0 d=d+1 d整除n? d<=n-1且 flag=1? n是质数 n不是质数 结束 自然语言描述 图形描述 第一步:判断n是否等于2?若n=2,则n是质数,否则,执行第二步; 第二步:依次从2~(n-1)检验是不是n的因数,即能整除n的数,若有这样的数,则n不是质数;若没有,则n是质数。

6 3、整个图形中有哪些基本的图形,各自的意义和作用是什么?
开始 判断一个正整数是否是质数的算法 输入n 图形描述 思考: n=2? 1、flag的作用是什么? d=2 d整除n? 2、d=d+1是什么意思? flag=0 d=d+1 3、整个图形中有哪些基本的图形,各自的意义和作用是什么? d<=n-1且 flag=1? flag=1? n是质数 n不是质数 结束

7 程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。
名称 功能 终端框(起止框) 表示一个算法的起始和结束 输入、输出框 表示算法的输入和输出的信息 处理框(执行框) 赋值、计算 判断框 判断一个条件是否成立,用“是”、“否”或“Y”、“N”标明

8 例1 设计一算法:输入圆的半径,输出圆的面积,并画出流程图
例1 设计一算法:输入圆的半径,输出圆的面积,并画出流程图 算法分析: 开始 结束 输入半径R 计算S=Pi*R*R 输出面积S 定义Pi=3.14 第一步:输入圆的半径 第二步:利用公式“圆的面积=圆周率×(半径的平方)”计算圆的面积; 第三步:输出圆的面积。 思考:整个程序框图有什么特点?

9 例2 已知一个三角形的三边长确分别为2,3,4,利用海伧-秦九 韶公式设计一个算法,求出它的
例2 已知一个三角形的三边长确分别为2,3,4,利用海伧-秦九 韶公式设计一个算法,求出它的 开始 面积,画出算法的程序框图. p=(2+3+4)/2 s=SQR(p*(p-2)*(p -3)*(p-4)) 输出s 结束

10 第二步:根据面积选择计费方式:如果S小于或等于80,则租金为M=s×3,否则为M=240+(S-80)×5
例3 设计房租收费的算法,其要求是:住房面积80平方米以内,每平方米收费3元,住房面积超过80平方米时,超过部分,每平方米收费5元.输入住房面积数,输出应付的房租. 算法分析: 开始 结束 输入面积S 输出租金M S<=80 M=3*S M=240+5*(S-8) 第一步:输入住房面积S 第二步:根据面积选择计费方式:如果S小于或等于80,则租金为M=s×3,否则为M=240+(S-80)×5 第三步:输出房租M的值。 思考:整个程序框图有什么特点?

11 例4 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图..
开始 输入a,b,c a+b>c,a+c > b, b+c > a是否同 时成立? 存在这样的 三角形 不存在这样 的三角形 结束

12 例5 设计一个计算1+2+...+100的值的算法,并画出程序框图.
开始 i=1 sum=0 i=i+1 sum=sum+1 i≤100? 输出sum 结束

13 练习巩固 1 看下面的程序框图,分析算法的作用 (1) (2) 开始 结束 输入a,b a<b? 输出a,b 输出b,a 否 是 开始
1 看下面的程序框图,分析算法的作用 开始 结束 输入a,b a<b? 输出a,b 输出b,a (1) (2) 开始 结束 输入x y=3*x*x+4*x+5 输出y

14 练习2 开始 结束 输入a,b S>=60? credit=2 credit=0 S=(a+b)*0.5 输出credit 城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图

15 课堂作业P11 开始 练习1 输入a a ≥0 N Y 输出 |a|=a 输出 |a|=-a 结束

16 练习2 开始 X1=1 X2=2 m=(x1+x2)/2 N m*m -3<>0 y
(x1*x1 -3)*(m*m -3) >0 x1=m x2=m N |x1 -x2|<0.005 y m=(x1+x2)/2 输出所求的近似值m 结束

17

18 开始 输入n flag=1 n>2 d=2 d整除n? flag=0 d=d+1 d<=n-1且flag=1? flag=1? n不是质数 n是质数 结束

19 顺序结构 输入n flag=1

20 条件结构 flag=1? n不是质数 n是质数 结束

21 循环结构 d整除n? flag=0 d=d+1 d<=n-1且flag=1?

22 小结: 1、程序框图的概念 2、程序框图图例的名称和意义(作用) 3、如何用程序框图表示顺序结构、选择结构 与循环结构的算法

23 作业巩固: P 习题1.1 A组 B组


Download ppt "算法初步 §1.1.2 程序框图."

Similar presentations


Ads by Google