高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案.docx_第1页
高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案.docx_第2页
高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案.docx_第3页
高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教材梳理导学案.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.3.4 循环语句教材梳理庖丁巧解牛知识巧学 1.循环语句的概念 循环语句是主要用来实现算法中的循环结构的算法语句,处理一些需要反复执行的运算任务.如累加求和,累乘求积等问题中常用到.2.循环语句的两种形式循环语句一般有两种:“For循环”“While循环”.(1)For循环:格式: 功能:根据For语句中所给定的初值、终值和步长,来确定循环次数,反复执行循环体内各语句. 通过For语句进入循环,将初值赋给变量I,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到Endfor,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体.这样重复执行,直到循环变量的值超过终值,则跳出循环. 误区警示 “For”和“End For”之间缩进的步骤称为循环体;只有当循环次数明确时,才能使用本语句.Step可以省略,此时默认步长为1.步长可以为正、负,但不能是0,否则会陷入“死循环”.步长为正时,要求终值大于初值,如果终值小于初值,循环将不能执行.步长为负时,要求终值必须小于初值.(2)While循环格式:功能:给语句对应于流程图中的当型循环,如图1-3-12:图1-3-12 先判断条件是否成立,当条件成立时,执行循环体,遇到Endwhile语句时,就返回继续判断条件,若仍成立,则重复上述过程,若不成立,则退出循环. 学法一得 该语句以While开头,Endwhile结束,是模块化结构.该循环是前测试型循环,即在执行循环体之前先判断条件.只有当条件成立时,才执行循环,条件不成立时,退出循环.所以在循环体内必须有改变条件的语句,以便在适当时候退出循环.该循环适用于循环次数不确定的情况,当循环次数确定时也可用该语句.典题热题知识点一 循环次数有限的问题例1 设计流程图计算2+22+23+210,并用循环语句表示.图1-3-13思路分析:本题利用等比数列的有限项的和.该循环次数已经确定,可以用“For”语句,也可用“While”语句来实现循环.解:流程图如图1-3-13:用For循环语句表示为:S0For i From 1 to 10 SS+2iEnd ForPrint S变式方法:(用While循环实现)S0i1While i10SS+2iii+1End WhilePrint S 方法归纳 面对新问题,在构造算法时,我们应该先把算法结构理清了,再将结构用算法语句表达出来,从而减少错误率,增加直观性.知识点二 不确定数值输入的问题例2试设计一个循环语句模拟抛硬币的过程,并计算抛掷中出现正面的概率.思路分析:随机模拟可通过两种途径实现:一种是用实物模拟,如用抛掷一枚硬币,记录总次数及分别出现正面、反面的次数;另一种是借助于计算机高速的运算、存储能力来实现随机模拟,这个过程实际上是让计算机产生一系列的随机数,事先假设某些数表示什么,另外一些数表示什么.解:用While循环表示:S0Read n 输入模拟次数While in a=RND 产生一个0到1之间的随机数,并赋给变量a If a0.5 Then SS+1 End IfEnd WhilePrint “出现正面的频率为”,变式方法:用FOR循环表示:s0Read nFor I From 1 to n If Rnd0.5 Then ss+1End For Print “出现正面的频率为”, 拓展延伸 运用RND函数可产生0到1之间的随机函数(不包括1,包括0),本例中用大于0.5的数表示出现正面,用小于0.5的数表示出现反面,如此用来模拟计算.在以后的训练中,我们要注意RND函数的正确用法.变式方法中运用Read n输入数值,一旦输入,就确定了数值,所以可用FOR循环.平时练习时要深化对输入语句的理解.“For”和“End For”之间缩进的步骤称为循环体;“While”和“End While”之间也是一个循环体;设计语句时,必须注意其完整性.知识点三 循环次数不确定的问题例3 设计一个算法,计算并输出一批数据中正数和负数的个数.预先不指定数据的个数,输入0时程序结束(即所有有效的数据,其值均不为0).思路分析:引入循环结构,每次输入一个数据,并判断是正数还是负数,分别设两个变量m,n,统计正数、负数的个数.因为是一批数据,可用Read语句,预先不指定数据的个数,也即循环次数不确定,可使用While语句,注意循环条件是输入的数不为0.解:流程图如图1-3-14所示:图1-3-14用While循环表示:m0n0Read xWhile x0If x0 then mm+1Else nn+1End IfRead xEnd WhilePrint m,n 方法归纳1.用For循环的一般思路(1)确定好初值与终值、步长.(2)循环变量的初值设置及改变在For语句中实现,如题中For I From 0 to 100,程序中的SumSum+i在用伪代码表示时内置于For语句中,其他位置不能再出现.2.用While循环设计算法的一般思路(1)把反复要做的工作,作为循环体放在While与End While之间.(2)确定循环条件,并在While之前,要设置好初始条件.如题中的i0,i1.(3)考虑在循环体内怎样改变条件以退出循环.问题探究思想方法探究问题 解决同一个问题,可以有不同的算法;同一个算法稍加改造,可以用于解决不同的问题. 学习算法时,尤其是对循环语句中“累加器”应用,我们能否对其进行优化或改造,从而达到使算法更具通用性、更有效? 探究过程:结合对程序框图的认识及算法的三种基本逻辑结构,有利于对程序语言的理解和掌握.类似地,对算法的优化或改造,在算法的程序框图上进行,也有利于学生看清算法的结构和更好地把握“算理”.这里,我们来改造求1+2+100的值的“累加器”的程序框图(如图1-3-15),图1-3-15(1)求1+2+m(mZ*)的值的过程;(2)求3+5+(2m+1)(mZ*)的值的过程;(3)输出1,1+2,1+2+3,1+2+3+100的过程;(4)求2+22+2100的值的过程;(5)求使2+22+2n(nZ*)的和大于100的最小正整数n的过程;等等.其中,(1)将求前100个正整数的和推广为求前m个正整数的和,只需在循环结构前给定变量m的初始值,并将循环的终止条件变为“nm?”即可;(2)也是求m个正整数的和,但起始的数字变成了3,终端的数字变成了2m+1,“步长”变成了2,这时需要改变变量初始值和循环的终止条件,循环体变为“sumsum+(2n+1)”;(3)在循环体中增加输出框“输出sum”,就可以得到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论