找零钱最佳组合

 

假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。

请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。

1) 等价类划分法

输入条件

有效等价类

唯一标识

无效等价类

唯一标识

价格 

0<R≤1000<R≤100 且为整数

1)

R≤0R≤0 

 R>100R>100

4)

 

 

 

RR 不是整数

5)

付款 

0<P≤1000<P≤100 且为整数

2)

P≤0P≤0 或 P>100P>100

6)

 

 

 

PP 不是整数

7)

付款与价格关系

P≥RP≥R

3)

P<RP<R

8)

 

序号

输入数据

覆盖等价类

输出

1

R=50,P=100

R=50,P=100

1, 2, 3

找零组合:1 张 50 元,0 张 10 元,0 张 5 元,0 张 1 元

2

R=23,P=50

R=23,P=50

1, 2, 3

找零组合:0 张 50 元,2 张 10 元,1 张 5 元,2 张 1 元

3

R=99,P=100

R=99,P=100

1, 2, 3

找零组合:0 张 50 元,0 张 10 元,0 张 5 元,1 张 1 元

4

R=1,P=100

R=1,P=100

1, 2, 3

找零组合:1 张 50 元,4 张 10 元,1 张 5 元,4 张 1 元

5

R=0,P=50

R=0,P=50

4

无效输入:价格和付款必须大于 0

6

R=101,P=100

R=101,P=100

6

无效输入:价格和付款不能超过 100 元

7

R=50,P=49

R=50,P=49

8

无效输入:付款金额不能小于价格

8

R=50.5,P=100

R=50.5,P=100

5

无效输入:价格和付款必须为整数

9

R=50,P=100.5

R=50,P=100.5

7

无效输入:价格和付款必须为整数

 

2) 边界值法

序号

输入数据

覆盖等价类

输出

1

R=1,P=1R=1,P=1

RR 和 PP 的最小值

无需找零

2

R=100,P=100R=100,P=100

RR 和 PP 的最大值

无需找零

3

R=1,P=100R=1,P=100

RR 最小值,PP 最大值

找零组合:1 张 50 元,4 张 10 元,1 张 5 元,4 张 1 元

4

R=99,P=100R=99,P=100

RR 接近最大值,PP 最大值

找零组合:0 张 50 元,0 张 10 元,0 张 5 元,1 张 1 元

5

R=50,P=50R=50,P=50

R=PR=P 的情况

无需找零

6

R=0,P=0R=0,P=0

无效边界值

无效输入:价格和付款必须大于 0

7

R=101,P=101R=101,P=101

无效边界值

无效输入:价格和付款不能超过 100 元

posted @ 2025-03-19 17:13  涨涨涨张  阅读(27)  评论(0)    收藏  举报