当前位置:
文档之家› 三种基本逻辑结构和框图表示(2)(上课)
三种基本逻辑结构和框图表示(2)(上课)
(3)控制条件:当“a>300”时终止循环.
循环结构:
程序框图:
开始 n=2005 a=200 t=0.05a
a=a+t
n=n+1 a>300? 是 输出n 结束 否
当型循环结构程序框图
开始
n=2005
a=200
n=n+1 a=a+t t=0.05a
a≤300?
否 输出n
是
结束
知识探究(二):混合逻辑结构的程序框图 2 思考1:用“二分法”求方程 x 2 0( x 0) 的 近似解的算法如何设计?
问题的分析: (1)第一年后的人口总数是 P+P×R=P(1+R); (2)第二年后的人口总数是 P×(1+R)+P×(1+R)×R=P(1+R)2; …… 以此类推,得到第T年后的人口总数是 P(1+R)T.
这就是说,如果要计算第10年后的人口 总数,乘(1+R)的运算要重复10次。 如果一个计算过程,要重复一系列的计 算步骤若干次,每次重复的计算步骤完全 相同,则这种算法过程称为循环过程。 循环过程非常适合计算机处理,因为 计算机的运算速度非常快执行成千上万次 的重复计算,只不过是一瞬间的事,且能 保证每次的结果都正确。
开始 开始
i=1
S=0 S=S+i i=i+1
i>100?
是
i=1
S=0 i=i+1 S=S+i
否
i>3?
是
否
输出S
结束
输出S
结束
题型一:程序框图的阅读与理解
变式2:右边的程序框图,
输出S=——— 14 ?
开始
i=1 S=0 S=S+i2 i=i+1 i>3?
是
Hale Waihona Puke 否输出S 结束题型二:程序框图的补充
m =
a + b 2
否 a=m
f(a)f(m)<0? ? 是 b=m 否
|a-b|<d或f(m)=0? 是 输出m
思考5:根据上述分析,你能画出表示整个算 开始 法的程序框图吗?
f(x)=x2-2
输入精确度d 和初始值a,b
m = a + b 2
否 a=m
f(a)f(m)<0? ? 是 b=m 否
相关概念2: 在每次执行循 环体前,对条 件进行判断, 如果条件满足, 就执行循环体, 否则终止循环.
循环体 满足条件?
是
否
这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗?
相关概念3:
1.条件结构和循环结构有什么区别和联系?
区别:循环结构具有重复性;条件结构具有选择 性,不重复性。 联系:循环结构中一定包含条件结构,用于确定 何时终止执行循环体;条件结构中不含循环结构.
算法分析:
第一步, 输入2005年的年生产总值.
第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.
循环结构:
(1)循环体:设a为某年的年生产总值, t为年生产总值的年增长量,n为年份,则 t=0.05a,a=a+t,n=n+1.
(2)初始值:n=2005,a=200.
循环结构
学习目标
1.理解程序框图的含义,能读懂程序框图.
2.掌握循环结构.
3.初步会画一些简单的程序框图.
顺序结构
依次 无判断 无返回
条件结构
判断
二选一
选不选
循环结构
在科学计算中,会遇到许多有规律的 重复运算,例如人口预测。 已经知道现有的人口总数是P,人口 的年增长率是R,预测第T年后人口总数 将是多少?
第一步,令f(x)=x2-2,给定精确度d. 第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点 m a b . 第四步,若f(a)·f(m)<0,则含零点的区间为[a, m];否则,含零点的区间为[m,b].将新得到的含 零点的区间仍记为[a,b]. 第五步,判断[a,b]的长度是否小于d或f(m)是否 等于0.若是,则m是方程的近似解;否则,返回第 三步.
是
比较:观察两个程序框图,循环结构如何转化?
开始
i=1
S=0 S=S+i i=i+1
i>100?
是
初 始 值 循 环 体 终 止 条 件
开始
i=1 S=0 i=i+1 S=S+i
i≤100?
否 输出S 结束
否
是
输出S
结束
程序框图:
开始
开始
i=1 S=0 S=S+i
i=i+1 直到 型循 环结 构
根据指令条件决定是否重复执
行一条或多条指令的控制结构称 为循环结构。
开始 输入第一年人口P 人口增长率R,预测第T年 增长时间t=1 t ≤T 是
计算增量 I=P×R
否
P=P+I t=t+1 输出P值 结束
知识探究(一):循环结构的程序框图
例1:计算1+2+3+„+100的值的算法,并画 出程序框图。 (1)算法(1):
(P20BT2).某高中男子体育小组的50m跑成绩(单位:s) 为: 6.4, 6.5, 7.0, 6.8, 7.1, 7.3, 6.9, 7.4, 7.5. 设计一个算法,从这些成绩中搜出小于6.8s的成绩.
算法分析:
第一步:把计数变量n的初值设为1.
第二步:输入一个成绩r,判断r与6.8的大小.若 r≥6.8,则执行下一步;若r<6.8,则输出r,并执行下 一步.
2
思考2:该算法中哪几个步骤可以用顺序结构 来表示?这个顺序结构的程序框图如何?
f(x)=x2-2 输入精确度d 和初始值a,b
ab m 2
思考3:该算法中第四步是什么逻辑结构?这 个步骤用程序框图如何表示?
否
f(a)f(m)<0? 是
a=m
b=m
思考3:该算法中第五步是什么逻辑结构?这 个步骤用程序框图如何表示?
N i>100 Y
i=1 S=0 i=i+1
S=S+i
i≤100 N Y
输出S
结束
输出S
结束
当型循环 结构
相关概念1: 在执行了一次循 环体后,对条件 进行判断,如果 条件不满足,就 继续执行循环体, 直到条件满足时 终止循环.
循环体
满足条件?
否
是
这种循环结构称为直到型循环结构, 你能指出直到型循环结构的特征吗?
1、求 的值。 设计的算法框图如右,应该在 空格位置填入什么条件?
1 1 1 1 .... 2 4 6 20
分析:空格位置判断条件, 应该考虑循环的终止条件是 什么?
应该填入:i>10
例2 某工厂2005年的年生产总值为 200万元,技术革新后预计以后每年的年 生产总值都比上一年增长5%.设计一个程 序框图,输出预计年生产总值超过300万 元的最早年份.
第三步:使计数变量n的值增加1. 第四步:判断计数变量n与成绩个数9的大小;若 n≤9,则返回第二步;若n>9,则结束.
程序框图
开始
n=1 输入r
r≥6.8?
否 输出r
是 n=n+1 否 直到型循 环结构
n>9?
是 结束
“P=P+I”怎样理解? 变量P在计算机中由一个地址单元和一 个存储单元组成,计算机工作时,先找 到P的地址单元,用读写头读出存储单元 的内容,将此内容送到运算器中,进行 P+I的运算,再用读写头读出运算器的运 算结果,将它送到P的地址单元,将运算 结果写入存储单元,同时原先存储的内 容被擦去,这样就完成了用P+I代替P的 过程,这一过程也可以写成“P=P+I”.
2.循环结构有几种形式?他们的各自特征是
什么?
两种循环结构特征与差异:
循环体 否
循环体
满足条件? 否 是
满足条件? 是
直到型循环结构
当型循环结构
差异:循环终止条件不同,检验条件是否成立的先后次序也不同.
直到型循环结构:先执行循环体后判断条 件是否成立. 当型循环结构:先判断后执行循环体.
变式1: 右边的程序框图输出S=———— 9 ?
|a-b|<d或f(m)=0? 是 输出m
结束
小结作业
1.循环结构三要素: 循环变量赋初值、循环体、
循环终止条件 2.循环三要素确定过程:
首先确定循环体,再根据循环体第一步确定初值, 最后一步确定循环终止条件。
3.设计一个算法的程序框图的基本思路: 第一步,用自然语言表述算法步骤. 第二步,确定每个算法步骤所包含的逻辑结构,并 用相应的程序框图表示. 第三步,将所有步骤的程序框图用流程线连接起 来,并加上两个终端框.
第一步,令i=1,S=0. 第二步,计算S+i,仍用S表示. 第三步,计算i+1,仍用i表示. 第四步,判断“i>100”是否成立. 若是,则输出S,结束算法; 否则,返回第二步.
(2)算法(1)的程序框图
开始
i=1 S=0 S=S+i i=i+1
i>100?
是
否
输出S
结束
开始
i = 1,S= 0 1.若将条件 “i>100” 改 为“i≥ 100”,输出结果是什 么? s=s+i 2. 若将” i = i + 1” 与 “S = i=i+1 S + i”交换,则输出结果是什么? 若保持原结果不变,需要作什么 否 i>100? 修改? 是