决策表法求假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内 (P) , 求找给顾客最少货币个(张)数?(货币面值50元10 元,5 元,1元四 种 )
时间: 2024-05-19 17:12:08 浏览: 145
以下是决策表:
| 决策条件 | 动作 |
| -------- | ---- |
| P<=50 | 1张1元 |
| P<=55 | 1张5元 |
| P<=60 | 1张10元 |
| P<=95 | 1张50元 |
| P<=100 | 2张50元 |
| | |
根据决策表可得,当顾客付款在100元内时,找给顾客最少货币个数的方法为:
1. 如果顾客付款不超过50元,则只需找1张1元即可。
2. 如果顾客付款在51元至55元之间,则只需找1张5元即可。
3. 如果顾客付款在56元至60元之间,则只需找1张10元即可。
4. 如果顾客付款在61元至95元之间,则只需找1张50元即可。
5. 如果顾客付款在96元至100元之间,则需找2张50元。
因此,找给顾客最少货币个数的方法为根据付款金额P在上述情况中选择一种即可。
相关问题
软件测试决策表法解决问题:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内 (P) , 求找给顾客最少货币个(张)数?(货币面值50元10 元,5 元,1元四 种
根据题意,可以列出以下决策表:
|条件|动作1:找给顾客最少货币个数|
|---|---|
|P<=100|R>=P|
| |R-P>=50|
| |R-P>=10|
| |R-P>=5|
| |R-P>=1|
其中,条件一表示顾客付款在100元内,条件二至五分别表示找零时可以使用50元、10元、5元、1元的情况。动作1表示找给顾客最少货币个数。
根据决策表,可以得出以下测试用例:
1. P=50, R=50
2. P=100, R=100
3. P=80, R=100
4. P=70, R=100
5. P=60, R=100
6. P=55, R=100
对于测试用例1,顾客付款为50元,需要找给顾客1张50元的货币,测试结果符合预期。
对于测试用例2,顾客付款为100元,不需要找零,测试结果符合预期。
对于测试用例3至6,顾客付款均在100元内,需要找零。通过计算可得,找给顾客最少货币个数为1张50元和1张30元(10元*2 + 5元*1),测试结果符合预期。
因此,根据决策表法,我们可以通过以上测试用例验证程序的正确性。
请用判定表法做以下题目,假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内 (P),求找给顾客最少货币个(张)数?(货币面值50元10元,5元,1元四种)。给出条件桩,动作桩,决策表等
1. 确定条件桩:
- 付款金额P小于等于100元
- 付款金额P大于100元
2. 确定动作桩:
- 找给顾客最少货币个数
3. 构建决策表:
| 条件 | 动作 |
| --- | --- |
| P ≤ 100 | 找给顾客最少货币个数 |
| P > 100 | 无法找零 |
4. 填写规则:
| 条件 | 动作 | 规则 |
| --- | --- | --- |
| P ≤ 100 | 找给顾客最少货币个数 | R50 >= P/50,找50元面值货币数量最少;<br>否则,R10 >= P/10,找10元面值货币数量最少;<br>否则,R5 >= P/5,找5元面值货币数量最少;<br>否则,R1 = P,找1元面值货币数量最少。 |
| P > 100 | 无法找零 | 无法找零,直接返回付款金额。 |
5. 列举出所有可能的测试用例并验证:
| P | R50 | R10 | R5 | R1 | 找零总数 |
| --- | --- | --- | --- | --- | --- |
| 50 | 1 | 0 | 0 | 0 | 1 |
| 60 | 1 | 1 | 1 | 0 | 3 |
| 85 | 1 | 1 | 1 | 0 | 4 |
| 100 | 2 | 0 | 0 | 0 | 2 |
| 101 | 0 | 0 | 0 | 0 | 101 |
阅读全文