人教课标版高中数学必修三《基本算法语句(第3课时)》教案-新版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.3 循环语句
一、教学目标
1.核心素养
通过学习循环语句,初培养学生基本的数学抽象、数学建模和数据处理能力.2.学习目标
(1)理解循环语句的两种形式,能读懂包含循环语句的算法代码;
(2)能正确运用循环语句表达解决具体问题的过程;
(3)通过具体实例算法设计,培养学生逻辑思维能力与表达能力,进一步体会算法思想.
3.学习重点
(1)循环语句的表示方法、结构和用法;
(2)由程序框图转化为程序语句时,条件结构和循环结构的区别.
4.学习难点
(1)将具体问题的程序框图转化为程序语句的过程;
(2)当型循环和直到型循环在格式、逻辑方面的区别与联系.
二、教学设计
(一)课前设计
1.预习任务
任务1
阅读教材P29—P32,思考:循环语句的功能是什么?它有怎样的格式要求?
任务2
举两个循环结构的算法例子,画出程序框图,并进一步写成程序语言.
2.预习自测
1.WHILE语句的一般格式为( )
A.IF条件—WHILE—循环体—END
B.IF条件—语句1—ELSE—语句2—END IF
C.WHILE—循环体—WEND
D.WHILE—条件—循环体—WEND
【解析】当计算机遇到WHILE语句时,先判断条件的真假,若条件符合,就执行循环体,若条件不符合,则不执行循环体,直接跳到WEND后的语句.故WHILE
语句的格式为WHILE—条件—循环体—END,故D正确.
解:D
2.运行下面的程序,执行后输出的s的值是
A.11 B.15 C.17 D.19
【解析】本题是一道关于循环结构的问题,需要借助循环结构的相关知识进行解答.第一次:i=3,s=7,满足循环条件因而继续循环;第二次:i=5,s=11,满足循环条件因而继续循环;第三次:i=7,s=15,不满足循环条件,循环终止,输出s,即s=15.故选B.
解:B
3.下列循环语句,循环终止时,.
【解析】本题是一道关于循环语句的题目,需结合循环语句仔细分析进行求解.该循环语句是直到型循环语句,
当条件i>4开始成立时,循环终止,则i=5.
解:5
(二)课堂设计
1.知识回顾
(1)条件语句的基本格式:(IF-THEN-ELSE格式)
当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2.其对应的程序框图为:(如上右图)
在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式)
计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:(如上右图) 2.问题探究
问题探究一 为什么要学习循环语句?
●活动一 复习与思考,了解学习条件语句的必要性 引例1 设计求1+3+5+7+…+99的算法的程序框图.
分析:可设置一个循环结构来实现连加,注意循环的次数和累加变量的取值. 详解:直到型算法如下: 第一步,S =0. 第二步,i =1. 第三步,S =S +i . 第四步,i =i +2.
IF 条件 THEN
语句 END IF
第五步,若i不大于99,则返回重新执行第三步、第四步、第五步,否则执行第六步.
第六步,输出S值.
程序框图如图所示.
当型循环算法如下:
第一步,S=0.
第二步,i=1.
第三步,当i≤99时,转第四步,否则输出S.
第四步,S=S+i.
第五步,i=i+2,并转入第三步.
相应程序框图如图所示.
想一想:若要利用计算机编程来求自然数1+2+3+……+99的和的话,就要将算法程序框图写成计算机程序,以我们前面所学的输入、输出语句、赋值语句和条件语句能不能满足“我们日益增长的物质需要”呢?
由于该程序框图中有循环结构,故仅仅用输入、输出语句、赋值和条件语句还不能能写出这个程序!故应进一步学习循环语句.
问题探究二
●活动一 循环语句的格式与功能
算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构.即WHILE 语句和UNTIL 语句. (1)WHILE 语句的一般格式是:
其中循环体是由计算机反复执行的一组语句构成的.WHLIE 后面的“条件”是用于控制计算机执行循环体或跳出循环体的.
WHILE 条件
循环体 WEND
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.因此,当型循环有时也称为“前测试型”循环.其对应的程序结构框图为:(如上右图)
(2)UNTIL语句的一般格式是:
其对应的程序结构框图为:(如上右图)
想一想:直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?
从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.
●活动二初步应用,写出循环结构的算法程序
引例2 若1+2+3+4+5+…+n>2 014,试设计一个程序,寻找满足条件的最小整数n.
详解:UNTIL语句(直到型循环结构)如下:
WHILE语句(当到型循环结构)如下:
DO
循环体
LOOP UNTIL 条件
练习:你能根据程序框图写出引例2中的两种算法程序吗?(解略)
问题探究二
●活动一初步运用,循环语句的识别
例1 在下面的程序运行中,计算机输出的结果是________.
【知识点:算法的循环语句】
详解:根据题意,程序对20每次减3,直至小于0为止,当循环到第6次时,x =2,此时仍不符合条件,故x变为-1,至此x<0,满足条件,结束循环.
例2 下列程序:
执行完毕后a的值为( )
A.99 B.100 C.101 D.102
【知识点:算法的循环语句】
解:B
●活动二根据条件程序框图写程序
例3 设计算法求
1111 12345620132014
++++
⨯⨯⨯⨯
…的值.
要求画出程序框图,写出用基本语句编写的程序.
【知识点:算法的循环语句】
详解:这是一个累加求和问题,共1 007项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如图所示.
程序如下:
点拨:编写此类问题的程序,要把握以下几点:
①循环体要正确,尤其要注意循环体中的变量是否齐全.
②循环条件要正确,条件与初始值要对应.
③程序语句的格式要正确,循环结束时要有LOOP UNTIL,程序结束时要有END.例4 编写程序求n!=1×2×3×…×n.(其中正整数n由键盘输入).
【知识点:算法的循环语句】
详解:程序框图如下:
方法一:方法二:
程序如下:
方法一: 方法二:
点拨:当型循环语句中的WHILE 和WEND 成对出现.计算机执行当型循环语句
时,先判断条件的真假,若条件为真,执行循环体,若为假则退出.这是确定是否应用当型语句的关键. 3.课堂总结 【知识梳理】
(1)WHILE 语句(当型)的一般格式是:
(2)UNTIL 语句(直到型)的一般格式是:
【重难点突破】
(1)直到型语句只是循环的开始标记,遇到DO 语句,程序只是记住这个标记,其他什么也不做,接着执行后面的循环体,在执行一次循环体后,再检查LOOP 语句中的条件是否成立.如果不成立,就重复执行循环体,直到条件符合时退出循环.
(2)当型循环以WHILE 开头,以WEND 作为结束标志.WEND 是WHILE END 的缩写,表示“WHILE 循环到此结束.” 4.随堂检测
1.有如图程序段,其中描述正确的是( )
A .WHILE 循环执行10次
B .循环体是无限循环
C .循环体语句一次也不执行
D .循环体语句只执行一次 【知识点:算法的循环语句】
【解析】判断k =8是否满足k =0,显然不满足,故不执行循环,所以循环体语句一次也不执行.
WHILE 条件
循环体 WEND
DO
循环体
LOOP UNTIL 条件
解:C
2.下列程序运行后输出的结果为( )
A.1 B.3 C.5 D.7
【知识点:算法的循环语句】
【解析】该程序执行过程是:
i=1,i=1<5满足,
i=1+2=3;
i=3<3满足,
i=3+2=5;
i=5<5不满足,
输出i的值为5.故选C.
解:C
3.下面程序运行后输出的结果是________.
【知识点:算法的循环语句】
【解析】每循环一次,x与i均增加1,直到i>5时为止,所以输出结果为6. 解:6
4.在下面的程序运行中,计算机输出的结果是_____.
【知识点:算法的循环语句】
【解析】当循环6次后,x的值为20-18=2,此时2<0不成立,因此再循环一次,所以得到的x的值为2-3=-1,-1<0,满足条件,所以结束循环,输出-1.
解:-1
(三)课后作业
基础型自主突破
1.下列说法中正确的是( )
A.WHILE循环和UNTIL循环结构相同
B.WHILE循环结构首先要求对表达式进行判断,若表达式为真,则执行循环体部分
C.WHILE循环每次开始执行循环体前,都要判断表达式是否为假D.WHILE循环每次开始执行循环体前,都要判断表达式是否为假,这样重复执行,一直到表达式值为真时,就跳过循环体部分,重新判断表达式的值,直到循环结束
【知识点:算法的循环语句】
【解析】WHILE语句有两种形式,当型循环和直到型循环,正确理解它们的结构特点,可知B正确.
解:B
2.下面的程序运行后,输出的结果为( )
A.13,7 B.7,4 C.9,7 D.9,5
【知识点:算法的循环语句】
【解析】执行程序,s=2×1-1=1时,i=1+2=3,s=2×3-1=5时,i=3+2=5;s=2×5-1=9时,i=5+2=7,所以s=9,i=7.
解:C
3.以下给出求1×3×5×…×99的值的四个程序,其中正确的有( )
A.①③B.②④C.①④D.②③
【知识点:算法的循环语句】
【解析】本题主要考查循环结构的程序框图,解答此题的关键在于找准循环终止条件.首先由已知条件,设计计算1×3×5×…×99的一个算法程序知,S为累乘的形式,即S=S*i.其后为循环终止条件,故判断框内的条件可为:i>99;然后转化成循环语句.
解: C
4.下列程序运行后输出的结果为( )
A.50 B.5 C.25 D.0
【知识点:算法的循环语句】
【解析】本程序的功能是求a+j被5除所得的余数,程序第一次运算后,a=2,j=2;第二次运算后,a=4,j=3;第三次运算后,a=2,j=4;第四次运算后,a=1,j=5;第五次运算后,a=1,j=6.故选D.
解:D
5.已知程序如下,则( )
A.输出结果是-8 B.只能执行二次循环
C.能执行三次循环D.语法错误,是死循环
【知识点:算法的循环语句】
【解析】该程序求解的是x3,当x大于6时,输出,当输入-2时,x3还是一个负数,负数的三次方永远都是负数,故该程序是一个死循环.
解:D
能力型师生共研
6.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的“条件”应为( )
A.i>11 B.i>=11 C.i<=11 D.i<11
【知识点:算法的循环语句】
【解析】因为输出的结果是132,即s=1×12×11,需执行2次,则程序中UNTIL 后面的“条件”应为i<11.故选D.
解:D
8.用UNTIL语句编写程序,计算
1111
1223341920
++++
++++
…的值.程序如下:
请将程序补充完整,横线处应填________.
【知识点:算法的循环语句】
【解析】很明显,横线处是循环终止的条件,由于该循环语句是直到型循环语句,则满足该条件时循环终止,故填i>19(或i>=20).
解:i>19
9.下面是一个用于计算
1111
1223342021
++++
⨯⨯⨯⨯
…的程序,则①处应填的语
句是________,②处应填的语句是________.
【知识点:算法的循环语句】
【解析】累加求和需用赋值语句“1(1)
s s i i =+
+”,控制执行循环条件需要用赋值语句“i =i +1”. 解:1(1)s s i i =++;i =i +1 探究型多维突破
10.如图是计算1111232012232012
+++++++…的值的程序框图.
(1)图中空白的判断框内应填________,执行框内应填________.
(2)写出与程序框图相对应的程序.
【知识点:算法的循环语句】
【解析】(1)本题考查的知识点是程序框图,由已知得本程序的作用是计算1111232012232012
+++++++…的值,由于第一次执行循环时的循环变量初值为2,步长为1,最后一次执行循环进循环变量值为2012,根据利用循环结构进行累加的方法,不难得出结论.(2)先判定循环的结构,然后选择对应的循环语句,
对照流程图进行逐句写成语句即可.解:(1)判断框:i<=2012?或i<2013?
执行框:
1 S S i
i =++
(2)程序如下:
程序框图如图所示:
11.给出某班50名学生的数学测试成绩,60分及以上为及格,要求统计及格人数、及格人数的平均分、全班同学的平均分,画出程序框图,并写出程序语句. 【知识点:算法的循环语句】
【解析】本道题主要考查了循环结构的知识点,循环结构是算法的三种逻辑结构之一,循环结构一般有两种表示方法:一是直到型,二是当型循环结构.要解决本道题,关键是确定循环结构的循环体和循环结束变量的值,据此即可得到答案. 解:程序框图如图:
程序如下:
1.如图,给出四个框图,其中满足WHILE语句结构的是( )
A.①②B.②③C.②④D.③④
【知识点:算法的循环语句】
【解析】本题考查算法的循环语句,循环语句是由循环体及循环的终止条件两部分组成的.每次执行循环体前都要对条件表达式进行判断,满足条件的只有②③,答案选B.
解:B
2.读程序回答问题.
对甲乙两程序和输出结果判断正确的是( )
A.程序不同,结果不同B.程序不同,结果相同
C.程序相同,结果不同D.程序相同,结果相同
【知识点:算法的循环语句】
【解析】程序甲是计数变量i从1开始逐步递增直到i=1000时终止,累加变量从
0开始,这个程序计算的是:1+2+3+…+1000;程序乙计数变量从1000开始逐步
递减到i=1时终止,累加变量从0开始,这个程序计算的是1000+999+…+1.但这两个程序是不同的.两种程序的输出结果都是:S=1+2+3+…+1000=100500.
故选B.
解:B
3.下列程序的功能是( )
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
【知识点:算法的循环语句】
【解析】执行该程序可知S=1×3×5×…×i,当S≤2 012开始不成立时,输出i,则求满足1×3×5×…×i>2 012的最小整数i.
解:D
4.以下程序运行后输出的结果为( )
A.17,8 B.21,7 C.21,11 D.19,11
【知识点:算法的循环语句】
【解析】第一次循环得i=3,S=2×3+3=9,i=3+3=6.第二次循环得i=8,S =2×8+3=19,i=8+3=11.此时i>8,所以,输出S=19,i=11.
解:D
5.下列程序,若输入a=3,b=-1,n=5,则输出的是________.
【知识点:算法的循环语句】
【解析】根据题意可得:当i>5-2时程序跳出,故我们一步一步进行推导:
第一次循环:c=a+b=2,a=b= -1,b=c=2,i=2 ;
第二次循环:c=1,a=2,b=1,i=3;
第三次循环:c=3,a=1,b=3,i=4>3,此时程序跳出,故输出值为3;
故答案为:3.
解:c=3
6.下面是求满足
1
(1)1000
2
n
>的最小正整数n的程序,空白处应填________.
【知识点:算法的循环语句】
【解析】该题是求满足条件的最小的正整数n的程序框图,难度在于正确识别框图的结构功能,根据功能结构分析程序运行的一些具体条件,最终条件是程序结束的标志,即可得出答案.
解:i-1
7.用WHILE语句写出求1+21+22+…+263的值的程序.
【知识点:算法的循环语句】
【解析】用WHILE语句时,要弄清循环的条件,以及利用语句s=s+2^i,i=i+1作为循环体,循环条件是:i<=63.最后根据WHILE语句格式即可写出.
解:算法步骤如下:
第一步,令i=0,S=0.
第二步,P=2i,S=S+P,i=i+1.
第三步,如果i≤63,那么返回第二步;否则,执行第四步.
第四步,输出S.
程序如下:
8.程序:
要使上述程序能运算出“1+2+…+100”的结果,需将语句“i=i+1”加在
________处.
【知识点:算法的循环语句】
【解析】根据程序运行后输出的是“1+2+…+100”,判断出两个赋值语句S=S+i,i=i+1,根据累加的表达式,判断出i=i+1应该在S=S+i后并且在循环体内,从而得出答案.
解:③
9.根据框图,写出程序.
【知识点:算法的循环语句】
【解析】本题考查循环结构的程序框图转化为程序,解答本题时根据程序框图各部分的含义,写出对应程序语句,即可得出答案.
解:程序如下:
10.编写程序求2×4×6×…×100的值(用两种方法).
【知识点:算法的循环语句】
【解析】根据已知中程序功能,知这是一个可能利用循环进行累计运算得到结果,根据程序框图中各语句的功能,即可写出程序语句.本题中求100以内所有偶数的乘积,可根据偶数两种不同的表示方法,得出两种程序.
解:程序如下:。