高一高二数学同步系列课堂讲义 北师大版 必修3第二章 算法初步331.docx
《高一高二数学同步系列课堂讲义 北师大版 必修3第二章 算法初步331.docx》由会员分享,可在线阅读,更多相关《高一高二数学同步系列课堂讲义 北师大版 必修3第二章 算法初步331.docx(21页珍藏版)》请在冰点文库上搜索。
高一高二数学同步系列课堂讲义北师大版必修3第二章算法初步331
§3 几种基本语句
3.1 条件语句
学习目标 1.掌握条件语句的含义、格式(重点).2.会利用条件语句将具体问题的框图转化为算法语句(重点).3.会利用条件语句解决实际生活中的应用问题(重、难点).
预习教材P105-107完成下列问题:
知识点 条件语句
1.条件语句:
条件语句是表达选择结构最常用的语句.
2.两种条件语句的算法框图及格式
【预习评价】
一般在什么条件下才需要用到条件语句?
使用条件语句的关键是什么?
提示 一般在分类处理问题时需要用到条件语句;使用条件语句的关键是明确分类的对象和标准.
题型一 应用If语句描述算法
【例1】 已知函数f(x)=
编写一个程序,对每输入的一个x值,都得到相应的函数值.
解 用变量x,y分别表示自变量和函数值.步骤如下:
1.输入x值.
2.判断x的范围,若x≥0,则用函数y=x2-1求函数值,否则用y=3x2-8求函数值.
3.输出y的值.
算法框图如图所示,
程序如下:
输入x;
Ifx>=0 Then
y=x^2-1
Else
y=3*x^2-8
EndIf
输出y.
规律方法 利用条件语句解决算法问题的步骤:
【训练1】 根据下面的算法语句,画出其对应的算法框图.
输入x;
If x>0 Then
y=1
Else
y=0
EndIf
输出y.
解 算法框图为
题型二 条件语句的实际应用
【例2】 到某银行办理个人异地汇款,银行收取一定的手续费,汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费,画出描述汇款额为x元,银行收取手续费y元的算法框图,并写出相应的程序.
解 由题意,知y=
算法框图如图所示.
程序如下:
输入 x
If x<=100 Then
y=1
Else
If x<=5000 Then
y=0.01*x
Else
y=50
EndIf
EndIf
输出 y.
规律方法 解决实际应用问题,应先建立函数模型,由于对应函数为分段函数,可考虑用条件语句对算法进行描述.应用多个条件语句的嵌套时,要明确各种条件与相应语句之间的对应关系,一般先由算法框图直观地弄清这些关系之后再编写程序.
【训练2】 某商场购物实行优惠措施,若购物金额x在800元以上(包括800元),打8折;若购物金额x在500元以上(包括500元),但不足800元,则打九折,否则不打折.设计算法框图,并编写程序,要求输入购物金额x,能输出实际交款额y.
解 由题意建立函数模型为
y=
算法框图如图所示.
程序如下:
输入 x;
If x>=800 Then
y=0.8*x
Else
IF x>=500 Then
y=0.9*x
Else
y=x
EndIf
EndIf
输出 y.
【探究1】 已知函数y=
编写一个程序,对每一个输入的x值,求出相应的函数值.
解 方法一 程序如下:
输入 x;
If x<=-1 Then
y=(x+1)^2
Else
If x<1 Then
y=2*x+2
Else
y=1/x-1
EndIf
EndIf
输出 y. 方法二 程序如下:
输入 x;
If x<=-1 Then
y=(x+1)^2
Else
If x>=1 Then
y=1/x-1
Else
y=2*x+2
EndIf
EndIf
输出 y.
【探究2】 已知函数f(x)=
试编写程序,根据输入的x值输出对应的y值.
解 程序如下:
输入x;
If x>0 Then
y=2*x^2-1
Else
If x=0 Then
y=2*x+1
Else
y=-2*x^2+4
End If
End If
输出y.
【探究3】 已知分段函数y=
编写程序,要求输入自变量x的值,输出相应的函数值,并画出算法框图.
解 算法框图如图所示:
程序如下:
输入x;
If x<0 Then
y=-x+1
Else
If x=0 Then
y=0
Else
y=x+1
EndIf
EndIf
输出y.
规律方法 1.适用范围:
已知分段函数的解析式求函数值的问题,须用条件语句书写程序,当条件的判断有两个以上的结果时,可以选择条件结构嵌套去解决.
2.解此类问题的步骤:
(1)构思出解决问题的一个算法(可用自然语言).
(2)画出算法框图,形象直观地描述算法.
(3)根据框图编写程序,即逐步把框图中的算法步骤用算法语句表达出来.
课堂达标
1.给出以下四个问题:
①输入一个正数x,输出它的算术平方根;
②求函数f(x)=
的函数值;
③求周长为6的正方形的面积;
④求三个数a,b,c中的最小值.
其中需要用条件语句来描述其算法的个数为( )
A.1B.2
C.3D.4
解析 对于②,当x取不同范围时,f(x)的解析式不同,因此需分情况讨论,要用到条件语句;对于④,要求出最小值,需分情况讨论,要用到条件语句.
答案 B
2.阅读下面程序:
输入 x;
If x<0 Then
x=-x
EndIf
输出 x.
若输入x=5,则输出结果x为( )
A.-5B.5
C.0D.不确定
解析 当x≥0时,不符合条件,执行EndIf之后的语句,直接输出x的值,即为5.
答案 B
3.以下程序的算法功能是:
判断任意输入的数x是不是正数,若是,则输出它的平方值;若不是,则输出它的相反数.
输入x;
If________Then
y=-x
Else
y=x*x
EndIf
输出 y.
则横线处填入的条件应该是( )
A.x>0B.x<0
C.x>=0D.x<=0
解析 条件成立时,执行y=-x;条件不成立时,执行y=x*x.由程序的算法功能,知条件应为x<=0,故选D.
答案 D
4.下面程序的运行结果是________.
x=5
If x<=0 Then
y=x-3
Else
y=x+3
EndIf
输出 y.
解析 ∵5>0,∴执行Else后的语句,∴y=5+3=8.
答案 8
5.阅读下面程序:
输入 a;
If a>5 Then
b=4
Else
If a<3 Then
b=5
Else
b=9
End If
End If
输出 a,b.
如果在运行时,输入2,则输出a,b的结果分别等于什么?
解 输入a的值2,首先判断是否大于5,显然2不大于5,然后判断2与3的大小,显然2小于3,所以结果是b=5,因此结果应当输出2,5.
课堂小结
1.使用条件语句时应注意的问题
(1)条件语句是一个语句,If,Then,Else,EndIf都是语句的一部分.
(2)条件语句必须是以If开始,以EndIf结束,一个If必须与一个EndIf相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,Else分支可以省略,此时条件语句就由双支变为单支.
(4)为了程序的可读性,一般If、Else与EndIf顶格书写,其他的语句体前面则空两格.
2.对于三段或三段以上的分段函数求函数值时,需要条件语句的嵌套结构.在编写条件语句的嵌套中的“条件”时,要注意“If”与“EndIf”的配对,通常可以利用文字的缩进来表示嵌套的层次,以帮助我们对程序的阅读和理解.
3.条件语句的嵌套,其一般形式是
外层条件语句
基础过关
1.给出下面4个问题:
①输入一个数x,输出它的绝对值;
②求函数f(x)=
的函数值;
③求面积为6的正方形的周长;
④求三个数a,b,c中的最大数.其中可以用条件语句来描述其算法的有( )
A.1个B.2个
C.3个D.4个
解析 在算法中需要逻辑判断的都要用到条件语句,其中①②④都需要进行逻辑判断,故都要用到条件语句,③只要顺序结构就能描述其算法.
答案 C
2.已知条件语句,如下:
则下列说法正确的是( )
A.条件成立时,先执行语句体1,再执行语句体2,最后结束条件语句
B.条件不成立时,先执行语句体2,再执行语句体1,最后结束条件语句
C.条件成立时,先执行语句体1,再结束条件语句
D.条件成立时,先执行语句体2,再结束条件语句
答案 C
3.阅读下列程序:
x=4
If x>3 Then
y=x*x
Else
y=2*x
EndIf
输出y.
则该程序运行后,变量y的值为( )
A.4B.16
C.6D.8
解析 因x=4满足“x>3”的条件,所以执行的是Then后面的y=4×4=16.
答案 B
4.若下面程序执行的结果是5,则输入的x值是________.
输入x;
If x>=0 Then
y=x
Else
y=-x
End If
输出y.
解析 由程序语句知,该程序的功能是输入一个x,输出函数y=
的值,故输出5时,应输入5或-5.
答案 5或-5
5.下面给出的是条件语句编写的程序,该程序的功能是求函数________的函数值.
输入x;
If x<=3 Then
y=2*x
Else
y=x^2-1
End If
输出y.
解析 该程序的主要功能是对分段函数f(x)求值.
当x≤3时,y=2x;当x>3时,y=x2-1.
所以函数为y=
答案 y=
6.给出如下语句(其中x满足:
0输入x;
Ifx>0Andx<=4Then
y=2*x
Else
Ifx<=8Then
y=8
Else
y=24-2*x
EndIf
EndIf
输出y.
(1)该语句的功能是求什么函数的函数值;
(2)画出这个语句的算法框图.
解
(1)该语句所求函数的函数关系式为
y=
(2)算法框图如下:
7.儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票,试写出一个购票算法语句.
解 算法语句如下:
能力提升
8.下面程序运行的结果是3,则输入的x值是( )
输入 x;
If x>=0 Then
y=x^2+2
Else
y=-x
EndIf
输出 y.
A.1B.-3
C.1或-3D.±1或-3
解析 当x≥0时,3=x2+2,所以x=1;当x<0时,3=-x,所以x=-3,故选C.
答案 C
9.下面程序在开始运行后,通过键盘输入三个值a=3,b=24,c=7,则输出的结果分别是( )
程序:
输入a,b,c
If b>a Then
t=a
a=b
b=t
End If
If c>a Then
t=a
a=c
c=t
End If
If c>b Then
t=b
b=c
c=t
End If
输出a,b,c.
A.3,24,7B.3,7,24
C.24,7,3D.7,3,24
解析 当a=3,b=24,c=7时,此时b>a,首先是a、b交换数值即a=24,b=3,c=7,又此时c>b,执行的程序是b、c交换数值,即b=7,c=3,所以a=24,b=7,c=3.
答案 C
10.根据下列程序语句,当输入的x为60时,输出的y为________.
输入 x;
Ifx<=50 Then
y=0.5*x
Else
y=25+0.6*(x-50)
End If
输出 y.
解析 根据题意,得
y=
当x=60时,y=25+0.6×(60-50)=31.
所以输出的y为31.
答案 31
11.下面的程序是求一个函数的函数值的程序:
输入x;
If x<=0 Then
y=-x
Else
If x<=1 Then
y=0
Else
y=x-1
End If
End If
输出y.
若执行此程序的结果为3,则输入的x值为________.
解析 此程序是求函数y=
的值.
若输出的结果为3,则有可能x-1=3即x=4,或-x=3即x=-3.
答案 4或-3
12.某地电信部门规定:
拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.22元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收费,不足1分钟按1分钟计算.设通话时间为t(单位:
分),通话费用为y(单位:
元),设计一个计算通话费用的程序.(INT(x)是取整,找到不大于x的最接近x的整数)
解 通话费用y与通话时间t的关系为:
y=
程序如下:
输入t;
IF t<=3 Then
y=0.22
Else
If Int(t)=t Then
y=0.22+0.1*(t-3)
Else
y=0.22+0.1*(INT(t-3)+1)
EndIf
EndIf
输出 y.
13.(选做题)如图所示,在边长为16的正方形ABCD的边上有一动点P,点P沿边线由B→C→D→A(B为起点,A为终点)运动.若设P运动的路程为x,△APB的面积为y,试写出程序,根据输入的x值,输出相应的y值.
解 由题意可得函数关系式为
y=
程序如下:
输入x
If x>0 and x<=16 Then
y=8x
Else
If x<=32
y=128
Else
y=8*(48-x)
End If
End If
输出y.