1.2.3循环语句(1)
高中数学第一章1.2.3循环语句人教A版必修3
循环结构的程序设计
写出计算 12+32+52+…+992 的程序.
【解】
用 WHILE 语句编写程序如下: S=0 i=1 WHILE i< =99 S=S+i∧2 i=i+2 WEND PRINT S END
用 UNTIL 语句编写程序如下: S=0 i=1 DO S=S+i∧2 i=i+2 LOOP UNTIL i>99 PRINT S END
【答案】 8
(1)WHILE 语句的适用类型 当型循环也叫“前测试”循环,也就是我们所讲的“先测试后 执行”“先判断后执行”. (2)使用 WHILE 语句应关注五点 ①当型循环以 WHILE 开头,以 WEND 作为结束标志; ②一般来讲,WHILE 语句与 UNTIL 语句可以相互转化;
③执行 WHILE 语句时,先判断条件,再执行循环体,然后再 判断条件,再执行循环体,反复执行,直至条件不满足; ④WHILE 语句中的条件是指循环体的条件,满足此条件时, 执行循环体,不满足时,则跳出循环,执行循环结构后面的语 句; ⑤WHILE 语句由于先判断条件,再执行循环体,因此,循环 体可能一次也不执行就退出循环结构.
A.3 C.15
下面程序的运行结果是( ) i=1 S=0 WHILE i<=4 S=S*2+1 i=i+1 WEND PRINT S END B.7 D.17
1.2.3循环语句
2、设计一个算法框图:求满足1+2 + 3 + … + n 设计一个算法框图:求满足1 10000的最小正整数 的最小正整数n 并写出相应的QBASIC程序。 QBASIC程序 >10000的最小正整数n,并写出相应的QBASIC程序。
程序 开始 i=0,Sum=0 i=i+1 Sum=Sum+i 否 Sum>10000? 是 输出i 结束 i=0 sum = 0 DO i=i+1 sum = sum + i LOOP UNTIL sum>10000 PRINT i END
直 到 型
设计一个计算1+2+3+ 1+2+3+…+100 的值的程序(课本15 15页 例1:设计一个计算1+2+3+ +100 的值的程序(课本15页) 程序: 程序: i=1 S=0 WHILE i<=100 S=S+i i=i+1 WE S I E 框图: 框图: 开始 i=1,S=0 i<=100? 是 S= S+i i= i+1 否
循环体 LOOP UNTIL
条件
是
先执行一次DO和UNTIL之间的循环体,再对 先执行一次DO和UNTIL之间的循环体, DO 之间的循环体 UNTIL后的条件进行判断 如果条件不符合, 后的条件进行判断. UNTIL后的条件进行判断.如果条件不符合,则继 续执行循环体;然后再检查上述条件, 续执行循环体;然后再检查上述条件,如果条件 仍不符合,则再次执行循环体, 仍不符合,则再次执行循环体,直到条件符合为 这时,计算机将不执行循环体,而执行UNTIL 止.这时,计算机将不执行循环体,而执行UNTIL 语句之后的语句.
1.2.3循环语句
例2、设计一个算法框图:求满足1+2 + 3 + … + n> 10000的最小正整数n,并写出相应的QBASIC程序。 开始 i=0,Sum=1 i=i+1 i=0 sum = 0 DO
i=i+1
Sum=Sum+i sum = sum + i 否 Sum>10000? 是 输出i 结束 LOOP UNTIL sum>10000 PRINT i END
开始
例3.你能说出如下程 序框图的算法功能吗? 并且根据此程序框图 写出相应的程序.
是
f(x)=x2-2 输入a,b和精确度d m=(a+b)/2 f(a)f(m)<0 ? 否 a=m 否 |a-b|<d or f(m)=0? 是 输出近似解为m 结束
b=m
练习
编写一个程序 2 2 应的程序框图。 WHILE 型:
S=0 i=2 WHILE i<=1000 S=s+i^2 i=i+2 WEND PRINT s END
结束 i=2 i=i+2
4 2 1000 2计算的值,并画出相
开始
程序框图:
S=0
i<=1000?
否
是
S=s+i2
输出 s
开始
UNTIL 型:
程序框图:
S=0 i=2
S=0
编写程序,使得任意输入3个整数按大到小的顺序输出。
算法分析: 算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c 输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。 第一步 第二步 第三步 第四步 第五步 输入3个整数a、b、c 将a与b比较,并把小者赋给b,大的赋给a; 将a与c比较,并把小者赋给c,大的赋给a 将b与c比较,并把小者赋给c,大的赋给b 按顺序输出a,b,c
1.2.3 循环语句
张喜林制1.2.3 循环语句教材知识检索考点知识清单1.在算法程序语言中一般通过来处理算法中的循环结构.2.Scilab程序语言中提供了两种循环语句:.3.for循环的格式为:,while循环的格式为要点核心解读1.循环语句(1)循环语句的概念,在程序处理中,经常需要对一条或一组语句重复执行多次,最终完成某项任务,这就是循环的概念,例如统计所有考生的成绩的总分需要一个人一个人地计算;寻找一批数据中的某一个,需要逐个地鉴别……这类处理的一个特点是对不同的运算对象进行若干次的相同运算或处理,这种处理模式在程序设计中是用循环结构来实现的.在Scilab程序语言中提供了两种循环语句,for循环和while循环.(3)for循环的一般格式2.循环语句的应用循环语句主要用来处理算法中的循环结构,在处理一些需要有规律地重复计算问题,如累加求和、累乘求积及其他问题时常常用到循环语句编写程序,用for 循环编写程序时要注意设定好循环变量的初值、步长和终值,避免出现多一次循环或少一次循环的情况,用while 循环编写程序时,一定要注意表达式的写法,当表达式为真时执行循环体,表达式为假时结束循环,以防出现表达式正好相反的错误.循环结构在生活中有着广泛的应用,用循环语句描述循环结构的算法简洁、方便.[例] 猴子第1天摘下若干个桃子,当即吃一半,还不过瘾,又多吃了一个.第2天早上又将剩下的桃子吃掉一半又多吃了一个.以后每天早上都吃了前一天剩下的一半还多一个,到第10天早上想再吃时,见只剩下一个桃子.求第1天共摘多少个桃子?[解析] 第10天为,110=s 第9天为,42)11(9=⨯+=s 第8天则为,102)14(8=⨯+=S ……第1天则为,2)1(21⨯+=S S 得到递推公式为,2)1(,1110⨯+==+n n s S s.9,,2,1 =n[答案] 根据思路,程序框图如图1-2 -3 -2所示, 根据框图,程序为:;1=i ;1=S e whi 1 ;10<i;2*)1(+=S S ;1+=i iend);),2((%S io nt np [点拨] 本题算法称为递推法,由前项推后项,递推公式重复运用,因此可用循环语句处理.典例分类剖析考点1 for 循环语句的编写[例1]设计一个计算997531⨯⨯⨯⨯⨯ 值的算法,画出程序框图,写出程序. [答案] 这是一个有规律的累乘问题,第一个数为1,以后每个数均比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序, 算法步骤如下:Sl 令;1=S S2 令;1=I S3 令;I S S ⨯= S4 令;2+=I IS5 若,991≤那么执行S3;否则执行S6; S6 输出S程序框图如图1-2 -3 -3所示,[点拨] (1)由于是一个累乘问题,我们设定S初始值为l,所以程序中的第二行语句也可改写为for i=3:2:99,最后程序的运行结果是一样的.知道循环次数,常用for语句.(2)本题中的程序也可用while循环语句编写如下:1.编写程序计算2005的值,考点2 while循环语句的编写[例2] 标有l,2,3,4,5,6六个号码球,有一个最重的,写出模拟挑出最重球的程序.[答案] 设第一个球是最重的,然后与其他几个球依次比较,如有比第一个球重的,就交换过来.=i;1whi1 i< = 6e)((“输入小球重量”);a=inputii=i;1+endi;2==a();max i61<=i ewhi )(max i a if < );(max i a = end;1+=i iendmax);),2((%io nt np [点拨] 本题中有两个循环体),(max 1i a hk i i =+=注意循环语句的嵌套,未知循环次数常用while语句,,10000_______531.2>⨯⨯⨯⨯ 那么如何寻找满足条件的最小正整数呢?试写出解决此问题的算法,并写出程序,考点3 同一问题的两种语句处理[例3] 用两种语句写出求22210021+++ 的值的算法.[答案] 若用while 语句,循环终止条件为,100≤i 用for 语句,其步长为1,终值为100. e whi 1语句: for 语句:;1=i ;0=sum ,0=sum 010:1:1.=i for 100.1<=i e whi ;*i i sum sum +=;*i i sum sum += end;1+=i i );),2((%sum io nt n p end);),2((%sum io nt np [点拨] (1)在描述循环条件的算法时,若循环次数是明确的,两种语句均可使用,若循环次数不明确,一般用while 语句.(2)若用while 语句,循环终止条件为,100≤i 用for 语句其步长为1,终值为100. 3.编写求解下列问题的程序:;100014131211)1(+++++.10099433221)2(⨯++⨯+⨯+⨯考点4 循环结构在生活中的应用[例4]高-(3)班共有54名同学参加了数学竞赛,现在已有了这54名同学的竞赛分数.请设计算法,要求计算出竞赛成绩优秀的同学的平均分并输出(规定90分以上为优秀),画出程序框图,写出程序. [答案] 我们可以用循环结构控制输入54名同学的分数,用条件结构来判断分数是否高于90分,同时统计累加高于90分的成绩的总和和人数,从而求出平均分, 程序框图如图1.2 -3 -4所示.程序如下:[点拨]设计算法,画出程序框图,条件语句与循环同时运用.用while 语句,循环终止条件为.54≤i 4.某服装厂2007年的产值为2000万元,如果年生产增长率为5%,计算最早哪一年生产总值超过3000万元,画出程序框图,并写出程序.优化分层测训学业水平测试1.下面算法语句中,输出的结果为( ).;0=Sdo to x for .7..3.= begin ;x S S +=输出S . end25.A 18.B 7,6,5,4,3.C 25,18,12,7,3.D2.循环语句中的步长( ).A .可以省略B .不能省略C .只有步长为1时才可省略D .以上全错 3.循环语句“while 表达式循环体end”中说法正确的是( ).A .总是执行循环B .执行一次循环C .表达式为真,则执行循环D .遇到end 就结束 4.读算法语句:do to fori 31= begindo to forj 51= begin输出i 十f end则输出i*j 语句执行次数为 5.阅读算法语句:,1=w ;2=i repeat,*i w w = ;1+=i i 20001>w unti 输出.1-i该算法语句的意义为: . 6.编写61514131211-+-+-的运算程序, 高考能力测试(测试时间:45分钟测试满分:100分)一、选择题(本大题共8小题,每小题5分,共40分,在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列关于for 循环的说法中错误的是( ).A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为l ,可以省略不写,若为其他值,则不可省略C .理解for 循环的关键是理解为循环变量设定的初值、步长、终值D .在for 循环中“end”控制结束一次循环,开始一次新的循环 2.下列说法中正确的是( ).A .while 循环和for 循环的结构相同B .while 循环结构首先要求对表达式进行判断,如果表达式为真,则执行循环体部分C .while 循环每次开始执行循环体前,都要判断表达式是否为假D .while 循环每次开始执行循环体前,都要判断表达式是否为假,这样重复执行,一直到表达式的值为真时,就跳过循环体部分,重新判断表达式的值,直到循环结束3.(2010年惠州模拟题)下面的程序运行后,输出的结果为( ).[注:5)(MOD j a +是j +5“除以5的余数”]50.A 5.B 25.C 0.D,190:10:100.4-=forx 该程序共执行循环( ).A.29次 B .30次 C .28次 D .19次 5.当2=x 时,下面程序的运行结果是( ).;1=i;0=S 4.<=i while;1*+=X S S ;1+=i iend S3.A 7.B 15.C 17.D6.如图1-2 -3 -6流程图中,语句1(语句1与i 无关)将被执行的次数是( ).23.A 24.B 25.C 26.D7.执行下列程序时,计算机能输出的结果仅是15的是( ).)(;;;5:1;0.s disp end X s s f s A orx +===).(;;8,5:1;0.s disp end X s forx s B +=== end s disp x s s forX s C );(;,5:1;0.+=== )(;;,5:1;0.s disp end X s s krX s D +===8.(2011年北京高考题)执行如图1-2 -3 -7所示的程序框图,若输入A 的值为2,则输出的P 值为( ).2.A3.B4.C5.D二、填空题(本大题共4小题,每小题5分,共20分.把答案填在题后的相应位置)9.(2011年山东高考题)执行如图1-2 -3 -8所示的程序框图,输入,5,3,2==⋅=n m l 则输出的y 的值是10.(2011年江西高考题)如图1-2 -3 -9所示是某算法的程序框图,则程序运行后输出的结果是 . 1l.程序:以上程序运行后的结果是12.以下给出求99531⨯⨯⨯⨯ 的值的四个程序,其中正确的有(1)(2)(3)三、解答题(本题共4小题,每小题10分,共40分,解答须写出文字说明、证明过程和演算步骤)13.现欲求12151311-++++n 的和(其中n 的值由键盘输入),已给出了其程序框图(如图1 -2 -3 -10),请将其补充完整并设计出程序.14.已知,)(2x x f =把区间[0,1]十等分,设计程序求该函数在各分点处和区间端点的函数值.15.设计程序求π的近似值可以用以下公式:++=22221116π⋅++22131n 用上述公式求,62π即逐项进行累加,直到00001.012<n 为止(该项不累加),然后求出π的近似值.16.画出求平方值小于2000的最大整数的程序框图,并编写程序.。
1[1].2.3基本算法语句_循环语句
——循环语句
循环结构有两种-----当型与直到型. 直到型循环结构 当型循环结构
循环体 循环体
满足条件? 否
是
满足条件?
否
是
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
WEND——朝……方向 行走
循环体
条件
满足条件?
否
是
(2)UNTIL语句的一般格式是:
直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?
否
是
WHILE语句的一般格式 WHILE 条件 循环体 WEND
UNTIL语句的一般格式
DO 循环体 LOOP UNTIL
条件
区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。
结束
结构
变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1 S=0 S=1 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
是
S=S+i
结束
直到型
开始
UNTIL语句 i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END
1.2.3循环语句
END IF
结束
END
判断质数程序
练习
1.根据你画出的用二分法求方程x2-2=0的 近似根的程序框图,写出相应的程序语句。
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
是 输出x 结束
练习
x1=1 x2=2 c=0.005 DO X=(X1+X2)/2 f(x1)=x1^2-2 f(x)=x^2-2 IF f(x)=0 THEN PRINT "方程根为:";x ELSE IF f(x1)*f(x)<0 THEN x2=x ELSE x1=x END IF END IF LOOP UNTIL ABS(x1-x2)<=c PRINT "方程的近似根为:";x END
练习
1.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。
否
x1=x
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f ( x1 ) x12 2
f ( x) x2 2
f(x)=0?
否 f(x1)f(x)<0?
是
是
x2=x
否
|x1-x2|<c?
练习
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
t=1 i=1 INPUT "请输入n的值:";n DO t=t*i i=i+1 LOOP UNTIL i>n PRINT "这个数的阶乘为:";t END
必修3课件1.2.3循环语句
INPUT “a,b,d=”;a,b,d DO m (a b) / 2 g a^2 2 f m^2 2 IF g f 0 THEN 循环体 bm ELSE am END IF LOOP UNTIL ABS (a b) d or f 0 PRINT m END
x2 写出用“二分法”求方程 2 0( x 0) 近似解的算法.
第一步:输入a,b,d
ab 第二步:取区间中点 m 2 g a2 2 第三步:计算
f m2 2 第四步:计算
第五步:若 g f 0, 则含零点的区间为[a , m]; 否则,含零点的 区间为[m, b]. 将新得到的含零点的区间仍记为[a , b]. 第六步:判断 [a , b] 的长度是否小于d或f是否等于0.若是, 则m是方程的近似值;否则,返回第二步.
程序框图
开 始
程序
n=1 DO INPUT “x=”; x y=x^3+3*x^2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END
n=1
输入 x y=x3+3x2-24x+30 输出 y n = n+1
否
n>11?
是
结 束
x2 写出用“二分法”求方程 2 0( x 0) 法. 第一步:令 f ( x ) x 2 2, 给定精确度d.
§1.2.3循环语句
学习目标
1. 理解基本算法语句——循环语句及其与循 环结构的关系 2. 通过循环语句的学习,进一步体会算法的基 本思想 3. 进一步熟悉把程序框图转化为程序语句 的方式
复习引入 输入语句的一般格式 输出语句的一般格式 赋值语句的一般格式 条件语句的一般格式 是 IF 条件 THEN 是 A P INPUT “提示内容”;变量 PRINT “提示内容”;表达式 变量=表达式
1.2.3循环语句
S=1× S=1×1=1 S=1× S=1×2=2 S=2× S=2×3=6 S=6× S=6×4=24 输出S=24. 输出S=24. 答案: 答案:24
iபைடு நூலகம்1+1=2 i=2+1=3 i=3+1=4 i=4+1=5
i=2≤4成立. i=2≤4成立. 成立 i=3≤4成立. i=3≤4成立. 成立 i=4≤4成立. i=4≤4成立. 成立 i=5≤4不成立. i=5≤4不成立. 不成立
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
知 能 巩 固 提 升
目 录 典 课 程 目 标 设 置 主 题 探 究 导 学 型 例 题 精 析
3.(2010·聊城高一检测) 3.(2010·聊城高一检测)如图程序运行后输出的结果为 聊城高一检测
目 录 课 程 目 标 设 置 主 题 探 究 导 学
(
)
典 型 例 题 精 析
知 能 巩 固 提 升
(A )1
(B )3
(C )5
(D )7
目 录
【解析】选C.该程序执行过程为 解析】 C.该程序执行过程为
高中数学第一章算法初步123循环语句课件新人教B版必修3
看看远处,要保护好眼睛哦~站起来动一动 对身体不好哦~
程序与程序框图的对译
根据以下给出的程序,画出其相应的程序框图,并指明 该算法的功能.
n=1; S=1; while S<5000
S=S*n; n=n+1; end n=n-1; print(%io(2),n);
循环语句的概念及一般格式 (1)循环语句用来实现算法中的__循__环__结__构__. (2)循环语句主要有两种类型:__f_o_r_循__环___和__w_h_i_le__循__环__.
(3)for 循环的一般格式为
for 循环变量=初值:步长:终值 循环体;
end
(4)while 循环的一般格式为
解:该算法的程序框图如图所示.
1.循环语句主要有两种形式,即 for 语句与 while 语句,for 语句主要适用于预知循环次数的循环结构;而循环次数不确定 时,则要用 while 循环语句. 2.理解 for 循环的关键是理解计算机如何执行程序语句中第三 步“s=s+i”,这个执行过程实际上是每次循环赋给 s 的值都 比上一步增加一个“步长”,如此循环直至结束.而 while 循 环则是每次执行循环体之前,都要判断表达式是否为真,这样 重复执行,直至表达式为假时跳过循环体部分而结束循环.
复习课件
高中数学第一章算法初步1.2.3循环语句课件新人教B版必修3
2021/4/17
高中数学第一章算法初步123循环语句课件新人教B版必初步
1.了解程序框图转化为程序语句的过程. 2.理解循环 语句的概念及作用. 3.掌握循环语句的格式及程序框图的画法、程序的编写.
用 while 语句编写程序的一般过程 (1)对变量进行初始赋值; (2)确定执行循环体的条件; (3)确定循环体; (4)输出结果.
1.2.3 循环语句
理论迁移
例1 已知函数y=x3+3x2-24x+30,写 出连续输入自变量的11个取值,分别输 出相应的函数值的程序.
算法分析: 第一步,输入自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 第四步,记录输入次数. 第五步,判断输入的次数是否大于11.若是, 则结束算法;否则,返回第一步.
INPUT “a,b,d=”;a,b,d DO m=(a+b)/2
INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 IF g*f<0 THEN
INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 IF g*f<0 b=m THEN
INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 IF g*f<0 b=m ELSE THEN
是 结束
否
n=1 DO INPUT x y=x∧3+3*x∧2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END
混合逻辑结构的程序框图 思考1:用“二分法”求方程 近似解的算法如何设计?
第一步,令f(x)=x2-2,给定精确度d. 第二步,确定区间[a,b],满足f(a)·f(b)<0. 第三步,取区间中点
输入x
y=x3+3x2-24x+30
输出y
n=n+1
n=1 DO
n>11?
是 结束
1.2.3循环语句
循环语句的一般格式: 循环语句的一般格式: 循环变量=初值:步长: For 循环变量=初值:步长:终值 循环体; 循环体; end 根据循环变量的 初值、步长、 初值、步长、终 值进行循环。 值进行循环。
while 表达式 循环体; 循环体; end
首先要对表达式进行判断, 首先要对表达式进行判断, 表达式进行判断 如果表达式为真, 如果表达式为真,则执行 循环体部分, 循环体部分,每次开始执 行循环体前都要判断表达 式是否为真。 式是否为真。
s=0; for i=1:1:100 s=s+i; end s
步 长
初值
终值
是 i≤100 否 输出S 输出 结束
for循环 循环
1.一般格式 一般格式 for 循环变量 初值:步长:终值 循环变量=初值:步长: 初值 循环体; 循环体; end 2.说明 2.说明 成对出现。 ① for与 end成对出现。 与 成对出现 步长为1时可省略 时可省略。 ② 步长为 时可省略。 用于预先知道循环次数的情形 次数的情形。 ③ 用于预先知道循环次数的情形。 循环次数=(终值 初值)/步长 终值-初值 步长+1 循环次数 终值 初值 步长 ④ “;”的用处。 的用处。 的用处
一球从100m高度落下,每次落地后反 高度落下, 例4. 一球从 高度落下 跳为原高度的一半,再落下。在第10次落 跳为原高度的一半,再落下。在第 次落 地时,共经过多少路程?第10次下落多高? 地时,共经过多少路程? 次下落多高? 次下落多高 解:算法分析: 算法分析: 第1次下落高度 1=100; 次下落高度h 次下落高度 次下落高度h 第2次下落高度 2=50; 次下落高度 …… 次下落高度h 第10次下落高度 10=h9/2. 次下落高度
高一数学人教A版必修3课件:1.2.3 循环语句1
【思维总结】
①本题中的第一步将0赋值于S,
是为这些数的和建立存放空间;②先执行了一 次循环体后,再进行条件判断.
条件语句与循环语句的综合应用 条件语句与循环语句是联合应用的.因为在循
环体中一定要改变控制条件的变量的值,否则
会出现“死循环”,并且循环体每执行一次,
控制条件中的变量就应更逼近跳出循环体的条
【思路点拨】 由第四步可知是求和,由第七
步可知是求平均数,而且从第三步到第五步都
是循环体.
【解】
(1)计算20个数的平均数.
S=0 I=1 DO INPUT G S=S+G I=I+1 LOOP UNTIL I>20 A=S/20 PRINT “A=”;A END
(2)程序为:
(3)程序框图如图:
不满足 WEND之间的循环体;若条件_______,计算
机将不再执行循环体,直接跳到WEND语句
后执行其他语句.因此,WHILE语句也称为
当型 _____循环语句.
DO 4.UNTIL 语句的一般格式是 循环体 LOOP UNTIL
条件
.
计算机执行UNTIL语句时,先执行一次循环体, 不满足 然后对条件的真假进行判断.当条件_______时,
1999”.
课堂互动讲练
考点突破 WHILE语句的应用
对于WHILE语句,根据题意分析出条件及循
环体,使程序为“符合条件时才执行循环体”
的模式.
例1 (2011年洛阳高一检测)
给出的30个数, 1,2,4,7,11,„,其规律是第
1个数是1,第2个数比第1个
数大1,第3个数比第2个数
大2,第4个数比的积,框图及程序
有哪些变化?
解:框图中,执行框 S=0 ,和 S=S+P ,改为 S=1 和 S=S×P ; 程序中,对应改:S=0 改为 S=1, S=S+P 改为 S=S*P.
2019-2020年人教B版数学必修三讲义:第1章+1.2.3 循环语句及答案
1.2.3 循环语句循环语句1.循环语句的概念用来处理算法中的循环结构的语句.2.在Scilab语言中,for循环和w hile循环的格式1.下面循环语句中,循环终止时,n等于()A.6B.7C.8D.9C[当n≤7成立时,执行循环体n=n+1,直至n=8时终止循环.]2.关于for x=a∶b∶c,下列说法正确的有()①当x=c时,程序结束;②当x=c时,还要继续执行一次;③当b>0,x≥c 时程序结束;④当b<0,x<c时程序结束.A.1个B.2个C.3个D.4个B[当x为终值时,还要进行一次,才能离开循环体,故①③错,②④正确.] 3.在下面图中给出的四个框图,其中满足while循环语句格式的是()B[while循环语句格式:故选B.]4.执行语句“for n=1:50”时.(1)变量n的第1个值为________.(2)变量n的第2个值为________.(3)变量n的最后1个值为________.(1)1(2)2(3)50[“for n=1:50”的意思是n的初值为1,步长为1,终值为50,因此变量n的第1个值是1,第2个值是2,最后1个值是50.]【例1】计算11×2+12×3+13×4+…+199×100的值 [该程序为while 循环语句,初始值S =0,i =1,当i ≤99时,执行循环体S =S +1i ×(i +1),i =i +1,故其算法功能是计算11×2+12×3+13×4+…+199×100的值.]读循环语句程序时,首先应看清是for 循环语句还是while 循环语句,再根据两种循环语句的特点逐步运行程序,直至得出答案.1.下面的程序运行后第3次输出的数是________.2 [第一次输出的数是x =12+12=1,第二次输出的数是x=1+12=3 2,第三次输出的数是x=1+12+12=2.][探究问题]1.循环语句与条件语句有什么关系?编写程序时,什么情况下使用循环语句?[提示]循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环,但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.在问题处理中,对不同的运算对象进行若干次相同运算或处理时,一般用到循环结构,在编写程序时要用到循环语句.2.两种循环语句执行循环体的顺序相同吗?[提示]两种循环语句执行循环体的顺序不同.在for循环语句中,循环变量的值和终值比较,结果为真时执行循环体,结果为假时,停止循环.在while循环语句中,当表达式的结果为真时执行循环体;结果为假时,停止循环.3.在两种循环语句中,循环体执行的次数相同吗?[提示]在两种循环语句中,循环体执行的次数是不同的,由于for语句是先执行循环体再判断条件,因此,任何一个for语句中,循环体至少要执行一次,直到满足条件为止;而while语句是先判断条件,因此,循环体可能一次也不执行就退出循环体.【例2】画出计算12+32+52+…+9992的程序框图,并写出程序.[思路探究]根据累加的特点,用循环结构,然后用for循环语句编写.[解]由题意知各项指数相同,底数相差2,可以借助于循环结构设计算法.①程序框图:②程序为:1.(变条件)用for循环语句写出求1+122+132+…+1992的值的计算程序.[解]2.(变结论)本例若用while循环语句写程序,该如何写?请你尝试一下.[解]1.for循环语句的格式:2.根据for语句中所给定的初值、终值和步长,来确定循环次数,反复执行循环体内各语句.3.执行过程:通过for语句进入循环,将初值赋给循环变量,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到end,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体,这样重复执行,直到循环变量的值超过终值,则跳出循环.【例3】编写程序求2×4×6×…×100的值.[思路探究]可用while循环语句编写,循环的条件是累乘变量小于等于100.[解]程序框图如下:程序如下:3.(变条件)写出求平方值小于1 000的最大整数的计算程序.[解]用Scilab的格式来解决这个问题.在输入完程序的第三行后,击Enter键,再在提示符下输入j,击Enter键后,输出最大的j值.4.(变结论)本例能否用for循环语句写程序?请你尝试一下.[解]1.计算机执行while型循环语句时,先判断条件的真假,若条件为真,执行循环体,若为假则退出.这是确定是否应用while型语句的关键.2.while型循环语句中while和end成对出现.3.判断条件往往是控制循环次数的变量.【例4】1.5%,画出求多少年后我国人口将达到超过15亿的程序框图,并写出相应的程序.[思路探究]解决本题的关键是先读懂题目含义,然后结合算法循环语句的特点,寻找循环变量,这里考虑人口增长需要有个累加变量s,还有年数的增加需要有计数变量i.[解]程序框图如图所示:程序为:1.本题的程序设计具有通用性,递增求和、递减求和问题都可以仿照此题的程序写出.2.解答此类题的一般步骤为:2.某服装厂2019年的生产总值为2 000万元,如果年生产增长率为5%,计算最早哪一年生产总值超过3 000万元,画出程序框图,并用while语句描述这一算法.[解]程序框图如图所示:程序为:1.本节课的重点是理解两种循环语句的格式与功能.难点是会用两种循环语句编写算法语句,能根据程序写出运行结果.2.本节课要掌握以下几类问题:(1)把握两种语句的内涵,准确使用两种语句解题.(2)把握两种语句的转化方法.3.本节课的易错点有两个:(1)混淆两种语句.(2)对控制循环的条件理解不清而致错.1.思考辨析(1)在循环次数不确定时,可使用while循环语句.()(2)while语句是先判断条件,后执行循环体.()(3)在for循环语句中,结果为真时终止循环,结果为假时执行循环体.()[答案](1)√(2)√(3)×2. 关于循环语句的说法不正确的是()A.算法中的循环结构由while语句来实现B.循环语句中有for语句和while语句C.一般来说for语句和while语句可以互相转换D.算法中的循环结构由循环语句来实现A[算法中的循环结构由循环语句来实现,循环语句包括for语句和while语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A是错误的,其余都正确.]3. 下面程序输出的结果为()2019-2020年人教B 版数学必修三讲义:第1章+1.2.3 循环语句及答案- 11 - / 11 A .17 B .19 C .21 D .23C [S =2×9+3=21.]4.设计一个计算1+3+5+7+…+99的值的程序,并画出程序框图.[解] 程序如下:程序框图如图所示.。
guan1.2.3循环语句
直到型 S=0 h=100 i=1
WHILE i<=10
S=S+2h
h=h/2
WEND
所以第十次落地共经过的路程是 S=2(h1+h2+……+h10)-h1
S=S-100
PRINT “S=“;S
变式
达标 5、6、7
1.2.3 循环语句
五、循环语句
循环结构有两种-----直到型与当型.
直到型循环结构
(反复执行循环体直到条件满足)
当型循环结构
(当条件满足时反复执行循环体)
循环体
循环体
否
满足条件?
是
满足条件?
否
是
对应于程序框图中的两种循环结构,一般程序设计语言 中也有直到型(UNTIL型)和当型(WHILE型)两种语句结构。
WHILE语句的一般格式2
当型循环结构
WHILE——当……(条件满足) 的时候(执行循环体) WEND——朝……方向行走 (回到条件判断)
循环体
满足条件? 否
是
WHILE 条件 循环体 WEND
当计算机遇到WHILE语句时,先判断条件,若条件满足,就执 行循环体;然后再检查上述条件,如果条件仍符合,再次执行循 环体,这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不再执行循环体,直接跳到WEND语句后,接着执行 WEND之后的语句.
开始
WHILE语句
当型 循环 体
i=1 S=0 i=i+1 i≤100? 否 输出S
是
S=S+i
i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END
2017-2018学年高中数学必修三教材用书:第一章 算法初
1.2.3循环语句[提出问题]相传古代印度国王舍罕要褒赏他聪明能干的宰相达依尔(国际象棋的发明者),问他想要什么,达依尔回答说:“国王只要在象棋棋盘的第1个格子里放1粒麦子,第2个格子里放2粒,第3个格子里放4粒,以后按此比例每格加一倍,一直放到第64个格子(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了.”国王想:“这还不容易!”让人扛来一袋麦子,但不到一会儿就全用完了,再扛来一袋很快又没有了,结果全印度的粮食全部用完还不够.国王纳闷,怎样也算不清这笔账.问题1:设计出国王计算多少粒麦子的算法.提示:算法步骤如下:第一步,令i=0,S=0.第二步,P=2i,S=S+P,i=i+1.第三步,若i≤63,则返回第二步.否则,执行第四步.第四步,输出S.问题2:根据“问题1”中的算法画出程序框图.提示:如图所示:问题3:若仅采用前面我们所学习的算法语句,还能编写出其对应的程序吗?提示:不能.[导入新知]循环语句的格式、功能[化解疑难]1.两种循环语句的区别两种语句都可以实现计算机反复执行循环体的目的,只是表达形式不同.一般地,WHILE 语句和UNTIL语句可以相互转化.[例1](1)程序框图程序:(2)设计算法求2+4+6+…+100的值,要求画出程序框图,写出用基本语句编写的程序.[解](1)由程序框图可知利用了直到型循环结构,对应的语句为直到型循环语句,DO后面执行的为循环体,故①②处应分别为S=S+i^2,i=i+1,直到满足条件i>100为止,所以③处应为i>100.(2)程序框图如图所示:答案:(1)①S=S+i^2②i=i+1③i>100[类题通法]1.UNTIL语句的适用类型直到型循环又称“后测试”循环,也就是我们所讲的“先执行后测试”“先循环后判断”.2.使用UNTIL 语句应关注两点(1)DO 语句只是循环的开始标记,遇到DO 语句,程序只是记住这个标记,其他什么也不做,接着执行后面的循环体,在执行一次循环体后,再检查LOOP UNTIL 语句中的条件是否成立,如果不成立,就重复执行循环体,直到条件符合时退出循环.(2)在循环体内,应注意务必有相应的语句使“条件”改变,保证能终止循环,否则循环将无休止地进行下去.[活学活用]在下面的程序运行中,计算机输出的结果是________.x =20DOx =x -3LOOP UNTIL x <0PRINT x END解析:根据题意,程序对20每次减3,直至小于0为止,当循环到第6次时,x =2,此时仍不符合循环条件,故x 变为-1,至此x <0,满足循环条件,结束循环.答案:-1[例2] (1)i =1WHILE i <5 i =i +2WEND PRINT i ENDA .1B .3C .5D .7(2)给出的30个数,1,2,4,7,11,…,其规律是第1个数是1,第2个数比第1个数大1,第3个数比第二个数大2,第4个数比第3个数大3,…,依次类推,要求计算这30个数的和,写出程序.[解] (1)选C 该程序的执行过程是i =1,i =1<5是; i =1+2=3,i =3<5是;i=3+2=5,i=5<5否.输出i的值为5.(2)程序:i=1P=1S=0WHILE i<=30S=S+PP=P+ii=i+1WENDPRINT SEND[类题通法]1.WHILE语句的适用类型当型循环也叫“前测试”循环,也就是我们所讲的“先测试后执行”“先判断后执行”.2.使用WHILE语句应关注五点(1)当型循环以WHILE开头,以WEND作为结束标志.WEND是WHILE END的缩写,表示“WHILE循环到此结束”.(2)一般来讲,WHILE语句与UNTIL语句可以相互转化.(3)执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执行循环体,反复执行,直至条件不满足.(4)WHILE语句中的条件是指循环体的条件,满足此条件时,执行循环体,不满足时,则执行循环结构后面的语句.(5)WHILE语句由于先判断条件,再执行循环体,因此,循环体可能一次也不执行就退出循环结构.[活学活用]读程序,回答下列问题:INPUT ni=1S=0WHILE i<=nS=S+1/(i*(i+1))i=i+1WENDPRINT SEND(1)若输入n=3,则输出的结果为________.(2)此程序对应的计算式子是_____________________________________________.(3)程序中的循环语句对应________型循环结构.解析:(1)输入n =3, 当i =1时,S =0+12=12;当i =2时,S =12+16=23;当i =3时,S =23+112=34,结束循环,此时输出S =34.(2)此程序是用于计算12+16+…+1n (n +1)的值.(3)这是WHILE 语句,对应的是当型循环结构. 答案:(1)34 (2)12+16+…+1n (n +1)(3)当[例3] 程序:(1)试将上面的程序补充完整; (2)改写为WHILE 型循环语句. [解] (1)①m =0 ②i =i +1 (2)改写为WHILE 型循环程序如下:i =1WHILE i <=100 m =i MOD 2IF m =0 THENPRINT iEND IF i =i +1WEND END[类题通法]应用循环语句解决问题应关注两点(1)对于累加求和问题及累乘求积问题,需用到循环结构,解题的关键是设立累加变量S 及控制循环次数的计数变量,可以用当型循环语句或直到型循环语句来设计程序.(2)在WHILE 语句中是当条件满足时执行循环体,而在UNTIL 语句中是当条件不满足时执行循环体,二者是有区别的,在用两种循环语句编写程序时应注意条件的不同,它们的表达方法恰好是相反的.[活学活用]1.读下面甲、乙两个程序: 程序甲 程序乙i =1S =0WHILE i <=1 000S =S +ii =i +1WENDPRINT S END i =1 000S =0DO S =S +i i =i -1LOOP UNTIL i <1PRINT S END 对甲、乙两个程序和输出的结果表述正确的是( ) A .程序不同,结果相同 B .程序不同,结果不同 C .程序相同,结果相同D .程序相同,结果不同解析:选A 执行甲、乙程序后可知都是计算1+2+3+4+…+1 000的值. 2.编写程序,计算函数f (x )=x 2-3x +5,当x =1,2,3,…,20时的函数值. 解:程序如下:5.循环语句的应用[典例] 试编写程序,求满足1+3+5+…+n >10 000的最小自然数n . [解题流程]方法二:直到型循环:[类题通法]循环语句编写程序的“条件三步曲”(1)给循环语句中的变量赋初始值:n=1,S=0;(2)找出在程序中反复执行的部分,即循环体:S=S+n,n=n+2;(3)找出控制循环的条件:本题中终止循环的条件是S>10 000(或S≤10 000).[活学活用]设计程序求使1×2×…×n<10 000成立的最大正整数n,并画出程序框图.解:程序如下:程序框图如下图所示.S =1n=1WHILE S <10 000 S =S*nn =n +1WENDPRINT n -2END[随堂即时演练]1.关于循环语句的说法不.正确的是( ) A .算法中的循环结构由WHILE 语句来实现B .循环语句中有直到型语句和当型语句,即UNTIL 语句和WHILE 语句C .一般来说UNTIL 语句和WHILE 语句可以互相转换D .算法中的循环结构由循环语句来实现解析:选A 算法中的循环结构由循环语句来实现,循环语句包括UNTIL 语句和WHILE 语句两种不同的格式,且一般情况下这两种语句可以相互转换.所以选项A 是错误的,其余都正确.2.设计一个计算1×3×5×7×9×11×13的算法.下面给出了程序的一部分,则在横线①上不能填入的数是()A .13B .13.5C .14D .14.5解析:选A 程序运行过程中,各变量值如下表所示: 第1次循环:S =1×3,i =5, 第2次循环:S =1×3×5,i =7,第3次循环:S=1×3×5×7,i=9,第4次循环:S=1×3×5×7×9,i=11,第5次循环:S=1×3×5×7×9×11,i=13,第6次循环:S=1×3×5×7×9×11×13,i=15,退出循环.故应填入的数要大于13且小于等于15,则在横线①上不能填入的数是13,故选A.3.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________________.解析:因为输出的结果是360,即S=1×6×5×4×3,需执行4次,S需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3.答案:i<34.对于下面一个程序:M=5N=0WHILE N<15N=N+MM=M-1WENDPRINT MEND运行后输出的结果为________.解析:执行过程如下:M=5,N=0;当N=0<15时,N=0+5=5,M=5-1=4;当N=5<15时,N=5+4=9,M=4-1=3;当N=9<15时,N=9+3=12,M=3-1=2;当N=12<15时,N=12+2=14,M=2-1=1;当N=14<15时,N=14+1=15,M=1-1=0;当N=15时不小于15,终止循环,最后输出M的值为0.答案:05.设计算法求11×2+13×4+15×6+…+12 017×2 018的值.要求画出程序框图,写出用基本语句编写的程序.解:这是一个累加求和问题,共1 007项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如图所示:程序如下:S=0i=1DOS=S+1/(i*(i+1))i=i+2LOOP UNTIL i>2 013PRINT SEND[课时达标检测]一、选择题1.下列问题,设计程序求解时,要用到循环语句的有()①输入每个同学的数学成绩,求全班同学的平均分;②求分段函数的函数值;③求连续100个自然数的平方和;④输入100个数,从中找出最大的数.A.1个B.2个C.3个D.4个答案:C2.下面为一个求20个数的平均数的程序,在横线上应填充的语句为()A.i>20 B.i<20C.i>=20 D.i<=20答案:A3.有以下程序段,其中描述正确的是()k=8WHILE k=0k=k+1WENDA.循环体语句执行10次B.循环体是无限循环C.循环体语句一次也不执行D.循环体语句只执行一次答案:C4.以下程序()x=-1DOx=x*xLOOP UNTIL x>10PRINT xENDA.输出结果是1B.能执行一次C.能执行10次D.是“死循环”,有语法错误答案:D5.下面两个程序最后输出的“S”分别等于()A.17,17 B.21,21C.21,17 D.14,21答案:C二、填空题6.下面的程序执行后输出的结果是________.n=5S=0WHILE S<10S=S+nn=n-1WENDPRINT nEND解析:第一次执行循环体:S=5,n=4;第二次执行循环体:S=9,n=3;第三次执行循环体:S=12,n=2,此时S≥10,循环终止,故输出n=2.答案:27.下列程序运行后,输出的值为________.i=0DOi=i+1LOOP UNTIL i*i>=2 000i=i-1PRINT iEND解析:由程序知i2≥2 000时,i的最小值为45,又把i-1=44的值赋给i,∴i=44.答案:448.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:①________,②________.解析:a 的初始值为10,故循环体中的值应该递减,即a 从10减到1,循环的条件为a >0,当然也可以为a ≥1.答案:①a >0 ②a -1 三、解答题9.给出一个算法的程序框图(如图所示).(1)说明该程序的功能;(2)请用WHILE 型循环语句写出程序.解:(1)该程序的功能是求1+12+13+…+199的值.(2)程序如下:S=0K =1WHILE K <=99 S =S +1/KK =K +1WEND PRINT S END10.某商场第一年销售计算机5 000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30 000台?画出解决此问题的程序框图,并写出程序.解:程序框图如图所示:程序:m=5 000S=0i=0WHILE S<30 000S=S+mm=m*(1+0.1)i=i+1WENDPRINT iEND。
1.2.3循环语句
DO 循环体
LOOP UNTIL 条件
循环体
满足条件? 否 是
思考2:该循环结构对应的循环语句的一 般格式设定为:
DO 循环体
LOOP UNTIL 条件
循环体
满足条件? 否 是
你能说明计算机在执行上述语句时是怎 样工作的吗?
DO 循环体
LOOP UNTIL 条件
循环体
满足条件? 否 是
先执行一次 DO 和 UNTIL 之间的循环体, 再对 UNTIL 后的条件进行判断.如果条件不符 合,则继续执行循环体;然后再检查上述条件, 如果条件仍不符合,则再次执行循环体,直到 条件符合为止.这时,计算机将不执行循环体, 而执行 UNTIL 语句之后的语句.
问题一:观察 下面程序框图, 该算法包含哪 些基本逻辑结 构,若要计算 机完成这个任 务需要哪些计 算机能够理解 的语言呢
1.该算法含有顺序结构,条件结 构和循环 结构
2.对于顺序结构、条件结构的算法或程 序框图,我们可以利用输入语句、输出语 句、赋值语句和条件语句写出其计算机程 序.对于循环结构的算法或程序框图,要 转化为计算机能够理解的算法语言,我们 必须进一步学习循环语句.
WEND
思考2:该循环结构对应的循环语句的 一般格式设定为:
循环体
满足条件? 是 否
WHILE 条件 循环体
WEND
你能说明计算机在执行上述语句时是怎 样工作的吗?
两种循环体对应的程序语言
1.直到型循环语句
DO 循环体
LOOP UNTIL 条件
2.当型循环语句
WHILE 条件 循环体
WEND
循环体 满足条件? 否
知识探究(一):直到型循环语句
思考1:直到型循环结构的程序框图是什么?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
归纳小结
1.循环语句
循环语句与程序框图中的循环结构相对应,一般有WHILE(当) 型和UNTIL(直到)型两种循环语句,对应框图中的当型和直到 型循环结构.
2.循环语句的一般格式:
WHILE 条件 循环体 WEND
DO
循环体 LOOP UNTIL 条件
3.两种循环语句有何区别?
当型循环语句先判断后执行,循环体可能一次也不执行; 直到型循环语句先执行后判断,循环体至少执行一次;
对于同一个算法,两种循环语句中的条件是相反的.
课后作业:
P32练习:1. P33习题1.2 A组:3. B组:2.
n=1 WHILE n<=11 INPUT x y=x∧3+3*x∧2-24*x+30 PRINT y n=n+1 WEND END
例3 将用“二 分法”求方程
x 2 0( x 0)
2
开始 输入精确度d 和初始值a,b
m = a + b 2
x
的近似解的程序 框图转化为相应 的程序.(提示: 计算机中语言用 ABS(X)表示|x|)
思考3:在下面的程序运行中,计算机输 出的结果是多少? S=0 S=0 i=0 i=0 WHILE s〈=10 DO s=s+i s=s+i i=i+1 i=i+1 LOOP UNTIL s>10 WEND PRINT i PRINT i 6 END END
知识应用
例2 修改下面的程序,连续输入自变 量的11个取值,输出相应的函数值.
基本算法语句
1.2.3 循环语句
教师:张亚丽
2011.4.15
温故而知新:
1.某算法的程序框图 如图所示,则输出的 y与输入的x的关系式 为________; 请将此程序框图转化 为程序.
开始 输入实数x x<1? 是 y=x-2 输出y 结束
否
y=2x
IF 条件 THEN 语句体1 ELSE 语句体2 END IF
IF 条件 THEN 语句体 END IF
2.设计一个计算1+2+3+…+100的算 法并画出程序框图.
程序框图:
开始
i=1 s=0 开始
i=1
s=0
s=s+i
i=i+1 i≤100? 否
输出s
i=i+1
是 s=s+i
i>100?
否
是
输出s
结束
(1)
结束
(2)
知识探究(一):当型循环语句
思考1:当型循环结构的是什 么?
循环体
满足条件?
否
DO 循环体 LOOP UNTIL 条件
是
思考 2:该循环结构对应的循环语句的一 DO:做什么 LOOP UNTIL:绕环回线走,直到达到某种条件为止 般格式设定为:
DO
循环体 LOOP UNTIL
循环体
条件
满足条件?
否
是
先执行一次DO和UNTIL之间的循环体,再 对UNTIL后的条件进行判断.如果条件不符合, 则继续执行循环体;然后再检查上述条件, 如果条件仍不符合,则再次执行循环体,直 到条件符合为止.这时,计算机将不执行循环 体,而执行UNTIL语句之后的语句.
思考3: 下面程序运行后,输出的结果为___ S=0 x=3 WHILE x<=6 s=s+x x=x+1 WEND PRINT S END
答案:18
S=0 x=3 WHILE x<=6 s=s+x x=x+1 PRINT S WEND END
答案:3,7,12,18
知识探究(二):直到型循环语句
算法分析:
INPUT “x”;x y=x^3+3*x^2-24*x+30 PRINT y END
第一步,输入自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 第四步,记录输入次数. 第五步,判断输入的次数是 否大于11.若是,则结束算法; 否则,返回第一步.
开始 n=1 输入x
条件 WHILE 循环体 WEND
循环体 是
满足条件?
否
WHILE: 当…时候 思考 2:该循环结构对应的循环语句的 一般格式设定为: WEND: 朝…方向走
循环体 满足条件?
是
WHILE 条件 循环体 WEND
否
先对条件进行判断,如果条件符合,则 执行WHILE和WEND之间的循环体;然后再检查 上述条件,如果条件仍符合,则再次执行循 环体,直到某一次条件不符合为止.这时,计 算机将不执行循环体,而执行WEND语句之后 的语句.
f(a)=a2-2 f(m)=m2-2 否 f(a)f(m)<0? 是 b=m |a-b|<d或f(m)=0? 是 输出m
结束
a=m
否
INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 g=a∧2-2 f=m∧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
y=x3+3x2-24x+30
输出y n=n+1 n>11? 是 结束 否
n=1 DO INPUT x y=x∧3+3*x∧2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END
开始 n=1 n=n+1 输出y y=x3+3x2-24x+30 输入x n<=11? 否 结束 是