程序框图及算法的基本逻辑结构

合集下载

1.1.2程序框图与算法的基本逻辑结构(循环结构)

1.1.2程序框图与算法的基本逻辑结构(循环结构)

变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值.
开始
i=1 S=0
如何修改?
开始
i=1 S=0 i=i+1
否 i≤100?
S=S+i S=S+i 2
i=i+1
直到 型循 环结 构
i>100? 是
输出S

2 S=S+i S=S+i
否 输出S
结束
结束
当型循环 结构
变式训练(2): 1 1 1 1 编写程序求: 1 2 3 4 100 的值. 开始 如何修改? 开始
S=S*i 否 i≤6? 否 是
i=i+1 i>6?
是 输出S 结束
输出S
结束
变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值. 变式训练(2): 1 1 1 1 编写程序求: 1 的值. 2 3 4 100 变式训练(3): 编写程序求:1+2+3+4+5+……+n的值. 变式训练(4): 编写程序求:n!=1×2×3×4×5×……×n的值. 变式训练(5): 编写程序求:1×3×5×7×……×101的值.
知识回顾
1、算法的概念
在数学上, “算法”通常是指可以用计算机来 解决的某一类问题的程序或步骤,这些程序或 步骤必须是明确和有效的,而且能够在有限步 之内完成.
2、算法最重要的特征: (1).有序性 (2).确定性 (3).有限性
3、程序框图的三种基本的逻辑结构

程序框图

程序框图

练习: 1.如图所示的程序 框图,若输入的n 是100,则输出的S 和T的值是( ) D A、2500,2500 B、2550,2550
开始 输入n s=0,T=0 是 n<2? 否 s=s+n n=n-1 输出s、T T=T+n 结束
C、2500,2550
D、2550,2500
n=n-1
开始
例1.(1)如图,该程序 框图表示的算法功能 是 计算S=2+4+¨¨+100并输出s , 如果执行这个程序框图, 那么输出的s等 于 2550 。
例1:已知一个三角形的三边边长分别为a,b,c, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图.
S
p
p ( p a )( p b )( p c )
2
abc
例1:已知一个三角形的三边边长分别为a,b,c, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图.
;
第 四 步 : 判 断 0 是 否 成 立 。 若 是 , 则 输 出 x1 x 2 p ; 否 则 , 计 算 x1 p q , x 2 p q , 并 输 出 x1 , x 2
开始 输入a,b,c
b
2
4 ac

0?
否 X1=p+q X2=p-q
开始
输入n i=2
终端框(起止框), 表示一个算法的起始 和结束
n除以i的余数r
i=i+1 否
i>n-1或r=0?
是 否
r=0?
是 n不是质数 n是质数
结束
开始
输入n
输入、输出框 表示一个算法输入和 输出的信息

高中数学必修三《程序框图与算法的基本逻辑结构》课件

高中数学必修三《程序框图与算法的基本逻辑结构》课件

第四步,输出S.
S
p
abc 2
p(p a)(p b)(p c)
上述算法的程序框图如何表示?
输出S 结束
教材5页练习
1、任意给定一个正实数,设计一个算法求以这个数为半
径的圆的面积.
开始
第一步: 给定一个正实数r; 第二步: 计算以r为半径的
输入r
圆的面积S=πr2;
S r2
第三步: 得到圆的面积S.
输入x0,y0,A,B,C
d | Ax0 By0 C | A2 B2
输出d
结束
算法的条件结构:
在某些问题的算法中,有些步骤只有在一定条件下才会被执 行,算法的流程因条件是否成立而变化.在算法的程序框图中,由 若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条 件结构,用程序框图可以表示为下面两种形式:
---用程序框、流程线及文 字说明来表示算法的图形.
在上述程序框图中, 有4种程序框,2种流程 线,它们分别有何特定的名 称和功能?
开始
输入n
i=2
求n除以i的余数r i的值增加1,仍用i表示
i>n-1或r=0?

r=0? 是
输出“n 不是质数”


输出“n 是质数”
结束
图形符号
名称
功能
终端框
表示一个算法的起始和结束
2a 2a 否则,输出“方程没有实数根”,结束算法。
第四步:判断 0是否成立。若是,则输出x1 x2 p; 否则,计算x1 p q, x2 p q,并输出x1, x2
输出p
开始
输入a,b,c
b2 4ac
0?
是 p b
2a
q 2a

必修3课件1.1.2-3程序框图与算法的基本逻辑结构

