Sempre a proposito della verirow(), ho ricavato la "tabella della verità", cioè la configurazione e i valori di uscita delle linee in base al numero del paziente e al numero della medicina.
Codificando queste informazioni sottoforma di array si potrebbe riscrivere la funzione in modo molto più conciso.
Si potrebbe arrivare ad una funzione utilizzabile così:
verirow(patientNum, medicineNum);
patient 1
mednum line1 line2 line3 a0 a1 a2 a3 a4
1 O,1 I I I O,0 I I I
2 I O,1 I I O,0 I I I
3 I I O,1 I O,0 I I I
4 I I I O,1 O,0 I I I
5 O,1 I I I I O,0 I I
6 I O,1 I I I O,0 I I
7 I I O,1 I I O,0 I I
8 I I I O,1 I O,0 I I
9 O,1 I I I I I O,0 I
10 I O,1 I I I I O,0 I
11 I I O,1 I I I O,0 I
12 I I I O,1 I I O,0 I
13 O,1 I I I I I I O,0
14 I O,1 I I I I I O,0
15 I I O,1 I I I I O,0
16 I I I O,1 I I I O,0
patient 2
mednum line1 line2 line3 a0 a1 a2 a3 a4
1 O,0 I I I O,1 I I I
2 I O,0 I I O,1 I I I
3 I I O,0 I O,1 I I I
4 I I I O,0 O,1 I I I
5 O,0 I I I I O,1 I I
6 I O,0 I I I O,1 I I
7 I I O,0 I I O,1 I I
8 I I I O,0 I O,1 I I
9 O,0 I I I I I O,1 I
10 I O,0 I I I I O,1 I
11 I I O,0 I I I O,1 I
12 I I I O,0 I I O,1 I
13 O,0 I I I I I I O,1
14 I O,0 I I I I I O,1
15 I I O,0 I I I I O,1
16 I I I O,0 I I I O,1