




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本算法语句循环语句重点难点重点:正确理解循环语句的概念,并掌握其结构;会应用循环语句编写程序;并能进行简单的综合应用。难点:理解循环语句的表示方法、结构和用法;会编写程序中的循环语句.【学习导航】 知识网络 循环语句当型循环语句学习要求 1正确理解循环语句的概念,并掌握其结构;会应用循环语句编写程序;并能进行简单的综合应用。2理解并掌握循环语句在计算机程序语言中的作用,掌握两种循环语句应用的实例:数列求和、求积。【课堂互动】自学评价1问题:设计计算的一个算法。【分析】将上述表达式看成49个乘法,用公式表示为:ssis初始为1,i为1,将每次的乘积都赋予s,i从1到99,每次增加2,公式ssi会被重复执行,这种执行过程可用循环结构表示。算法一:s1 s1;s2 i1;s3 ii+2;s4 ssi;s5 如果i小于99,那么转s3;s6 输出s上述算法用流程图表示如下:【说明】算法一是先执行后判断的直到型循环结构,常用“do”语句表示,我们不再学习。开始s1i1ssii99开始yn输出sii+2算法二:s1 s1;s2 i1;s3 当i不大于99时转s4,否则转s6; s4 ssi;y开始s1i1ssii99开始n输出sii+2s5 ii+2;s6 输出s上述算法用流程表示如图所示:【说明】算法二可以理解为:当i99时, 才循环执行s4和s5两步,这种先判断后执行的循环结构我们称为当型循环,常用“while”语句和“for”语句表示,其中“while语句”可以用如下代码表示:while条件p成立 要执行的语句 end while 用伪代码表示为:s1i1while i99 ssi ii+2end whileprint s由此可见,同一个问题可以用不同的循环方式来解决,直到型循环和当型循环的控制条件是不同的,请注意流程图中判断分支的流向条件。在算法二的伪代码中,可以看成i从1到99,每次增加2,用for语句写成i from 1 to 99 step 2,“step 2”意为i每次增加2。写成一般形式为:for i from“初值” to “终值” step “步长” end for注意黑体字部分是for循环语句的关键词,在“for”和“end for”之间的步骤称为循环体,如果省略“step 2”,那么循环时i的值默认增加1。上述问题用for循环语句的伪代码可以表示为:s1for i from 1 to 99 step 2ssiend forprint s【总结】当循环的次数确定时,我们通常用for循环语句,而当循环的次数不确定时,我们通常用while循环语句,这两种语句都是前测试语句,即先判断后执行。若初始条件不成立,则一次也不执行循环体中的内容,任何一种需要重复处理的问题都可以用这种前测试循环来实现。【经典范例】例1 分别用while语句和for语句写出求1+2+3+100的和的一个算法。【解】用伪代码表示为:s0for i from 1 to 100 ss+iend forprint s或:s0 while i100 ss+i ii+1 end while print s【注意】在累加的算法中,s的初始值一般设为0,在累乘的算法中,s的初始值一般设为1,为什么?例2 问题:将前面的问题改为 1 0000,那么,如何寻找满足条件的最小整数呢?请用伪代码写出一个算法。【分析】这个问题中,因为不知道循环需要进行的次数,所以不能用for循环语句。【解】算法:s1 s1;s2 i1;s3 如果s10000,那么ii+2,ssi,重复s3;s4 输出i。上述算法可以理解为:当s10000时,循环执行s3。伪代码如下: s1; i1while s10000ssiii+2end whileprint i在“for”语句中,i的变化是通过“step”设置的,在程序运行时自动改变,所以循环体中没有如“ii+2”这样的语句,而在“while”语句中,则需要手工编写如“ii+2”这样的代码以控制程序的运行,避免出现“死循环”。例3 抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先做出确定的判断是不可能的,但是假如硬币的质量均匀,那么当抛掷次数很多时,出现正、反面的机率都应接近于50%,试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的机率。分析:抛掷硬币的过程实际上是一个不断重复的地做同一件事情的过程,这样的过程我们可以通过循环语句模拟。在程序语言中,有一个随机函数“rnd”,它能产生0与1之间的随机数,这样,我们可以用大于0.5的随机数表示出现正面,不大于0.5的随机数表示出现反面,【解】用伪代码表示为:s0 求累计和,初始值设为0 read n for i from 1 to n if rnd0.5 then ss+1 end for print 出现正面的频率为单行条件语句不需要结束标志“end if”追踪训练1.下面的伪代码中,“for”语句的循环体是_s0for i from 1 to 11 step 2s2s+3if s20 thenss-20end ifend forprint s【解】循环体是s2s+3,if s20 then ss-20 end if2.我们曾研究过问题 2 004,试用“while”语句描述这一问题的算法过程。【解】s0i1while s2004ss+iii+1end whileprint i3.2000年我国人口数约为13亿,如果每年的人口自然增长率为15,那么多少年后我国人口数将达到或超过15亿? 这个问题可通过循环方式计算完成,即每一次在原有的基础上增加15,直到达到或超过15亿,再记下循环次数,试用循环语句表示这一过程。【解】s1300000000i0while s1500000000ss(1+0.015)ii+1end whileprint i4. 1,1,2,3,5,8,13,这一列数的规律是:第1、第2个数是1,从第3个数起,该数是其前面2个数之和,试用循环语句描述计算这列数中前20个数之和的算法.【解】a1b1s2for n from 3 to 20ca+bss+cabbcend forprint s 第9课时基本算法语句(3)分层训练1、下列程序框中,出口可以有两个流向的是( )a起止框 b输入输出框 c处理框 d判断框2、下面程序运行结果是 。s0i10while i1ss+iii-1end whileprint s3、下面程序运行结果是 。j1 s0while s10 ss+j jj+1end whileprint j4、下面算法实现的功能是 。s1i1while s2005ii+2ssiend whileprint i思
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水体污染修复与水质提升技术方案
- 燃煤发电设备运行优化方案
- 防水工程环境影响评估方案
- 深远海养殖生态环境保护与修复方案
- 城市地下综合管网建设项目技术方案
- 甲乙丙三方能源产业股权转让及新能源开发协议
- 北京印刷学院印刷产业人才培训与引进合作协议
- 宅基地空地租赁与乡村振兴战略合作合同书
- 沙漠治理项目用地租赁与生态修复合作协议
- 离婚纠纷中夫妻共同财产分割及债务处理合同
- 机动车驾驶员安全教育培训课件
- 农机维护保养规范研究
- 威士忌培训课件
- 内瘘球囊扩张术护理查房课件
- 义务教育物理课程标准(2022年版)测试题文本版(附答案)
- 黄帝内经课件
- 《我喜欢的动物》
- 2023下半年重庆巫溪县机关事业单位遴选27人笔试参考题库(共500题)答案详解版
- 沙坪公园完整
- 马克思主义政治经济学概论(第二版)知识点总结
- 材料工程基础课件
评论
0/150
提交评论