程序框图-顺序结构
2
主页
§1.1.2程序框图
开始 输入n
i=2
求n除以i 的余数 i=i+1
i≥n或r=0?
是 1
1
r=0? 是
n不是质数
否
结束
主页
否
n是质数
3
§1.1.2程序框图
从上面的程序框图中,不难看出以下三种不 同的逻辑结构.
输入n
求n除以i 的余数
i=i+1
否
r=0?
是
i=2
否
n不是质数
n是质数
i≥n或r=0?
10
主页
§1.1.2程序框图
【例1】已知一个三角形的三边边长分别为2,3,4, 利用海伦—秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图.
开始
开始框
p
2
3 2
4
Sp(pa)(pb)(pc)
处理框
输出S
结束
主页
Байду номын сангаас输出框
结束框
11
§1.1.2程序框图
【1】求两个实数 a,b 的算术平均值 aver.
语句A 语句B
左图中,语句A和语句B是依次执 行的,只有在执行完语句A指定的 操作后,才能接着执行语句B所指 定的操作.
17
主页
§1.1.2程序框图
1.算法的描述
课堂小结
(1)文字描述
(2)程序框图:由于图形的描述方法既形象,又直 观,设计者的思路表达得清楚易懂,便于检查修 改,所以得到广泛的应用.
2.现以证明,无论多么复杂的问题,其算法都可 表示为这三种基本结构的组合.其结构清晰、易 于理解、易于验证其正确性,也易于查错和排 错.
设有X
只鸡,Y
只兔.则
X Y
2
X
4Y
H
, F
.
解方程组,得
X (4H F)/ 2, Y (F 2H)/ 2.
15
主页
§1.1.2程序框图
解:用数学语言
第一步:输入总头数H, 总脚数F;
第二步:计算鸡的个数 x=(4H-F)/2;
第三步:计算兔的个数 y=(F-2H)/2;
第四步:输出 x , y
图形符号 名称
功能
流程线
连接循环框
连结点 连接循环框图的两部分
5
主页
§1.1.2程序框图
图形符号
名称
功能
终端框 表示一个算法的 (起止框) 起始和结束
输入、 输出框
处理框 (执行框)
表示一个算法输 入和输出的信息
赋值、计算
判断框
主页
判断某一条件是否成
立,成立时在出口处标
明 “ 是 ” 或 “ Y”, 不
成立时标明“否”或
“N”.
6
§1.1.2程序框图
3.四种基本的框及其功能用法:
(1)起止框:框内填写开始、结束,任何程序框 图中,起止框是必不可少的;
(2)输入、输出框:框内填写输入、输出的字 母、符号等;
(3)处理框(执行框):算法中需要的算式、 公 式、对变量进行赋值等要用执行框表示.
(4)判断框:当算法要求在不同的情况下执 行不同的运算时,需要判断框.框内填写判 断条件.
§1.1.2程序框图
【2】“鸡兔同笼”是我国隋朝时期的数学著 作《孙子算经》中的一个有趣而具有深远影响 的题目:“今有雉兔同笼,上有三十五头,下有九 十四足,问雉兔各几何.” 请你设计一个这类问题 的通用算法.并画出算法的程序框图.
解: 鸡兔同笼,设鸡兔总头数为H ,总脚数为F,求 鸡兔各有多少只.算法分析如下:
主页
程序框图
开始 输入H,F
X=(4H-F)/2
Y=(F-2H)/2
输出X,Y 结束
16
§1.1.2程序框图
画顺序结构程序框图时注意事项
(1)在程序框图中,开始框和结束框不可少; (2)在算法过程中,第一步输入语句是必不 可少的; (3)顺序结构在程序框图中的体现就是用流 程线将程序框自上而下地连接起来,按顺序 执行算法步骤.
第一步:输入x0,y0,A,B,C;
第二步:计算Z1=Ax0+By0+C;
第三步:计算Z2=A2+B2;
第四步:计算 d
|Z1
|
;
Z2
第五步:输出d.
13
主页
§1.1.2程序框图
程序框图
开始
输入x0,y0,A,B,C
Z1=Ax0+By0+C
Z2=A2+B2
d | z1 | z2
输出d
结束
14
主页
8
主页
§1.1.2程序框图
(5)在图形符号内描述的语言要非常简练清楚.
(6)起始框只允许一条流出线,终止框只允许一 条流入线,输入框、输出框、处理框只有一条流 入线和一条流出线,判断框有一条流入线和两条 流出线,但任何时候只有一条流出线起作用.
(7)一个程序框图包括以下几部分:表示相应操 作的程序框;带箭头的流程线;程序框外必要的 文字说明.
是
尽管不同的算法千差万别,但它们都是由三 种基本的逻辑结构构成的,这三种逻辑结构就是 顺序结构、选择结构、循环结构.下面分别介绍 这三种结构.
4
主页
§1.1.2程序框图
一、程序框图
讲授新课
1.程序框图的概念
程序框图又称流程图,是一种用规定的图
形、指向线及文字说明来准确、直观地表示算
法的图形.
2.常见的程序框图
解:用数学语言
开始
S1: 输入两个实数 a,b ;
输入 a,b
S2:计算 c=a+b;
cab
S3: 计算 aver=c/2;
aver =c/2
S4: 输出 aver.
输出 aver
结束
12
主页
§1.1.2程序框图
【3】试描述求点(x0 , y0)到直线Ax+By+C=0的 距离的算法,并画出算法的程序框图. 解:用数学语言
§1.1.2程序框图
1.算法的概念
复习回顾
算法是指按一定规则解决某一类问题的明确和 有限的步骤.
1
主页
§1.1.2程序框图
新课引入
算法可以用自然语言来描述,但为了使算法 的程序或步骤表达得更为直观,我们更经常地用 图形方式来表达它.
例如上一节“任意给定一个大于1的整数n, 试设计一个程序或步骤对n是否为质数做出判 定”的算法可以用以下形式来表达.
9
主页
§1.1.2程序框图
二、顺序结构及框图表示
1.顺序结构:按照步骤依次执行的一个算法,称 为具有“顺序结构”的算法,或者称为算法的 顺序结构.
2.顺序结构的流程图
语句A 语句B
顺序结构是最简单的算 法结构,语句与语句之间,框 与框之间是按从上到下的 顺序进行的.它是由若干个 处理步骤组成的,这是任何 一个算法都离不开的基本 结构.
7
主页
§1.1.2程序框图
4.画流程图的规则
为了使大家彼此之间能够读懂各自画出 的框图,必须遵守一些共同的规则,下面对一些 常用的规则作一简单的介绍.
(1)使用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画. (3)除判断框外,大多数程序框图符号只有一 个进入点和一个退出点,判断框是具有超过一 个退出点的唯一符号. (4)一类判断框是“是”与“否”两分支的判 断,而且有且仅有两个结果;另一类是多分支判 断,有几种不同的结果.