A.
if ((score <= 700) &&
((income < 40000) || (income > 100000)
|| !authorized || (score <= 500)) &&
(income <= 100000))
reject()
else
accept();
B.
boolean hasMidRangeIncome =
(income >= 40000) && (income <= 100000);
boolean hasHighIncome = (income > 100000);
boolean hasHighScore = (score > 700);
boolean hasMidScore = (score > 500);
if (! (hasHighScore
|| (hasMidRangeIncome && authorized && hasMidRangeScore)
|| hasHighIncome) )
reject();
else
accept();
C.
if (score > 700)
accept();
else if ((income >= 40000) && (income <= 100000)
&& authorized && (score > 500))
accept();
else if (income > 100000)
accept();
else
reject();
D.
boolean acceptable(int income, int score, boolean authorized)
{
if ((score > 700) || (income > 100000))
return true;
if ((income >= 40000) && (income <= 100000)
&& authorized && (score > 500))
return true;
return false;
}
if (acceptable(income, score, authorized))
accept();
else
reject();
F. |
| | AUTH=Y | AUTH=N | AUTH=Y | AUTH=N | AUTH=Y | AUTH=N | HIGH SCORE | Accept | Accept | Accept | Accept | Accept | Accept | MID SCORE | Accept | Accept | Accept | Reject | Reject | Reject | LOW SCORE | Accept | Accept | Reject | Reject | Reject | Reject |
Or, alternatively: |
HIGH SCORE | Accept | Accept | Accept | MID SCORE | Accept | Accept if authorized | Reject | LOW SCORE | Accept | Reject | Reject |
|