- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进上面的算法, 改进上面的算法,表示输出 1,1+2,1+2+3, …, 1+2+3+…+(n-1)+n( 的过程。 的过程。 )
开始 i=1 S=0
S=S + i 输出S 输出S i=i+1 否 i>n? 是 结束
练习巩固 设计算法,求和2+4+6+ 2+4+6+…+100 1、设计算法,求和2+4+6+ +100
二、新授课
1、循环结构---在一些算法中 也经常会出现从 、循环结构 在一些算法中 在一些算法中,也经常会出现从 某处开始,按照一定条件 按照一定条件,反复执行某一步骤的情 某处开始 按照一定条件 反复执行某一步骤的情 这就是循环结构. 况,这就是循环结构 这就是循环结构
求n除以i的余数r
i=i+1
第一步,输入2005年的年生产总值。 年的年生产总值。 第一步,输入 年的年生产总值 第二步,计算下一年的年生产总值。 第二步,计算下一年的年生产总值。 第三步,判断所得的结果是否大于 若是, 第三步,判断所得的结果是否大于300.若是, 若是 则输出该年的年份;否则, 则输出该年的年份;否则,返回第二步
否 否
满足条件? 满足条件?
满足条件? 满足条件?
是
步骤A 步骤 步骤B 步骤
是
步骤A 步骤
练习巩固 1 看下面的程序框图,分析算法的作用
(1)
开始
(2)
开始 max=a
输入x 输入 输入b 输入 y=3*x*x+4*x+5 max>b? ? 输出y 输出 是 输出max 输出 结束 结束 否 max=b
一、复习
1、程序框图: 程序框图: 又称流程图,是一种用程序框、 又称流程图,是一种用程序框、流程线 及文字说明来表示算法的图形
2、常用流程图符号
终端框 输入输出框
表示一个算法的起始和结束 表示一个算法输入和输出的信息 赋值、 赋值、计算
处理框
判断框
判断某一条件是否成立, 判断某一条件是否成立,成立时在 出口处标明“ 出口处标明“是”或“Y”;不成立时 ; 标明“ 标明“否”或“N”. 表示流程的路径和方向 连接程序框图的两部分
否 输出S 输出
结束
当型循环 结构
开始
i=1 S=0 i=i+1 S=S+i
i≤100?
思考:将步骤 和步骤 思考 将步骤A和步骤 交 将步骤 和步骤B交 换位置,结果会怎样? 换位置,结果会怎样?能达到 预期结果吗?为什么? 预期结果吗?为什么?要达到 预期结果, 预期结果,还需要做怎样的修 改?
t = 0 .0 5 a a = a + t n = n + 1
(2)初始化变量:若将 )初始化变量:若将2005年的年生产总值堪称计算的 年的年生产总值堪称计算的 起始点, 的初始值为2005,a的初始值为 的初始值为200. 起始点,则n的初始值为 的初始值为 , 的初始值为 年生产总值超过300万元” 万元” (3)设定循环控制条件:当“年生产总值超过 )设定循环控制条件: 万元 时终止循环,所以可通过判断“ 时终止循环,所以可通过判断“a>300”是否成立来控制循 是否成立来控制循 环。
流程线 连接点
3、顺序结构-----是由若干个依次执行的处 、顺序结构 是由若干个依次执行的处 理步骤组成的.这是任何一个算法都离不开 理步骤组成的 这是任何一个算法都离不开 的基本结构. 的基本结构
A
B
4、条件结构---在一个算法中 经常会遇到 、条件结构 在一个算法中 在一个算法中,经常会遇到 一些条件的判断,算法的流向根据条件是否 一些条件的判断 算法的流向根据条件是否 成立有不同的流向.条件结构就是处理这种 成立有不同的流向 条件结构就是处理这种 过程的结构. 过程的结构
开始
i=2
S=0
S=S+I I=I+2
N
I >100
Y 输出S 结束
2、设计一算法,求积:1×2×3×…×100 、设计一算法,求积 × × × ×
开始 i=1,A=1 A=A*i i=i+1 否 i>100? 是 输出A 结束
3、程序框图 的作用
开始 输入正整数n S=0 i=1 S=S+1/i i=i+1
例1 设计一算法,求和:1+2+3+…+100
S=0 S=S + 1 S=S + 2 S=S + 3 … S=S + 100
S=S+ i
3、S有什么作用?i呢?
累加变量S来表示每一步 累加变量 来表示每一步 从而把第i步 的计算结果,从而把第 的计算结果,从而把第i步 S=S+i 表示为 怎么用程序框图表示呢? S的初始值为 依次取 的初始值为0,i依次取 的初始值为 依次取1,2,…,100,
设计一个计算1+2+3+……+100的值的算 例1:设计一个计算 设计一个计算 的值的算 并画出程序框图. 法,并画出程序框图 并画出程序框图 各步骤有共同的结构: 各步骤有共同的结构 算法分析: 算法分析 步的结果+i=第 步的结果 第(i-1)步的结果 第i步的结果 步的结果 第1步:0+1=1; 步 第2步:1+2=3; 步 第3步:3+3=6; 步 第4步:6+4=10 步 …………
练习3:下面表示了一个什么样的算法? G Ni 代表第个学生的学号, i代表第个学生的成绩.
(i =1,2,⋯,50)
流程图表示将50 流程图表示将50 个学生中成绩不 低于80 80分的学生 低于80分的学生 的学号和成绩打 印出来. 印出来.
程序框图: 程序框图
开始 n=2005 a=200 t=0.05a a=a+t n=n+1 a>300? 是 输出n 输出 结束 否
小结
1.本节课主要讲述了算法的循环结构。算 .本节课主要讲述了算法的循环结构。 法的基本逻辑结构有三种,即顺序结构、 法的基本逻辑结构有三种,即顺序结构、 条件结构和循环结构。 条件结构和循环结构。 其中顺序结构是最简单的结构, 其中顺序结构是最简单的结构,也是最 基本的结构,循环结构必然包含选择结构, 基本的结构,循环结构必然包含选择结构, 所以这三种基本逻辑结构是相互支撑的, 所以这三种基本逻辑结构是相互支撑的, 无论怎样复杂的逻辑结构, 无论怎样复杂的逻辑结构,都可以通过这 三种结构来表达 。
否
i=i+1
s=s+i
否
s>22?
是
s>22?
是
输出i-1
结束
输出i
结束
年的年生产总值为200万, 例2、 某工厂 、 某工厂2005年的年生产总值为 年的年生产总值为 万 技术革新以后每年的年生产总值比上一年增长5 技术革新以后每年的年生产总值比上一年增长 %。设计一个程序框图 设计一个程序框图, %。设计一个程序框图,输出预计年生产总值 超过300万元的最早年份。 万元的最早年份。 超过 万元的最早年份 算法分析: 算法分析:
1 1 1 的值。 求s = 1 + + + ⋅ ⋅ ⋅ + 的值。 2 3 n
i>n?
否
是 输出S 结束
4、设计一个算法框图:求满足1+2 + 3 + … + n 设计一个算法框图:求满足 + 的最小正整数n >22的最小正整数n。 的最小正整数
开始 开始
i=1,s=0
i=0,s=0
s=s+i
i=i+1
2.循环结构要在某个条件下终止循环,这就需 循环结构要在某个条件下终止循环, 要选择结构来判断。因此, 要选择结构来判断。因此,循环结构中一定包含 条件结构,但不允许“死循环” 条件结构,但不允许“死循环”。 3.画循环结构流程图前: 画循环结构流程图前: 确定循环变量和初始条件; ①确定循环变量和初始条件; 确定算法中反复执行的部分,即循环体; ②确定算法中反复执行的部分,即循环体; 确定循环的转向位置; ③确定循环的转向位置; 确定循环的终止条件. ④确定循环的终止条件. 4、循环结构的三要素 循环变量和初始条件,循环体、循环的终止条件。 循环变量和初始条件,循环体、循环的终止条件。
第100步:4950+100=5050. 步
S=0 S=S + 1 S=S + 2 S=S + 3 … S=S + 100
为了方便有效地表示上述过程,我 为了方便有效地表示上述过程 我 们引进一个变量 变量S来表示每一步 们引进一个变量 来表示每一步 的计算结果,从而把第 从而把第i步表示为 的计算结果 从而把第 步表示为 S=S+i
步骤B 步骤A
是 答:达不到预期结果;当i = 100 达不到预期结果; 达不到预期结果 没有退出循环, 的值为 的值为101加 时,没有退出循环,i的值为 加 入到S中 入到 中;修改的方法是将判断条件 改为i<100,i的初始值变为 的初始值变为0 改为 的初始值变为
否 输出S 输出
结束
说明:一般地 循环结构中都有一个计数变量和累 说明 一般地,循环结构中都有一个计数变量和累 一般地 加变量.计数变量用于记录循环次数 计数变量用于记录循环次数,同时它的取 加变量 计数变量用于记录循环次数 同时它的取 值还用于判断循环是否终止,这个变量的取值一 值还用于判断循环是否终止 这个变量的取值一 般都含在执行或中止循环体的条件中。 般都含在执行或中止循环体的条件中。 累加变量用于输出结果.累加变量和计数变量一 累加变量用于输出结果 累加变量和计数变量一 般是同步执行的,累加一次 记数一次. 累加一次,记数一次 般是同步执行的 累加一次 记数一次
反复执行的步 骤称为循环体. 骤称为循环体
否
i>n-1,或r=0?
是
循环结构
2、循环结构分为两种------当型和直到型 、循环结构分为两种 当型和直到型. 当型和直到型 直到型循环在执行了一次循环体之后 在执行了一次循环体之后,对控制 直到型循环在执行了一次循环体之后 对控制 循环条件进行判断,当条件不满足时执行循环 循环条件进行判断 当条件不满足时执行循环 满足则停止.(反复执行循环体 直到条件满足) 体,满足则停止 反复执行循环体 直到条件满足 满足则停止 反复执行循环体,直到条件满足 当型循环在每次执行循环体前对循环条件进行判 当型循环在每次执行循环体前对循环条件进行判 当条件满足时执行循环体,不满足则停止 断,当条件满足时执行循环体 不满足则停止 当条 当条件满足时执行循环体 不满足则停止;(当条 件满足时反复执行循环体) 件满足时反复执行循环体
循环体ห้องสมุดไป่ตู้
满足条件? 满足条件? 满足条件? 满足条件?
循环体 是
是 Until(直到型)循环 ( )
否
否
While(当型)循环 ( )
注意: 注意
1、循环结构不能是永无终止的“死循环”, 、循环结构不能是永无终止的“死循环” 一定要在某个条件下终止循环,这就需要条 一定要在某个条件下终止循环 这就需要条 件结构来作出判断,因此 循环结构中一定包 件结构来作出判断 因此,循环结构中一定包 因此 含条件结构. 含条件结构 2、直到型与当型的区别和联系 区别:直到型是先执行,再判断,再循环. 区别:直到型是先执行,再判断,再循环. 当型是先判断,再执行,再循环. 当型是先判断,再执行,再循环. 联系:直到型与当型可以互相转换. 联系:直到型与当型可以互相转换.
由于“第二步”是重复操作的步骤,所以可 以用循环结构来实现。我们按照“确定循环体” “初始化变量” “设定循环控制条件”的顺 序来构造循环结构。
为某年的年生产总值, (1)确定循环体:设a为某年的年生产总值,t为年生 )确定循环体: 为某年的年生产总值 为年生 产总值的年增长量, 为年份 为年份, 产总值的年增长量,n为年份,则循环体为
S=S + i i=i+1
由于i同时记录了循环的次数 所 由于 同时记录了循环的次数,所 同时记录了循环的次数 称为计数变量. 以i称为计数变量 称为计数变量
开始
开始 i=1 S=0
i=1 S=0
S=S + i
i=i+1
i=i+1
S=S+i
i≤100?
否
是 直到 型循 环结 构
i>100? 是 输出S 输出S 结束