Übung Aufgabe 3.2

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Übung Aufgabe 3.2
Hi!
Mal ne Frage zur 3.2, beim ersten Durchlauf mit y=x=0 wird ja die zweite Schleife:
do {
d *= x; // *** x | d ***
x–;
} while (x > 0);
nicht angesteuert, da bereits vorab die Bedingung if (x > 0) {… nicht erfüllt ist.
Nun sollen aber u.a. die Werte von x und d in der zweiten Schleife genannt werden. Diese sind ja per Definition vorab mit d=1 und mit x=y=0 besetzt. Ich bin mir nun unsicher ob die Antwort eben d=1 und y=0 ist oder der Hinweis, dass die Werte in dieser Schleife nie angesteuert werden. Es sollen ja die Werte für x und d nach “d *= x” genannt werden. Und dieser Befehl wird ja für y=0 nicht angesteuert. Ich tendiere bisher zu x=0 und d=1…
Im Falle eines Spoilers der Antwort bitte ich um ne PN oder ne so allgemeine Antwort, dass nicht gespoilt wird. :slight_smile:
Vielen Dank schon mal!


Allgemeine Antwort: [m]do-while[/m] != [m]while[/m] (siehe Vorlesung).


Danke sehr, ich denke das hilft mir weiter!


Konkrete Antwort: [m]do-while[/m] != [m]if[/m] (siehe Vorgabe).

@munzm: Scheinbar versuchst du die main-Methode und die folgenden Aufrufe von C.c manuell auszuführen. Du sollst aber nur den der auf dem Angabenblatt steht durchführen, dann erübrigt sich imho die Frage.


@Biggerskimo: Das kommt noch dazu, ja :slight_smile: Danke.


…und ich wundere mich schon warum ich so unfassbar viele Zeilen in der Tabelle habe (eben für alle 14 Durchläufe)…Genau lesen schützt vor Mehrarbeit! Danke dir, hatte das Argument überlesen…

deja-vu

:wink: