Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18986667
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9298
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: 项目管理

2009-09-21 17:35:58

§1     自测

2009-09-21

磁针石:xurongzhong#gmail.com

博客:oychw.cublog.cn



    一个程序功能如下:

    从一个输入框内读取3个整数,对应三角形的三个边,程序判断是普通三角形,等腰或者等边三角形。

软件评测师对此题按等价类划分的分析:

我们可以设角形的3条边分别为ABC。如果它们能够构成角形的3条边,必须满足:

nA>0B>0C>0,且A+B>CB+C>AA+C>B

n如果是等腰的,还要判断A=B,或B=C,或A=C

n如果是等边的,则需判断是否A=B,且B=C,且A=C

输入条件

有效等价类

无效等价类

是否角形的条边

A>0),     1

B>0),     2

C>0),     3

A+B>C),   4

B+C>A),   5

A+C>B),   6

A≤0),      7

B≤0),      8

C≤0),      9

A+B≤C),    10

B+C≤A),    11

A+C≤B),    12

是否等腰角形

A=B),     13

B=C),     14

C=A),     15

A≠BandB≠CandC≠A     16

是否等边三角形

A=BandB=CandC=A

              17

A≠B),      18

B≠C),      19

C≠A),      20

 

 

序号

ABC

覆盖等价类

输出

1

345

1),(2),(3),(4),(5),(6

一般三角形

2

012

7

不能构成角形

3

102

8

4

120

9

5

123

10

6

132

11

7

312

12

8

334

1),(2),(3),(4),(5),(6),(13

等腰三角形

9

344

1),(2),(3),(4),(5),(6),(14

10

343

1),(2),(3),(4),(5),(6),(15

11

345

1),(2),(3),(4),(5),(6),(16

非等腰角形

12

333

1),(2),(3),(4),(5),(6),(17

是等边角形

13

344

1),(2),(3),(4),(5),(6),(14),(18

非等边角形

14

343

1),(2),(3),(4),(5),(6),(15),(19

15

334

1),(2),(3),(4),(5),(6),(13),(20

    另外还要考虑负数,(000),带小数点、特殊字符、只输入2个数等情况。

该题目更复杂的版本,留待以后研究。

    在三角形计算中,要求三角型的三个边长:AB C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。

阅读(2001) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~