3.2循环语句
知识点For语句与Do Loop语句
[填一填]
1.For语句
(1)格式:
(2)适用于预先知道循环次数的循环结构.
2.Do Loop语句
(1)格式:
(2)适用于预先不知道循环次数的循环结构.
(3)Do Loop语句的执行流程:先进入循环体,执行一次循环体后,检查While后的条件是否被满足,“是”则继续执行循环体,“否”则退出循环体.
[答一答]
如何使用循环语句?
提示:循环语句主要用来处理算法中的循环结构,在处理一些需要有规律重复的问题,如累加求和、累乘求积等问题时常用循环语句来编写程序.在循环次数不确定时,使用Do Loop循环语句.在Do Loop 循环语句中,当表达式的结果为真时,执行循环体,结果为假时,停止循环.在For循环语句中循环变量的值与终值比较,未超过终值时执行循环体,否则停止循环.
do while语句怎么用(1)两种循环语句的比较.
相同点:两种循环语句都是前测试型循环语句,即先判断表达式所描述的条件,若满足就执行循环体,直到不满足时终止循环.两种循环语句都含有循环变量、终止条件和循环体三要素.且都必须以End 结尾.
不同点:①两种循环语句的语句符号和格式不同.
②For循环语句主要用于预先知道循环次数的情形,而Do Loop循环语句主要用于预先不知道循环次数的情形.用For循环语句编写程序时要注意设定好循环变量的初值、步长和终值,避免出现多一次循环或少一次循环的情况;用Do Loop循环语句编写程序时,一定要注意表达式的写法,当表达式为真时执行循环体,表达式为假时,结束循环,以防出现表达式正好相反的错误.
(2)循环语句与条件语句的关系:循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环,但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.
类型一For语句表达的循环结构
【例1】用语句描述计算12+32+52+…+992的算法.
【思路探究】这是一个累加求和问题,可以使用循环语句编写程序,引入一个变量i,控制循环的次数,由S=S+i2实现累加求和,由于各底数依次相差2,因此每求一次和,计数变量的值就增加2.
【解】用For语句描述为:
sum=0
For i=1 To 99Step 2
sum=sum+i*i
Next
输出sum
规律方法编写此类问题的程序,要把握以下几点:
(1)循环体要正确,尤其要注意除计数变量和累加(或累积)变量外,是否还有其他语句在循环体中.
(2)循环条件要正确,条件与初始值要对应.
(3)程序语句的格式要正确.
用For语句设计算法,计算3+6+9+…+150的值.
解:S=0
For i=1 To 50
S=S+3*i
Next
输出S.
类型二Do Loop语句表达的循环结构
【例2】以下给出的是用循环语句编写的一个算法,写出该算法的功能,并画出相应的算法框图.
I=1
Do
a=I Mod 2
If a=0Then
输出I
End If
I=I+1
Loop While I<=100
【思路探究】根据算法中的条件,可以确定此算法的功能,也可以先画出算法框图,这样更容易判断算法的功能.
【解】该算法的功能是输出1至100的正整数中的所有偶数.算法框图如图所示.
规律方法解决循环语句与算法框图的互化问题的思路
(1)由算法框图写语句时,应该先判断循环结构的类型,再将框图中的输入、输出框,处理框,判断框转化为相应的语句.
(2)读循环语句画对应框图时,首先由程序中的循环语句,画出基本结构框,再将初值、输入值、输出值、赋值语句填入相应的算法框图中.
执行下面的程序,输出的结果为14.
i=1
S=0
Do
i=i+1
S=S+i
Loop While i<5
输出S
解析:循环变量i第一次进入循环体首先增加1,所以S的第一个加数应为2;当i=4时仍满足判断条件,继续循环,所以S的最后一个加数应为5.输出的结果为S=2+3+4+5=14.
类型三用循环语句解决实际问题
【例3】相传古代印度国王舍罕要褒赏他聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放两粒,第三个格子里放四粒,以后按此比例每一格多放一倍,一直放到第64个格(国际象棋是8×8=64格),只要把棋盘上全部麦子给我,其他什么也不要了.”国王想:“这有多少,还不容易!”他让人扛来一袋小麦,但不到一会儿就全用没了,再来一袋很快又没有了,结果全印度的粮食都用完还不够,国王纳闷,怎么也算不清这笔帐,请你设计一个算法,帮国王计算一下共需多少粒麦子,画出算法框图并写出程序.
【解】依题意本题是求1+2+22+…+263的值.算法:
第一步:令sum=0,i=0;
第二步:m=2i,sum=sum+m,i=i+1;
第三步:如果i≤63,那么转到第二步;否则执行第四步;
第四步:输出sum.
算法框图如下图所示.
程序如下:
S=0
For i=0To63
S=S+2i
Next
输出S
规律方法本题已知循环次数,故利用For语句实现循环结构,注意循环变量的起始值为0,终值为63.
某玩具厂2018年的生产总值为200万元,如果年生产增长率为5%,计算最早哪一年生产总值超过400万元,画出算法框图,并写出程序.
解:经过x年后生产总值为200×(1+5%)x,可把2018年的产值赋给变量a,然后对其进行累乘,用n作为计数变量,进行循环,直到a的值超过400万元.
算法框图如图所示:
程序如下:
——易错警示——
审题不清致误

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。