决定 table 伪代码
Decision table to pseudocode
制定决策 table 以帮助 Municipal Bank 决定是否向客户贷款。包括银行用来识别合格申请人的标准。
Conditions
Income >=40000? T T T F F F
Credit Score >=600? T F F T T F
Months at job > 12? - T F T F -
Outcomes
Approve loan? Y Y X Y X X
使用 pseudo code
为第一个问题中创建的决策 table 编写算法。
If Income >= 4000 And credScore >= 600 And monthJob > 12 Then
loanApp = Yes
我无法将 table 转换为 pseudo code
,我想知道第二个问题的部分答案是否正确。
一般来说,这种方法是有效的,是的。尽管如果仔细观察,您会发现条件的第一列不需要 monthJob > 12
。 (那里有一个'-')
如果您调查自己的情况,可以获得更快的方法。如果满足其中 2 个条件,我们总是得到 Y
,否则我们得到 X
.
所以这里是优化版(伪代码):
score = 0
If Income >= 40000 Then
score = score + 1
Endif
If credScore >= 600 Then
score = score + 1
Endif
If monthJob > 12 Then
score = score + 1
Endif
If score >= 2 Then
loanApp = Yes
Else
loanApp = No
EndIf
制定决策 table 以帮助 Municipal Bank 决定是否向客户贷款。包括银行用来识别合格申请人的标准。
Conditions
Income >=40000? T T T F F F
Credit Score >=600? T F F T T F
Months at job > 12? - T F T F -
Outcomes
Approve loan? Y Y X Y X X
使用 pseudo code
为第一个问题中创建的决策 table 编写算法。
If Income >= 4000 And credScore >= 600 And monthJob > 12 Then
loanApp = Yes
我无法将 table 转换为 pseudo code
,我想知道第二个问题的部分答案是否正确。
一般来说,这种方法是有效的,是的。尽管如果仔细观察,您会发现条件的第一列不需要 monthJob > 12
。 (那里有一个'-')
如果您调查自己的情况,可以获得更快的方法。如果满足其中 2 个条件,我们总是得到 Y
,否则我们得到 X
.
所以这里是优化版(伪代码):
score = 0
If Income >= 40000 Then
score = score + 1
Endif
If credScore >= 600 Then
score = score + 1
Endif
If monthJob > 12 Then
score = score + 1
Endif
If score >= 2 Then
loanApp = Yes
Else
loanApp = No
EndIf