决定 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