Forum: Knobelecke
Moderatoren: broesel, juergenThema: Logische Operatoren vs. Konditionale
Logische Operatoren vs. Konditionale
broesel (webmaster) am 09.07.2010 um 15:45
hier also mal wieder ein eher leichtes Rätsel:
Jeder kennt die typischen logischen Operatoren aus C:
|| (OR)
&& (AND)
! (NOT)
^ (XOR)
und wir erfinden uns noch einen:
=> (Implikation)
Wir wollen eine Programmiersprache entwerfen, die ohne diesen synaktischen Schnickschnack auskommt. Unsere Sprache kennt nur das Konditional IF..THEN..ELSE und die logischen Konstanten "true" und "false" (und natürlich Variablen und den ganzen anderen Kram, aber das ist ja klar...).
Wie würden wir in unserer Sprache die oben genannten logischen Operatoren ausdrücken?
Hier mal ein Beispiel für !x (NOT x):
IF x THEN false ELSE true
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
Re: Logische Operatoren vs. Konditionale
Martin Conrad (webmaster) am 09.07.2010 um 20:39
Bis denne
Martin
--
0xC0FFEE
[EDIT] - Re: Logische Operatoren vs. Konditionale
richard am 10.07.2010 um 19:36
x||y:
IF x THEN true ELSE IF y THEN true ELSE false
x&&y:
IF x THEN IF y THEN true ELSE false ELSE false
!x:
IF x THEN false ELSE true
x^y:
IF x THEN IF y THEN false ELSE true ELSE IF y THEN true ELSE false
x=>y:
IF x THEN IF y THEN true ELSE false ELSE true
Re: Logische Operatoren vs. Konditionale
broesel (webmaster) am 11.07.2010 um 03:10
das sieht alles ziemlich gut aus!
Man kann es noch verkürzen indem man sich die Tatsache zunutze macht, dass "IF x THEN true ELSE false" äquivalent ist zu "x":
x||y:
IF x THEN true ELSE y
x&&y:
IF x THEN y ELSE false
!x:
IF x THEN false ELSE true
x=>y: (wir nutzen aus, dass x=>y das gleiche ist wie !x||y)
IF x THEN y ELSE true
x^y: (wir nutzen aus, dass wir "NOT x" schon definiert haben)
IF x THEN NOT y ELSE y
Also doch wieder etwas Schweres... :>
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