必修3课件1.1.2-3程序框图与算法的基本逻辑结构
条件结构 否
f (a ) f ( m ) 0?

bm
am
ab 循环结构 2 [ 含零点的区间为[m, b]. 第四步:若 f (a ) f ( m ) 0, 则含零点的区间为 a , m];否则, 将新得到的含零点的区间仍记为[a , b]. 第五步:判断[a , b]的长度是否小于d或f(m)是否等于0. 若是,则m是方程的近似值;否则,返回第三步.
第三步:取区间中点 m
第三步 第四步
| a b | d或 f ( m ) 0?

输出 m

开始
f ( x) x2 2
否 输入精确度d 和初始值a , b
am
ab m 2
f (a ) f ( m ) 0?

bm
| a b | d或 f ( m ) 0?


第一步:用自然语言表述算法步骤.
第二步:确定每一个算法步骤所包含的逻辑结构,并用相 应的程序框图表示,得到该步骤的程序框图. 第三步:将所有步骤的程序框图用流程线连接起来,并 加上终端框,得到表示整个算法的程序框图.
【例2】 x2 写出用“二分法”求方程 2 0( x 0) 法. 第一步:令 f ( x ) x 2 2, 给定精确度d. 第二步:确定区间[a, b], 满足 f (a ) f (b) 0

步骤A 步骤B

步骤A
(1)
(2)
循环结构
循环体
循环体 满足条件?

满足条件?



直到型
当型
2.在学习上,我们要求对实际问题能用自然语言 设计一个算法,再根据算法的逻辑结构画出程序框 图,同时,还要能够正确阅读、理解程序框图所描 述的算法的含义,这需要我们对程序框图的画法有 进一步的理解和认识. 思考1:解关于x的方程ax+b=0的算法步骤如何设计? 第一步,输入实数a,b. 第二步,判断a是否为0.若是,执行第三步;否则, b x = 计算 ,并输出x,结束算法. a 第三步,判断b是否为0.若是,则输出“方程的解为 任意实数”;否则,输出“方程无实数解”.

1.1.2程序框图与算法的基本逻辑结构

1.1.2程序框图与算法的基本逻辑结构

r=0? 是 n不是质数
Page 3
否 n是质数
结束
开始
2、一个程序框图包括以下几部分: ①表示相应操作的程序框;
输入n i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否
②带箭头的流程线;
③程序框外必要的文字说明。 不同的程序框有不同的含义
r=0? 是 n不是质数
Page 4
S p( p a)( p b)( p c)
输出S 结束
Page 15
练习
1、设计一算法:输入圆的半径,输出圆的面积,并画出流 程图
算法分析: 第一步:输入圆的半径 第二步:利用公式 S r 2 计 算圆的面积; 第三步:输出圆的面积。
输入半径R 计算 S r 2
开始
(1)在程序框图中, 开始框和结束框不可少; (2)在算法过程中, 输出语句是必不可少的;
Page 16
输出面积S
结束
2、下列逻辑结构,说出它的算法功能 开始 输入a,b sum=a+b 输出sum
结束 答案:求两个数的和
Page 17
3、已知梯形上底为2,下底为4,高为5,求其面积,设计出 该问题的流程图.
否 n是质数
结束
程序框名称及作用
开始 输入n
终端框(起止框), 表示一个算法的起始和 结束
i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否
r=0? 是 n不是质数
Page 5
否 n是质数
结束
开始 输入n
输入、输出框 表示一个算法输入和输 出的信息
i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否

25.程序框图与算法的基本逻辑结构7.25

25.程序框图与算法的基本逻辑结构7.25

否 i>n-1或r=0?
是 r=0? 是 n不是质数 n是质数 否
条 件 结 构
结束
2、算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。 示意图
顺序结构是由若干个 依次执行的步骤组成的。
(1)顺序结构
它是任何一个算法都离不
开的一种基本算法结构。
步骤 n
步骤n+1
例3 已知一个三角形的三边长分别为a, b, c,利 用海伦-秦九韶公式设计一个计算三角形面积的算法, 并画出程序框图表示.(分步)
二、讲授新课
1、程序框图 (1)程序框图的概念 程序框图又称流程图,是一种用程序框、流 程线及文字说明来准确、直观地表示算法的图形. 在程序框图中,一个或几个程序框的组合表 示算法中的一个步骤;带有方向箭头的流程线将 程序框连接起来,表示算法步骤的执行顺序。
(2)构成程序框图的图形符号及其功能
图形符号
算法步骤:
程序框图:
开始 输入a, b, c
p abc 2
第一步,输入三角形三边长 a, b, c
abc 第二步,计算 p 2
第三步,计算
s p(p - a)(p - b)(p - c)
s p(p - a)(p - b)(p - c)
第四步,输出s.
输出s
结束
练习1:任意给定一个正实数,设计一个算法 求以这个数为半径的圆的面积,并画出程序框图 表示. 算法步骤为:
名称
终端框 (起止框)
功能
表示一个算法的起始和结束
输入、输出框 表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时 在出口处标明“是”或“Y”,不 成立时标明“否”或“N”.

1.1.2算法与程序框图

1.1.2算法与程序框图

循环结构分为当型循环结构和 循环结构分为当型循环结构和直到型循环结构 当型循环结构
循环体 循环体 是 满足条件? 满足条件? 否 当型循环结构 满足条件? 满足条件? 是 直到型循环结构 否
差异:循环终止条件不同 检验条件是否成立的先后次序也不同 差异 循环终止条件不同,检验条件是否成立的先后次序也不同 循环终止条件不同 检验条件是否成立的先后次序也不同. 当型循环结构:先判断后执行循环体 先判断后执行循环体. 当型循环结构 先判断后执行循环体 直到型循环结构:先执行循环体后判断条件是否成立 先执行循环体后判断条件是否成立. 直到型循环结构 先执行循环体后判断条件是否成立
1.1.2 程序框图 与 算法的基本逻辑结构
程序框
名称
终端框 起止框) (起止框) 输入、 输入、输出框 处理框 执行框) (执行框)
功能
表示一个算法的起始和结束 表示一个算法输入和 输出的信息 赋值、 赋值、计算
判断框
判断某一条件是否成立, 判断某一条件是否成立,成立 时在出口处标明“ 时在出口处标明“是”或“Y”; ; 不成立时标明“ 不成立时标明“否”或“N”. . 连接程序框
结束
判断整数n(n>2)是否为质数”的算法: 判断整数n(n>2)是否为质数”的算法: n(n>2)是否为质数
开始 输入n 输入 i=2 设n是一个大 是一个大 的整数. 于2的整数 的整数
一般用i=i+1 一般用 表示. 表示
除以i的余数 求n除以 的余数 除以 的余数r
i=i+1 i的值增加 仍用 表示 的值增加1仍用 的值增加 仍用i表示
循环结构一定包含条件结构,用以控制循环过程 避免出现 循环结构一定包含条件结构 用以控制循环过程,避免出现 用以控制循环过程 死循环” 判断框内写上条件 判断框内写上条件,两个出口分别对应终止条件成 “死循环”.判断框内写上条件 两个出口分别对应终止条件成 立与否,其中一个指向循环体 经过循环体回到判断框的入口处. 其中一个指向循环体,经过循环体回到判断框的入口处 立与否 其中一个指向循环体 经过循环体回到判断框的入口处

1.1.2 程序框图与算法的基本逻辑结构

1.1.2 程序框图与算法的基本逻辑结构

输入n i=2
二、条件结构 是指在算法中通过对条件的判 断,根据条件是否成立而选择不同流向的算 法结构。
是 满足条件?

满足条件?


步骤1
步骤2
步骤1
步骤2
r=0?


输出“n不是质数” 输出“n是质数”
例4、已知一个三角形的三边分别为a、 b、c,请设计一个算法,求出它的面 积,并画出算法的程序框图。
1.1.2 程序框图与算法的基本逻 辑结构
程序构图
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法 的图形。
程序框 名称 起止框 功能 表示一个算法的起始和结束,是任何 流程图不可少的。
输入、输出框
表示一个算法输入和输出的信息,可 用在算法中任何需要输入、输出的位 置。
一类是多分支判断,有几种不同的结果. (5)在图形符号内描述的语言要非常简练清楚
算法的基本逻辑结构
任何算法的程序框图都可以用三种基本结构 的组合来实现,它们是顺序结构、条件结构、 循环结构 。 一、顺序结构 它是由若干个依次执行的处 理步骤组成的,它是任何一个算法都离不开 的一种基本算法结构。
如在下面图中,A框和B框是依次执行的, 只有在执行完A框指定的操作后,才能接 着执行B框所指定的操作。 A B

