2019-2020年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教学案苏教版必修3
2019_2020学年高中数学第一章算法初步1.3算法案例课件新人教A版必修3
课堂探究·素养提升
题型一 求最大公约数 [例1] 分别用辗转相除法和更相减损术求779与209的最大公约数.
解:法一 辗转相除法: 779=209×3+152, 209=152×1+57, 152=57×2+38, 57=38×1+19, 38=19×2. 所以,779与209的最大公约数为19.
法二 更相减损术法: 779-209=570,570-209=361,361-209=152,209-152=57,152-57=95, 95-57=38,57-38=19,38-19=19. 所以779和209的最大公约数为19.
方法技巧
求两个正整数的最大公约数的问题,可以用辗转相除法,也可以用更 相减损术.
思考3:不同进位制之间的数是否能比较大小?
答案:能.都可以把其化为相同进位制的数,然后比较其大小.
名师点津
常见的进位制 (1)二进制:①只使用0和1两个数字;②满二进一,如1+1=10. (2)八进制:①使用0,1,2,3,4,5,6,7八个不同的数字;②满八进一,如 7+1=10. (3)十六进制:①使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个不 同的数码,其中A,B,C,D,E,F分别代表十进制中的10,11,12,13,14,15; ②满十六进一,如F+1=2+E=10.
新知导学·素养养成
1.求两个正整数的最大公约数的算法
(1)辗转相除法(欧几里得算法)的算法步骤: 第一步,给定 两个正整数m,n . 第二步,计算 m除以n所得的余数r . 第三步, m=n,n=r . 第四步,若r=0,则m,n的最大公约数等于 m ;否则返回 第二步 .
部编版2020学年高中数学第1章算法初步1.3基本算法语句1.3.4循环语句教学案苏教版必修13
1.3.4 循环语句1.流程图中的循环结构要用什么语句来表达?2.循环语句有几种格式,它们的表达形式是什么?[新知初探]1.循环语句处理循环结构的算法要用循环语句.2.循环语句的三种格式名称While… End While Do… End Do For语句类型当型直到型循环结构循环语句While P循环体End WhileDo循环体Until PEnd DoFor I From“初值”To“终值”Step“步长”特点先判断后执行先执行后判断循环次数已经确定循环次数不能确定[点睛]“For”语句的一般形式中Step“步长”为1时“Step 1”可省略,否则不能省略.[小试身手]1.关于For循环说法正确的是________.①步长可以是负数;②初值一定小于终值;③步长不可以省略;④初值不能为负数.预习课本P22~24,思考并完成以下问题答案:①2.下列问题的伪代码可以通过循环语句来实现的是________.①计算:1+⎝ ⎛⎭⎪⎫121+⎝ ⎛⎭⎪⎫122+⎝ ⎛⎭⎪⎫123+…+⎝ ⎛⎭⎪⎫12100;②计算:1×3×5×7×9× (99)③比较两个实数a ,b 的大小,并输出较小的数; ④计算:1+12+13+…+1100.答案:①②④ 3.已知如下伪代码:S ←0I ←5While I ≤20 S ←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)应用循环语句设计算法程序时,要注意各种循环语句所适用的条件及循环次数是否已知,要注意控制循环的条件是否满足.(2)若循环次数确定,一般用For语句,若循环次数不确定,一般用While语句.设计一个求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 结束.伪代码:S←1i←1For i From 1 To 2 017 Step 2S←S×iEnd ForPrint S[典例] 某商场第一年销售计算机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×1+0.1i←i +1End WhilePrint i相应流程图如下:法二:用Do语句如下:m←5 000i←1Dom←m×1+0.1i←i+1Until m≥40 000End DoPrint i相应流程图如下:(1)利用循环语句描述实际应用问题的算法时,首先要分析题意,构建数学模型,再将问题的求解过程步骤化、程序化,最后用算法语句表示算法过程.(2)While语句是当型循环语句,画相应流程图时应用当型结构.Do语句是直到型循环语句,画相应流程图时应用直到型结构.(3)对同一算法,While语句和Do语句中的判断条件是相反的.某玩具厂2015年的产值为200万元,如果年生产增长率为5%,计算最早哪一年生产总值超过400万元,画出流程图,并写出伪代码.解:流程图如图所示:伪代码如下:n←2 015;a←200;p←1.05;While a≤400a←ap;n←n+1;End WhilePrint n-1[层级一学业水平达标]1.以下该算法共执行循环体的次数为________.For i=-3 To 147 Step 3End For解析:循环次数=(终值-初始值)/增量+1=[147--3]3+1=51. 答案:512.有以下伪代码,其中描述正确的是________.k←8While k=0k←k+1End While①循环体语句执行10次;②循环体是无限循环;③循环体语句一次也不执行;④循环体语句只执行一次.解析:不符合条件,循环语句一次也不执行.答案:③3.如图是一算法的伪代码,执行此算法,最后输出的n的值为______.n←6s←0While s<15s←s+nn←n-1End WhilePrint n解析:s=6,n=5;s=11,n=4;s=15,n=3,退出循环,此时n=3. 答案: 34.求1+2+22+…+2100的算法的伪代码为:S←1For i From 1 To 100End ForPrint S其中横线上应填________.解析: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<100N←N+1/iT←T+1/i+1S←N-Ti←i+2End WhilePrint 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 结束.伪代码为:。
高中数学 第一章 算法初步 1.1.3 算法的三种基本逻辑
高中数学 第一章 算法初步 1.1.3 算法的三种基本逻辑结构和框图表示(2)课堂探究 新人教B 版必修3循环结构的特点剖析:(1)循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件分支结构来作出判断,因此循环结构中一定包含条件分支结构.(2)用循环结构描述算法,一般说需要事先确定三件事:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的条件.(3)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止;累加变量用于输出结果.计数变量和累加变量一般是同步执行的,累加一次,计数一次.另外,还有累乘变量,累乘变量和累加变量的设置目的是一样的,只不过分工不同,累加变量用来计算很多项的和,累乘变量用来处理很多项的积.无论哪一种变量都是为最终输出结果服务的.题型一 利用循环节后求和【例1】 画出计算1+13+15+…+12 013的值的一个程序框图.分析:选好计数变量i 与累加变量S ,且i =i +2,S =S +1i.解:程序框图如图所示.反思 本题是累加问题,代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法时要注意前后两个数的分母相差2,此时计数变量不是“i =i +1”,而是“i =i +2”,但如果计算1+14+17+110+…,此时计数变量应为“i =i +3”,要灵活地改变算法中的相应部分.题型二利用循环结构求积【例2】设计求1×2×3×…×1 000的值的算法,并画出程序框图.分析:本算法若是只采用顺序结构,要一个一个地累乘,需千余步,考虑到运算过程的重复性,引入循环结构,同时设计计数变量和累乘变量来控制循环,因为是乘法运算,所以累乘变量的值不能从0开始,要从1开始,计数变量的值从2开始增至1 000.解:S1 p=1;S2 i=2;S3 p=p×i;S4 i=i+1;S5 如果i>1 000,那么转到S6;否则执行S3;S6 输出p.程序框图如下图所示.反思因本程序框图是先循环后判断,所以它的循环结构是直到型循环.p是累乘变量,i是计数变量,p=1和i=2的先后顺序没有要求.题型三利用循环结构求最值【例3】看下面的问题:1+2+3+…+( )>10 000.这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数字只需大于或等于n0即可.试写出寻找满足条件的最小正整数n0的算法,并画出相应的算法程序框图.分析:由于10 000是一个较大的数,用试或猜的办法是行不通的,因此需设计一个循环结构的程序框图来解决.解:算法一:S1 p=0;S2 i=0;S3 i =i +1; S4 p =p +i ;图1S5 如果p >10 000,则输出i ,否则执行S3. 该算法的程序框图如图1所示. 算法二:S1 取n 的值等于1; S2 计算S =n n +12;S3 如果S 的值大于10 000,那么n 即为所求; 否则,让n 的值增加1,然后转到S2重复操作.根据以上的操作步骤,可以画出如图2所示的算法程序框图.图2题型四易错辨析【例4】设计一个程序框图求S=12+32+52+…+992的值.错解:如图(1),图(2)所示.错因分析:图(1)的错误在于i=i+1,计算的是S=12+22+32+...+992的结果.图(2)的错误在于先执行i=i+2,而后执行S=S+i2,计算的是S=32+52+72+ (992)1012的结果.正解:如下图所示.错解:程序框图如下所示.正解:程序框图如下图所示.。
2019-2020年高中数学必修三:第一章 算法初步第三、四课时 秦九韶算法与排序 教案
2019-2020年高中数学必修三:第一章 算法初步第三、四课时 秦九韶算法与排序 教案(1)教学目标(a )知识与技能1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b )过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙。
能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
(c )情态与价值通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点重点:1.秦九韶算法的特点2.两种排序法的排序步骤及计算机程序设计难点:1.秦九韶算法的先进性理解2.排序法的计算机程序设计(3)教学设想(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知1.秦九韶计算多项式的方法1210123120132211012211)))((())(()()(a a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a x f n n n n n n n n n n n n n n n n n n n +++++==+++++=+++++=+++++=--------------例1 已知一个5次多项式为8.07.16.25.325)(2345-+-++=x x x x x x f用秦九韶算法求这个多项式当5=x 时的值。
高中数学第一章算法初步1.3.4循环语句2教案苏教版必修3
1.3.4 循环语句(2)教学目标:1.进一步巩固基本算法语句:赋值语句、输入输出语句、条件语句、循环语句的概念,并掌握其结构;2.会灵活应用基本算法语句编写程序.教学重点:各种算法语句的表示方法、结构和用法. 教学难点:灵活应用各种算法语句编写程序教学方法:1. 通过编写程序,上机调试的过程,发展编写能力.2. 通过具体实例,发展设计算法,编写程序来解决问题的能力.教学过程:一、问题情境编写函数221, 2.51, 2.5x x y x x ⎧+≤⎪=⎨->⎪⎩的算法,根据输入的x 的值,计算y 的值.二、学生活动分析 这是分段函数,计算前,先对x 的值进行判断,再确定计算法则. 解:其算法步骤如下: 用算法语句可表示如下: S1 输入x ;S2 若 2.5x ≤,则21y x ←+,否则,则21y x ←-;S3 输出y .三、建构教学能根据具体实例确定所需算法语句四、数学运用例1 试用算法语句表示:使22221232006n ++++>L 成立的最小正整数的算法过程.解:本例需要用到循环结构,且循环的次数不定,因此可用“While 循环”语句, 具体描述:例2 读入80个自然数,统计出其中奇数的个数,用伪代码表示解决这个问题的算法过程.解:本题算法的伪代码如下: 0k ←For I From 1 To 80 Read n []22n n T ←- If 0T ≠ Then1k k ←+(Print n ) End If End For0S ← 1I ←While S ≤2006 1I I ←+ 2S S I ←+ End While Print I EndPrint k End变式 若本例中还要将所有奇数输出呢?以上伪代码该作何修改?(见题中括号) 例3 《中华人民共和国个人所得税法》第十四条有下表(部分)个人所得税税率表—(工资、薪金所得使用)目前,上表中“全月应纳税所得额”是从月工资、薪金收入中减去800元后的余额.若工资、薪金的月收入不超过800元,则不需纳税.某人月工资、薪金收入不超过20800元,试给出一个计算其月工资、薪金收入为x 元时应缴纳税款额的算法并用伪代码表示这个算法.解:设月工资、薪金收入为x 元时应缴纳税款额为y 元,伪代码如下: Read xIf 800x ≤ Then y ←0Else If 8001300x <≤ Then y ←(x-800)*0.05Else If 13002800x <≤ Then y ←500*0.05+(x-1300)*0.1 Else If 28005800x <≤ Theny ←500*0.05+1500*0.1+(x-2800)*0.15 Else If 580020800x <≤ Theny←500*0.05+1500*0.1+3000*0.15+(x-5800)*0.2 End IfPrint yEnd五、要点归纳与方法小结本节课学习了以下内容:1.各种算法语句的表示方法、结构和用法;2.灵活应用各种算法语句编写程序.。
高中数学人教A版必修三 第一章《算法初步》 1.2.3 基本算法语句 循环语句
4.用WHILE语句编写程序的一般过程
(1)对变量进行初始赋值;
(2)确定执行循环体的条件;
(3)确定循环体;
(4)输出结果.
思考 答
(1)循环语句与条件语句有何关系? 循环语句中一定有条件语句,条件语句是循环语句的一部分,离
开条件语句,循环语句无法循环.但条件语句可以脱离循环语句单独存
在,可以不依赖循环语句独立地解决问题. (2)编写程序时,什么情况下使用循环语句?
i >5
课堂小结
应用循环语句编写程序要注意以下三点:
(1)循环语句中的变量一定要合理设置初始值.
(2)循环语句在循环的过程中需要有“结束”的语句,即有跳出循环的
机会.
(3)在循环中要改变循环条件的成立因素.
程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且
在步步逼近跳出循环体的条件.
返回
例4
解析答案
返回
当堂检测
1
2
3
4
5
1.下列四个程序框图中,能用UNTIL语句描述的是( A )
A
B
解析
UNTIL语句对应的程序是
先进入循环体,再判断条件是否 满足,若满足退出循环体,否则 再次进入循环体.
C
D
解析
5
2.关于WHILE语句的一般格式,下列说法正确的是( C ) A.总是执行循环体 B.执行一次循环体 C.条件为真时,执行循环体 D.遇到WEND就结束
i=1
S=0
DO
S=S+1/i
i=i+1
LOOP UNTIL
PRINT S
i>100
END
解析答案
题型二
当型循环语句 程序: i =2 m=1 WHILE i=i+2 i<=100 m=m*i
2019_2020学年高中数学第1章算法初步1_2_3循环语句课件新人教A版必修3
[解] 程序运行过程中,各变量值如下所示: 第 1 次循环:S=1×3,i=5, 第 2 次循环:S=1×3×5,i=7, 第 3 次循环:S=1×3×5×7,i=9, 第 4 次循环:S=1×3×5×7×9,i=11, 第 5 次循环:S=1×3×5×7×9×11,i=13,
第 6 次循环:S=1×3×5×7×9×11×13,i=15, 第 7 次循环:S=1×3×5×7×9×11×13×15,i=17, 其中判断框内应填入的数要大于 15 且小于等于 17.
[解] (1)程序如下:
s=0 i=1 DO
s=s+-1^i-1/i i=i+1 LOOP UNTIL i>1000 PRINT s END
(2)程序框图如图所示.
对 UNTIL 语句的几点说明 (1)直到型循环语句中先执行一次循环体,再判断条件是否满 足,以决定继续循环还是退出循环. (2)循环次数的控制往往是判断条件,在循环体内要控制条件 的改变,否则会陷入“死循环”. (3) 控 制 循 环 次 数 的 变 量 要 综 合 考 虑 初 始 化 时 和 LOOP UNTIL 后两处,若初始值为 1,则循环体中累加,若初始值为循 环的次数,则循环体中递减.
3.判断正误.(正确的打“√”,错误的打“×”) (1)UNTIL 语句中先进行条件判断,再执行循环体;WHILE 语句中先执行循环体,再进行条件判断.( ) (2)循环语句中一定有条件语句,条件语句中一定有循环语 句.( ) (3)直到型循环语句和当型循环语句执行循环体的次数都可 能是零.( )
[解] 程序框图如图.
程序如下:
i=1 DO
INPUT x IF x>40 THEN PRINT x END IF i=i+1 LOOP UNTIL i>10 END
2019_2020学年高中数学第一章算法初步1.2.3循环语句课件新人教A版必修3
(1)UNTIL 语句的适用类型 直到型循环又称“后测试”循环,也就是我们所讲的“先执行 后测试”“先循环后判断”. (2)使用 UNTIL 语句应关注两点 ①DO 语句只是循环的开始标记,遇到 DO 语句,接着执行后 面的循环体,在执行一次循环体后,再检查 LOOP UNTIL 语 句中的条件是否成立,如果不成立,就重复执行循环体,直到 条件符合时退出循环. ②在循环体内,应注意务必有相应的语句使“条件”改变,保 证能终止循环,否则循环将无休止地进行下去.
__W__E_N_D___
■名师点拨 (1)UNTIL 语句的理解 ①UNTIL 语句中,先执行一次循环体,然后进行条件的判断, 因此 UNTIL 语句中循环体执行的次数大于或等于 1. ②UNTIL 语句的结束标志与判断条件整合在一起,需要注意的 是,在循环体内,务必有相应的语句使“条件”改变,保证其 能终止循环,否则循环将无休止地进行下去.
编写一个程序,求满足 1+12+13+…+n1>10
的 n 的最小值.
解:用 WHILE 语句编写程序如下: S=1 n=1 WHILE S< =10 n=n+1 S=S+1/n WEND PRINT n END
用 UNTIL 语句编写程序如下: S=1 n=1 DO n=n+1 S=S+1/n LOOP UNTIL S>10 PRINT n END
【答案】 (1)A (2)990
若本例(2)的程序执行后输出的结果是 7 920,则 UNTIL 后的条 件“i<9”应该改为什么?
解:i=11 时,s=1×11=11; i=10 时,s=11×10=110; i=9 时,s=110×9=990; i=8 时,s=990×8=7 920; i=7 时,应终止循环,输出 s, 故 UNTIL 后的条件“i<9”应改为“i<8”(或“i<=7”).
2019-2020学年度高中数学第1章算法初步1-3基本算法语句1-3-4循环语句自我检测
——教学资料参考参考范本——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*i i←i+1End WhilePrint AEnd5.设计算法,计算下面n 个数的和. ,,,,…, .用伪代码表示算法.213243541+n n解:Read“n=”;n i←1 Sum←0 While i<=nSum←Sum+i/(i+1)i←i+1End WhilePrint“Sum=”;Sum End6.组合数公式可以用公式,设计一个用上述公式计算组合数的算法,用伪代码表示算法.!!!)(m n m n C m n -=解:Read“请输入m 和n 的值”;m,n i←1 p←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 WhilePrint“Sum=”;SumEnd8.求1!+2!+3!+…+20!的值,用伪代码表示.解:S←0T←1For N from 1 to 20T←T*NS←S+TEnd forPrint SEnd9.20xx年我国人口有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←0 h←100 S←S+hFor i From 2 to 10h←h/2 S←S+2*h EDN forPrint“第10次落地时共经过的路程为:”;S༊༉་更上一层1.用近似公式e=1++++…+求自然数e 的数值,取n=10(n 愈大,愈接近e 的真值),设计一算法,用伪代码表示.!11!21!31!n 1解:e←1 T←1For n from 1 to 10T←T*n e←e+T1End forPrint n, e End2.抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近于50%,试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率.解析:有一个随机函数rand( ),它能产生(0,1)之间的随机数,这样我们可以用大于0.5的随机数表示出现正面,否则表示出现反面,其流程图为:用伪代码表示:Read“输入次数”;nS←0t←1While t<nIf rand( )>0.5 thanS←S+1End Ift←t+1End WhilePrint“出现正面的频率”;S/nEnd。
高中数学第1章算法初步1.3基本算法语句1.3.4循环语句目标导引素材苏教版必修3
1.3.4 循环语句
一览众山小
诱学·导入
材料:“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”这首诗描绘的是诗仙李白买酒的情景.这首诗的意思是,李白壶中原来就有一些酒,每次遇到酒店就使壶中的酒增加一倍;每次看到花,他就饮酒作诗,喝去一斗.这样经过三次,最后把壶中的酒全部喝光了.
问题:壶中原有多少酒?
导入:
通过分析,我们可以看到计算时有一个递推式,是循环结构的体现,那如何用循环结构将其体现出来?
温故·知新
1.循环结构有几种形式?
循环结构有直到型循环和当型循环两种形式.
2.如何把流程图翻译成伪代码?
要把流程图翻译成伪代码,要注意几个符号框的特定意义与作用.具体设计算法,要分三部分:第一部分是输入部分,为程序运行提供必须的数据,第二部分是数据处理部分,按题目要求进行一系列的操作,得到结果,第三部分是输出部分,输出所求结果.。
2019_2020学年高中数学第一章算法初步1.2.3循环语句课件新人教A版必修3
22
263
当 i=3 时,S= 2 + 1 = 3 ,结束循环,此时输出 S= 3 .
3 12 4
4
(2)此程序是用于计算 1 + 1 +…+ 1 的值.
2 6 nn 1
(3)这是WHILE语句,对应的是当型循环结构.
答案:(1) 3 (2) 1 + 1 +…+ 1
(3)当
4
2 6 nn 1
课堂探究·素养提升
题型一 直到型(UNTIL)循环语句 [例1] 设计算法求2+4+6+…+100的值,要求画出程序框图,写出用基本语 句编写的程序.
解:程序框图及程序如图所示. NhomakorabeaS=0 k=2 DO
S=S+k k=k+2 LOOP UNTIL PRINT S END
k>100
方法技巧
(1)DO语句只是循环的开始标记,遇到DO语句,程序只是记住这个标记, 其他什么也不做,接着执行后面的循环体,在执行一次循环体后,再检 查LOOP UNTIL语句中的条件是否成立,如果不成立,就重复执行循环 体,直到条件符合时退出循环. (2)在循环体内,应注意务必有相应的语句使“条件”改变,保证能终 止循环,否则循环将无休止地进行下去.
解:程序如下.
i=1 P=1 S=0 WHILE i<=30
S=S+P P=P+i i=i+1 WEND PRINT S END
方法技巧
执行WHILE语句时,先判断条件,再执行循环体,然后再判断条件,再执 行循环体,反复执行,直至条件不满足.
即时训练2-1:读程序,回答下列问题:
2019_2020学年高中数学第1章算法初步1.2.3循环语句课件新人教A版必修3
自主预习 探新知
循环语句的格式,功能及相应的程序框图.
名称
直到型(UNTIL 语句)
当型(WHILE 语句)
DO 格式 循环体
WHILE 条件 循环体
__L_O_O__P_U_N__T_IL_________条件 _W__E_N_D___
先执行一次_D_O__和_U_N_T__IL__之间 先判断条件的真假,如果 的循环体,再判断 UNTIL 后的 条___件__仍__符__合_,则执行 WHILE
4.根据如图所示的程序框图写出相应的程序.
合作探究 提素养
WHILE语句的应用
【例 1】 如果执行下面程序后输出的结果是 132,那么在程序 中 WHILE 后面的条件应为( )
A.i>11 C.i<=11
B.i>=11 D.i<11
思路点拨:运行程序寻找规律,进而确定条件.
B [由题意 S=1,i=12,满足条件;S=1×12=12,i=12-1 =11 满足条件;S=12×11=132,i=10,由题意此时应输出 S 值, 即不满足条件,退出循环,故 WHILE 后条件应为“i>=11”.]
3.下面程序的运行结果是________.
15 [第一次循环,S=0×2+1=1,i=2;第二次循环,S=1×2 +1=3,i=3;第三次循环,S=3×2+1=7,i=4;第四次循环,S =7×2+1=15,i=5,终止循环,输出 S 值为 15.]
4.下列程序的运行结果是________.
3 [第一次循环 x=110,i=2;第二次循环,x=120,i=3,终 止循环,输出 i 的值为 3.]
(3)当
[(1)输入 n=3,当 i=1 时,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。