Aussagenlogische Formel in C implementieren?
Ich hab keinen Plan was ich mit F anfangen soll, ich versteh zwar was das an sich bedeutet, nur wie ich damit irgendwas machen soll, weiß ich echt nicht. In den Vorlesungen wurden Funktionen auch nur kurz angeschnitten und da ging es auch nur um F(x)=x^2...
1 Antwort
Im Grunde ist F ein Ausdruck und kann in vielen Programmiersprachen auch als solcher implementiert werden.
In C ginge das folgendermaßen:
- Klammern sind Klammern
- Unds sind "&&"
- Oders sind "||"
- Negationen sind "!"
Und das kannst du dann per Substitution auf den gegebenen Ausdruck anwenden um den Ausdruck in C zu bekommen. Die Operatorpräzedenz sollte auch passen.
Eine Funktion, die den Ausdruck auswertet sähe dann so aus:
bool <funktionsname>(bool <parameter0>, bool <parameter1>, ...){
return <ausdruck>;
}
Den Bool-Typ musst du evtl. erst inkludieren. Gegebenenfalls selber definieren (einfach als int).
Um alle erfüllenden Belegungen zu finden iterierst du über alle Lösungen und gibst alle aus für die die Bedingung erfüllt ist.