Hallo.
Wir haben Legosteine in den Farben Weiß, Blau, Gelb und Rot. Es gibt einreihige und zweireihige. Die Länge beträgt 2,4 oder 8 Reihen. Es gibt flache und hohe Steine. Du hast also 4*2*3*2=48 verschiedene Steine.
Die Variablen in diesem Beispiel sind voneinander unabhängig, das heißt, jede Kombination ist möglich.
Nach der Hausmacherwurstmethode schreibst Du dann 48 unterschiedliche Fälle auf mit vier Variablen Farbe, Länge, Breite, Höhe. Das ist selbst in diesem einfachen Beispiel schon eine Fleißaufgabe und außerdem unflexibel. Spätestens, wenn schwarze Steine hinzukommen, darfst Du noch mal 48 Routinen schreiben - von weiteren Variablen möchte ich noch gar nicht reden.
Also vergeben wir eine Variable für den ganzen Tatbestand, indem wir jeweils Zweierpotenzen für jeden Entscheidungswert zuweisen.
0=Weiß,1=Rot,2=Blau,4=Gelb
8=einreihig,16=zweireihig
32=Länge 2,64=Länge 4,128=Länge 8
256=flach,512=hoch
Ein Stein mit dem Wert 297 ist also eindeutig rot, einreihig, 2 lang und flach.
So weit, so lalü. Nur die Flexibilität lässt zu wünschen übrig; man sollte also Zahlenwerte reservieren für künftige Fälle:
0=Weiß,1=Rot,2=Blau,4=Gelb,8=frei,16=frei,32=frei
64=einreihig,128=zweireihig,256=frei,512=frei
1024=Länge 2,2048=Länge 4,4096=Länge 8,8192=frei,16384=frei,65536=frei
131072=flach,262144=hoch,524288=frei,1048576=frei
Unser roter, einreihiger, 2 langer, flacher Stein von oben hat also die Nummer 132161. 132192 dagegen wäre ein undefinierter Zustand.
Uff. Kaffee!
Das Ganze als Tabelle auf Papier zu bringen, erfordert schon einiges an Trickserei - für den Computer dagegen sind vier Dimensionen kein Problem.
Wenn die Variablen in Wirklichkeit nicht unabhängig voneinander sind, ändert das zunächst nichts an der grundsätzlichen Vorgehensweise: Es muss dann eben die Plausiprüfung entsprechend angepasst werden (z.B. „flache Steine entweder rot oder vier lang, es sei denn, sie sind einreihig; dann sind sie blau“ *eg*).
Es spielt dann auch keine Konferenz mehr, ob die Umsetzung prozedural oder objektorientiert erfolgt - die eine Variable transportiert alle vier Objekteigenschaften. Und genau das ist der Vorteil einer Entscheidungstabelle …
HTH, Eillicht zu Vensre