高中数学 第一章 算法初步 113 算法的三种基本逻辑结构和框图表示教案 新人教B版必修3文档格式.docx
《高中数学 第一章 算法初步 113 算法的三种基本逻辑结构和框图表示教案 新人教B版必修3文档格式.docx》由会员分享,可在线阅读,更多相关《高中数学 第一章 算法初步 113 算法的三种基本逻辑结构和框图表示教案 新人教B版必修3文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
1000的值的算法,并画出程序框图.
本算法若是只采用顺序结构,要一个一个地累乘,需千余步,考虑到运算过程的重复性,引入循环结构,同时设计计数变量和累乘变量来控制循环,因为是乘法运算,所以累乘变量的值不能从0开始,要从1开始,计数变量的值从2开始增至1000.
S1 p=1;
S2 i=2;
S3 p=p×
i;
S4 i=i+1;
S5 如果i>1000,那么转到S6;
否则执行S3;
S6 输出p.
程序框图如下图所示.
反思因本程序框图是先循环后判断,所以它的循环结构是直到型循环.p是累乘变量,i是计数变量,p=1和i=2的先后顺序没有要求.
题型三利用循环结构求最值
【例3】看下面的问题:
1+2+3+…+( )>10000.这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数字只需大于或等于n0即可.试写出寻找满足条件的最小正整数n0的算法,并画出相应的算法程序框图.
由于10000是一个较大的数,用试或猜的办法是行不通的,因此需设计一个循环结构的程序框图来解决.
算法一:
S1 p=0;
S2 i=0;
S3 i=i+1;
S4 p=p+i;
图1
S5 如果p>10000,则输出i,否则执行S3.
该算法的程序框图如图1所示.
算法二:
S1 取n的值等于1;
S2 计算S=
;
S3 如果S的值大于10000,那么n即为所求;
否则,让n的值增加1,然后转到S2重复操作.
根据以上的操作步骤,可以画出如图2所示的算法程序框图.
图2
题型四易错辨析
【例4】设计一个程序框图求S=12+32+52+…+992的值.
错解:
如图
(1),图
(2)所示.
错因分析:
图
(1)的错误在于i=i+1,计算的是S=12+22+32+…+992的结果.图
(2)的错误在于先执行i=i+2,而后执行S=S+i2,计算的是S=32+52+72+…+992+1012的结果.
正解:
如下图所示.
【例5】已知S=1×
22+2×
23+3×
24+…+10×
211,画出计算S的程序框图.
程序框图如下所示.
错误的原因是程序框图对所计算出来的值无法实现累加.
2019-2020年高中数学第一章算法初步1.2基本算法语句1.2.2条件语句教学案新人教A版必修3
预习课本P25~29,思考并完成以下问题
(1)条件语句的格式、功能分别是什么?
(2)程序中的条件语句与程序框图中的条件结构存在怎样的对应关系?
(3)条件语句中的两种形式有什么区别与联系?
1.条件语句的一般格式及功能
类别
单支
双支
条件结构框图
条件语句
IF 条件 THEN
语句体
ENDIF
语句体1
ELSE
语句体2
语句功能
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END_IF之后的语句
首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2
2.两种条件语句的区别与联系
IF-THEN语句
IF-THEN-ELSE语句
区别
该条件语句中只有一个语句体,是满足条件时执行的语句体
该条件语句含有两个语句体,满足条件时执行一个语句体,不满足时执行另一个语句体
联系
①IF-THEN语句实质上是IF-THEN-ELSE语句的简化,也就是在条件语句中,当不符合条件且不进行任何处理时,把语句体2省略不写.
②两种语句首先都是先对条件进行判断,然后才执行相应的语句体,执行完语句体后程序都交汇于一点完成条件语句
1.下列关于IF语句的叙述正确的是( )
A.IF语句中必须有ELSE和ENDIF
B.IF语句中可以没有ENDIF
C.IF语句中可以没有ELSE,但必须以ENDIF结束
D.IF语句中可以没有ENDIF,但必须有ELSE
解析:
选C IF语句中的IF和ENDIF是成对出现的,但是ELSE可以没有,即满足条件执行,否则跳过IF语句.故选C.
2.条件语句的一般形式为:
IFATHENBELSEC,其中B表示的是( )
A.满足条件时执行的内容
B.条件语句
C.条件
D.不满足条件时,执行的内容
选A IFATHENBELSEC表示如果条件A成立,则执行B步骤,否则执行C步骤.
3.给出以下四个问题,①输入一个数x,输出它的绝对值.②求表面积为6的正方体的体积.③求三个数a,b,c中的最小数.④求函数f(x)=
的函数值.
其中需要用条件语句来描述其算法的有________.
②直接用顺序结构即可,不需用条件语句;
而①需要判断这个数的正负;
③需要判断这三个数的大小;
④是分段函数求值问题,故需用到条件语句.
答案:
①③④
4.写出下列程序的运行结果.
若a=4,则b=________;
若a=-4,则b=________.
分析程序可知,上述程序是一个分段函数的程序,即b=
所以当a=4时,b=42+3×
4+1=29;
当a=-4时,b=0.5×
(-4)=-2.
29 -2
条件语句与条件结构
[典例]
(1)根据下面的程序,填写程序框图.
①________,②________,③________.
(2)根据下面的程序框图,写出程序.
[解析]
(1)根据条件语句可知该语句为求分段函数
y=
的值.
所以三个空中分别填的内容为:
①x≥
?
,②y=2x-5,③y=5-2x.
(1)①x≥
②y=2x-5 ③y=5-2x
(2)解:
程序如下:
条件语句与条件结构的转化
(1)根据条件结构写条件语句:
①首先选择语句格式.当判断语句的两个出口语句都要执行时,采用“IF-THEN-ELSE”语句,当判断语句的两个出口语句只有一个要执行时,采用“IF-THEN”语句.
②然后确定条件和语句体.条件即为判断框内的条件,放在IF后.判断框中“是”后的执行框中的内容,是THEN后的语句体1,“否”后的执行框中(如果有的话)的内容,是ELSE后的语句体2.
③最后应注意所用程序符合书写格式.
(2)如果是由条件语句画条件结构,可相应变化.
[活学活用]
求函数y=|x-4|+1的函数值,则①处应填________.
如果x<4,则y=4-x+1=5-x,
故①处应填y=5-x.
y=5-x
条件语句的简单应用
[典例]
(1)阅读下面的程序,若分别输入0,1,4,8,9,10,则输出的结果是( )
A.0,8 B.4,8
C.0,4,8D.0,1,4,8,9,10
(2)若输入8,则下列程序执行后输出的结果是________.
[解析]
(1)算法的功能是输入一个数,判断其是否能被4整除,若能,则输出该数.在输入的数中,能被4整除的有0,4,8.
(2)本题中的程序实际上解决的是求分段函数c=
在t=8时的函数值的问题.因为t=8>
3,所以c=0.2+0.1×
(8-3)=0.7.
[答案]
(1)C
(2)0.7
解决根据条件语句写出运行结果的思路
根据程序写运行结果,首先观察所给语句是IF-THEN-ENDIF型条件语句还是IF-THEN-ELSE-ENDIF型条件语句,再看输入的值是否符合条件,进而执行相应的步骤,也可转化为数学式子,再代入求值.
下列算法语句,若输入x为60时,则输出y的值为( )
A.25 B.30
C.31D.61
选C 因为60>
50,所以y=25+0.6×
(60-50)=31.
条件语句的叠加和嵌套
[典例] 设计一个程序,输入学生的成绩S,根据该成绩的不同值进行以下输出:
若S<
60,则输出“不及格”;
若60≤S≤90,则输出“及格”;
若S>
90,则输出“优秀”.
[解] 程序如下:
使用条件语句嵌套应关注两点
(1)适用范围:
适用于判断条件多于一个时.此时,若重复应用条件语句,书写程序繁琐,可用条件语句的嵌套.
(2)分清层次:
编写条件时,要注意IF和ENDIF的配对,常常利用文字的缩进来表示嵌套的层次,以便于程序的阅读与理解.嵌套可以多于2个.
已知分段函数y=
编写程序,输入自变量x的值,输出其相应的函数值.
程序为:
[层级一 学业水平达标]
1.对于程序:
若输入a=4,则输出的结果为( )
A.11 B.-11
C.11或-11D.4
选B ∵a=4>
0,∴a=2×
4+3=11,b=-a=-11.
2.阅读下面程序:
若输入x=5,则输出结果x为( )
A.-5 B.5
C.0D.不确定
选B 当x≥0时,不符合条件,执行ENDIF之后的语句,直接输出x的值,即5.
3.下面程序的算法功能是:
判断任意输入的数x是不是正数,若是,则输出它的平方值;
若不是,则输出它的相反数.
则横线处填入的条件应该是________.
条件成立时,执行y=-x;
条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<
=0.
x<
=0
4.运行程序:
在两次运行中分别输入8,4和2,4,则两次运行程序的输出结果分别为________.
对A,B的情况进行区分,当输入8,4的时候,A>B,所以C=
=4;
当输入2,4时,A>B不成立,所以选择执行C=
=2.
4 2
[层级二 应试能力达标]
1.阅读下列程序:
如果输入x=-2,则输出结果为( )
A.2B.-12
C.10D.-4
选D 输入x=-2,则x<0,执行“y=7]
2.阅读下列程序:
如果输入的t∈[-1,3],则输出的S∈( )
A.[-3,4]B.[-5,2]
C.[-4,3]D.[-2,5]
选A 该程序语句的功能是求分段函数S=
的值.所以当-1≤t<
1时,S=3t∈[-3,3);
当1≤t≤3时,S=4t-t2=-(t-2)2+4,此时3≤S≤4.
综上,可得输出的S∈[-3,4].
3.阅读下面的程序:
程序运行的结果是( )
A.3B.3,4
C.3,4,5D.3,4,5,6
选D 本题主要考查了条件语句的叠加,程序执行条件语句的叠加的过程中对于所有的条件都要进行判断,依次验证每一个条件,直到结束.在本题中共出现四次条件判断,每一个条件都成立,故输出结果为3,4,5,6.
4.给出如图所示的程序:
执行该程序时,若输入的x为3,则输出的y值是( )
A.3B.6
C.9D.27
选B x=3时,条件x>3不成立,执行y=2]
5.读如图所示的判断输入的任意整数x的奇偶性的程序,并填空.
由题意知此程序是判断输入的数x的奇偶性,可以用此数除以2取余数,若余数为0,则为偶数,否则(余数不为零),则为奇数.
m=0
6.如图给出的是用条件语句编写的程序,该程序的功能是求函数________的函数值.
由程序可知,当x<
3时,y=2x;
当x>
3时,y=x2+1;
当x=3时,y=2.故y=
7.读程序,完成下列问题:
(1)若执行程序时,没有执行语句y=x+1,则输入的x的取值范围是________.
(2)若执行结果为3,则执行的赋值语句是________,
输入的x的值是________.
(1)不执行y=x+1语句,
说明不满足条件x≥1,故有x<
1.
所以输入的x的取值范围是(-∞,1).
(2)当x<
1时,y<
1+1=3,
只有x+1=3,x=2.
(1)(-∞,1)
(2)y=x+1 2
8.某城市出租车公司规定在城区内搭乘出租车的收费标准为:
不超过3公里收7元,超过3公里的里程每公里收1.5元,另每车次超过3公里收燃油附加费1元(不考虑其他因素).请画出计算出租车费用的程序框图,并写出程序.
设x为出租车行驶的公里数,y为收取的费用,则y=
即y=
程序框图如图所示:
其程序如下:
9.某地电信部门规定:
拨打市内电话时,如果通话时间不超过3min,则收取通话费0.22元;
如果通话时间超过3min,则超过部分按每分钟0.1元收取通话费,不足1min按1min计.设通话时间为t(min),通话费用为y(元),编写一个计算通话费用的程序,并画出程序框图.
y是关于t的分段函数,关系式为
[t-3]表示取t-3的整数部分.