1.2.3循环语句1.2.3循环语句课堂互动讲练知能优化训练课前自主学案学习目标1.经历将具体问题的程序框图转化为程序语句的过程,理解循环语句的作用,进一步体会算法的基本思想.2.掌握while语句和for语句的一般格式及使用规则,在实际问题中能灵活选择合适的循环语句编写Scilab语句.课前自主学案条件语句的一般格式:①________________格式;②___________格式.温故夯基if-else-endif-end1.循环语句用来实现算法中的____________2.循环语句主要有两种类型,_________和_____________3.for循环的一般格式为知新益能循环结构.for循环while循环.4.while循环的一般格式为while表达式循环体;end思考感悟在for循环和while循环中,“end”的作用是什么?提示:“end”的作用是控制结束一次循环,开始一次新的循环.课堂互动讲练for语句的应用考点突破例1编写程序求12+14+…+1100的值.【思路点拨】从题目可以看出,分母是有规律递增的,可以引入累加变量S和循环变量i,且S=S+1i是反复进行的,可用循环结构及语句来描述算法.【解】程序为:S=0;fori=2:2:100S=S+1/i;endprint%io2,S;【名师点评】用for循环语句描述某一类问题的程序,其关键是根据问题确定循环变量的初值、步长和终值.变式训练1编写一个程序,求13-23+33-43+…+993-1003的值.解:程序如下:while语句的应用例2写出求满足1+2+3+…+n>2011的最小的自然数n的程序,并画出其程序框图.【思路点拨】由题目可获取以下主要信息:①已知关于n的不等式.②求适合不等式的最小自然数n.③写出程序语句并画出其程序框图.解答本题的关键是依据题目中的“累加”,用循环语句实现,循环的条件是累加和大于2011.【解】程序框图为:程序为:S=0;i=1;whileS<=2011S=S+i;i=i+1;endn=i-1;n【名师点评】用while语句编写程序时,要注意while后面的条件,只要条件为真就执行循环体.变式训练2画出一个计算1+2+3+…+1000的值的程序框图,并用循环语句编写程序.解:程序框图如图所示程序如下:i=1;S=0;whilei<=1000S=S+i;i=i+1;endprint%io2,S;程序框图与程序的对译例3根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能.n=1;S=1;whileS5000S=S*n;n=n+1;endn=n-1;print%io2,n;【思路点拨】可以发现这也是一个利用while循环语句编写的程序,从S=1,n=1开始,第一次循环求1×1,第二次求1×2,第三次求1×2×3,…,第n次是求1×2×3×…×n,因此该程序是求使1×2×…×n5000的最大整数.【解】该算法的程序框图如图所示.该算法的功能是求使1×2×…×n5000的最大正整数.【名师点评】由程序语言可知此程序是循环语句,根据程序语言中的循环结构,按顺序画出程序框图.变式训练3根据下面的程序,画出其算法的程序框图.i=-1;whilei=1x=i;y=x*x*x;i=i+0.2;print%io2,y;end解:该算法的程序框图如图所示.1.循环语句主要有两种形式,即for语句与while语句,for语句主要适用于预知循环次数的循环结构;而循环次数不确定时,则要用while循环语句.2.理解for循环的关键是理解计算机如何执行程序语句中第三步“s=s+i”,这个执行过程实际上是每次循环赋给s的值都比上一步增加一个“步长”,如此循环直至结束.而while循环则是每次执行循环体之前,都要判断表达式是否为真,这样重复执行,直至表达式为假时跳过循环体部分而结束循环.方法感悟3.在Scilab界面内可直接输入程序,for(while)语句可写在同一行,但要在循环条件后用“,”号分开,也可以分行写,但要记住加end.