nbhkdz.com冰点文库

必修三《1-1-2 程序框图与顺序结构》课件(共22张PPT)

时间:2017-01-14


§1.1.2程序框图与顺序结构

复习回顾 1.算法的概念 广义而言,算法就是解决某个问题或处理某 件事的方法和步骤. 狭义而言 , 算法是专指用计算机解决某一 问题的方法和步骤.著名计算机科学家 D.E.Knuth 在其《计算机程序设计技巧》一书 中为算法所下的定义是:“一个算法,就是一个 有穷规则的集合,其中之规则规定了一个解决某 一特定类型问题的运算系

列”.

练习
任意给定一个正实数a,试设计一个算法求 以a为直径的圆的面积。 解 第一步:输入a的值.
第二步:________________________.

第三步:________________________.
第四步:输出圆的面积的值.

用自然语言描述算法的优点是通俗易懂 , 当算法中的操作步骤都是顺序执行时比较容易 理解.缺点是如果算法中包含判断和转向,并且 操作步骤较多时,就不那么直观清晰了.

一、程序框图

讲授新课

1.程序框图的概念 程序框图又称流程图 , 是一种用规定的图 形、指向线及文字说明来准确、直观地表示算 法的图形. 2.常见的程序框图(ANSI,美国国家标准化协会) 图形符号 名称 功能

流程线
连结点

连接循环框
连接循环框图的两部分

图形符号

名称 终端框 (起止框)

功能 表示一个算法的 起始和结束 表示一个算法输 入和输出的信息 赋值、计算
判断某一条件是否成 立,成立时在出口处标 明“是”或“ Y ” , 不 成立时标明“否”或 “N”.

输入、 输出框 处理框 (执行框)
判断框

开始

1
输入n


i=2

r=0? 是
n不是质数 n是质数

求n除以i 的余数r i=i+1

i≥n或r=0?


结束

是 1

二、顺序结构及框图表示 1. 顺序结构 : 按照步骤依次执行的一个算法 , 称 为具有“顺序结构”的算法 , 或者称为算法的 顺序结构. 2.顺序结构的流程图 顺序结构是最简单的 算法结构,语句与语句之间, 框与框之间是按从上到下 的顺序进行的.它是由若干 个处理步骤组成的,这是任 何一个算法都离不开的基 本结构.

语句A
语句B

3.画顺序结构程序框图时注意事项 (1)在程序框图中,开始框和结束框不可少; (2)在算法过程中,第一步输入语句是必不 可少的; (3)顺序结构在程序框图中的体现就是用流 程线将程序框自上而下地连接起来,按顺序 执行算法步骤.
语句A 语句B

左图中,语句A和语句B是依次执 行的,只有在执行完语句A指定的 操作后,才能接着执行语句B所指 定的操作.

3.四种基本框图的及其功能用法: (1)起止框:框内填写开始、结束,任何程序框 图中,起止框是必不可少的;

(2)输入、输出框:框内填写输入、输出的 字母、符号等;
(3) 处理框 ( 执行框 ): 算法中需要的算式、 公式、对变量进行赋值等要用执行框表示. (4)判断框:当算法要求在不同的情况下执 行不同的运算时,需要判断框 . 框内填写 判断条件.

4.画流程图的规则 为了使大家彼此之间能够读懂各自画出 的框图,必须遵守一些共同的规则,下面对一些 常用的规则作一简单的介绍. (1)使用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画. (3) 除判断框外,大多数程序框图符号只有一 个进入点和一个退出点,判断框是具有超过一 个退出点的唯一符号. (4) 一类判断框是“是”与“否”两分支的判 断,而且有且仅有两个结果;另一类是多分支判 断,有几种不同的结果.

(5)在图形符号内描述的语言要非常简练清楚.

(6)起始框只允许一条流出线 ,终止框只允许一 条流入线,输入框、输出框、处理框只有一条流 入线和一条流出线,判断框有一条流入线和两条 流出线,但任何时候只有一条流出线起作用.
(7)一个程序框图包括以下几部分 :表示相应操 作的程序框;带箭头的流程线;程序框外必要的 文字说明.

开始

1
输入n


i=2

r=0? 是
n不是质数 n是质数

求n除以i 的余数r i=i+1

i≥n或r=0?


结束

是 1

从上面的程序框图中,不难看出以下三种不 同的逻辑结构.
求n除以i 的余数r
输入n

r=0?




i=i+1
i=2

否 i≥n或r=0?


n不是质数

n是质数

尽管不同的算法千差万别 , 但它们都是由 三种基本的逻辑结构构成的 , 这三种逻辑结构 就是顺序结构、循环结构 、选择结构 . 下面分 别介绍这三种结构.

【例1】已知一个三角形的三边边长分别为2,3,4, 利用海伦 —秦九韶公式设计一个算法 ,求出它的 面积,画出算法的程序框图. 开始框 开始
输入a,b,c
p ? ( a ? b ? c) / 2

输入框

S ? p( p ? a )( p ? b)( p ? c )
输出S 结束

处理框 输出框 结束框

【1】求两个实数 a,b 的算术平均值 aver. 解:用数学语言 S1: 输入两个实数 a,b ; S2:计算 c=a+b; S3: 计算 aver=c/2; S4: 输出 aver.
开始
输入 a,b

c ? a?b
aver =c/2

输出aver
结束

【 2 】“鸡兔同笼”是我国隋朝时期的数学著 作《孙子算经》中的一个有趣而具有深远影响 的题目:“今有雉兔同笼,上有三十五头,下有九 十四足,问雉兔各几何.” 请你设计一个这类问 题的通用算法.并画出算法的程序框图.
解: 鸡兔同笼,设鸡兔总头数为H ,总脚数为F,求 鸡兔各有多少只.算法分析如下:
?X ?Y ? H, 设有X 只鸡,Y 只兔.则 ? 2 X ? 4Y ? F . ?

? X ? (4 H ? F ) / 2, 解方程组,得 ? ?Y ? ( F ? 2 H ) / 2.

解:用数学语言

程序框图
开始

第一步:输入总头数H,
总脚数F;
输入H和F
X=(4H-F)/2

第二步:计算鸡的个数
x=(4H-F)/2;

第三步:计算兔的个数
y=(F-2H)/2; 第四步:输出 x , y

Y=(F-2H)/2
输出X,Y 结束

【3】试描述求点(x0 , y0)到直线Ax+By+C=0的 距离的算法,并画出算法的程序框图. 解:用数学语言 第一步:输入x0,y0,A,B,C; 第二步:计算Z1=Ax0+By0+C; 第三步:计算Z2=A2+B2; 第四步:计算 d ? 第五步:输出d.
| Z1 | Z2

;

程序框图

开始

输入x0,y0,A,B,C
Z1=Ax0+By0+C

Z2=A2+B2
d ? | z1 | z2

输出d

结束

课堂小结 1.算法的描述 (1)文字描述 (2)程序框图:由于图形的描述方法既形象,又直 观,设计者的思路表达得清楚易懂,便于检查修 改,所以得到广泛的应用. 2.现以证明,无论多么复杂的问题,其算法都可 表示为这三种基本结构的组合.其结构清晰、易 于理解、易于验证其正确性,也易于查错和排 错.

课堂作业
随堂练习

?课本P.21 2 ?预习1.1.2程序框图P10-12