普通高中课程标准数学3(必修)1.2.3循环语句第一章算法初步问题提出1.两种条件语句的一般格式分别是什么?格式2:if条件语句系列1;else语句系列2;end格式1:if条件语句系列1;end一、复习引入我们已经学习了输入、输出语句、赋值语句和条件语句,并且能根据结构框图转化为程序语句,从而能在计算机上执行,得到问题的结果。本节课我们学习用循环语句表示算法中的循环结构。实际问题中有很多重复计算的问题,比如求的值,计算量非常大,人们付出了艰辛的劳动。现在,随着计算机的出现,人们可以把这些复杂的重复计算交给电脑来做,从而使人们从繁重的劳动中解脱出来。在计算机中,循环结构是由循环语句来实现的。二、提出问题Scilab设计语言中给我们提供了处理循环结构的语句那就是:算法中的循环结构是由循环语句来实现的,下面我们就系统地加以研究循环语句的基本格式和应用。三、概念形成概念1.循环语句回忆两种循环结构:循环体满足条件?否是循环体满足条件?否是执行一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环。在每次执行循环体前,对条件进行判断,当条件满足,执行循环体,否则终止循环。一、for循环语句for循环语句的一般格式:for循环变量=初值:步长:终值循环体end这是一种“直到型”循环结构。三、概念形成概念1.循环语句对应于程序框图中的两种循环结构,一般程序设计语言中也有直到型(FOR型)和当型(WHILE型)两种语句结构比如,求1+2+3+…+1000=?在Siclab语言中,可以利用如下程序s=0;fori=1:1:1000s=s+i;endsFor循环变量=初值:步长:终值循环体end三、概念形成概念1.循环语句对应于程序框图中的两种循环结构,一般程序设计语言中也有直到型(FOR型)和当型(WHILE型)两种语句结构求1+2+3+…+1000=?在Siclab语言中,也可以利用如下程序s=0;i=1;whilei<=1000;s=s+i;i=i+1;endswhile表达式循环体endFor循环变量=初值:步长:终值循环体end循环语句的一般格式:三、概念形成概念1.循环语句while表达式循环体end根据循环变量的初值、步长、终值进行循环。首先要对表达式进行判断,如果表达式为真,则执行循环体部分,每次开始执行循环体前都要判断表达式是否为真。三、概念形成概念2.条件语句①“for循环语句”是在循环次数已知时使用的循环,在循环的次数未知时不能使用。②“while循环语句”是在未知循环次数的条件下进行的循环,也可以在循环次数已知的循环中使用。注意事项:四、应用举例例1.设计计算:2×4×6×…×100的程序用for语句i=2;s=1;whilei<=100;s=s*i;i=i+2;endss=1;fori=2:2:100;s=s*i;ends用while语句四、应用举例例2.某玩具厂2008年的生产总值为200万元,如果计划今后每年的年增长率为5%。计算最早能在哪一年年生产总值超过300万元?写出算法程序。解:依题意,从2008年开始,经过x年后生产总值为因此可以把2008年的生产总值赋给a,然后对其进行累乘,用n作为计数变量,进行循环直到a的值超过300万元。程序为:n=2008;a=200;p=1.05;whilea<=300;a=a*p;n=n+1;endn00200x(1+5)四、应用举例例3.计算111111...23499100s=0;h=0;fori=1:2:99;s=s+1/i;endfori=2:2:100;h=h+1/i;endm=s-h;print(%io(2),m)111111....23499100四、应用举例例3.计算111111...23499100s=0;fori=1:1:100s=s+((-1)^(i+1))/i;endss=0;p=-1;fori=1:1:100p=(-1)*p;s=s+p/i;ends五、课堂练习思考思考??1.对任意自然数n,编程求n!课本第25页,练习A,1,2,3,4n=input("pleaseinputn:")k=n;s=1;fork=n:-1:1s=s*k;endprint(%io(2),s)六、课堂总结①循环语句的两种不同形式:FOR语句和WHILE语句,掌握它们的一般格式理解循环结构的逻辑。②在用FOR语句和WHILE语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法。③循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。如累加求和,累乘求积等问题中常用到。七、布置作业课本第25页,练习B,1,2,3,4弹性作业:课本26页,习题1-2A,B下课