kl800.com省心范文网

《1.1.2.3 循环结构》课件_图文

讲授新课 四、循环结构及框图表示 1.循环结构的概念 循环结构的概念
循环结构是指在算法中从某处开始,按照 循环结构是指在算法中从某处开始 按照 一定的条件反复执行某一处理步骤的结构.在 一定的条件反复执行某一处理步骤的结构 . 在 科学计算中,有许多有规律的重复计算 有许多有规律的重复计算,如累加 科学计算中 有许多有规律的重复计算 如累加 求和、累乘求积等问题要用到循环结构. 求和、累乘求积等问题要用到循环结构 反复执行的步骤称为循环体. 反复执行的步骤称为循环体

思考: 思考:
循环结构不能是永无终止的“死循环” 循环结构不能是永无终止的“死循环”,一 定要在某个条件下终止循环, 定要在某个条件下终止循环,这就需要条件结构 来作出判断, 因此, 来作出判断 , 因此 , 循环结构中一定包含条件结 构. 一般地,循环结构中都有一个计数变量 计数变量和 一般地, 循环结构中都有一个 计数变量 和 累 加变量. 计数变量用于记录循环次数, 加变量 . 计数变量用于记录循环次数 , 同时它的 取值还用于判断循环是否终止, 取值还用于判断循环是否终止, 累加变量用于输 出结果.累加变量和计数变量一般是同步执行的, 出结果. 累加变量和计数变量一般是同步执行的 , 累加一次,记数一次. 累加一次,记数一次.

