




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、循环结构循环结构算法初步图形符号图形符号名名 称称功功 能能终端框(起止框)终端框(起止框)一个算法的起始和结束一个算法的起始和结束输入、输出框输入、输出框一个算法输入和输出的一个算法输入和输出的信息信息处理框(执行框)处理框(执行框)赋值、计算赋值、计算判断框判断框判断某一条件是否成立,判断某一条件是否成立,出口成立标出口成立标“是是”不成不成立标立标“否否”流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分或或构成程序框的图形符号及其作用构成程序框的图形符号及其作用开始输入ni=2求n除以i的余数ri的值增加1,仍用i表示in-1或r=0?r=0?N不是质
2、数N是质数结束是否是否开始开始结束求求n n除以除以i i的余数的余数r ri i的值增加的值增加1 1,仍用,仍用i i表示表示in-1in-1或或r=0?r=0?是否r=0?r=0?N不是质数N是质数是否输入输入n ni=2顺序结构顺序结构循环结构循环结构条件结构条件结构(1 1)顺序结构)顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。步骤n步骤n1(2 2)条件结构)条件结构
3、在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.步骤A步骤B满足条件?满足条件?否否是步骤A满足条件?满足条件?否否是是循环结构i=i+1in-1,或或r=0?否否是是求求n除以除以i的余数的余数r循环结构循环结构-在一些算法中在一些算法中,也经常会出现从某处也经常会出现从某处开始开始,按照一定条件按照一定条件,反复执行某一步骤的情况反复执行某一步骤的情况,这就是循环结构这就是循环结构.反复执行的步反复执行的步骤称为循环体骤称为
4、循环体.(3 3)循环结构)循环结构循环体循环体满足条件?满足条件?否否是是循环体循环体满足条件?满足条件?否否是是 执行一次循环体后,对条件执行一次循环体后,对条件进行判断,如果条件不满足,就进行判断,如果条件不满足,就继续执行循环体,直到条件满足继续执行循环体,直到条件满足时终止循环时终止循环. . 在每次执行循环体前,对在每次执行循环体前,对条件进行判断,当条件满足,条件进行判断,当条件满足,执行循环体,否则终止循环执行循环体,否则终止循环. .Until(直到型)循环(直到型)循环While(当型)循环(当型)循环反复执行循环体反复执行循环体, ,直到条件满足直到条件满足当条件满足时反
5、复执行循环体当条件满足时反复执行循环体当型当型循环结构循环结构: 先判断先判断,后执行后执行. 是是-执行执行直到型直到型循环结构循环结构: 先执行先执行,后判断后判断. 否否-执行执行注意注意:循环结构不能是永无终止的循环结构不能是永无终止的“死循死循环环”,一定要在一定要在某个条件下终止循环某个条件下终止循环,这就需这就需要条件结构来作出判断要条件结构来作出判断,因此因此,循环结构中一循环结构中一定包含条件结构定包含条件结构.循环结构的设计步骤循环结构的设计步骤: :(1)(1)确定循环结构的确定循环结构的循环变量和初始条件循环变量和初始条件; ;(2)(2)确定算法中需要反复执行的部分确
6、定算法中需要反复执行的部分, ,即即循环体循环体;(3)(3)确定确定循环的终止条件循环的终止条件. .循环结构的三要素循环结构的三要素: :循环变量循环变量, ,循环体循环体, ,循环的终止条件循环的终止条件. .例例1:设计一个计算设计一个计算1+2+3+100的值的算的值的算法法,并画出程序框图并画出程序框图.算法分析算法分析:第第1步步:0+1=1; 第第2步步:1+2=3;第第3步步:3+3=6; 第第4步步:6+4=10第第100步步:4950+100=5050.第第(i-1)步的结果步的结果+i=第第i步的结果步的结果各步骤有共同的结构各步骤有共同的结构:为了方便有效地表示上述过
7、程为了方便有效地表示上述过程,我们引我们引进一个进一个变量变量S来表示每一步的计算结来表示每一步的计算结果果,从而把第从而把第i步表示为步表示为: S=S+iS=0S=S + 1S=S + 2S=S + 3S=S + 100例1 设计一算法,求和:1+2+3+100S=S+ i怎么用程序框图表示呢?怎么用程序框图表示呢?S有什么作用有什么作用? i呢呢?i = i + 1S=S + iS=0S=S + 1S=S + 2S=S + 3S=S + 100累加变量累加变量S来表示每一步的计来表示每一步的计算结果算结果,从而把第从而把第i步表示为步表示为: S=S+iS的初始值为的初始值为0, i依次
8、取依次取1,2,100,由于由于i 同时记录了循环的次数同时记录了循环的次数,所以所以i称为计数变量称为计数变量.i = i + 1S=S + i解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。试分析两种流程的异同点直到型结构当型结构S = S + ii=i+ 1是否S= S+ ii=i + 1否是i100?请填上判断的条件。s = s + ii=i+ 1 解决方法就是加上一个判断,解决方法就是加上一个判断,判断是否已经加到了判断是否已经加到了100100,如果加到,如果加到了则退出,否则继续加。了则退出,否则继续加。直到型结构直到型结构当型结构当型结构s=s
9、+is=s+ii=i+1i=i+1是否s =s+is =s+ii=i+1i=i+1否是i i100?100?i100?i100?请填上判断的条件。请填上判断的条件。 循环结构中都有一个计数变量和循环结构中都有一个计数变量和累加变量,计数变量用以记录循环次累加变量,计数变量用以记录循环次数,同时它的取值还用于判断循环是数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果,累否终止,累加变量用于输出结果,累加变量和计数变量一般是同步执行的,加变量和计数变量一般是同步执行的,累加一次,计数一次累加一次,计数一次. .开始开始i=1i=1S=0S=0i=i+1i=i+1S=S+iS=S+ii1
10、00?i100?输出输出S S结束结束否否是是 例例1 1 设计一个计算设计一个计算1+2+3+1+2+3+100+100的值的算的值的算法,并画出程序框图法,并画出程序框图. .解决问题的算法是:解决问题的算法是:第一步,令第一步,令i i1 1,S S0.0.第二步,若第二步,若i i 100100成立,则成立,则 执行第三步执行第三步; ;否则,输出否则,输出 S S,结束算法,结束算法. .第三步,第三步,S SS Si.i.第四步,第四步,i=i+1,i=i+1,返回第二步返回第二步. .当型循环结构当型循环结构(2 2)确定循环体:)确定循环体: i=i+1 s=s+ii=i+1
11、s=s+i(1)(1)初始化变量:初始化变量: i=1 s=0i=1 s=0(3 3)循环控制条件:)循环控制条件: i100i100程序框图程序框图:开始开始i=1S=0S=S+ii=i+1i100?是是输出输出S结束结束否否直到直到型循型循环结环结构构开始开始i=1S=0i100?是是S=S+ii=i+1否否输出输出S结束结束当型循环当型循环结构结构开始开始1i 0S 100?i N输出输出S结束结束1ii SSiY计数变量计数变量:用于记录循环次数用于记录循环次数, ,同时还用同时还用于判断循环是否终止于判断循环是否终止. . 。累加变量累加变量:用于输出结果用于输出结果,一般与计数变一
12、般与计数变量同步执行量同步执行,累加一次累加一次,计数一次计数一次.循环终止条件循环终止条件循环体循环体计数计数变量的取值一般都含在变量的取值一般都含在执行执行或或中止循环体的条件中中止循环体的条件中。结束S= S + ii=i + 1i=100?输出S否是i=1,S=0开始步骤步骤A步骤步骤B 思考思考:将步骤将步骤A和步骤和步骤B交交换位置,结果会怎样?能达到换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修预期结果,还需要做怎样的修改?改? 答:答:达不到预期结果;当达不到预期结果;当i = 100时,没有退出循环,时,没有退出循环,
13、i的值为的值为101加入到加入到S中;修改的方法是将中;修改的方法是将判断条件改为判断条件改为i100,同时,同时i=0.若将若将“i=1”改成改成“i=0”,则程序框图怎么改?,则程序框图怎么改?结束输出Sum否是S=0开始结束输出SS=0开始否是i=0i=0S=S + iS=S + ii = i + 1i = i + 1i100?in-1?否是输入n改进上面的算法,表示输出改进上面的算法,表示输出1, 1+2, 1+2+3, ,1+2+3+(n-1)+n( ) 的过程。的过程。*Nn思考?思考? 例例2.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预技术革新后
14、预计以后每年的生产总值比上一年增加计以后每年的生产总值比上一年增加5%.设计一个程序框设计一个程序框图,输出预计年生产总值超过图,输出预计年生产总值超过300万元的最早年份万元的最早年份.算法算法第一步:输入第一步:输入2005年的年生产总值年的年生产总值.第二步:计算下一年的年生产总值第二步:计算下一年的年生产总值.第三步:判断所得结果是否大于第三步:判断所得结果是否大于300.若是,输出该年若是,输出该年年份年份;否则,返回第二步否则,返回第二步.循环结构的设计步骤循环结构的设计步骤(1)(1)确定循环结构的确定循环结构的循环变量循环变量和和初始条件初始条件; ;(2)(2)确定算法中需要
15、反复执行的部分确定算法中需要反复执行的部分, ,即即循环体循环体;(3)(3)确定循环的确定循环的终止条件终止条件. .,a n200,2005an0.051taaatnn 300?a 直到型循环结构直到型循环结构0 .0 5aa 300?a 当型循环结构当型循环结构开始开始2005n 200a 0.05ta aat 1nn300?a 否否结束结束输出输出n是是开始开始2005n 200a 300?a 结束结束输出输出n否否当型循环结构当型循环结构直到型循环结构直到型循环结构0.05ta aat1nn是是小结小结1、循环结构的特点、循环结构的特点2、循环结构的框图表示、循环结构的框图表示3、循
16、环结构该注意的问题、循环结构该注意的问题避免死循环的出现,设置好进入(结束)循避免死循环的出现,设置好进入(结束)循环体的条件。环体的条件。当型和直到型当型和直到型重复同一个处理过程重复同一个处理过程程序框图的画法程序框图的画法 通过以上两个知识点可以看出,画出一个算法的程序通过以上两个知识点可以看出,画出一个算法的程序框图很有必要框图很有必要.我们可以借助三种基本逻辑结构来表示这我们可以借助三种基本逻辑结构来表示这样的算法,使得算法清楚、简练,便于阅读和交流样的算法,使得算法清楚、简练,便于阅读和交流.一般地,一个算法的程序框图有以下几个步骤:一般地,一个算法的程序框图有以下几个步骤:第一步
17、:用自然语言表述算法步骤第一步:用自然语言表述算法步骤.第二步:确定每一个算法步骤所包含的逻辑结构,并第二步:确定每一个算法步骤所包含的逻辑结构,并 用相应的程序框图表示,得到该步骤的程序框图用相应的程序框图表示,得到该步骤的程序框图.第三步:将所有步骤的程序框图用流程线连接起来,第三步:将所有步骤的程序框图用流程线连接起来, 并加上终端框,得到表示整个算法的程序框图并加上终端框,得到表示整个算法的程序框图.【例【例2】写出用写出用“二分法二分法”求方程求方程 近似解的算近似解的算法法)0(022 xx第一步:令第一步:令, 2)(2 xxf给定精确度给定精确度d第三步:取区间中点第三步:取区
18、间中点2bam .,ba含零点的区间为含零点的区间为.,bm第四步:若第四步:若( )()0,f af m则含零点的区间为则含零点的区间为;,ma否则,否则,将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为第二步:确定区间第二步:确定区间满足满足0)()( bfaf,ba第五步:判断第五步:判断,ba的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步顺序结构顺序结构条件结构条件结构循环结构循环结构第一步:令第一步:令, 2)(2 xxf给定精确度给定精确度d第三步:取区间中点第三步:取区间中点2
19、bam 第二步:确定区间第二步:确定区间满足满足0)()( bfaf,ba顺序结构顺序结构2( )2f xx输入精确度输入精确度d和初始值和初始值,a b2abm .,ba含零点的区间为含零点的区间为.,bm第四步:若第四步:若( )()0,f af m则含零点的区间为则含零点的区间为;,ma否则,否则,将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为条件结构条件结构( ) ()0?f a f m am 否否bm 是是|abd或或()0?f m 第四步第四步第三步第三步否否输出输出m是是2bam 否则,否则,第三步:取区间中点第三步:取区间中点.,ba含零点的区间为含零点的区间为.,b
20、m第四步:若第四步:若( )()0,f af m则含零点的区间为则含零点的区间为;,ma将新得到的含零点的区间仍记为将新得到的含零点的区间仍记为第五步:判断第五步:判断,ba的长度是否小于的长度是否小于d或或f(m)是否等于是否等于0若是,则若是,则m是方程的近似值;否则,返回第三步是方程的近似值;否则,返回第三步循环结构循环结构|abd或或()0?f m am 否否bm 是是2abm ( ) ()0?f a f m 否否输入精确度输入精确度d和初始值和初始值,a b2( )2f xx开始开始结束结束输出输出m是是1.如如下下图图4 种框图结构中,是直到型循环结种框图结构中,是直到型循环结构构的为的为_(填序号填序号)练习:练习:2如果执行如如果执行如右右图的程序框图图的程序框图,那么输出的那么输出的 s( )CA22B46C94D1901. 1. 对任意正整数对任意正整数n,n,111123Sn 的值的值, ,并画出程序框图并画出程序框图.结束结束开始开始输入一个正整数输入一个正整数n n输出输出S S的值的值S=0S=0i=1i=1S=S+1/iS=S+1/ii=i+1i=i+1in?in?N NY Y设计一个算法求设计一个算法求练练 习习 2. 2.设计一算法,求积设计一算法,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全新运输合同保险
- 二零二五消防工人劳动合同范例
- 二零二五劳务派遣人员劳动合同范例
- 2025年安徽绿海商务职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- B超肝区知识课件
- 诊疗常规及技术规范知识培训
- ccaa服务认证知识课件
- 仓储物流计件劳动合同
- 晋中学院《热质交换原理与设备》2023-2024学年第一学期期末试卷
- 陕西省蓝田县联考2024-2025学年初三下学期二模考试英语试题试卷含答案
- 《知识产权执法》课件
- 2024年大学试题(管理类)-港口企业管理学历年高频考点试卷专家荟萃含答案
- 高中化学-分子晶体和原子晶体教学设计学情分析教材分析课后反思
- 桥梁养护风险辨识手册
- 2021年青海省中考化学试卷(附答案详解)
- 《曼陀罗绘画疗愈-初三减压》PPT
- 小学生三好学生竞选演讲稿PPT幻灯片
- 养老机构员工考核评分表
- 北京市海淀区2022-2023学年高三下学期一模考试历史试卷(含答案)
- 季节性安全检查表(四季)
- 2023年贵州省中学生生物学竞赛考试(初赛)试题( 含答案解析 )
评论
0/150
提交评论