预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4课算法语句(2)【考点导读】1.循环结构的算法用循环语句表示.2理解“While循环”和“For循环”,前者是前测试的当当型循环,后者是在循环次数已知时使用的循环.【基础练习】1.下列伪代码中的循环次数为9.s←0ForIfrom1to25step3s←s+IEndforPrints2.要使以下For循环执行20次,循环变量的初值应该是14.ForkFromTo-5Step-13.下面这段伪代码的功能计算其中小于0数的个数.ReadxIfx≤5Theny←10xElsey←2.5x+5EndIfPrinty(第4题)n0Readx1,x2…x10Forifrom1to10Ifxi<0thennn+1EndifEndforPrintn(第3题)4.下面是一个算法的伪代码.如果输出的y的值是20,则输入的x的值是2或6.解析:若,由,则;若,由,得.【范例解析】例1.设计算法,求的值.解伪代码:s←1ForIfrom2to100EndforPrints点评本题是连乘求积的问题,自然想到用循环语句设计算法,算法的设计又带有灵活性和通用性,熟练地掌握这一类题的解法,对于解决与此相关的问题有很大帮助.例2.设计算法,求平方值小于2000的最大整数.解:伪代码:j←1Whilej2<2000j←j+1Endwhilej←j-1Printj例3.某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下面的问题:(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;(2)用伪代码写出计算10年以后该城市人口总数的算法;(3)用伪代码写出计算大约多少年以后该城市人口将达到120万人.答案:(1)y=100×(1+0.012)x.(2)10年后该城市人口总数为y=100×(1+0.012)10.算法如下:y←100t←1.012ForIfrom1to10y←y×tEndforPrintyEnd(3)设x年后该城市人口将达到120万人,即100×(1+0.012)x=120.算法如下:S←100I←1.012T←0WhileS<120S←S×IT←T+1EndwhilePrintTEnd【反馈演练】1.如果执行下面的程序框图,那么输出的2550.开始?是否输出结束2.下面是求1+2+3+4+…+100的算法,试将伪代码中for循环改为while循环,重新写出算法的伪代码.for循环while循环s←0i←1whilei≤100s←s+ii←i+1Endwhileprintss←0Forifrom1to100s←s+iEndforPrints评注:for循环改为while循环是循环语句的两种基本形式,这要求学生能熟练地对两种循环语句相互转化.在转化时,学生有两个地方容易出现错误:(1)少“i←1”这一句,没有对i的值进行初始化,在程序执行过程中就会出现错误.(事实上,i的值正常情况下默认为从0开始);(2)少“i←i+1”这一句,这就会出现死循环,因为i的值没有变化.3.下图是一个循环结构的算法,下列说法中:(1)①是循环变量的初始化,循环将要开始;(2)②为循环体;(3)③是判断是否继续循环的条件;(4)①可以省略不写.其中正确的的是①②③.NY开始输入f0(x)i←0i←i+1fi(x)←f’i-1(x)i=2008输出fi(x)结束(第4题)4.在如下程序框图中,输入f0(x)=cosx,则输出的是cosx.开始n←1a←15n输出an←n+1n>66结束YN①③②(第3题)5.当x=2时,下面程序运行结果是15.WhileEndwhilePrintsEnd(第5题)开始=1\*GB3①=2\*GB3②a输出SN结束Y(第6题)6.依据不同条件,给出下面的流程图的运行结果:(1)当箭头a指向=1\*GB3①时,输出6;(2)当箭头a指向=2\*GB3②时,输出20.;Y输入mS←T+SNYT≥②结束输出m,S开始T←T+1S←2,T←①(第7题)7.已知数列中,,且,求这个数列的第m项的值.现给出此算法流程图的一部分,请将空格部分(两个)填上适当的内容①2②m+18.设计算法,求使成立的最大自然数n的值.解:伪代码:S←0n←1WhileS<1000n←n+2EndWhilen←n-4Printn