Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi und hallo,

wollte erst in den Algorithmus Bereich posten, glaube aber nicht, dass das dort richtig aufgehoben ist...

Ich habe eine Tabelle (keine Datenbanktabelle), die ich nicht genauer beschreiben darf, deswegen muss ich es etwas umständlicher Erklären.

Ich möchte, dass ein Benutzer verschiedene Angaben macht.

Angabe A, Angabe B, Angabe C...

Im Hintergrund liegt oben genannte Tabelle aus der dann ein Wert gezogen wird.

Also z.b.

Wenn A > 20 und B wahr und C < 10

dann Ausgabe "Sie können mit einem Beitrag X rechnen, aber nur wenn sie Y beachten"

Nun könnte ich via PHP eine Unmenge an if-else Abfragen basteln und zum Ergebnis kommen.

Aber das erscheint mir viel zu umständlich.

Gibt es da einen Algorithmus oder eine Vorgehensweise (ja, ich kann mich heute nicht wirklich glücklich ausdrücken...) wie ich so etwas einfach strukturieren und abfragen kann?

Vielleicht etwas das ein Array ist, und ich übergebe an eine Logik die eingegebenen Eckpunkte und die Logik sucht den nächstgelegenen Punkt im Array....

Vielen Dank

Geschrieben

Gibt es da einen Algorithmus oder eine Vorgehensweise (ja, ich kann mich heute nicht wirklich glücklich ausdrücken...) wie ich so etwas einfach strukturieren und abfragen kann?

Kann man ohne deine Daten so allgemein nicht sagen.

Angenommen es gibt für jedes Feld nur 2 Möglichkeiten (A größer oder kleiner 10, B Wahr oder falsch [ok, hier gibt es nur 2 ;)] und C größer oder kleiner 10), dann könntest du die Auswertung entsprechend den Werten der 3 Felder machen, also z.B.:


$index = "";
$index.= ( int ) ($A < 10);
$index.= ( int ) $B;
$index.= ( int ) ($C < 10);
[/php]

Und deine Tabelle hätte dann einen Index:

"000"

"010"

"110"

"001"

etc.

Wenn die Werte aber anders sind, dann geht das nicht unbedingt... bzw. anders halt ;)

Geschrieben

Array(
[Bedingung] => "$result = $a < 10"
[Antwort_Ja] =>
Array(
[Bedingung] => "$result = $b > 5 || $c == 'wahr'"
[Antwort_Ja] => "du bist millionär"
[Antwort_Nein] => "mein mitleid hast du"
)
[Antwort_Nein] => "falsche antwort, versuchs nochmal"
)
[/PHP]

unsw.

besser noch mit Objekten, da kannst du dann sagen ob eine weitere Bedingung folgt, ein Antwortsatz erscheinen soll oder eine weitere Frage oder so.

letztlich definierst du damit aber auch nur eine riesen If-Abfrage in anderen worten :( egal wie du es darstellst.

Geschrieben
Hi,

kann man deine "Tabelle" als Wahrheitstabelle darstellen?

Gruß,

Markus

Hmmm.. wenn ich nun wüsste was das ist ;)

Meine "Tabelle" sieht z.b. folgendermassen aus:


Alter    Preis    Preis wenn größer als 150 cm    Preis wenn größer als 170 cm 

25       15       20                                        25

45       25       40                                        45

Nur dass es neben Preis wenn größer als x auch noch unzählige andere Spalten geben kann, die diesen "Preis" beeinflussen können...

Geschrieben

Ja, ich könnte das schon in Gruppen Zusammenfassen.

Es ist einfach so, dass einem Benutzer ca 10 Fragen gestellt werden.

Sagen wir

- Wie alt sind Sie?

- Wie groß sind Sie?

- Was wiegen Sie?

- Kommen Sie am Wochenende oder unter der Woche?

- Im Sommer oder Winter?

- Reisen Sie mit dem Auto oder per Bahn an?

etc...

Danach wird der Benutzer nach hinterlegten Regeln "eingestuft" und ihm ein Ergebnis präsentiert.

Sagen wir:

- Aufgrund Ihrer Angaben können Sie 2 Tage bei uns bleiben.

- Vorraussichtliche Kosten 25€

- Sie können umsonst an unser Buffet

- Weil Sie im WInter kommen, gibt es nur die Möglichkeit unser Hallenbad zu benutzen

- Aber weil Sie kleiner als 150cm sind bekommen Sie eine Ermässigung von 3€ wenn Sie unsere kleinen Duschen benutzen (gilt aber eben nur im Winter)

Ja. So in der Art. Also eine Auswertung die auf vielen Kriterien die sich auch untereinander beeinflussen basiert.

Geschrieben

Hi,

ich würd die Fragen Tabellerasieren, sodass du versch. Spalten hast, welche Frage von welcher anderen abhängt (depends on), etc.

Dann einen allgemeinen Algorithmus bauen und du brauchst immer nur die Tabelle zu Pflegen.

Gruß,

Markus

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...