输出“n是质数” 输出“n不是质数”
开始
否 例1: 将“判断整数n (n>2)是否为质数” 的算法用程序框图表 示.
i的值增加1,仍用i表示
i>n-1或r=0?

画流程图的基本规则.
(1)使用标准的图形符号. (2)框图一般按从上到下、从左到右的方向画. (3)除判断框外,大多数流程图符号只有一个 流入点和一个流出点.判 断框具有超过一个流出 点的惟一符号. (4)判断框分两大类,一类判断框“是”与 “否”两分支的判断,而且有且仅有两个结果;另
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序框图与算法的根本逻辑构造
教学目标
能够正确说出各种程序框图及流程线的功能与作用
能够画出顺序构造、条件构造、循环构造的流程图
能够设计简单问题的流程图
教学重点
程序框图的画法.
教学难点
程序框图的画法.
课时安排
4课时
教学过程 第1课时 程序框图及顺序构造
图形符号
名称 功能
终端框〔起止框〕 表示一个算法的起始和完毕
输入、输出框 表示一个算法输入和输出的信息
处理框〔执行框〕 赋值、计算 判断框 判断*一条件是否成立,成立时在出口处标明
“是〞或“Y 〞;不成立时标明“否〞或“N 〞
流程线
连接程序框 连接点 连接程序框图的两局部
三种逻辑构造可以用如下程序框图表示:
顺序构造 条件构造 循环构造
应用例如
例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数〞的算法.
解:程序框图如下:
变式训练
观察下面的程序框图,指出该算法解决的问题.
解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.
例2 一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.〔三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---〕,其中p=2
c b a ++.这个公式被称为海伦—秦九韶公式〕 算法步骤如下:
第一步,输入三角形三条边的边长a,b,c.
第二步,计算p=2
c b a ++.
第三步,计算S=))()((c p b p a p p ---.
第四步,输出S.
程序框图如下:
点评:很明显,顺序构造是由假设干个依次执行的步骤组成的,它是最简单的逻辑构造,它是任何一个算法都离不开的根本构造.
顺序构造可以用程序框图表示为
变式训练 下列图所示的是一个算法的流程图,a 1=3,输出的b=7,求a 2的值.
解:根据题意2
21a a +=7, ∵a 1=3,∴a 2=11.即a 2的值为11.
随堂练习 如下给出的是计算
20
1614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.
答案:i>10.
第2课时 条件构造 教学目标
1、认识条件构造
2、能独立画出两种条件构造图示
教学重点: 直到型构造、当型构造
教学难点: 直到型构造、当型构造互化
学习对象
条件构造:先根据条件作出判断,再决定执行哪一种操作的构造就称为条件构造〔或分支构造〕,如图1所示.执行过程如下:条件成立,则执行A 框;不成立,则执行B 框.
图1 图2
应用例如
例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.
算法步骤如下:
第一步,输入3个正实数a ,b ,c.
第二步,判断a+b>c ,b+c>a ,c+a>b 是否同时成立.假设是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图如右图:
例2 设计一个求解一元二次方程a*2+b*+c=0的算法,并画出程序框图表示.
解决这一问题的算法步骤如下:
第一步,输入3个系数a ,b ,c.
第二步,计算Δ=b 2-4ac.
第三步,判断Δ≥0是否成立.假设是,则计算p=a
b 2-
,q=a 2∆;否则,输出“方程没有实数根〞,完毕算法.
第四步,判断Δ=0是否成立.假设是,则输出*1=*2=p;否则,计算*1=p+q,*2=p-q,并输出*1,*2.
程序框图如下:
随堂练习
1、设计算法判断一元二次方程a*2+b*+c=0是否有实数根,并画出相应的程序框图.
相应的程序框图如右:
2、〔1〕设计算法,求a*+b=0的解,并画出流程图.
程序框图如下:
作业:
设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流程图.
解:算法步骤:
第一步,输入a,b,c的值.
第二步,判断a>b是否成立,假设成立,则执行第三步;否则执行第四步.
第三步,判断a>c是否成立,假设成立,则输出a,并完毕;否则输出c,并完毕.
第四步,判断b>c是否成立,假设成立,则输出b,并完毕;否则输出c,并完毕.
程序框图如下:
第3课时循环构造
教学目标
1、认识循环构造
2、能独立画出两种循环构造图示
3、能把直到型循环改写成当型构造,反之亦然
教学重点: 直到型构造、当型构造
教学难点: 直到型构造、当型构造互化
学习对象
在一些算法中,经常会出现从*处开场,按照一定的条件反复执行*些步骤的情况,这就是循环构造.反复执行的步骤称为循环体.
循环构造有两种形式:当型循环构造和直到型循环构造.
当型循环构造直到型循环构造
直到型循环构造是程序先进入循环体,然后对条件进展判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
当型循环构造是在每次执行循环体前,先对条件进展判断,当条件满足时,执行循环体,否则终止循环.
应用例如
例1 设计一个计算1+2+……+100的值的算法,并画出程序框图.
第一步,令i=1,S=0.
第二步,假设i≤100成立,则执行第三步;否则,输出S,完毕算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
当型循环直到型循环
变式训练
例1 设计框图实现1+3+5+7+…+131的算法.
第一步,赋初值i=1,sum=0.
第二步,sum=sum+i ,i=i+2.
第三步,如果i ≤131,则反复执第二步;否则,执行下一步.
第四步,输出sum.
第五步,完毕.
程序框图如右图
知能训练
设计一个算法,求1+2+4+…+249的值,并画出程序框图.
第4课时 程序框图的画法
应用例如
例1 结合前面学过的算法步骤,利用三种根本逻辑构造画出程序框图,表示用“二分法〞求方程*2
-2=0〔*>0〕的近似解的算法.
算法分析:〔1〕算法步骤中的“第一步〞“第二步〞和“第三步〞可以用顺序构造来表示〔如下列图〕:
〔2〕算法步骤中的“第四步〞可以用条件构造来表示〔如下列图〕.在这个条件构造中,“否〞分支用“a=m 〞表示含零点的区间为[m ,b ],并把这个区间仍记成[a ,b ];“是〞分支用“b=m 〞表示含零点的区间为[a,m ],同样把这个区间仍记成[a ,b ].
〔3〕算法步骤中的“第五步〞包含一个条件构造,这个条件构造与“第三步〞“第四步〞构成一个循环构造,循环体由“第三步〞和“第四步〞组成,终止循环的条件是“|a-b|<d 或f(m)=0”.在“第五步〞中,还包含由循环构造与“输出m 〞组成的顺序构造〔如下列图〕. 〔4〕将各步骤的程序框图连接起来,并画出“开场〞与“完毕〞两个终端框,就得到了表示整个算法的程序框图〔如下列图〕.
解:将实际问题转化为数学模型,该问题就是要求1+2+4+……+263的和.
程序框图如下:
点评:对于开放式探究问题,我们可以建立数学模型〔上面的题目可以与等比数列的定义、性质和公式联系起来〕和过程模型来分析算法,通过设计算法以及语言的描述选择一些成熟的方法进展处理.
例3 乘坐火车时,可以托运货物.从甲地到乙地,规定每*火车客票托运费计算方法是:行李质量不超过50 kg 时按0.25元/kg ;超过50 kg 而不超过100 kg 时,其超过局部按0.35元/kg ;超过100 kg 时,其超过局部按0.45元/kg .编写程序,输入行李质量,计算出托运的费用.
分析:此题主要考察条件语句及其应用.先解决数学问题,列出托运的费用关于行李质量的函数关系式.设行李质量为* kg ,应付运费为y 元,则运费公式为: y=⎪⎩
⎪⎨⎧>-+⨯+⨯≤<-+⨯≤<,100),100(45.05035.05025.0,10050),50(35.05025.0,500,25.0x x x x x x
整理得y=⎪⎩
⎪⎨⎧>-≤<-≤<.100,1545.0,10050,535.0,500,25.0x x x x x x
要计算托运的费用必须对行李质量分类讨论,因此要用条件语句来实现.
解:算法分析:
第一步,输入行李质量*.
第二步,当*≤50时,计算y=0.25*,否则,执行下一步.
第三步,当*≤100,计算y=0.35*-5,否则,计算y=0.45*-15.
第四步,输出y.
程序框图如下:
课堂小节
〔1〕进一步熟悉三种逻辑构造的应用,理解算法与程序框图的关系.
〔2〕根据算法步骤画出程序框图.
作业
习题1.1B组1、2.
设计感想
本节是前面内容的概括和总结,在回忆前面内容的根底上,选择经典的例题,进展了详尽的剖析,这样降低了学生学习的难度.另外,本节的练习难度适中,并且多为学生感兴趣的问题,这样为学生学好本节内容作好充分准备,希望大家喜欢这一节课.。

相关文档
最新文档