高中数学新学案同步 必修3北师大版 第二章 算法初步31.docx
《高中数学新学案同步 必修3北师大版 第二章 算法初步31.docx》由会员分享,可在线阅读,更多相关《高中数学新学案同步 必修3北师大版 第二章 算法初步31.docx(21页珍藏版)》请在冰豆网上搜索。
![高中数学新学案同步 必修3北师大版 第二章 算法初步31.docx](https://file1.bdocx.com/fileroot1/2023-6/8/866ef3e2-0f18-44a8-a703-664d0701f2ca/866ef3e2-0f18-44a8-a703-664d0701f2ca1.gif)
高中数学新学案同步必修3北师大版第二章算法初步31
§3 几种基本语句
3.1 条件语句
学习目标
1.掌握条件语句的含义、格式.2.会利用条件语句将具体问题的框图转化为算法语句.3.会利用条件语句解决实际生活中的应用问题.
知识点一 条件语句
思考 一般在什么条件下才需要用到条件语句?
使用条件语句的关键是什么?
答案 一般在分类处理问题时需要用到条件语句;使用条件语句的关键是明确分类的对象和标准.
梳理 条件语句格式和对应框图
格式一
格式二
条件语句
If条件Then
语句
EndIf
If条件Then
语句1
Else
语句2
EndIf
功能
首先对If后的条件进行判断,如果(If)条件符合,那么(Then)执行语句,否则执行EndIf之后的语句
首先对If后的条件进行判断,如果(If)条件符合,那么(Then)执行语句1,否则(Else)执行语句2
算法框图
知识点二 条件语句的嵌套
条件语句的嵌套是选择结构嵌套的实现和表达,一般形式如下:
If 条件1 Then
语句1
Else
If 条件2 Then
语句2
Else
语句3
EndIf
EndIf
1.If语句中必须有Else和EndIf.( × )
2.If语句中可以没有EndIf.( × )
3.If语句中可以没有Else,但必须以EndIf结束.( √ )
4.If语句中可以没有EndIf,但必须以有Else.( × )
类型一 选择结构和条件语句
例1 用条件语句表示分段函数y=
解 可以用条件语句表示如下:
If x<=2.5 Then
y=x*x+1
Else
y=x*x-1
EndIf
反思与感悟 当计算机执行条件语句时,首先对If后的条件进行判断,如果(If)条件符合,那么(Then)执行语句1,否则(Else)执行语句2.
跟踪训练1 写出求实数x的绝对值的一个算法,画出算法框图并写出算法对应的语句.
解 算法步骤如下:
1.输入一个实数x;
2.判断x的符号,若x≥0,则输出x;否则,输出-x.
算法框图如图:
算法对应的语句:
输入x;
If x>=0 Then
输出 x
Else
输出 -x
EndIf
类型二 条件语句的应用
例2 在音乐唱片超市里,每张唱片售价25元.顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费.请用语句描述完成计费工作的算法,画出算法框图并写出对应的语句.
解 假如用变量a表示顾客购买的唱片数,用变量C表示顾客要缴纳的金额,则这个算法可以表示为
(1)输入a.
(2)对a进行判断:
①若a<5,则C=25a;
②若5≤a<10,则C=22.5a;
③若a≥10,则C=21.25a.
(3)输出C.
算法框图如图所示:
算法对应的语句为
输入a;
If a<5 Then
C=25*a
Else
Ifa<10Then
C=22.5*a
Else
C=21.25*a
EndIf
EndIf
输出C.
反思与感悟 先建立数学模型,再画出算法框图,根据算法框图就比较容易写出算法语句了.
跟踪训练2 已知某商店对顾客购买货款数满500元,减价3%,不足500元不予优惠,输入一顾客购物的货款数,计算出这个顾客实交的货款,画出算法框图,写出算法语句.
解 设购买货款数为x(元),则顾客实际应交的货款y(元)为y=
即y=
所以,算法框图如图所示:
算法语句为
输入x;
If x>=500Then
y=0.97*x
Else
y=x
EndIf
输出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)解此类问题的步骤
①构思出解决问题的一个算法(可用自然语言).
②画出算法框图,形象直观地描述算法.
③根据框图编写语句,即逐步把框图中的算法步骤用算法语句表达出来.
跟踪训练3 已知函数f(x)=
试编写算法语句,根据输入的x值输出对应的y值.
解 算法语句如下:
输入x;
If x>0 Then
y=2*x*x-1
Else
Ifx=0The
y=2*x+1
Else
y=(-2)*x*x+4
EndIf
EndIf
输出y.
1.以下关于条件语句的说法,正确的是( )
A.条件语句的执行是按照程序中的先后顺序执行的
B.条件语句实现了算法框图中的选择结构
C.条件语句中不能再使用条件语句
D.条件语句一定要完整,即If-Then-Else-EndIf中每一部分都不能少
答案 B
2.给出以下问题:
①输入一个数x,输出它的相反数;
②求周长为8的正方形的面积;
③求三个数a,b,c中的最小值;
④求分段函数f(x)的函数值.
其中不需要用条件语句来描述其算法的有( )
A.①②B.②③C.③④D.①③
答案 A
3.给出以下算法语句:
输入x1,x2;
If x1=x2 Then
x1=x1+x2
EndIf
y=x1+x2
输出y.
如果输入x1=2,x2=3,那么执行此算法语句的结果是输出( )
A.7B.10C.5D.8
答案 C
解析 由于输入的两个数x1=2,x2=3,不满足条件x1=x2,因此,不执行语句体x1=x1+x2,而直接执行y=x1+x2,所以y=5,最后输出5.
4.写出下面所示的算法语句表示的函数:
.
输入x;
If x<=6 Then
y=3*x+2
Else
y=x+2006
EndIf
输出y.
答案 y=
5.将下列算法语句补充完整.
(1)输入两个数,输出其中较大的一个数;
(2)判断输入任意数x的奇偶性.
输入x;
m=xMod2
If Then
输出x是奇数
Else
输出x是偶数
EndIf
输入a,b;
Ifa>bThen
输出a
Else
EndIf
(1)
(2)
则
(1);
(2)
答案
(1)输出b
(2)m≠0
使用条件语句时应注意的问题
(1)条件语句是一个语句,If,Then,Else,EndIf都是语句的一部分.
(2)条件语句必须是以If开始,以EndIf结束,一个If必须与一个EndIf相对应.
(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况,Else分支可以省略,此时条件语句就由双支变为单支.
一、选择题
1.给出以下四个问题:
①输入一个正数x,输出它的算术平方根;
②求函数f(x)=
的函数值;
③求周长为6的正三角形的面积;
④求三个数a,b,c中的最小值.
其中需要用条件语句来描述其算法的个数为( )
A.1B.2C.3D.4
答案 B
解析 对于②,当x取不同范围时,f(x)的解析式不同,因此需分情况讨论,要用到条件语句;对于④,要求出最小值,需分情况讨论,要用到条件语句.
2.阅读下面程序:
输入x;
If x<0 Then
x=-x
EndIf
输出x.
若输入x=5,则输出结果x为( )
A.-5B.5
C.0D.不确定
答案 B
解析 当x≥0时,不符合条件,执行ENDIF之后的语句,直接输出x的值,即为5.
3.下列算法语句是求函数y=|x-4|+1的函数值,则①处为( )
输入x;
If x>=4 Then
y=x-3
Else
①
EndIf
输出y.
A.y=3-x
B.y=x-5
C.y=5-x
D.y=ABS(x-4)+1
答案 C
解析 ∵y=|x-4|+1=
故选C.
4.阅读如图所示的算法语句,则该算法语句运行后,变量y的值为( )
x=4
Ifx>3Then
y=x*x
Else
y=2*x
EndIf
输出y.
A.4B.16
C.6D.8
答案 B
解析 因x=4满足“x>3”的条件,所以执行的是Then后面的y=4×4=16.
5.当a=3时,所给出的语句输出的结果是( )
输入a;
Ifa<10Then
y=2*a
Else
y=a*a
EndIf
输出y.
A.9B.3C.10D.6
答案 D
解析 因3<10,所以y=2×3=6.
6.阅读算法语句,若最后输出的y为9,则输入的x应该是( )
输入x;
If x<0 Then
y=(x+1)*(x+1)
Else
y=(x-1)*(x-1)
EndIf
输出y.
A.-4B.-2
C.4或-4D.-4或-2
答案 C
解析 把y=9代入y=(x+1)×(x+1)和y=(x-1)×(x-1)中分别求出适当的x值.
7.根据下面算法语句,当输入x为60时,输出y的值为( )
输入x;
If x<=50 Then
y=0.5*x
Else
y=25+0.6*(x-50)
EndIf
输出y.
A.25B.30
C.31D.61
答案 C
解析 由题意,得y=
当x=60时,y=25+0.6×(60-50)=31.
∴输出y的值为31.
8.如图所示的算法语句运行的结果是3,则输入的x值是( )
输入x;
If x>=0 Then
y=x2+2
Else
y=-x
EndIf
输出y.
A.1B.-3
C.1或-3D.±1或-3
答案 C
解析 当x≥0时,3=x2+2,所以x=1;当x<0时,3=-x,所以x=-3,故选C.
9.在下面的算法语句中,如果输入x=
,则输出的y的值为( )
输入x;
If x>=0 Then
If x>0 Then
y=π/2*x-5
Else
y=0
EndIf
Else
y=π/2*x-3
EndIf
输出y.
A.0B.1C.3D.
答案 B
解析 x=
→x≥0→x>0→y=
×
-5=1.
二、填空题
10.根据下面的算法语句,当输入a,b的值分别为2,3时,最后输出的m的值是.
输入a,b;
Ifa>bThen
m=a
Else
m=b
EndIf
输出m.
答案 3
解析 由于2>3不成立,所以语句执行Else后面的m=b,即把b的值赋给m,所以输出的值为3.
11.下图是根据输入x的值,计算y=
的值的一个算法语句.则①处应填.
输入x;
If①Then
y=x*x-4
Else
y=x*x+5
EndIf
输出y.
答案 x>2.5
12.如图所给出的是一个算法语句.如果输出的y的值是20,则输入的x的值是.
输入x;
Ifx<=5Then
y=10*x
Else
y=2.5*x+5
EndIf
输出y.
答案 2或6
解析 当x≤5时,10x=20,即x=2;
当x>5时,2.5x+5=20,解出x=6.
三、解答题
13.给出如下语句.(其中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)算法框图如下:
四、探究与拓展
14.下面算法语句在开始运行后,通过键盘输入三个值a=3,b=24,c=7,则输出的结果分别是( )
算法语句:
输入a,b,c;
If b>a Then
t=a
a=b
b=t
EndIf
If c>a Then
t=a
a=c
c=t
EndIf
If c>b Then
t=b
b=c
c=t
EndIf
输出a,b,c.
A.3,24,7B.3,7,24
C.24,7,3D.7,3,24
答案 C
解析 当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.
15.儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票.试写出一个购票算法语句.
解 算法语句如下:
输入h;
If h<=1.1 Then
输出免费乘车
Else
If h<=1.4 Then
输出半票乘车
Else
输出全票乘车
EndIf
EndIf