Case函数作业

发布 2020-02-19 07:48:28 阅读 2012

第4章流程控制语句_选择结构_case函数。

1. 使用case函数计算分段函数。

注:先使用set语句或select语句给自变量x赋初值。

运行成功的程序。

declare @x numeric(18, 2)

declare @y numeric(18, 2)

set @x = 9

set @y = case

when ( x > 0 and @x < 10 ) then ( 1 / x + abs(@x) )

when ( x >=10 and @x < 20) then sqrt(3 * x) -2

when @x > 20 then @x * x + 2 * x + 2

else -999

end if @y <>999

begin

select @y as 函数值为

endelse

begin

select '自变量x值非法'

end 程序运行结果。

2. 在购买某物品时,若标名的价钱x在下述范围内,所付钱y按对应折扣支付:

注:先使用set语句或select语句给自变量x赋初值。

运行成功的程序。

declare @x numeric(18, 2)

declare @y numeric(18, 2)

set @x = 1547

set @y = case

when @x > 0

and @x < 1000 then @x

when @x >=1000 and @x < 2000 then 0.9 * x

when @x >=2000 and @x < 3000 then 0.8 * x

else 0.7 * x

end select @y as 支付金额。

程序运行结果。

3. 用set语句或select语句输入一个成绩等级(a~e之一),用print语句和case函数输出相应分数段。分数段与等级的关系:

a: [90,100]

b: [80, 90)

c: [70,80)

d: [60,70)

e: 60以下。

例如:运行程序时,若输入a,则输出:你的成绩在[90,100]之间。

运行成功的程序。

declare @grade char(1)

declare @result nvarchar(250)

set @grade = a'

set @result = case

when upper(@grade) =a' then '你的成绩在[90,]之间。'

when upper(@grade) =b' then '你的成绩在[80,]之间。'

when upper(@grade) =c' then '你的成绩在[70,]之间。'

when upper(@grade) =d' then '你的成绩在[60,]之间。'

when upper(@grade) =e' then '60以下' else '你输入的分数等级非法'

end print @result

程序运行结果。

4. 编一程序输入上网时间并计算上网费用,计算方法如下:

同时为了鼓励上网,每月收费最多不超过150元。

提示:首先使用case函数根据三个时间段计算出费用,然后用if语句对超过150元的费用设置为150。

运行成功的程序。

declare @hour int

declare @money numeric(18, 2)

set @hour = 5

set @money = case

when ( case when @hour < 10 then 30

when @hour >=10 and @hour < 50 then 30 + hour - 10 ) 2.5

when @hour >=50 then 30 + 50 - 10 ) 2.5 + hour - 50 ) 2

end 150 then 150

else ( case when @hour < 10 then 30

when @hour >=10 and @hour < 50 then 30 + hour - 10 ) 2.5when @hour >=50 then 30 + 50 - 10 ) 2.5 + hour - 50 ) 2 end )

end select @money

程序运行结果。

5. 若基本工资大于800元,涨原工资的20%;若小于800元大于400元,涨原工资的15%;若小于400元,涨原工资的10%。编程实现:

使用set语句或select语句输入基本工资,计算涨工资后的工资数。

运行成功的程序。

declare @salary numeric(18,2)

set @salary=800

set @salary=

case when @salary<400 then @salary*1.1

when @salary<800 then @salary*1.15

else @salary*1.2

endselect @salary

程序运行结果。

6. 有一分段函数,如下:

当0 ≤x<20, y=10+x

当20 ≤x<50, y=30

当50 ≤x<60, y=30

当 x≥60, y=0

当x<0, y无值,x为不合法。

编写程序,使用set语句或select语句输入数据给x,用print语句输出相应的y值。

运行成功的程序。

declare @x numeric(18, 2)

declare @y varchar(250)

set @x = 98

set @y =

casewhen @x >=0 and @x < 20 then cast(10 + x as varchar)

when @x >=20 and @x < 60 then cast(30 as varchar) varchar)

when @x >=60 then cast(0 as else '数据错误,请重新输入

end print @y

程序运行结果。

选择结构Case函数

第4章流程控制语句 选择结构 case函数。1.使用case函数计算分段函数。注 先使用set语句或select语句给自变量x赋初值。2.在购买某物品时,若标名的价钱x在下述范围内,所付钱y按对应折扣支付 注 先使用set语句或select语句给自变量x赋初值。3.编一程序输入上网时间并计算上网费用...

函数作业4函数单调性

函数作业4 函数单调性。知识网络 1 函数单调性的定义,2 证明函数单调性 3 求函数的单调区间。4 利用函数单调性解决一些问题 5 抽象函数与函数单调性结合运用。典型例题 例1 1 则a的范围为 d a b c d 提示 21 0时该函数是r上的减函数。2 函数 是单调函数的充要条件是 a a b...

作业8函数

10 某隧道长2150m,通过隧道的车速不能超过m s。一列有55辆车身长都为10m的同一车型的车队 这种型号的车能行驶的最高速为40m s 匀速通过该隧道,设车队的速度为xm s,根据安全和车流的需要,当时,相邻两车之间保持20m的距离 当时,相邻两车之间保持m的距离。自第1辆车车头进入隧道至第5...