当前位置:首页 >> 其它课程 >>

第一章 算法初步----1.2.3循环语句2015.3


1.2.3

循环语句

满足条件?


满足条件?




步骤A


步骤1 步骤2

IF

IF

条件 THEN 语句体 END IF

/>条件 THEN 语句体1 ELSE 语句体2 END IF

知识探究(一):直到型循环语句
程序框图

程序语言
DO 循环体


循环体

满足条件?


LOOP UNTIL

条件

例:计算 1 ? 2 ? 3 ? ? ? 100
直到型循环框图
开始

程序语言 i=1
S=0
循环结构

i ?1 S?0

DO

S ? S?i
i ? i ?1

循环体

S=S+i

i=i+1
No

循环条件

i ? 100? Yes
输出 S 结束

LOOP UNTIL i>100 PRINT S END

直到型(UNTIL型)
1. 解释计算机如何执行直到型语句
DO

先执行循环体 S=S+i

S ? S?i i ? i ?1

i=i+1
LOOP UNTIL i>100

后判断条件

i ? 100? Yes

No

如果条件不符合,继续执行循环体;然后再检查上述条件, 如果条件仍不符合,再次执行循环体,直到条件符合为止。

直到型(UNTIL型)

2.直到型语句的标志符号
DO

S=S+i

DO 循环体 LOOP UNTIL 条件

i=i+1
LOOP UNTIL i>100

练习:在下面的程序运行中,计算机输出的结果是多少?
x=20

DO
x=x-3 LOOP UNTIL x<0 PRINT x END

-1

知识探究(二):当型循环语句 程序框图 程序语言
循环体
满足条件? 是

WHILE 条件

循环体
WEND



当型(WHILE型) 1 ? 2 ? 3 ? ? ? 100
开始
i ?1 S?0

问题: 转化为程序语言
i=1 s=0 WHILE i<=100 s=s+i i=i+1 WEND PRINT “S=”;S END

i ? i ?1 S ? S?i
i ? 100?

Yes

No 输出S

结束

直到型与当型对比
DO S=S+i

WHILE 先执行循环体
S=S+i i=i+1 WEND

i<=100 先判断条件

i=i+1
LOOP UNTIL

i>100

后判断条件 后测试型 DO 循环体 LOOP UNTIL 条件 WHILE 条件 循环体 WEND

后执行循环体

前测试型

练习1:编写一个程序计算1+1/2+1/3+1/4+…+1/99
i=1 s=0 WHILE i<=99 s=s+1/i i=i+1 WEND PRINT s END i=1 s=0 DO s=s+1/i i=i+1 LOOP UNTIL i>99 PRINT s END

当型(WHILE)

直到型(UNTIL)

练习2,求S=1+1/2+1/3……+1/n,编写程序 程序 INPUT “n=”;n i=1 S=0 WHILE i<=n S=S+1/i i=i+1 WEND PRINT “S=”;S END

练习3(P32练习2)、编写一个程序,输入正整数n, 计算它的阶乘n!(n!=n*(n-1)*…*3*2*1)
程序:

分析:第一步,1!=1*1 第二步,2!=1!*2

INPUT “n=“;n
i=1 t=1 WHILE i <=n t=t*i

第3步,3!=2!*3


第i步,i!=(i-1)!*i

i=i+1
WEND PRINT “n!=”;t END

练习3(P32练习2)、编写一个程序,输入正整数n, 计算它的阶乘n!(n!=n*(n-1)*…*3*2*1) 分析: 第一步,1!=1*1
第二步,2!=1!*2 第3步,3!=2!*3 … 第i步,i!=(i-1)!*i

t=1 i=1 INPUT "n=";n DO t=t*i i=i+1 LOOP UNTIL i>n PRINT " n!=";t END

变式训练(1(P32练习2)): 编写程序求:n!=1×2×3×4×5×……×n的值. 开始 如何修改? WHILE语句 输入n INPUT “n=”;n i=1 i=1 S=0 S=1 S=0 S=1 n WHLIE i<=100 i=i+1 S=S+i S=S*i i=i+1 S=S+i S=S *i 是 WEND i≤100? i≤n? PRINT S 否 当型循环 输出S END
结束

结构

变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1

S=1 S=0 S=S *i S=S+i
i=i+2 i=i+1 i>100? i>101?
是 输出S 否

i=1 S=0 S=1 DO S=S+i S=S *i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END

结束

练习4:阅读下面的程序,你能说明它是一个什么 问题的算法吗?

x=1 WHILE x∧2<1000 PRINT x x=x+1 WEND END 求满足x2<1000的所有正整数x的值.

小 结
两种循环语句:
( 1)

While(当型)循环 循环体

满足条件?




WHILE 条件 循环体 WEND

(2)Until(直到型)循环 循环体 满足条件?




DO 循环体 LOOP UNTIL 条件

作业
? 1.P33A组1、2 ? 2.P33B组2、3

练习5(P20B2)、某高中男子体育小组的50m跑成绩(单位:s)为: 6.4, 6.5, 7.0, 6.8,7.1,7.3, 6.9,7.4,7.5 设计一个算法,从这些成绩中搜索出小于6.8s的成绩,并画出程序框图.
开始 输入r 否

问题:能否对这个程序进行改进,使 其输入9个数后程序才结束?

R<6.8? 是 输出r 结束

