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

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

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

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

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

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

2008-2009-1新沂市第二中学高二年级数学教研组集体备课共案主备人:李帮友_ No.______用案时间:____月_____日用案人:________ 课题§1.3基本算法语句——循环语句 教学 目标1.掌握两种循环语句的一般形式,进一步体会算法的基本思想. 2.能够熟练地运用两种循环语句.重难点两种循环语句的形式和特点方法及教具教学过程备注一、问题情境 猴子第一天摘下若干个桃子,当即吃了一半,觉得还不过瘾,又多吃了一个.第二天将剩下的桃子吃掉一半,又多吃了一个,以后每天都吃前一天剩下的一半加一个.到第十天想吃时只剩下一个桃子了.求第一天共摘了多少个桃子? 开始 结束 s←1 i←1 i←i+1 s←2(s+1) i≤9 Y N 输出s 分析:第十天的桃子数S10=1;第九天的桃子数S9=2×(S10+1)=4;第八天的桃子数S8=2(S9+1)=10;第七天的桃子数…这样不难算出第一天的桃子数.在计算每天剩下的桃子个数时步骤是相同的,即用后一天的桃子数加1再乘以2,直到算出第一天的桃子数为止. 该过程可以交给计算机做,能否设计一个算法?试画出流程图. 二、学生活动 在本课之前学生已经学习了流程图以及算法设计的三种结构,所以将这个问题的解决留给学生. 三、建构数学 能不能写出该算法的伪代码呢? 用条件语句来表示选择结构.介绍两种循环语句. 1.For循环语句 一般形式: ForIFrom“初值”To“终值”Step“步长” … EndFor 其中“For”和“EndFor”之间的步骤“…” 称为循环体.若步长为1,“Step‘步长’”可以省略不写. 2.While循环语句 一般形式:WhileA … EndWhile 其中A表示判断执行循环的条件.“While”和 “EndWhile”之间的步骤“…”称为循环体. “While”循环语句的特点是前测试,即先判断,后执行.若初始条件不成立,则循环体的内容一次也不执行. 用这两种循环语句可以写出上述问题的伪代码: 四、数学运用 书上两个例子: 试设计一个算法,计算1×3×5×7×…×99. s←1 s←1 ForiFrom3To99Step2 i←1 s←s×i EndFor Prints Whilei≤99 s←s×i i←i+2 EndWhile Prints End 试设计一个算法,找出满足1×3×5×7×…×>10000的最小整数. s←1 i←3说明: Whiles≤10000(1)从这两个例子中体会两种循环语句的区别: s←s×I一般地,当循环次数已经确定时,可用“For”循环 i←i+2语句(从第一个例子中可以看出:在循环次数确定时, EndWhile使用“For”循环语句书写更为简便); i←i-2当循环次数不能确定时,可用“While”循环语句; (2)在第二个例子中,循环语句结束后注意要将i的 PrintI值减去2才是题中所要求的最小整数. End 例4抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近于50%.试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率. 解:本题算法的伪代码如下: s←0 Readn ForiFrom1ton IfRnd>0.5Thens←s+1 EndFor Print出现正面的频率为eq\f(s,n) 说明:随机函数“Rnd”可以产生0与1之间的随机数.该算法中用大于0.5的随机数表示出现正面,不大于0.5的随机数表示出现反面.若将伪代码中的“Rnd>0.5”改为“Rnd<0.5”,其效果是一样的.还要注意本题的循环体是一个“行If语句”,故不需要写“EndIf”. 思考:能否用“While”循环语句写出伪代码? 练习:课本23页 补充:1.设计一个求1+eq\f(1,2)+eq\f(1,3)+eq\f(1,4)+…+eq\f(1,100)值的算法. 解:本题算法的伪代码如下: s←1 i←2 Whilei≤100 s←s+eq\f(1,i) i←i+1 EndWhile Prints 由于本题循环次数已定,故也可用“For”循环语句实现: s←1 i←2 ForiFrom1to100 s←s+eq\f(1,i) EndFor Prints 2.设计一个求小于1000的完全平方数的和的算法. 解法一:s←0 i←1 Whilei×i<1000 s←s+i×i i←i+1 EndWhile Prints 解法二:i←1 Whilei×i<1000 i←i+1 EndWhile n←i-1 s←0 ForjFrom1ton s←s+j×j EndFor