Selbtestaufgaben in Kurseinheit 2

Dr Franke Ghostwriter
Selbtestaufgaben in KE 2

Hallo ich habe ein paar Fragen zu den Selbsttestaufgaben, irgendwie komme ich manchmal nicht auf die Ergebnisse der Musterlösung ^^...

Fangen wir mal an mit

Selbsttestaufgabe 7.2-2:
Welche der folgenden Zeichen sind gültige Literale vom Typ float?
24.E-13
-.4e0
1.341f
.E-45
Selbsttestaufgabe

Das die ersten beiden Zahlen vom Typ double sein sollen kann ich mir noch so z7usammenreimen das irgendwo recht unauffällig im Text steht "...alles was kein d oder f am Ende hat ist double"
Die Dritte zahl ist ein Float da sind wir uns einig.

Warum ist die 4te Zahl nicht zulässig?
 
Selbsttestaufgabe 7.3-1:
Überprüfen Sie, ob der arithmetische Ausdruck
12 * 5 % - 3 - 5 / 3 + 7
syntaktisch wohlgeformt ist, und werten Sie ihn aus, falls Ihre Antwort positiv ausfällt
mh?!?
Wie zur Hölle kommt man hier wohl auf Ergebnis 6?

Ich rechne wie folgt:

12 *5% -3-5 /3 +7 =

Davon ausgegangen das keiner mit Geheimtinte im Skript bis dahin Anweisungen versteckt hat die besagen das Punkt-vor-Strich aus der Mode ist müsste das doch eigentlich ... : [


Edit..

ok ich habs, ich weiß jetzt aber nicht ob ich mich über meine Unzulänglichkeit ärgern sollte oder über die Qualität der Aufgabenstellung 😛 Wahrscheinlich etwas von Beidem.

Ich komme nun auf 6 wenn ich rechne:
12 * 5 % - 3 - 5 / 3 + 7 = |12*5
60 % -3 -5 /3 + 7 = | 60 %-3 !!! Man beachte das % einen Operator stellen soll, hier
Restberechnung , bei 20:3 gibt es 0 Rest !
0 - 5/3 + 7 = |5/3 ...ein Integer
0 - 1 + 7 = 6
 
7.4.1
Kann mir das mal jemand vorrechnen? Ich komme nicht auf die Lösungen der SA


1. (((12 * 5) % (- 3)) - (5 / 3)) + 7 =
((60 % (-3)) - (5 / 3)) + 7 =
(0 - 1) + 7 = 6 (Achtung Integerdivision, Modulo mit negativer Zahl ist das gleiche wie mit dem Betrag der Zahl)

2. (12 * (5 % (- 3))) - (5 / 3) + 7 =
(12 * 2) - (5/3) + 7 =
24 - 1 + 7 = 30

3. ((12 * (5 % (- 3 - 5))) / 3) + 7 =
((12 * ( 5 % -8)) / 3) + 7 =
((12 * 5) / 3) + 7 =
(60 / 3) + 7 = 20 + 7 = 27

4. (12 * (5 % (- 3)) - (5 / 3)) + 7 =
(12 * 2 - 1) + 7
= 23 + 7 = 30

Ich hoffe das hilft, bzw. in welchem Schritt unterscheiden sich denn deine Ergebnisse?

Viele Grüße,
Silvia
 
Oben