- 2021-06-16 发布 |
- 37.5 KB |
- 6页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
人教A高中数学必修三 循环语句目标导学
1.2.3 循环语句 1.了解两种循环语句的格式及其执行过程,明确各自终止循环的条件. 2.能用循环语句编写程序解决有关问题. 1.直到型循环语句 (1)格式: (2)执行过程:首先执行一次循环体,再判断条件,如果____条件,那么就结束循环,执行LOOP UNTIL之后的语句;如果______条件,继续执行循环体,执行完循环体后,再判断条件,如果仍然不满足条件,再次执行______,直到满足条件循环终止.直到型循环语句又称UNTIL语句. (3)程序框图:对应的直到型循环结构如图所示. 【做一做1】 下列循环语句,循环终止时,i等于( ) i=1 DO i=i+1 LOOP UNTIL i>4 A.3 B.4 C.5 D.6 2.当型循环语句 (1)格式: (2)执行过程:首先判断条件,如果______条件,那么就结束循环,执行WEND之后的语句;如果____条件,继续执行循环体;执行完循环体后,再判断条件,如果仍然满足条件,再次执行______,这个过程反复进行,直到不满足条件循环终止.当型循环语句又称WHILE语句. (3)程序框图:对应的当型循环结构如图所示. 【做一做2】 下列循环语句,循环终止时,i等于( ) i=1 WHILE i<3 i=i+1 WEND A.2 B.3 C.4 D.5 答案:1.(1)条件 (2)满足 不满足 循环体 【做一做1】 C 该循环语句是直到型循环语句,当条件i>4开始成立时,循环终止,则i=5. 2.(1)条件 (2)不满足 满足 循环体 【做一做2】 B 该循环语句是当型循环语句,当条件i<3开始不成立时,循环终止,则所求i=3. 两种循环语句的区别 剖析:(1)直到型循环语句是先执行(循环体),后判断(条件),而当型循环是先判断(条件),后执行(循环体). (2)直到型循环语句是条件不满足时执行循环体,条件满足时结束循环;而当型循环是当条件满足时执行循环体,不满足时结束循环. (3)直到型循环结构至少执行一次循环体,而当型循环结构可能一次也不执行循环体. (4)在设计程序时,一般说来,这两种语句用哪一种都可以,但在某种限定条件下,有时用WHILE语句较好,有时用UNTIL语句较好. (5)从对应的程序框图来加以区分,它们对应的程序框图如图(1)和图(2)所示. 直到型循环结构 (1) 当型循环结构 (2) 题型一 编写程序 【例题1】 设计一个算法,求1 000以内能被3整除的正整数的和,写出算法分析,画出程序框图,并编写程序. 分析:第1个能被3整除的正整数为3,以后每个数比前一个数大3,最后一个数要比1 000小,因此要用循环结构来设计算法. 反思:设计含有重复步骤的算法,常利用循环语句来编写程序,其步骤是:①设计算法分析,要注意累加(乘)变量和计数变量的初始值;②画出含有循环结构的程序框图;③用循环语句编写程序.当型循环语句和直到型循环语句一般可以相互转换,如本题也可用直到型循环语句来设计. 题型二 易错辨析 【例题2】 对任意正整数n,设计一个程序求S=1+++…+的值. 错解:程序如下: INPUT n i=1 S=0 DO i=i+1 S=S+1/i LOOP UNTIL i>=n PRINT S END 错因分析:第一次执行S=S+1/i时,i的初始值经i=i+1后,已经变为2,则S=0+,这样所求的S=++…+,而不是S=1+++…+,其原因是先执行i=i+1,后执行S=S+1/i,要把i的初始值变为0才行. 答案: 【例题1】 解:算法分析: 第一步,令i=3,S=0. 第二步,若i<1 000,则执行第三步;否则,输出S. 第三步,S=S+i,i=i+3,返回第二步. 程序框图如图所示. 程序如下: i=3 S=0 WHILE i<1 000 S=S+i i=i+3 WEND PRINT S END 【例题2】 正解:程序如下: INPUT n i=0 S=0 DO i=i+1 S=S+1/i LOOP UNTIL i>=n PRINT S END 1.有人编写了下列程序,则( ) x=-1 DO x=x^2 LOOP UNTIL x>10 PRINT x END A.输出结果是1 B.能执行一次 C.能执行10次 D.是“死循环”,有语法错误 2.下列程序中循环体运行次数是( ) i=40 DO PRINT i i=i+10 LOOP UNTIL i>90 END A.4 B.5 C.6 D.60 3.下列程序的功能是( ) S=1 i=1 WHILE S<=2 012 i=i+2 S=S*i WEND PRINT i END A.计算1+3+5+…+2 012 B.计算1×3×5×…×2 012 C.求方程1×3×5×…×i=2 012中的i值 D.求满足1×3×5×…×i>2 012的最小整数i 4.下面程序运行的结果是________. i=1 S=0 DO S=S+2*i i=i+2 LOOP UNTIL i>5 PRINT S END 5.试用算法语句表示:寻找满足1+2+3+…+n>10 000的最小整数n的算法. 答案:1.D 从循环语句的格式看,这个循环语句是直到型循环语句,当满足条件x>10时,终止循环.但是第一次执行循环体后x=1,由于x=1>10不成立,则再次执行循环体,执行完成后x=1,则这样无限循环下去,是一个“死循环”,有语法错误,循环终止的条件永远不能满足. 2.C 循环体第1次运行后,i=50,第2次运行后,i=60,第3次运行后,i=70,第4次运行后,i=80,第5次运行后,i=90,第6次运行后,i=100>90开始成立,循环终止,则共运行了6次. 3.D 执行该程序可知S=1×3×5×…×i,当S≤2 012开始不成立,即S>2 012开始成立时,输出i,则求满足1×3×5×…×i>2 012的最小整数i. 4.18 该程序的执行过程是: i=1 S=0 S=0+2×1=2 i=1+2=3 i=3>5不成立 S=2+2×3=8 i=3+2=5 i=5>5不成立 S=8+2×5=18 i=5+2=7 i=7>5成立 输出S=18. 5.解:程序如下: S=0 n=0 WHILE S<=10 000 n=n+1 S=S+n WEND PRINT n END查看更多