当前位置:文档之家› 2019-2020年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教学案苏教版必修3

2019-2020年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教学案苏教版必修3

2019-2020年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教学案苏教版必修3[新知初探]1.循环语句处理循环结构的算法要用循环语句.2.循环语句的三种格式[点睛]“For”语句的一般形式中Step“步长”为1时“Step 1”可省略,否则不能省略.[小试身手]1.关于For循环说法正确的是________.①步长可以是负数;②初值一定小于终值;③步长不可以省略;④初值不能为负数.答案:①2.下列问题的伪代码可以通过循环语句来实现的是________.①计算:1+⎝ ⎛⎭⎪⎫121+⎝ ⎛⎭⎪⎫122+⎝ ⎛⎭⎪⎫123+…+⎝ ⎛⎭⎪⎫12100;②计算:1×3×5×7×9× (99)③比较两个实数a ,b 的大小,并输出较小的数; ④计算:1+12+13+…+1100.答案:①②④ 3.已知如下伪代码:S ←0I ←5While I ≤20S ←S +I I ←I +5End While Print S上述伪代码运行的结果是________. 答案:50[典例] (1)如果以下伪代码运行后输出的结果是132,那么在伪代码中Until 后面的“条件”应为________.i ←12s ←1Dos ←s ×ii ←i -1Until 条件End Do Print s(2)下面伪代码表示的算法所解决的问题是__________________________________.i ←1S ←0While i ≤100S ←S +i 2i ←i +1End While Print S[解析] (1)该程序中使用了直到型循环语句,当条件不满足时执行循环体,满足时退阅读伪代码表示的循环语句出循环,由于输出的是132,故执行了两次循环体,因此条件应为i<11.(2)令i=1,S=0,第i步的结果可以表示为第i-1步的结果加上i2,则循环体为“S←S +i2,i←i+1”,不断地进行循环,直到不符合条件时结束循环.所以本伪代码所解决的问题是计算12+22+32+…+1002的值.[答案] (1)i<11 (2)计算12+22+32+…+1002的值.T←1For I From 2 To 5T←T×IEnd ForPrint T以上伪代码运行结果T=________.解析:由条件I From 2 To 5知共循环4次.第一次循环T←1×2=2,第二次循环T←2×3=6,第三次循环T←6×4=24,第四次循环T←24×5=120.故运行结果为120.答案:120应用循环语句设计程[典例] 写出计算12+32+52+…+9992的伪代码,并画出相应的流程图.[解] 由题意知各项指数相同,底数相差2,可以借助于循环语句设计算法,因为循环次数是确定的,因而算法语句选用“For”语句,在这个问题里初值I←1,步长是2.伪代码如下:S←0For I From 1 To 999 Step 2S←S+I2End ForPrint S相应流程图如图所示:设计一个求1×3×5×…×2 017的值的算法,写出伪代码,并画出相应的流程图.解:算法:S1 S←1;S2 i←1;S3 S←S×i;S4 i←i+2;S5 如果i不大于2 017则转S3;S6 输出S值;S7 结束.伪代码:循环语句的实际应用[典例] 某商场第一年销售计算机5 000台,如果平均每年销售量比上一年增加10%,那么从第一年起大约到第几年可使销售量达到40 000台,用循环语句写出解决此问题的一个算法,并画出相应的流程图.[解] 由题意得第二年销售量为5 000(1+0.1),第3年销售量为5 000(1+0.1)2,…,第n 年销售量为5 000(1+0.1)n -1.法一:用While 语句如下:m ←5 000i←1While m <40 000m ←m +i ←i +1End While Print i 相应流程图如下:法二:用Do 语句如下:m ←5 000i ←1Do m ←m +i ←i +1Until m ≥40 000End Do Print i相应流程图如下:某玩具厂xx年的产值为200万元,如果年生产增长率为5%,计算最早哪一年生产总值超过400万元,画出流程图,并写出伪代码.解:流程图如图所示:伪代码如下:[层级一 学业水平达标]1.以下该算法共执行循环体的次数为________. For i =-3 To 147 Step 3 End For解析:循环次数=(终值-初始值)/增量+1=[147--3+1=51.答案:512.有以下伪代码,其中描述正确的是________.k ←8While k =0k ←k +1End While①循环体语句执行10次; ②循环体是无限循环; ③循环体语句一次也不执行; ④循环体语句只执行一次.解析:不符合条件,循环语句一次也不执行. 答案:③3.如图是一算法的伪代码,执行此算法,最后输出的n 的值为______.n ←6s ←0While s <15s ←s +n n ←n -1End While Print n解析: s =6,n =5;s =11,n =4;s =15,n =3,退出循环,此时n =3. 答案: 34.求1+2+22+…+2100的算法的伪代码为:其中横线上应填________.解析:1+2+22+…+2100为有规律的累加运算,又S 的初值为1,指数i 的初值为1,终值为100,步长为1,所以应填S ←S +2i . 答案:S ←S +2i5.如图给出的是计算S =1-12+13-14+…+199-1100的流程图,请填充框图内所缺的式子,并写出伪代码.解:根据流程图的功能得①i <100 ②S =N -T 相应的伪代码如下:i ←1N ←0T ←0While i <100 N ←N +1/i T ←T +i + S ←N -T i ←i +2End While Print S[层级二 应试能力达标]1.下述伪代码表示的算法运行结果为________.N←1S←0DoS←S+NN←N+1Loop While S≤10Print N-1.解析:S=1+2+3+4+5时循环停止,此时输出5.答案:52.给出如下的伪代码,是计算____________的值.S←1I←3While I<99S←S+I3I←I+2End WhilePrint S答案:1+33+53+…+9733.如果下列伪代码运行后输出的结果是720,则在横线处应填入的正整数为________.解析:依题意需计算S←S×8后应结束循环,因此在横线处应填8.答案:84.观察下列程序,该循环变量I共循环________次.S←0I←1While S<60S←S+II←I+1End While解析:由题意知该程序的作用是判断S=1+2+3+…+n≥60的最小整数n.∵1+2+3+…+10=55<601+2+3+…+11=66>60.故可知该程序循环了11次.答案:115.已知下列算法语句:I←12S←1DoS←S×II←I-2Until I<8End DoPrint S则语句执行后输出的结果为________.解析:第一次循环得S=12,I=10.第二次循环得S=12×10,I=8.第三次循环得S=12×10×8=960,I=6<8退出循环.答案:9606.根据以下伪代码,可知输出的结果b为________.a←1b←1While b<5c←a+ba←bb←cEnd WhilePrint b解析:第一步:c=2,a=1,b=2;第二步:c=3,a=2,b=3;第三步:c=5,a =3,b=5.结束循环,输出b=5.答案:57.下面是求1×3×5×…×99的值的四个程序的伪代码,其中正确的序号为________.答案:①④8.给定下面伪代码,输出结果为________.a←2i←1While i≤6a←a+1Print i,ai←i+1End While解析:算法中用到了While循环语句,从a←2,i←1开始,第一次循环求2+1,并输出1,3;第二次求3+1,并输出2,4;第三次求4+1,并输出3,5,…;第六次求7+1,并输出6,8.即输出结果为1,3 2,4 3,5 4,6 5,7 6,8.答案:1,3 2,4 3,5 4,6 5,7 6,89.阅读下面伪代码,完成问题.i←1p←0While i≤99p←p+ii←i+2End WhilePrint p(1)伪代码中的循环语句是什么型循环语句;(2)将伪代码用另外类型的循环语句来实现.解:(1)从伪代码可看出这是一个用当型循环语句给出求1+3+5+…+99的值的一个算法.(2)改成直到型循环语句如下:i←1p←0Dop←p+ii←i+2Until i>99End DoPrint p用For语句表示如下:S←1For I From 3 To 99 Step 2S←S+IEnd ForPrint S10.13世纪初,欧洲最好的数学家斐波那契出了这样一道有趣的数学题:如果一对兔子每月能生一对小兔,而每对小兔子在它出生后的第3个月里,又能开始生一对小兔子,假定在不发生死亡的情况下,由一对初生的兔子开始,一年后能繁殖成多少对兔子?解:假设最初的一对兔子出生在头一年的12月份.显然,1月份只有一对兔子,到2月份时,总共2对兔子;到3月份总共3对兔子;到4月份总共5对兔子;到5月份总共8对兔子,…,观察这组数据,1,1,2,3,5,8,…,里面隐含着一个规律,从第3个数开始,后面的每个数都是它前面两个数的和.根据这个规律,只要作一些简单的加法,就能推算出以后各个月兔子的数目了.我们可以写出算法如下:S1 f1←1,f2←1,i←3;S2 输入N(几个月后?);S3 f3←f1+f2;S4 f1←f2;S5 f2←f3;S6 i←i+1;S7 如果i≤N转第(3)步继续执行;S8 输出f3的值;S9 结束.伪代码为:2019-2020年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句自我检测苏教版必修自我检测基础达标1.写出下列程序的运行结果:(1)i←0S←0While S<=20S←S+ii←i+1End WhilePrint iEnd其运行结果为7 .(2)i←0S←0While S<=20i←i+1S←S+iEnd WhilePrint iEnd其运行结果为 6 .2.下面是求1×2×3×4×…×n的积的伪代码,请将其补充完整.Read nMul←1i←2While i<=n①②End WhilePrint MulEnd答案:①Mul←Mul*i②i←i+13.计算函数f(x)=3x2-x+1当x=1,2,3,…,10时的函数值.用伪代码表示算法.解:伪代码表示为:x←1While x<=10y←3*x∧2-x+1Print x,yx←x+1End WhileEnd4.设计一个求n!=1×2×3×…×n的算法,用伪代码表示算法.解:Read“n=”;nA←1i←1While i<=nA←A*ii←i+1End WhilePrint AEnd5.设计算法,计算下面n个数的和.,,,,…, .用伪代码表示算法.解:Read“n=”;ni←1Sum←0While i<=nSum←Sum+i/(i+1)i←i+1End WhilePrint“Sum=”;SumEnd6.组合数公式可以用公式,设计一个用上述公式计算组合数的算法,用伪代码表示算法.解:Read“请输入m和n的值”;m,ni←1p←1While i<=np←p*ii←i+1End Whilei←1q←1While i<=mq←q*ii←i+1End Whilei←1S←1While i<=(n-m)S←S*ii←i+1End WhileC1←p/(q*S)Print C1End7.1,1,2,3,5,8,13,……这一列数的规律是:第1,第2个数是1,从第3个数起,该数是其前面2个数之和.试设计一个算法计算这列数前20个数的和,用伪代码表示.解:用伪代码表示为:i←3A←1B←1Sum←A+BWhile i<=20C←A+BSum←Sum+CA←BB←Ci←i+1End WhilePr int“Sum=”;SumEnd8.求1!+2!+3!+…+20!的值,用伪代码表示.解:S←0T←1For N from 1 to 20T←T*NS←S+TEnd forPrint SEnd9.xx年我国人口有13亿,如果人口每年的自然增长率为,那么多少年后我国人口达到15亿?设计一个算法用伪代码表示.解:A←13R←0.007i←1While A<=15A←A*(1+R)i←i+1End Whilei←i-1Print“达到或超过15亿人口需要的年数为:”;iEnd10.一球从100m高处落下,每次落地后反跳回原高度的一半,再落下.在第10次落地时,共经过多少路程?第10次下落多高?试用伪代码描述上述过程.解法1:S←0h←100S←s+hi←2While i<=10h←h/2S←S+2*hi←i+1End whilePrint“第10次落地时共经过的路程为:”;SPrint“第10次下落的高度为”;hEnd解法2:S←0h←100S←S+hFor i From 2 to 10h←h/2S←S+2*hEDN forPrint“第10次落地时共经过的路程为:”;SPrint“第10次下落的高度为”;h更上一层1.用近似公式e=1++++…+求自然数e的数值,取n=10(n愈大,愈接近e的真值),设计一算法,用伪代码表示.解:e←1T←1For n from 1 to 10T←T*ne←e+End forPrint n, eEnd2.抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近于50%,试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率.解析:有一个随机函数rand( ),它能产生(0,1)之间的随机数,这样我们可以用大于0.5的随机数表示出现正面,否则表示出现反面,其流程图为:用伪代码表示:Read“输入次数”;nS←0t←1While t<nIf rand( )>0.5 thanS←S+1End Ift←t+1End WhilePrint“出现正面的频率”;S/nEnd。

相关主题