1、第一章11.2 程序框图与算法的基本逻辑结构第3课时循环结构、程序框图的画法思路方法技巧命题方向1累加、累乘问题算法的程序框图例1 设计程序框图,计算1234n的值解析 这是一个累乘问题,重复进行了n1次乘法,可以用循环结构描述,需引入累乘变量mul和计数变量i,这里每一次循环mul与i的值都在改变先用自然语言描述:第一步:输入n的值,设mul的值为1;第二步:设i的值为2;第三步:如果in执行第四步,否则转去执行第七步;第四步:计算mul乘i并将结果赋给mul;第五步:计算i加1并将结果赋给i;第六步:转去执行第三步;第七步:输出mul的值并结束算法根据自然语言描述,程序框图为图(A)将算法
2、稍加修改可得另一种循环形式如图(B)规律总结:在循环结构中,要注意根据条件设置合理的计数变量,累加(乘)变量,累加变量初始值一般为0,累乘变量的初始值一般为1.本题容易把循环终止的条件写错;把图(1)中的条件写成in?而图(2)中的条件写成in?,其原因是混淆了当型循环结构与直到型循环结构终止循环的条件设计程序框图,计算123100的值解析 直到型循环结构程序框图和当型循环结构程序框图 建模应用引路例2 在某次田径比赛中,男子100米A组有8位选手参加预赛,成绩(单位:秒)依次为:9.88,10.57,10.63,9.90,9.85,9.98,10.21,10.86.请设计一个算法,在这些成绩
3、中找出不超过9.90秒的成绩,并画出程序框图解析 算法步骤:第一步:把计数变量n的初值设为1.第二步:输入一个成绩x,判断x与9.90的大小:若x9.90,则执行下一步;若x9.90,则输出x,并执行下一步第三步:使计数变量n的值增加1.第四步:判断计数变量n的值与成绩个数8的大小,若n8,则返回第二步,否则结束程序框图如图所示以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来并画出程序框图分析 用条件分支结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个累加
4、变量,分别计算高于80分的成绩的总和和人数解析 程序框图如图所示规律总结:本题的算法设计中用了条件分支结构、循环结构条件分支结构用于判断输入的数是否大于80,循环结构用于控制输入的数的个数与80分以上的成绩总和累加,这里用变量i作为计数变量由此可见,在设计算法时,循环结构和条件分支结构可以综合运用,在综合运用过程中,它们可以并行运用,也可以嵌套运用(本例就是循环结构中嵌套条件分支结构,还可以是循环结构与循环结构的嵌套运用)命题方向程序框图的读图问题例3(20112012吉林模块检测)如图,已知某算法的程序框图如图所示,若将输出的(x,y)值依次记为:(x1,y1)、(x2,y2)、(xn,yn
5、)、.(1)若程序运行中输出的一个数组是(t,8),则t_;(2)程序结束时,共输出(x,y)的组数为_解析 由图可知,对于xn满足xn3xn1,对于yn有ynyn12.输出的数依次为(1,0),(3,2),(9,4),(27,6),(81,8),(1)若输出的一个数组是(t,8),则t81.(2)n起始值为1,依次增加2,当n2010时,共运行了1005次,共输出(x,y)1005组答案(1)81(2)1005规律总结:此类题容易在循环体执行的次数上出错,搞不清楚最后一个数据到底是多少,做题时希望大家细心按如右图所示的程序框图运算,若输入x6,则输出k的值是()A3 B4C5 D6答案 B解
6、析 输入x6后,该程序框图的运行过程是:输入x6,k0,x26113,k011,x13100否;x213127,k112,x27100否;x227155,k213,x55100否;x2551111,k314,x111100是,输出k4.名师辩误做答例(2010天津高考)阅读下图所示的程序框图,若输出s 的值为7,则判断框内可填写()Ai3?Bi4?Ci5?Di6?错解 C错因分析 i1,s2;s211,i123;s132,i325;s257,由题意,知s7,故应填“i5?”故选C.思路分析 i1,s2;s211,i123;s122,i325;s257,i527,则判断框内应填“i6?”,故选D.正解 D