算法的基本逻辑结构-循环结构讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五步,判断[a,b]的长度是否小于d或f(m)是否 等于0.若是,则m是方程的近似解;否则,返回第 三步.
思考1:该算法中哪几个步骤可以用顺序 结构来表示?这个顺序结构的程序框图 如何?
f(x)=x2-2
输入精确度d 和初始值a,b
m ab 2
思考2:该算法中第四步是什么逻辑结构 ?这个步骤用程序框图如何表示?
赋值、计算
)
判断框
判断某一条件是否成立,成立时 在出口处标明“是”或“Y”,不 成立时标明“否”或“N”.
流程线
连接程序框
连结点
连接程序框图的两部分
6
开始
顺
输入n
序
i=2
结
构
求n除以i的余数
循
i的值增加1,仍用i表示
环
i>n-1或r=0?
否
结
构
是
r=0?
否
条
是
件
结
n不是质数
n是质数 构
结束
2、算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。
第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.
循环结构:
(1)循环体:设a为某年的年生产总值
,t为年生产总值的年增长量,n为年份 ,则t=0.05a,a=a+t,n=n+1.
(2)初始值:n=2005,a=200.
(3)设定循环控制条件:当“a>300” 时终止循环.
否 a=m
f(a)f(m)<0? 是
b=m
思考3:该算法中哪几个步骤构成循环结 构?这个循环结构用程序框图如何表示 ?
第三步
第四步
|a-b|<d或
否f(m)=0?源自是输出m开始
思考4:根据上述分析, f(x)=x2-2
你能画出表示 整个算法的
输入精确度d 和初始值a,b
m = a+b 2
程序框图吗?
第四步, i=i+1,返回第二步 .
当型循环结构
开始 i=1 S=0
i≤100? 否
输出S 结束
i=i+1 S=S+i 是
如果用直到型循环结构,上述算法的程序框图如何表示?
开始
第一步,令i=1,S=0.
i=1
第二步,计算S+i,仍用S表示.
S=0
S=S+i
第三步,计算i+1,仍用i表示.
i=i+1
第四步,判断i>100是否成立. 若是,则输出S,结束算法;否 则,返回第二步.
i>100?
否
是 输出S
结束
例7 某工厂2005年的年生产总值为200万元, 技术革新后预计以后每年的年生产总值都比 上一年增长5%.设计一个程序框图,输出预计 年生产总值超过300万元的最早年份.
算法分析: 第一步, 输入2005年的年生产总值. 第二步,计算下一年的年生产总值.
3、掌握顺序结构、条件结构、循环 结构的应用,并能解决与这三种结构 有关的程序框图的画法。
结束
小结
设计一个算法的程序框图的基本思路:
第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示
。 第三步,将所有步骤的程序框图用流程
线连接起来,并加上两个终端框.
三、课时小结:
1、掌握程序框的画法和功能。
2、了解什么是程序框图,知道学习 程序框图的意义。
3.知识探究:程序框图的画法
问题:用“二分法”求方程 x2 2 0(x 0)的 近似解的算法如何设计?
第一步,令f(x)=x2-2,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点m=(a+b)/2.
第四步,若f(a)·f(m)<0,则含零点的区间为[a ,m];否则,含零点的区间为[m,b].将新得到的 含零点的区间仍记为[a,b].
还有一些循环结构用程序框图可以
表示为:
在每次执行循
环体前,对条
循环体
满足条件? 是
件进行判断, 如果条件满足 ,就执行循环
否
体,否则终止
循环.
这种循环结构称为当型循环结构
循环体
否
满足条件?
是
循环体
满足条件? 是 否
直到型循环结构 当型循环结 思考:循环结构中一定包构含条件结构吗?
循环结构中一定包含条件结构
例6:设计一个计算1+2+3+…+100的值的算法,并 画出程序框图
算法分析:通常我们按照下列过程计算1+2+3+…+100的值
。
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4950+100=5050.
我们用一个累加变量S表示每一步的计算结果,即 把S+i的结果仍记为S,从而把第i步表示为S=S+i,其 中S的初始值为0,i依次取1,2,…,100,由于i同 时记录了循环的次数,所以也称为计数变量.
设计求1×2×3×...×2014的算法,并画出程序框图。
算法分析:这是一个累乘问题,重复进行了2013次乘法,因 此可用循环 结构描述,这就需要引入累乘变量m和技 术变量i,这里m与i在每次循环后,它们的值都在变化。
算法步骤: 第一步,设m的值为1. 第二步,设i的值为2. 第三步,若i≤2014,则执行第四步,否则,输出m,结束算法。 第四步,m=m*i. 第五步,i=i+1,返回第三步。
否
a=m
f(a)f(m)<0? ?是
b=m
否 |a-b|<d或f(m)=0?
是 输出m
结束
开始
思考4:根据上述分析, f(x)=x2-2
你能画出表示 整个算法的
输入精确度d 和初始值a,b
m = a+b 2
程序框图吗?
否
a=m
f(a)f(m)<0? ?是
b=m
否 |a-b|<d或f(m)=0?
是 输出m
在算法的程序框图中,由按照一 定的条件反复执行的某些步骤组成的 逻辑结构,称为循环结构,反复执行 的步骤称为循环体。
某些循环结构用程序框图可以表示为
:
在执行了一次循
环体后,对条件
循环体
进行判断,如果
满足条件? 否
条件不满足,就 继续执行循环体
是
,直到条件满足
时终止循环.
这种循环结构称为直到型循环结构
(1)顺序结构
示意图
顺序结构是由若干个
依次执行的步骤组成的。 它是任何一个算法都离不
步骤 n
开的一种基本算法结构。
步骤n+1
(2)条件结构 条件结构是指在算法中通过对某条件的判断,根
据条件是否成立而选择不同流向的算法结构.
满足条件? 否
是 步骤A
步骤B
是 满足条件?
否
步骤A
基本形式1
基本形式2
(3)循环结构
程序框图:
开始 n=2005 a=200 t=0.05a
a=a+t n=n+1
否 a>300?
是 输出n 结束
注意:
(1)循环结构不能是永不停止的“死循 环”,一定要在某个条件下终止循环, 这就需要条件结构作出判断。循环结 构中一定含有顺序结构和条件结构。
(2)构造循环结构描述算法,一般来说首 先需要确定三件事:循环变量和初始 条件、循环体(即算法中反复执行的 步骤)、循环条件。
解决这一问题的算法是:
第一步,令i=1,S=0.
第二步,如果i≤100成立,则执行第三步, 否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
上述算法的程序框图表示为: 第一步,令i=1,S=0.
第二步,如果i≤100成立, 则执行第三步,否则,输 出S,结束算法.
第三步, S=S+i.
教学目标:
掌握程序框图的概念,会用通用的图形符号表 示算法。 掌握算法的三种结构(顺序结构、条件结构 、循环结构) 掌握画程序框图的基本规则。
(2)构成程序框图的图形符号及其功能
图形符号 名称
功能
终端框 (起止框)
表示一个算法的起始和结束
输入、输出框 表示一个算法输入和输出的信息
处理框(执行框
思考1:该算法中哪几个步骤可以用顺序 结构来表示?这个顺序结构的程序框图 如何?
f(x)=x2-2
输入精确度d 和初始值a,b
m ab 2
思考2:该算法中第四步是什么逻辑结构 ?这个步骤用程序框图如何表示?
赋值、计算
)
判断框
判断某一条件是否成立,成立时 在出口处标明“是”或“Y”,不 成立时标明“否”或“N”.
流程线
连接程序框
连结点
连接程序框图的两部分
6
开始
顺
输入n
序
i=2
结
构
求n除以i的余数
循
i的值增加1,仍用i表示
环
i>n-1或r=0?
否
结
构
是
r=0?
否
条
是
件
结
n不是质数
n是质数 构
结束
2、算法的三种基本逻辑结构 顺序结构、条件结构、循环结构。
第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.
循环结构:
(1)循环体:设a为某年的年生产总值
,t为年生产总值的年增长量,n为年份 ,则t=0.05a,a=a+t,n=n+1.
(2)初始值:n=2005,a=200.
(3)设定循环控制条件:当“a>300” 时终止循环.
否 a=m
f(a)f(m)<0? 是
b=m
思考3:该算法中哪几个步骤构成循环结 构?这个循环结构用程序框图如何表示 ?
第三步
第四步
|a-b|<d或
否f(m)=0?源自是输出m开始
思考4:根据上述分析, f(x)=x2-2
你能画出表示 整个算法的
输入精确度d 和初始值a,b
m = a+b 2
程序框图吗?
第四步, i=i+1,返回第二步 .
当型循环结构
开始 i=1 S=0
i≤100? 否
输出S 结束
i=i+1 S=S+i 是
如果用直到型循环结构,上述算法的程序框图如何表示?
开始
第一步,令i=1,S=0.
i=1
第二步,计算S+i,仍用S表示.
S=0
S=S+i
第三步,计算i+1,仍用i表示.
i=i+1
第四步,判断i>100是否成立. 若是,则输出S,结束算法;否 则,返回第二步.
i>100?
否
是 输出S
结束
例7 某工厂2005年的年生产总值为200万元, 技术革新后预计以后每年的年生产总值都比 上一年增长5%.设计一个程序框图,输出预计 年生产总值超过300万元的最早年份.
算法分析: 第一步, 输入2005年的年生产总值. 第二步,计算下一年的年生产总值.
3、掌握顺序结构、条件结构、循环 结构的应用,并能解决与这三种结构 有关的程序框图的画法。
结束
小结
设计一个算法的程序框图的基本思路:
第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示
。 第三步,将所有步骤的程序框图用流程
线连接起来,并加上两个终端框.
三、课时小结:
1、掌握程序框的画法和功能。
2、了解什么是程序框图,知道学习 程序框图的意义。
3.知识探究:程序框图的画法
问题:用“二分法”求方程 x2 2 0(x 0)的 近似解的算法如何设计?
第一步,令f(x)=x2-2,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点m=(a+b)/2.
第四步,若f(a)·f(m)<0,则含零点的区间为[a ,m];否则,含零点的区间为[m,b].将新得到的 含零点的区间仍记为[a,b].
还有一些循环结构用程序框图可以
表示为:
在每次执行循
环体前,对条
循环体
满足条件? 是
件进行判断, 如果条件满足 ,就执行循环
否
体,否则终止
循环.
这种循环结构称为当型循环结构
循环体
否
满足条件?
是
循环体
满足条件? 是 否
直到型循环结构 当型循环结 思考:循环结构中一定包构含条件结构吗?
循环结构中一定包含条件结构
例6:设计一个计算1+2+3+…+100的值的算法,并 画出程序框图
算法分析:通常我们按照下列过程计算1+2+3+…+100的值
。
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4950+100=5050.
我们用一个累加变量S表示每一步的计算结果,即 把S+i的结果仍记为S,从而把第i步表示为S=S+i,其 中S的初始值为0,i依次取1,2,…,100,由于i同 时记录了循环的次数,所以也称为计数变量.
设计求1×2×3×...×2014的算法,并画出程序框图。
算法分析:这是一个累乘问题,重复进行了2013次乘法,因 此可用循环 结构描述,这就需要引入累乘变量m和技 术变量i,这里m与i在每次循环后,它们的值都在变化。
算法步骤: 第一步,设m的值为1. 第二步,设i的值为2. 第三步,若i≤2014,则执行第四步,否则,输出m,结束算法。 第四步,m=m*i. 第五步,i=i+1,返回第三步。
否
a=m
f(a)f(m)<0? ?是
b=m
否 |a-b|<d或f(m)=0?
是 输出m
结束
开始
思考4:根据上述分析, f(x)=x2-2
你能画出表示 整个算法的
输入精确度d 和初始值a,b
m = a+b 2
程序框图吗?
否
a=m
f(a)f(m)<0? ?是
b=m
否 |a-b|<d或f(m)=0?
是 输出m
在算法的程序框图中,由按照一 定的条件反复执行的某些步骤组成的 逻辑结构,称为循环结构,反复执行 的步骤称为循环体。
某些循环结构用程序框图可以表示为
:
在执行了一次循
环体后,对条件
循环体
进行判断,如果
满足条件? 否
条件不满足,就 继续执行循环体
是
,直到条件满足
时终止循环.
这种循环结构称为直到型循环结构
(1)顺序结构
示意图
顺序结构是由若干个
依次执行的步骤组成的。 它是任何一个算法都离不
步骤 n
开的一种基本算法结构。
步骤n+1
(2)条件结构 条件结构是指在算法中通过对某条件的判断,根
据条件是否成立而选择不同流向的算法结构.
满足条件? 否
是 步骤A
步骤B
是 满足条件?
否
步骤A
基本形式1
基本形式2
(3)循环结构
程序框图:
开始 n=2005 a=200 t=0.05a
a=a+t n=n+1
否 a>300?
是 输出n 结束
注意:
(1)循环结构不能是永不停止的“死循 环”,一定要在某个条件下终止循环, 这就需要条件结构作出判断。循环结 构中一定含有顺序结构和条件结构。
(2)构造循环结构描述算法,一般来说首 先需要确定三件事:循环变量和初始 条件、循环体(即算法中反复执行的 步骤)、循环条件。
解决这一问题的算法是:
第一步,令i=1,S=0.
第二步,如果i≤100成立,则执行第三步, 否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
上述算法的程序框图表示为: 第一步,令i=1,S=0.
第二步,如果i≤100成立, 则执行第三步,否则,输 出S,结束算法.
第三步, S=S+i.
教学目标:
掌握程序框图的概念,会用通用的图形符号表 示算法。 掌握算法的三种结构(顺序结构、条件结构 、循环结构) 掌握画程序框图的基本规则。
(2)构成程序框图的图形符号及其功能
图形符号 名称
功能
终端框 (起止框)
表示一个算法的起始和结束
输入、输出框 表示一个算法输入和输出的信息
处理框(执行框