练习5 (P20B2) 、某高中男子体育小组的50m跑成绩(单位:s)为: 6.4, 6.5, 7.0, 6.8,7.1,7.3, 6.9,7.4,7.5设计一个算法,从这些成绩中搜索出小于 6.8s的成绩,并画出程序框图. 程序 框图:
开始 i=1 输入r 是 r<6.8? 否 i=i+1 否 i>9? 是 结束 输出r

程序:

i=1 DO INPUT “输入成绩:”;r
IF r< 6.8 THEN PRINT r END IF

i=i+1

LOOP UNTIL i>9 END

练习6:函数y=x2-3x+5,从x=1开始连续输入19个 自然数进行取值,输出相应的函数值,用程序语言 进行编程 程序 n=1
直到型

DO y=x^2-3*x+5 PRINT “x=”;x, “y=”;y n=n+1 LOOP UNTIL n>20

END

练习6 :函数y=x2-3x+5,从x=1开始连续输入19个 自然数进行取值,输出相应的函数值,用程序语言 进行编程 程序 当型 n=1 WHILE n<=20 y=x^2-3*x+5 PRINT “x=”;x, “y=”;y

n=n+1
WEND END

练习7、设计一个算法框图:求满足1+2 + 3 + … + n>10000的 最小正整数n,并写出相应的程序。 开始 i=0 s=0 DO

i=0,S=0 i=i+1
S=S+i 否

i=i+1

s=s+i
LOOP UNTIL s>10000

S>10000?
是 输出i 结束

PRINT i
END

练习8、设计一个算法框图:逐个输出12,22,32,……,n2,并 写出相应的程序。 开始 INPUT n i=0 i = i+1 ;t=i^2 PRINT t 否 INPUT n i=0 WHILE i < n i=i+1 t=i^2 PRINT t WEND END INPUT n i=0 DO i=i+1 t=i^2 PRINT t LOOP UNTIL i > = n END

i>=n? 是 结束

开始 输入n

练习9:根据P7页图1.1-2,将 程序框图转化为程序语句.

i=2
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 是 r=0? 否 N是质数 结束 否

N不是质数

分析:仔细观察,该程序框图中既有条件结构,又 有循环结构。 程序
INPUT “n=”;n i=2 DO r=n MOD i i=i+1 LOOP UNTIL i>=n OR r=0 IF r=0 THEN PRINT “n is not a prime number.” ELSE PRINT “n is a prime number.” END IF END

练习10.P19图1.1-20
转化成程序语言

程序

INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 f=m^2-2 g=a^2-2 IF g*f<0 THEN b=m ELSE a=m END IF LOOP UNTIL ABS(a-b)<d OR f=0 PRINT m END

程序框图

继续

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

程序框图

a?b m? 2

f(a) f(m)<0?

否 a=m

是 b=m
|a-b|<d或f(m)=0? 输出m
结束


返回




相关文章:
必修3第1章算法初步1.2.3循环语句
必修3第1章算法初步1.2.3循环语句_数学_高中教育_教育专区。高中数学必修3精品题库 1.2 基本算法语句 1.2.3 循环语句 一、选择题 1.下列给出的四个框图,...
必修3第一章算法初步1.2基本算法语句
必修3第一章算法初步1.2基本算法语句_高一数学_数学_高中教育_教育专区。人教 A 版 数学教案 必修 3 第一章 1.2.1 第一课时 第一章算法初步 1.2 基本...
循环语句第一课时练习与答案-数学高一必修3第一章算法初步1.2基本算法语句1.2.3人教A版
循环语句第一课时练习与答案-数学高一必修3第一章算法初步1.2基本算法语句1.2.3人教A版_数学_高中教育_教育专区。人教 A 版 第一章 1.2.3 第一课时 数学...
2016年高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3
2016年高中数学 第一章 算法初步 1.2.2、2.3循环语句学案 新人教A版必修3_高考_高中教育_教育专区。1.2.2 1.2.3 条件语句 循环语句 1.问题导航 (1)...
第一章 算法初步 §1.3有详细答案
第一章 算法初步 §1.3有详细答案_数学_高中教育_教育专区。§ 1.3 算法...循环语句. A.1 B.2 C.3 D.4 答案 C 解析 (1)、(2)、(4)正确,(3...
第一章 算法初步 1.1.2第3课时有详细答案
第一章 算法初步 1.1.23课时有详细答案_数学_高中教育_教育专区。1.1.2 程序框图与算法的基本逻辑结构 循环结构、程序框图的画法 第 3 课时 课时目标 1....
第1章 算法初步 1.2.3
第1章 算法初步 1.2.3_数学_高中教育_教育专区。第1章 算法初步 1.2.3 1.2.3 循环结构 课时目标 1.掌握两种循环结构的流程图的画法.2.能进行两种循环...
1.2.3基本算法语句循环语句
§1.2.3 基本算法语句循环语句 教学目标: 知识与技能 (1)正确理解循环语句的概念,并掌握其结构。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对...
第一章 算法初步 1.2.2有详细答案
第一章 算法初步 1.2.2有详细答案_数学_高中教育...循环结构 D.以上都不对 答案 B 解析 条件语句是...2014-2015学年高中数学一... 暂无评价 9页 ¥0...
更多相关标签:
算法导论第一章答案 | 子夜第一章经典语句 | 算法初步 | 高中数学算法初步 | 算法初步测试题 | 算法初步知识点 | 算法初步ppt | 必修三算法初步 |