北师大版 必修三 循环语句
- 格式:ppt
- 大小:427.00 KB
- 文档页数:21
§4 几种基本语句4.2循环语句“从前有座山,山里有座庙,庙里有个老和尚讲故事,讲了什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲了什么呢?从前有座山,山里有座庙,庙里有个老和尚讲故事,讲了什么呢?……”上文是一个有趣的循环套,这个循环套产生的原因是:一句话的结束后,下一句又用句子的开始文字来回答。
实际就是产生了一个步骤重复操作。
在算法中,有些比较复杂的算法的某些步骤中也会出现类似的情况,即算法的某些步骤重复操作的情况。
研习教材重难点研习点1:for语句1. for语句的形式及含义在算法中,循环结构也是一种基本结构.循环语句是表达循环结构的最常用语句.对预先知道循环次数的循环结构,我们用for语句.for语句的一般形式是:for〈循环变量〉:=〈初始值〉to〈终值〉dobegin〈循环体〉;end.(1)当程序执行时,遇到for语句,首先把初值赋给循环变量,记下终值和步长,并比较初值和终值,若初值没有超过终值,就开始执行for语句后面的语句,执行到end语句时,计算机让循环变量增加一个步长值,然后用增值后的循环变量值与终值比较,如果超过终值,就执行end后面的语句,否则执行for语句后面的语句.(2)循环变量是用于控制算法中循环次数的变量,起计算作用,它有初值和终值,是循环开始和结束时循环变量的值,步长是指循环变量每次增加的值,步长为1时可以省略不写,但为其他值时,必须写,不能省略.(3)循环体是指反复执行的一组语句,end的作用是控制结束一次循环,开始下一次新的循环.(4)for循环语句对应的基本框图如图所示.教材例3介绍了一个用循环结构算法,输出菲波拉契数列的前50项,使用for语句描述该算法.其数列为0,1,1,2,3,5,8,……其特征为后面的每一项均为前面相邻两项之和.[知识链接]菲波拉契数列13世纪初,欧洲最好的数学家是斐波拉契;他写了一本叫做《算盘书》的著作,是当时欧洲最好的数学书。
3.2 循环语句-北师大版必修3教案一、教学目标1.理解循环语句的概念及运作原理。
2.掌握使用for循环和while循环实现特定代码逻辑的方法。
3.培养学生良好的编程思维和代码风格。
二、教学重点和难点教学重点1.循环语句的概念及分类。
2.for循环和while循环的使用。
教学难点1.学生对循环语句的理解和掌握。
2.如何优化循环结构以提高代码效率。
三、教学过程1.引入新知识通过学生自行编写一个乘法表的例子,引导学生思考循环语句的作用以及循环体和循环控制条件的关系。
2.讲授循环语句的概念及分类1.定义循环语句: 循环语句是一种特殊的控制语句,它可以让程序执行重复的操作,直到达到指定的条件才停止。
2.分类:循环语句主要有for循环和while循环,根据循环条件的位置可以把循环语句分为前测试循环、后测试循环和无限循环。
3.讲解for循环的使用for循环语法如下:for (初始化表达式; 循环条件; 循环后的操作表达式) {循环体}其中初始化表达式只在循环开始前执行一次,循环条件每次循环前都会执行,循环后的操作表达式每次循环后都会执行一次。
循环体是需要重复执行的代码块。
4.讲解while循环的使用while循环语法如下:while (循环条件) {循环体}该循环只有一个循环条件,每次循环开始前都会判断循环条件是否成立,只要循环条件成立,循环就会一直执行,直到循环条件不成立为止。
5.通过实例讲解二者使用的区别1.for循环属于前测试循环,在循环进入时就会进行测试条件是否成立,判断之后才会开始执行循环体,循环结束后也会进行测试并判断循环条件是否成立,如果不成立,就跳出循环。
2.while循环属于后测试循环,在循环进入时不会进行测试,直接进入循环体执行,循环结束后会进行测试并判断循环条件是否成立,如果成立,就继续执行循环体,直到循环条件不成立时跳出循环。
6.编写练习题目编写一个在控制台打印1到100的数字,一行打印10个数字的程序。
高中数学学习材料鼎尚图文*整理制作3.2循环语句[读教材·填要点]1.For语句(1)格式:For循环变量=初始值To终值循环体Next(2)适用于预先知道循环次数的循环结构.2.Do Loop语句(1)格式:Do循环体Loop While条件为真(2)适用于预先不知道循环次数的循环结构.[小问题·大思维]1.For语句与Do Loop语句有什么区别?提示:两种循环语句的区别是For语句是先从循环变量的初值开始执行第一次循环体,直到循环变量取到其终值结束循环,适用于预先知道循环次数的循环结构;而Do Loop语句则是先判断条件,当条件为真时,执行循环体,否则结束循环,适用于那些预先不知道循环次数的循环结构.2.何时才能用到循环语句?提示:在问题处理中,经常要对某一步骤或若干步骤重复执行多次,即对不同的运算对象进行若干次的相同运算或处理,这种模式就对应程序设计中的循环结构,在算法中的循环结构就是由循环语句来实现的.[研一题][例1]画出计算12+32+52+…+9992的算法框图,并用For语句写出相应的程序.[自主解答]算法框图如下:S=0For i=1 To 999 step 2S=S+i*iNext输出S.[悟一法]1.For语句适合预先知道循环次数的循环结构,利用For语句表示循环结构时首先要确定循环变量的初始值和终值,然后确定循环体.2.在For循环语句中,我们默认循环变量每次的增量为1.如果需要考虑增量不为1的情况,需要使用参数Step.例如,“输出1到100内的所有奇数”的算法语句为:For i=1 To 100 Step 2.[通一类]1.用For语句设计算法,计算3+6+9+…+150的值.解:S=0For i=1 To 50S=S+3]Next输出S.[研一题][例2]设计一个求满足1+3+5+…+n>500的最小自然数n的算法框图,并用Do Loop语句描述这个算法.[自主解答]算法框图如下:Do Loop语句i=1S=0DoS=S+ii=i+2Loop While S<=500i=i-2输出i[悟一法]Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Do Loop语句后的语句.[通一类]2.将求1×2×3×4×5×6×7×8×9×10的程序补充完整:a=10b=1Dob=b*a__(1)__Loop While __(2)__输出b解:a的初始值为10,故循环体中的值应该逆减,即a从10减小到1,循环体的条件应为a≥1.答案:a=a-1a≥1[研一题][例3]用循环语句表示求a1,a2,a3,a4的最大值的一个算法.[自主解答]输入a1,a2,a3,a4;M=a1,i=2DoIf a i>M ThenM=a ii=i+1Elsei=i+1End IfLoop While i<=4输出M.[悟一法]循环语句格式严格、条件准确,不能有半点马虎,一点不对,全题皆错.当循环语句中有嵌套条件语句时要先确定外层的循环语句,再逐步确定内层的条件语句.[通一类]3.给出以下10个数:4,10,70,33,95,74,29,17,60,30.要求将大于40的数找出来,画出求解该问题的算法框图,并写出程序.解:算法框图如图所示:i=1Do输入xIf x>40Then输出xEnd Ifi=i+1Loop While i<=10.用基本语句写一个算法,计算2+4+6+ (20)[解]法一:用语句描述为:i=2S=0DoS=S+ii=i+2Loop While i<=20输出S.法二:用语句描述为:S=0For i=2 To 20 Step 2S=S+iNext输出S.1.关于Do Loop循环语句叙述正确的是()A.总是执行循环体B.执行一次循环体C.满足条件时执行循环体D.遇到Do Loop就结束解析:对于Do Loop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体.答案:C2.下列程序输出的结果是()i=1DoS=S*2+1i=i+1Loop While i<=4输出S.A.3B.7C.15D.19解析:由程序语句可知,该循环体共循环4次,分别为S=2×0+1=1,S=2×1+1=3,S=2×3+1=7,S=2×7+1=15.答案:C3.下列问题可以用循环语句设计程序的有()①求1+3+32+…+39的和;②比较a,b两个数的大小;③对于分段函数,要求输入自变量,输出函数值;④求平方值小于100的最大自然数.A.0个B.1个C.2个D.3个解析:①④可以用循环语句设计程序;②③要用条件语句设计程序.答案:C4.给出下列方程,若运行程序后输出的结果是1 320,则循环执行的“条件”应为________.i=12S=1DoS=S*ii=i-1Loop While条件输出S答案:i>=105.下面程序语句输出的S值是________.i=1S=0For i=1To 5S=S+iNext解析:S=1+2+3+4+5=15. 答案:156.已知函数f(x)=xx+1,实数a1=f(1),a2=f(a1),…,a n+1=f(a n),试写出用循环语句表示的求a8的算法,并画出框图.解:用语句描述为:A=1n=1For n=1To8A=A/(1+A)Next输出A.框图:一、选择题1.以下程序s=0For x=-1To11s=x*xNext输出s.该程序输出结果是()A.-1B.11C.100 D.121解析:由For语句的算法特点可知,s=11×11=121.2.下列程序的运行结果为( ) i =0 S =0 Doi =i +1 S =S +i Loop While S <=20 输出i A .5 B .6 C .7D .8解:由于0+1+2+3+4+5=15,0+1+2+3+4+5+6=21,∴i =6. 答案:B3.下列程序中的For 语句终止循环时,S 等于( ) S =1For M =1 To 13 Step 3S =S +M Next 输出S . A .1 B .5 C .10D .35解析:S =1+4+7+10+13=35. 答案:D4.下列算法的运行结果是( ) S =0 For i =1 To 5 S =S +1/i Next 输出S . A.13760 B.160 C.13060D .3解析:本算法是求1+12+13+14+15的和.答案:A5.下列算法运行后的输出结果为()i=1Doi=i+2S=3+2*iI=i+1Loop While i<8输出S.A.17B.19C.21 D.23解析:这是用Do Loop语句编写的算法,按Do Loop语句的运行程序可知最后一次执行循环体时S=3+2×(7+2)=21.答案:C二、填空题6.S=0For i=0 To 10 000 Step2S=S+iNext输出S则循环10次的结果是________.解析:算法程序实际是在计算S=0+2+4+…+10 000如果循环10次,则有S=0+2+4+6+8+…+18=90.答案:907.S=0For i=1 To 100S=S+i*iNext输出S则该语句的算法功能为______________.解析:S=12+22+ (1002)答案:计算12+22+…+1002的值8.如图,把求11×4+12×5+13×6+…+150×53的值的程序补充完整,则(1)____________;(2)____________.i=1S=0Do(1)i=i+1Loop While __(2)__输出S答案:(1)S=S+1/i*(i+3)(2)i<=50三、解答题9.据下列框图写出对应算法语句.解:S=0i=1DoS=S+ii=i+1Loop While i<=1 000输出S.10.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃前一天剩下的一半零一个,到第十天早上想吃时,见只剩一个桃子了,求第一天共摘了多少桃子?画出算法框图,并用语句描述.解:算法框图如图所示.程序如下:s=1For i=1 To 9 s=2*(s+1)Next输出S。