2.循环结构分为两种 循环结构分为两种——当型和直到型 当型和直到型. 循环结构分为两种 当型和直到型 当型循环在每次执行循环体前对循环条 件进行判断,当条件满足时执行循环体, 件进行判断,当条件满足时执行循环体,不满 足则停止;(当条件满足时反复执行循环体) ;(当条件满足时反复执行循环体 足则停止;(当条件满足时反复执行循环体) 直到型循环在执行了一次循环体之后, 直到型循环在执行了一次循环体之后, 对控制循环条件进行判断, 对控制循环条件进行判断,当条件不满足 时执行循环体,满足则停止.( .(反复执行循 时执行循环体,满足则停止.(反复执行循 环体,直到条件满足) 环体,直到条件满足)

循环结构的算法流程图 当 型 循 环 结 构

循环体 满足条件? 满足条件?

Y

N
当型循环结构在每次执行循环体前 对控制循环条件进行判断, 对控制循环条件进行判断 , 当条件满足时 执行循环体,不满足则停止. 执行循环体,不满足则停止.

直 到 型 循 环 结 构

语句A 语句A

条件 Y

N

直到型循环执行了一次循环体之后, 直到型循环执行了一次循环体之后, 对控制循环条件进行判断, 对控制循环条件进行判断,当条件不满 足时执行循环体,满足则停止. 足时执行循环体,满足则停止.

3.循环结构的设计步骤 循环结构的设计步骤 (1)确定循环结构的循环变量和初始条件 确定循环结构的循环变量和初始条件; 确定循环结构的循环变量和初始条件 (2)确定算法中需要反复执行的部分 即循环体; 确定算法中需要反复执行的部分,即循环体 确定算法中需要反复执行的部分 即循环体; (3)确定循环的终止条件 确定循环的终止条件. 确定循环的终止条件 4.循环结构的三要素 循环结构的三要素 循环变量,循环体、循环的终止条件 循环变量,循环体、循环的终止条件.

例 1.设计一个计 设计一个计 算 1+2+3+…+100 的程序框图. 的程序框图

开始 i=1 Sum=0 i=i+1 Sum=sum+i
i≤100? N Y

输出sum
结束

例1.设计 设计 一个计算 1+2+3+… +100的程 的程 序框图. 序框图

开始

i=1 Sum=0 Sum=sum+i i=i+1
是 否

i >100?

输出sum 输出
结束

课堂练习
1.画出求 画出求mul=1×2×3×…×100问题的程 画出求 × × × 问题的程 序框图. 序框图
第一步:设 第一步 设i = 1 , mul = 1. . 第二步:如果 ≤ 100执行第三步 否则执行第五步. 执行第三步,否则执行第五步 第二步 如果i 如果 执行第三步 否则执行第五步. 第三步:计算 并将结果代替mul. 第三步 计算mul×i并将结果代替 计算 × 并将结果代替 . 第四步:将 代替i,转去执行第二步 第四步 将i + 1代替 转去执行第二步. 代替 转去执行第二步. 第五步:输出 第五步 输出mul. 输出

开始 Mul=1 i=1 mul=mul×i × i=i+1
否 是

i >n?

输出mul 输出 结束

2.设计一个计算 设计一个计算 12+22+32+…+1002 的一个程序框图. 的一个程序框图

开始

i=1
Sum=0

i=i+1
i≤100? 否 是

Sum=sum+i2

输出sum 输出
结束

2.设计一个计算 设计一个计算 12+22+32+…+1002 的一个程序框图. 的一个程序框图

开始

i=1
Sum=0

i=i+1
i≤100?
否 是

Sum=sum+i2

输出sum 输出
结束

某工厂2004年的生产总值为 年的生产总值为200万元 技术革 万元,技术革 例 2.某工厂 某工厂 年的生产总值为 万元 新后预计以后每年的生产总值比上一年增加5%, 新后预计以后每年的生产总值比上一年增加 问最早需要哪一年年生产总值超过300万元 写出 万元.写出 问最早需要哪一年年生产总值超过 万元 计算的一个算法,并画出相应的程序框图 并画出相应的程序框图. 计算的一个算法 并画出相应的程序框图 第一步:n 第一步 = 0 , a = 200 , r = 0.05. 第二步:T = ar(计算年增量). 第二步:T ar(计算年增量). 计算年增量 第三步:a 计算年产值). 第三步 = a + T(计算年产值 计算年产值 第四步:如果 第四步 如果a ≤ 300,那么 = n + 1,重复执 如果 ,那么n , 行第二步. 行第二步 第五步:N 第五步 = 2004 + n. 第六步:输出 第六步 输出N. 输出

1
开始

n=n+1
n=0

a=a+T T=ar
a≤300? 否

a=200



N=2004+n
r=0.05

输出N 结束

1

思考 1.循环结构的特点 循环结构的特点
重复同一个处理过程

2.循环结构的框图表示 循环结构的框图表示
当型和直到型

3.循环结构有注意的问题 循环结构有注意的问题
避免死循环的出现,设置好进入( 避免死循环的出现 设置好进入(结 设置好进入 循环体的条件. 束)循环体的条件

五、设计算法的程序框图 1.设计步骤 设计步骤
第一步:用自然语言表述算法步骤. 第一步 用自然语言表述算法步骤. 用自然语言表述算法步骤 第二步:确定每一个算法步骤所包含的逻辑 第二步 确定每一个算法步骤所包含的逻辑 结构,并用相应的程序框图表示, 结构,并用相应的程序框图表示, 得到该步骤的程序框图. 得到该步骤的程序框图. 第三步:将所有步骤的程序框图用流程线连 第三步 将所有步骤的程序框图用流程线连 接起来,并加上终端框, 接起来,并加上终端框,得到表示 整个算法的程序框图. 整个算法的程序框图.

例3:画出用二分法求方程 2 – 2 = 0的近似 :画出用二分法求方程x 的近似 精确度为0.005)的程序框图 的程序框图. 根(精确度为 精确度为 的程序框图 第一步:令 第一步 令f (x) = x2 – 2,给定精确度 ,给定精确度d. 第二步:确定区间 第二步 确定区间[a , b],满足 (a)?f(b) < 0. 确定区间 ,满足f ? 第三步:取区间中点 第三步 取区间中点m = (a + b)/2. 取区间中点 第四步:若 第四步 若f(a)?f(m) > 0,则令 = m;否则,令b = m. ? ,则令a ;否则, 第五步:判断 a – b | < ε或f (m) = 0是否成立.若 第五步 判断| 或 是否成立. 判断 是否成立 为方程的近似根; 是,则m为方程的近似根;若否 则返回 为方程的近似根 若否,则返回 第三步. 第三步

开始

程序框图

f (x) = x2 – 2 输入误差d和初值 输入误差 和初值a,b 和初值

m = (a + b) / 2 f(a) ? f(m)>0?
是 否

a=m |a–b|<d或f(m)=0? 或


b=m


输出m 输出
结束

2.用流程图设计算法的经验 用流程图设计算法的经验
流程图是任何程序设计的基础,一般应注 流程图是任何程序设计的基础 一般应注 意以下的几点: 意以下的几点: (1) 任何的实际问题都有一个数学模型 任何的实际问题都有一个数学模型——解决 解决 的步骤,这是设计流程图的关键所在 这是设计流程图的关键所在; 的步骤 这是设计流程图的关键所在 (2) 流程图必须采用国家标准的图形符号来描述, 流程图必须采用国家标准的图形符号来描述, 箭头的流向一定要准确; 箭头的流向一定要准确 (3) 算法结构应简单明了 总体上是一个顺序结构 算法结构应简单明了,总体上是一个顺序结构 总体上是一个顺序结构; 有判断的出现分支结构;需多次执行某一个过 有判断的出现分支结构 需多次执行某一个过 程的采用循环结构. 程的采用循环结构

3.画流程图的规则 画流程图的规则
为了使大家彼此之间能够读懂各自画出 的框图,必须遵守一些共同的规则 必须遵守一些共同的规则,下面对 的框图 必须遵守一些共同的规则 下面对 一些常用的规则作一简单的介绍. 一些常用的规则作一简单的介绍 (1) 使用标准的框图符号 使用标准的框图符号. (2) 框图一般按从上到下、从左到右的方向画 框图一般按从上到下、从左到右的方向画. (3) 除判断框外 , 大多数程序框图符号只有一个进 除判断框外, 入点和一个退出点, 入点和一个退出点 , 判断框是具有超过一个退 出点的唯一符号. 出点的唯一符号 (4) 判断框是 “是 ”与 “否 ”两分支的判断 而且有 判断框是“ 两分支的判断,而且有 且仅有两个结果. 且仅有两个结果

3.画流程图的规则 画流程图的规则
(5) 在图形符号内描述的语言要非常简练清楚 在图形符号内描述的语言要非常简练清楚. (6) 起始框只允许一条流出线 终止框只允许一条流 起始框只允许一条流出线,终止框只允许一条流 入线,输入框 输出框、 输入框、 入线 输入框、输出框、处理框只有一条流入线 和一条流出线,判断框有一条流入线和两条流出 和一条流出线 判断框有一条流入线和两条流出 但任何时候只有一条流出线起作用. 线,但任何时候只有一条流出线起作用 但任何时候只有一条流出线起作用 (7) 一个程序框图包括以下几部分 表示相应操作的 一个程序框图包括以下几部分:表示相应操作的 程序框;带箭头的流程线 程序框外必要的文字 程序框 带箭头的流程线;程序框外必要的文字 带箭头的流程线 说明. 说明.

课堂小结
本节主要讲述了程序框图的基本知识:包括常 本节主要讲述了程序框图的基本知识 包括常 用的图形符号、算法的基本逻辑结构. 用的图形符号、算法的基本逻辑结构 算法的基本逻辑结构有三种,即顺序结构、 算法的基本逻辑结构有三种,即顺序结构、 条件结构和循环结构. 条件结构和循环结构 其中顺序结构是最简单的结构, 其中顺序结构是最简单的结构,也是最基本 的结构,循环结构必然包含条件结构, 的结构,循环结构必然包含条件结构,所以这三 种基本逻辑结构是相互支撑的, 种基本逻辑结构是相互支撑的,它们共同构成了 算法的基本结构,无论怎样复杂的逻辑结构, 算法的基本结构,无论怎样复杂的逻辑结构,都 可以通过这三种结构来表达. 可以通过这三种结构来表达.

习题课 设计一个求1+2+4+7+…+46的算法 并 的算法,并 例6.设计一个求 设计一个求 的算法 画出相应的程序框图. 画出相应的程序框图 例7.已知数列 ,1,2,3,5,8,13,…, 已知数列1, , , , , , , 已知数列 试设计算法求此数列的第n项值和前n 试设计算法求此数列的第n项值和前n 项和. 项和