WP Kalkül


okee wir reden grad aneinander vorbei. Ich wollte beide teile einzeln umrechnen und dann am ende wieder einsetzen.
Fall (n%2==0):

((n>=0)^0,5n = 0.25((4n + 1) - (2n + 1) *(-1)^n))
((n>=0)^0,5n = n + 0,25 - (0,5n + 0,25) *(-0,25)^n)
((n>=0)^0,5n = n + 0,25 - (0,125n + 0,0625)^n)
((n>=0)^n = 2n + 0,5 - (0,25n + 0,125)^n)

Fall (n%2==1)

wp(„c(n)=0.5*(3n + 1);“, (n>=0) ^ (c(n) = 0.25((4n + 1) - (2n + 1) (-1)^n))
(n>=0) ^ 3n+1=n + 0,25 - (0,125n + 0,0625)^n)
(n>=0) ^ 3n=1 + n + 0,25 - (0,125n + 0,0625)^n)
(n>=0) ^ 3n= n + 1,25 - (0,125n + 0,0625)^n)
(n>=0) ^ n=0,33
n + 0,4166 - (0,0416n + 0,02083)^n)

((n>=0)^n = 2n + 0,5 - (0,25n + 0,125)^n) v (n>=0) ^ n=0,33* n + 0,4166 - (0,0416n + 0,02083)^n)

Und das mit dem switch case funktioniert ja genauso, nur dass ich dann quasi mehrere else hab, oder?


Vielleicht solltest du erstmal richtig rechnen und auf true rauskommen, switchcase ist dann die nächste Stufe


das ist mir bewusst :frowning:

aber so kommentare helfen mir ja auch ned weiter :-/


Hab doch für Fall 1 eine Seite vorher schon gepostet wie das geht?


Bist du dir eigentlich sicher, dass true bei der 1b) rauskommt? Habe damals n >= 0 abgegeben und es wurden keine Punkte abgezogen :smiley:


Q: n>=0 ^ c(n)…


richtig, true AND n>=0 kam raus und das war dann n >= 0 richtig :wink:


… right :-p


Ich hab jetz verstanden wie maddoc auf seinen ansatz kommt und der is ja irgendwie ganz anders als deiner.
Und ich hab meinen so an maddoc angepasst und der wäre :

[(n%2==0) ^ wp("c(n) = 0.5n;", (n>=0) ^ (c(n) = 0.25((4n + 1) - (2n + 1) *(-1)^n))]
  v [(n%2==1) ^ wp("c(n)=0.5*(3n + 1);", (n>=0) ^ (c(n) = 0.25((4n + 1) - (2n + 1) *(-1)^n))]

du fängst aber ja so an:


 [n >= 0 ^        0.5n = 0.25((4n + 1) - (2n + 1) (-1)^n) ^ (n % 2 == 0)]
  v [n >= 0 ^ 0.5(3n + 1) = 0.25((4n + 1) - (2n + 1) (-1)^n) ^ (n % 2 == 1)]

oder ist das das ganze nur umgedreht und ich muss anders rum einsetzen?

EDIT:

ich hab grad gerafft, dass ich nicht einsetzen muss. Aber wieso nicht?


ri31hoky fängt nicht anders an, sondern ist schon ein Schritt weiter.

Keine Ahnung was du mit ‘einsetzten’ meinst. Den Teil, den du jetzt bei dir stehen hast, musst du noch auflösen. D.h. wp durchführen. Mach das und du wirst feststellen (wenn alles glatt läuft), dass früher oder später das von ri31hoky rauskommt.


Ich war schon einen Schritt weiter

[(n%2==0) ^ wp(“c(n) = 0.5n;”, (n>=0) ^ (c(n) = 0.25((4n + 1) - (2n + 1) (-1)^n))]
v [(n%2==1) ^ wp("[b]c(n)=0.5
(3n + 1)[/b];", (n>=0) ^ (c(n) = 0.25((4n + 1) - (2n + 1) *(-1)^n))]

[n >= 0 ^ 0.5n = 0.25((4n + 1) - (2n + 1) (-1)^n) ^ (n % 2 == 0)]
v [n >= 0 ^ 0.5(3n + 1) = 0.25((4n + 1) - (2n + 1) (-1)^n) ^ (n % 2 == 1)]

Ich habe hier lediglich für c(n) das eingesetzt, wie beim WP Kalkül üblich.
Das ist auch genau der Trick hinter dem return. c(n) also die ganze Funktion c returnt als ergebnis n/2 (für Fall 1) → c(n) = n/2

Edit: zu spät


aber das hab ich doch auch getan oder nich?

…ich meld mich glaub am besten für die Klausur wieder ab -.-


Du hast schon viel gemacht, einiges davon war auch zum Teil richtig. Es haben halt immer wieder was gefehlt :wink:


is ja blöd. Naja, danke jetz mal für die Lösung, ich werds mir jetz mal ganz in ruhe anschauen und dann gegebenfalls nochmal nachfragen.

Ich hoff ich krieg das heut noch hin…


Danke an euch. zumindest die b) hab ich jetz verstanden :wink:


also kommen wir zur c)

der richtige Ansatz ist ja (danke nochmal an “Tom” ):

if (c == 42) {
b = b + a + c - 9;
a = a + 23;
c = a + 3;
} else if (c == 95) {
c = c - 42 - 11;
[color=crimson]c = c + 52 / 2;
b = 49 + c;
a = b - 52;[/color]
} else {
c = c + 52 / 2;
b = 49 + c;
a = b - 52;

Also ich habs probiert und auch sehr ähnlich so aber mir fehlen diese Zeilen

denn in der aufgabe steht im 2. case ja nur die eine Zeile:

switch ( c ) {
   case ’ * ’ :
       b += a + c − 9 ;
       a += 2 3 ;
       c = a + 3 ;
       break ;
   case ’ _ ’ :
       c −= ’ * ’ + 1 1 ;
   default :
   a = ( b = ’ 1 ’ + ( c += ’ 4 ’ / 2 ) ) − ’ 4 ’ ;
   }

Kann mir das jemand erklären?


in dem case steht kein break, so dass mit dem default fall weitergemacht wird, …


Wenn im case Statement kein break; am Ende steht dann wird der nächste case auch noch ausgeführt, in dem Fall default.


also macht das dann quasi einfach mit den anweisungen des nächsten case / default weiter?

okee :slight_smile:

Super danke für die schnellen Antworten!!


Siehe auch http://www.sws.bfh.ch/~amrhein/Swing/javainsel7/javainsel_02_005.htm#mj891237c2e381f1b5a774c1d94165315f “switch hat Durchfall” :nuts: