还是free Pascal←【泪眼汪汪の——飘过~~~~~

1、设k为变量整型,用case语句重写下面的程序段:
if (k<=10) and (k>0) then
if k>5 then
if k<8 then x:=0
else x:=1
else
if k>2 then x:= 3
else x:=4

(主要问题是大小关系怎么表示。。。。)

2、函数的表达式如下:
0 (x<0)
x (0<=x<10)
y= 10 (10<=x<20)
-0.5x+20 (20<=x<40)
-2x+40 (x>=40)

编写程序,当x输入后输出y的值(case语句或if语句)

(还是上面的那个问题。。。还有就是逻辑关系弄不灵清了。。)
原版习题←全国青少年信息学奥林匹克竞赛教程第二版——《free Pascal 语言基础算法》
董永建 舒春平 著
科学技术文献出版社
P46-P47 第5、11题

第1个回答  2010-04-15
前面那题,case有三种用法,一种就是你写的,另外两种是这样
case n of
8,10,5:dosomething;
20..200:dosomething;
else
dosomething;
end;

看一下第一题,实际是将K划分成了3-5,6-7,8-10三个区间来输出结果,所以你可以用上面case后面那种..来表示位于两数之间。

后面那题相对就简单一些,用if就可以了。
第2个回答  2010-04-15
case k of
5..7:x:=0;
8..10:x:=1;
3..4:x:=3;
1..2:x:=4;
end;

case x of
0..9:y:=x;
10..19:y:=10;
20..39:y:=-0.5*x+20;
else if x<0 then y:=0
else y:=-2*x+40;
end.本回答被提问者采纳

还是free Pascal←【泪眼汪汪の——飘过~~~
前面那题,case有三种用法,一种就是你写的,另外两种是这样 case n of 8,10,5:dosomething;20..200:dosomething;else dosomething;end;看一下第一题,实际是将K划分成了3-5,6-7,8-10三个区间来输出结果,所以你可以用上面case后面那种..来表示位于两数之间。后面那题相对就简单一些,用if...

相似回答
大家正在搜