- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1.设计一个计 算 1+2+3+…+100 的程序框图.
开始 i=1 S=0
i=i+1
S=S+i
是
i≤100?
否
输出S
结束
例1.设计 一个计算 1+2+3+… +100的程 序框图.
开始
i=1
S=0 S=S+i
i=i+1
思考:怎样改进这一框图, 使其表示输出1, 1 2, 1 2 3, , 1 2 3 100 的程序框图?
开始
开始 输入n i=1 S=0
i=1 S=0
S=S+i
i=i+1 输出S
S=S+i
i=i+1 输出S
i >100? 是 结束 否
否
i>n? 是 结束
“过电影”
1、掌握两种循环结构的画法。
2、注意循环结构中的循环终止条件。
3、能正确设置程序框图,解决实际问题。
三种基本结构(表示一个良好算法的基本单元)
结束
结束
三种基本结构(表示一个良好算法的基本单元)
①顺序结构
A
②条件结构(选择结构)
成立 不成立
③循环结构
While(当型)循环 Until(直到型)循环 A A
P
B
A
B
P 不成立
成立 成立
P
不成立
变式训练. 下面的循环体执行的次数是
开始
i=2,s=0
s=s+i
i=i+2 否 i
100?
是 输出s 结束
否
i >100?
是
输出S
结束
程序框图:
开始
i=1
开始
i=1
S=0
S=0
S=S+i
i=i+1
i=i+1 否 是
S=S+i
i>100?
是 输出S
i≤100?
否 输出S
结束
结束
开始 i=1
S=0 输出S
i=i+1 S=S+i
i≤100?
否
结束
是
变式训练(2): 编写程序求:1×3×5×7×……×101的值.
①顺序结构
A
②条件结构(选择结构)
成立 不成立
③循环结构
While(当型)循环 Until(直到型)循环
P
A
B P 不成立
A
B
A
成立 成立
P
不成立
开始
i=1
开始
i=1
S=0
S=0
S=S+i2
i=i+1
i=i+1 直到型 循环结 构 否 是
S=S+i2
i>100?
是 输出S
i≤100?
否 输出S 当型循环结构
第(i-1)步的结果+i=第i步的结果 S=S+i S累加变量;i计数变量
方法1:算法设计如下
第一步,令i=1,S=0
当型循环结构
开始 i=1 S=0 i=i+1 S=S+i
第二步,若i ≤100成立, 则执行第三步;否则,结束.
Βιβλιοθήκη Baidu
第三步,S=S+i
第四步,i=i+1,返回第二步
i≤100?
否 输出S 是
直 到 型 循 环 结 构
循环体
满足条件? Y
N
直到型循环在执行了一次循环体后,对条 件进行判断,如果条件不满足,就继续执行循 环体,直到条件满足时终止循环体。
2.循环结构的算法流程图
当 型 循 环 结 构
循环体 满足条件? N Y
当型循环结构在每次执行循环体前对条件 进行判断,当条件满足时,执行循环体,否则终 止循环。
A—循环体 两种循环结构有什么差别?
While(当型)循环
P—判断条 件 先判断 后执行
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
例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 N I≤100 Y S=S+I*I
I=I+1
求1 2 3 100
2 2 2
2
输出S
的值
结束
例2
开始 f(x)=x2-2
输入精确度d 和初值a,b
图1.1-20二 分法求根的 算法和程序
ab m 2
f(a) f(m)>0?
否 b=m
是 a=m
|a-b|<d或f(m)=0? 输出m
是
输出“n不是质数”
结束
讲授新课 三、循环结构及框图表示 1.循环结构的概念
循环结构是指在算法中从某处开始 , 按照一 定的条件反复执行某一处理步骤的结构. 反复执行的步骤称为循环体.
注意:循环结构不能是永无终止的“死循环”,一定要在某个 条件下终止循环,这就需要条件结构来作出判断,因此,循环结 构中一定包含条件结构.
开始 i=1 S=0 开始 i=1 S=0
S=S+i
i=i+1
i=i+1
S=S+i
i>100? 是 输出S 结束
否
i≤100? 否
是
输出S
结束
2 2 2 2 2 2 设计:求1 1+2+3+4+5+…+100 × +2× +3× +4× +5× +…× +100 的一个算法 100 的一个算法
第一步:令i=1
思考:直到型的自然语言算法和程序框图
结束
方法2:算法设计如下
开始
第一步,令i=1,S=0.
i=1 S=0
第二步,计算S=S+i, 第三步,计算i=i+1, 第四步,判断i>100是否成立. 若是,则输出S,结束算法; 否则,返回第二步.
S=S+i
i=i+1 否
i>100? 是
输出S 结束
方法2.用直到型循环结构 方法1.用当型循环结构
结束
否
是
小 结
两种循环语句:
( 1)
While(当型)循
环 满足条件?
否
循环体
是
(2)Until(直到型)循环
循环体 满足条件?
否
是
变式训练(1). 设计一个算法求 的值,并画出程序框图.
1 1 1 1 1 1 ss 1 1 2 10 2 3 3 n
第二步:令s=0 s=1 用 ss 表示 第三步:使s× +i2 i用 表示 (s=s+i) (s=s (s=s+i ×2 i) )
(i=i+1)
第四步:将i的值增加1,仍用i表示
第五步:判断i>100是否成立,若成立,结束算法; 否则,返回第三步.
开始
设计一个算法求 的值,并画出程序框图.
1 1 1 s 1 2 3 n
输入一个正整数 n 开始
S=0
i=1
S=S+1/i
i=i+1 Y i≤10 i≤9 i≤n 输入S的值 N
结束
3.循环结构的设计步骤 (1)确定循环结构的循环变量和初始条件; (2)确定算法中需要反复执行的部分,即循环体; (3)确定循环的终止条件. 4.循环结构的三要素 循环变量,循环体、循环的终止条件.
a>300? 否
是 输出n
结束
挑战题:如何改进这一算法表示 输出1,1+2,1+2+3,…,1+2+ 3+…+99+100的过程. 开始
开始
i=1
S=0 S=S+i
i=1 S=0
S=S+i i=i+1 输出S 结束
i >100? 是
i=i+1
否
输出S i >100?
是
结束 否
挑战题:如何改进这一算法,表示 输出1,1+2,1+2+3,…,1+2+ 3+…+(n-1)+n的过程.
例2. 某工厂2005年的年生产总值为200万元,技术革新后预计以 后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出 预计年生产总值超过300万元的最早年份.
算法分析:
第一步, 输入2005年的年生产总值. 第二步, 计算下一年的年生产总值.
第三步, 判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.
输入一个正整数 n 开始
S=0
i=1 i=0
S=S+1/i i=i+1
i=i+1 S=S+1/i Y i≤10 i≤n i≤9 i≤n -1 输入S的值 N
步骤A 步骤B
结束
循环结构:
程序框图:
开始 n=2005 a=200 t=0.05a a=a+t n=n+1
(1)循环体:设a为某年的年生产总值, t为年生产总值的年增长量, n为年份, 则t=0.05a, a=a+t, n=n+1. (2)初始值:n=2005,a=200.
(3)控制条件:当“a>300”时终止循环.
算法初步 1.2.3 循环结构
知识再现 顺序结构
语句A
语句B
条件结构
否 满足条件? 是 步骤A 满足条件?
否
是
步骤A 步骤B
4.程序框图的三种逻辑结构
开始 输入n i=2 求n除以i的余数 i的值增加1,仍用i表示
顺序结构
循环结构
否 否
输出“ n 是质数”
i>n-1或r=0?
是 r=0?
条件结构
直到型
开始
i=1
如何修改?
开始
i=1
S=0 S=1
当型
S=1 S=0
S=S *i S=S+i
i=i+2 i=i+1 i>100? i>101?
是 输出S 否
i=i+1 i=i+2 S=S+i S=S *i
i≤100? i<=101?
否 输出S
是
结束
结束
开始 S=0
(3)判断该程序框 图的作用是什么?