Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » informatik

informatik

Universität / Fachhochschule

Sonstiges

Tags: Sonstig

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
blume98

blume98 aktiv_icon

10:45 Uhr, 14.09.2017

Antworten
first =2;
second =5;
for (i=0;i<2;i++){
first = second / first;
second++;
first = second first;
}
System.out.println("first: " + first);
ergebnis: first:0


ich weiss, mit dieser frage bin ich hier falsch, weil das hier ein mathe forum ist, aber vllt kann mir doch jemand helfen.

i=0 dann 52 ist eine 2 weil es ist, second wird erhöht um 1 also 6
dannaxh second mal first 2 ist gleich 12

zweiter duchlauf i=1
second /first, 62
second wird erhöhr also 7
und dann 72=14

wo ist mein fehler??

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Antwort
sprtka

sprtka aktiv_icon

11:06 Uhr, 14.09.2017

Antworten
In der zweiten Schleife ist ja first 12. Also teilst du 6/12=0. Und 7*0=0.
Antwort
DerDepp

DerDepp aktiv_icon

11:18 Uhr, 14.09.2017

Antworten
Hossa :-)

Lol, aus dem "int" ist ein Integral geworden. Geh doch die Schritte einfach durch:

Initialisierung:
first=2
second=5

Erster Durchlauf: i=0:
first => 5 / 2 = 2 (abrunden, weil first integer ist)
second => 6
first => 6 * 2 = 12

Zweiter Durchlauf: i=1:
first => 6 / 12 = 0 (abrunden, weil first integer ist)
second => 7
first => 7 * 0 = 0

Ausgabe: "first: 0"
blume98

blume98 aktiv_icon

11:26 Uhr, 14.09.2017

Antworten
vielen dank! habs andersrum gemacht
blume98

blume98 aktiv_icon

11:29 Uhr, 14.09.2017

Antworten
a=2;b=6;
switch(a){
case 1:b++;
case 2:b--;
case 3:b--;
case 4:b--;
case 5:b--; break;
case 6:b++;
default: b++;
}
System.out.println(b);

bei switch ist es doch so:

a ist 2
case 1 wird nicht ausgeführt
case 2 schon weil beide 2 sind dann ist b-- also 5
bis break wirds gemacht also 2?

Antwort
DerDepp

DerDepp aktiv_icon

11:51 Uhr, 14.09.2017

Antworten
Das kommt auf die Programmiersprache an. Die switch-Anweisung ist nämlich unterschiedlich implementiert. In C und C++ werden ab dem ersten passenden "case" bis zum ersten "break" oder bis zum Ende von Switch alle Anweisung ausgeführt. Da fällt das "b" also bis "case 5" einschließlich durch und endet beim "break". Das Ergebnis wäre tatsächlich b=2. In Java oder Go fehlt diese Durchfalleigenschaft, da bedeutet das nächste "case" automatisch auch "break". Da wäre das Ergebnis also "b=5".
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.