Bestimmung von Programmausschnitte
-
Hallöchen,
kann mir bitte jemand diese Aufgabe erklären. Ich verstehe die Aufgabe nicht.
Könnt Ihr vielleicht ein Beispiel nennen, damit ich es auch besser verstehen kann.
Danke im Voraus
https://ibb.co/0FKrNMs
-
welche aufgabe?
-
Ich wollte das Bild von der Aufgabe hochladen, aber ich wusste nicht wie?
-
versuchs damit: https://imgbb.com/
-
Dankeschön
Ich habe die Frage bearbeitet
-
Du sollst die Programme „ausführen“ (im Kopf oder im Debugger) und die Variablenwerte nachdem eine Zeile ausgeführt wurde eintragen.
-
Tut mir Leid, dass ich mich erst heute wieder melde
Ich habe es so gelöst, weiß nicht, ob es so richtig ist.
Bei den letzten hatte keine Idee
Ich weiß zwar, dass die Zahlen im Binär gerechnet werden. Aber wie rechnet man eine Kommazahl im Binär?Danke für die Hilfe
-
@dooni sagte in Bestimmung von Programmausschnitte:
Bei den letzten hatte keine Idee
Ich weiß zwar, dass die Zahlen im Binär gerechnet werden.Ja, da musst du binär rechnen. l ist binäres oder & ist binäres und
Aber wie rechnet man eine Kommazahl im Binär?
ist hier nicht nötig.
zu Aufgabe a) es gibt postinkrement a++ und preinkrement ++a
Bei dem einen wird der Wert von a für die Berechnung genommen und nach der Berechnung wir a verändert.
Beim anderen wird erst der Wert von a verändert und dann für die Berechnung genommen.Zudem werden die Anweisungen nacheinander ausgeführt.
wennc = a++;
ausgeführt wurde, dann ist a auf alle Fälle verändert. Welchen Wert hat aber a?zu Aufgabe b)
Warum sollte sich auch y in der zweiten Zeile ändern?Warum ändert sich a beim Funktionsaufruf?
Dort wird eine Kopie vom Wert übergeben.
Bei b ist es eine Referenz.
-
@DirkB sagte in Bestimmung von Programmausschnitte:
@dooni sagte in Bestimmung von Programmausschnitte:
Bei den letzten hatte keine Idee
Ich weiß zwar, dass die Zahlen im Binär gerechnet werden.Ja, da musst du binär rechnen. l ist binäres oder & ist binäres und
Aber wie rechnet man eine Kommazahl im Binär?
ist hier nicht nötig.
zu Aufgabe a) es gibt postinkrement a++ und preinkrement ++a
Bei dem einen wird der Wert von a für die Berechnung genommen und nach der Berechnung wir a verändert.
Beim anderen wird erst der Wert von a verändert und dann für die Berechnung genommen.Zudem werden die Anweisungen nacheinander ausgeführt.
wennc = a++;
ausgeführt wurde, dann ist a auf alle Fälle verändert. Welchen Wert hat aber a?wenn c=a++ ,dann steigt die Zahl um 1 und nimmt a die gleiche Zahl wie c
also a=2
a=3
a=2zu Aufgabe b)
Warum sollte sich auch y in der zweiten Zeile ändern?ja da stimmt y ändert sich nicht
dann ändert sich x in der dritte Zeile auch nichtWarum ändert sich a beim Funktionsaufruf?
ist a nicht eine Kopie von x?
Dort wird eine Kopie vom Wert übergeben.
Bei b ist es eine Referenz.
-
@dooni sagte in Bestimmung von Programmausschnitte:
wenn c=a++ ,dann steigt die Zahl um 1 und nimmt a die gleiche Zahl wie c
nicht ganz, erst erhält c den wert von a und dann wird a hochgezählt.
somit ist c dann a-1.
-
@dooni sagte in Bestimmung von Programmausschnitte:
ist a nicht eine Kopie von x?
Eine Kopie ist ein anders Teil, das wie das (derzeitige) Original aussieht.
Du kannst die Kopie verändern, das wirkt sich nicht auf das Original aus.
Du kannst das Original verändern, das wirkt sich nicht auf die Kopie aus.Darum macht man ja Kopien. Ein Backup ist ja auch nichts anderes.
-
@DirkB
Also a wird sowohl in der erste als auch in der zweite sich nicht ändern
-
@Bushmaster
und so ist das richtig
https://ibb.co/0XXrM0Q
-
@dooni sagte in Bestimmung von Programmausschnitte:
@Bushmaster
und so ist das richtig
https://ibb.co/0XXrM0Qnein, das b=a kommt nach c=a++, also ist b=3, wenn a vorher 2 war.
-
@dooni sagte in Bestimmung von Programmausschnitte:
@Bushmaster
und so ist das richtigNein, denn:
@DirkB sagte in Bestimmung von Programmausschnitte:
Zudem werden die Anweisungen nacheinander ausgeführt.
wenn c = a++; ausgeführt wurde, dann ist a auf alle Fälle verändert. Welchen Wert hat aber a?Das b = a; kommt danach. Mit dem neuen Wert von a.
-
einfach folgendes merken: steht das ++ vor der variablen, wird sie zuerst hochgezählt und danach verwendet. steht das ++ dahinter, wird die variable erst verwendet und danach hochgezählt.
btw, was ist b hier?
a=1; b=a+++++a;
-
@Bushmaster
Also b nimmt den neuen Wert von a, wenn a um 1 steigt, dann ist b= a+1
-
@Bushmaster
a=1
c=++a => c=2
c=a++ =>c=1
habe ich es so richtig verstanden?
-
@dooni sagte in Bestimmung von Programmausschnitte:
@Bushmaster
Also b nimmt den neuen Wert von a, wenn a um 1 steigt, dann ist b= a+1und was ist mit +++a ?
-
@dooni sagte in Bestimmung von Programmausschnitte:
@Bushmaster
a=1
c=++a => c=2
c=a++ =>c=1
habe ich es so richtig verstanden?ja, so passt das.