Aufgaben

Status
Nicht offen für weitere Antworten.
J

Jette

Gast
Hallo!

ich hab keine ahnung von java..bloß leider gehört es ein semester lang zu meinem studium..da ich die letzte übung total vermasselt habe wollte ich mal lieb anfragen ob mir vielleicht irgendwer dabei helfen kann!?? wäre suuuper dankbar..hier mal die aufgaben...

Aufgabe 1 Lokale und globale Variable
Das folgende Java-Programmfragment soll dahingehend erg¨anzt werden, dass es die Ausgabe der Werte
aller deklarierten lokalen und globalen Variablen auf den Bildschirm realisiert.
class Variablef
public static int a;
public static boolean b;
public static void main(String[] args)f
int b = 5;
int c;
boolean d;
//....Erg¨anzungen.....


Aufgabe 2 Logische Ausdr¨ ucke
In einem Java- Programm seien die folgenden Variablen deklariert bzw. initialisiert:
int x=6; int y=7; int z=0; boolean a=false; boolean b;
Welchen Wert erh¨alt die Variable b jeweils nach Ausf¨uhrung der folgenden Anweisungen? Erkl¨aren Sie
Ihre Angaben (Auswertung der Ausdr¨ucke), ¨uberpr¨ufen Sie Ihre Ergebnisse mittels eines Java-Programmes
(Ausgabe auf den Bildschirm).
a) b = x > 5 || y < 7 && z != 0;
b) b = ! (x == 7) & x == 7 & z > 0;
c) b = x * y != y * x && x / z == 0;
d) b = ( a = ! a ) != a;
e) b = x & y == y;
f) b = x+1 == y & 0.0f / 0.0f == Float.NaN;


Aufgabe 3 Modulo-Operator
F¨ur zwei ganze Zahlen a und b, a, b  Zsollen das Ergebnis der ganzzahligen Division und der Rest
berechnet werden. Zur Bestimmung des Restes steht Ihnen in Java der Modulo-Operator % zur Verf¨ugung.
Die Modulo-Operation wird in verschiedenen Programmiersprachen unterschiedlich berechnet, das kann
mit negativen Operanden unterschiedliche Ergebnisse liefern.
1) (a mod b) = a - [a/b] * b
2) (a mod b) = a - b * ( a div b) 
Hinweise:
  F¨ur eine reelle Zahl x ist floor(x)=[x] die gr¨oßte ganze Zahl, die kleiner oder gleich x ist.
 F¨ur eine reelle Zahl x ist ceil(x)=[x] die kleinste ganze Zahl, die gr¨oßer oder gleich x ist.
  Die Operation div sei wie folgt definiert:
a div b = 0 falls (a=0 und b ungleich 0)
a div b =[a/b](größte Zahl) falls (a >0 und b > 0) oder (a < 0 und b <0)

a div b = [a/b] (kleinste Zahl), falls (a < 0 und b <0) oder (a <0 und b > 0)
a) Schreiben Sie ein Java-Programm, das f¨ur zwei ganze Zahlen a und b das Ergebnis der ganzzahligen
Division und den dazugeh¨origen Rest bestimmt und in der Form a = k * b + r auf den
Bildschirm ausgibt, wobei k das Ergebnis der ganzzahligen Division von a/b und r der zugeh¨orige
Rest sei.
b) Testen Sie Ihr Porgramm mit denWertenpaaren (a=5, b=2), (a=5, b=-2), (a=-5, b=2),
(a=-5, b=-2) und stellen Sie durch Vergleich der L¨osungen mit Ihren Berechnungen nach oben
genannten Formeln fest, welche der beiden Varianten durch den Operator%in Java repr¨asentiert wird.
c) Vergleichen Sie Ihre L¨osung mit der Beschreibung des Modulo-Operators in der Java-Sprachdefinition




was wollen die mir denn damit sagen?? ich wäre sehe dankbar wenn mir irgendwer nen paar anregungen oder tipps geben könnte?? sitze da nämlich echt davor und hab nen dickes fragezeichen über meinem kopp!
Danke und Grüße! Jette
 

DocRandom

Top Contributor
Hi Jette!

Da hilft nur learning by doing!
Und damit es Dir etwas leichter fällt, würde ich sagen schau Dir mal das Insel-Buch an.
Das kannst Du kostenlos im I-Net lesen!

lg
DocRandom
 
G

Guest

Gast
lol..dankeschön! ich probiere ja auch schon das ganze we..aber naja..will nich klappen. gut.ich werd die nacht mal lesen! =) dankeschön für deine Antwort! Jette
 

stevieboy

Aktives Mitglied
Hallo Jette,

der Buchtip von Doc ist wirklich gut.

Wenn Du nach dem Studium des Buches bzw. der entsprechnenden Kapitel ein konkretes Problem hast (ob Verständnis- oder Programmierproblem ist egal), stelle sie hier und du wirst Hilfe finden.
 

foxy

Aktives Mitglied
so zu aufgabe 1 ...
da kannste deinem Prof ganz nett sagen, das man so nicht programmiert, da wir nimma vor 20 jahren leben und man programmieren kann wie man will ....
man benutzt keine globalen variablen .. sondern imme nur private oder protected und ruft diese dann mit get oder set methoden auf .

zu Aufgabe 2:
ist eigentlich selbserklärend ... du sollst das als eine bildschirmausgabe definieren .. also machst du erst mal deine abfragen mit if und gehst alle sachen succesiev durch und weist dann b zu .

aufgeba 3:
modulo das heisst wenn du 20%2 rechnest bekommst du als wert 0
also modulo gibt dir immer wen rest zurück wenn du eine zahl durch die andere teilst.

das sollte dir schon mal ein stück weiterhelfen :) den rest muss ihc meinem vorredner recht geben .. learning by doing
 
G

gast

Gast
hallo,habe irgendwie zufällig die gleichen aufgaben!

könnte ich das bei 2.) nach diesem prinzip machen?

Code:
class logisch{
	public static void main (String [] args){
	//Variablen deklarieren
	int x=6;
	int y=7;
	int z=0;
	boolean a=false;
	boolean b;

	//Ausgabe
	b = x > 5 || y < 7 && z != 0;
	System.out.println("b = x > 5 || y < 7 && z != 0 = "+b);

	b = ! (x == 7) & x == 7 & z > 0;
	System.out.println("b = ! (x == 7) & x == 7 & z > 0 = "+b);

	b = x * y != y * x && x / z == 0;
	System.out.println("b = x * y != y * x && x / z == 0 = "+b);

	b = ( a = ! a ) != a;
	System.out.println("b = ( a = ! a ) != a = "+b);

	b = x & y == y;
	System.out.println("b = x & y == y = "+b);

	b = x+1 == y & 0.0f / 0.0f == Float.NaN;
	System.out.println("b = x+1 == y & 0.0f / 0.0f == Float.NaN = "+b);
	}
}
@fox weil du etwas von if schleifen erwähnt hast!?
grüße alex
 

foxy

Aktives Mitglied
haste das mal getestet?

weil ich würde es so machen

boolean b = false;

Code:
if (x > 5 || y < 7 && z != 0)
            b = true;
         else
            b=false;
 System.out.println("b = x > 5 || y < 7 && z != 0 = "+b);

wobei dein code eigentlich auch gehen sollte

acgja und b.toString();
 
G

gast

Gast
hallo,ich hätte da noch zwei kurze fragen:
erste frage bzgl. code:

warum kommt bei dieser rechnung folgender fehler:

b = x & y == y;

logisch.java:23: operator & cannot be applied to int,boolean
b = x & y == y;
^
1 error
?


zweite frage;ich find irgendwie kein ansatz,was zwischen diesen beiden der unterschied!hat jemand anregung,gedanken oder ideen?

1) (a mod b) = a - [a/b] * b
2) (a mod b) = a - b * ( a div b) 

Hinweise:
  F¨ur eine reelle Zahl x ist floor(x)=[x] die gr¨oßte ganze Zahl, die kleiner oder gleich x ist.
 F¨ur eine reelle Zahl x ist ceil(x)=[x] die kleinste ganze Zahl, die gr¨oßer oder gleich x ist.
  Die Operation div sei wie folgt definiert:
a div b = 0 falls (a=0 und b ungleich 0)
a div b =[a/b](größte Zahl) falls (a >0 und b > 0) oder (a < 0 und b <0)

a div b = [a/b] (kleinste Zahl), falls (a < 0 und b <0) oder (a <0 und b > 0)

danke jetzt schon mal
grüße alex
 
S

SlaterB

Gast
b = x ist eine Zuweisung, wobei dann b, also int herauskommt
& ist auch kaum das was du haben möchtest,

schreibe
b == x && y == y;
statt
b = x & y == y;


(welchen Sinn hat der Vergleich y == y?)

-------

zweite Frage:

da steht doch
(a mod b) = a - b * [a/b]
(a mod b) = a - b * ( a div b)

der Unterschied der Formeln, wenn es ihn gibt, ergibt sich also direkt aus dem Unterschied zwischen
[a/b] und (a div b)

was genau ist da jetzt deine Frage?
weißt du denn was diese beiden Ausdrücke bedeuten?
was kommt jeweils für a = 5 und b = 2 raus?
 
G

gast

Gast
zu der ersten frage:

welchen sinn das ganze haben soll,kann ich dir nicht sagen. dieser ausdruck stand so in der aufgabenstellung.

-----------

zweite frage: ich habe auch schon festgestellt,dass der Unterschied in den beiden ausdrücken liegen muss:
[a/b] und (a div b)

dann habe ich versucht anhand der hinweise einen unterschied festzumachen,doch den hinweisen nach ist (a div b) = a/b.

aber meine frage läuft dahin, dass folgende frage beantwortet werden muss:

Testen Sie Ihr Porgramm mit denWertenpaaren (a=5, b=2), (a=5, b=-2), (a=-5, b=2),
(a=-5, b=-2) und stellen Sie durch Vergleich der L¨osungen mit Ihren Berechnungen nach oben
genannten Formeln fest, welche der beiden Varianten durch den Operator%in Java repr¨asentiert wird.

vielleicht kannst du mir genauer erläutern,was a div b bedeutet?!
gruß alex
 
S

SlaterB

Gast
> was a div b bedeutet?!

?

das ist doch da definiert:
> Die Operation div sei wie folgt definiert:
> a div b = 0 falls (a=0 und b ungleich 0)
> a div b =[a/b](größte Zahl) falls (a >0 und b > 0) oder (a < 0 und b <0)

> a div b = [a/b] (kleinste Zahl), falls (a < 0 und b <0) oder (a <0 und b > 0)

wenn du etwas davon nicht verstehst, dann frage konkret an dieser Stelle nach
 
G

gast

Gast
ja,das ist ja das problem. für mich bedeutet die definition genauso viel wie:

a/b

d.h.

(a/b) = (a div b)

bloß das kann ja nicht richtig sein. also ist meine frage,dass ich nicht verstehe wo der unterschied liegt.

grüße alex
 
S

SlaterB

Gast
deswegen hast du ja eine Aufgabe bekommen mit 4 BEISPIELEN,
rechne für diese 4 beide Varianten aus, die Hälfte davon macht sogar der PC für dich,

da musst du nicht grübeln sondern nur rechnen und die Ergebnisse anschauen..

wenn du bei allen 4 das gleiche herausbekommst (poste die Ergebnisse),
dann sage ich dir welches falsch ist,
dann schreibst du deinen kompletten Rechenweg hin,
dann sage ich dir welche Stelle falsch ist

und dann weißt du es langsam ;)

außerdem ist ja gar nicht gesagt, dass a/b ungleich (a div b) ist,
in der Aufgabe heißt es doch, dass
a/b entweder (a div b) oder [a/b] ist, eins von beiden also

wobei nicht ganz klar ist ob [a/b] nun floor oder ceil sein soll,
wahrscheinlich floor ;)
 
G

gast

Gast
irgendwie komm ich durcheinander:
Mein Problem ist doch, dass ich nicht verstehe wie ich das div ausdrücken soll in meinem programm,da es ja in meinen augen dasselbe ist wie a/b. Deswegen weiß ich nicht wie ich die Beispiele durchrechnen soll,wenn es in meinen Augen doch gleich ist. Verstehst du was ich meine?

Code:
class modulo{
	public static void main (String [] args){
	int a;
	int b;
	int k;
	int r;
	
	a=5;
	b=2;
	r=a-(a/b)*b;
	k=a/b;
	System.out.println("Nach der Methode 1) (a mod b) = a - [a/b] * b");
	System.out.println("a = k * b + r : "+a+"="+k+"*"+b+"+"+r);
	System.out.println("\n");

	// und was kommt an dieser stelle hin? r=a-b*(a div b); so geht das ja nicht
	System.out.println("Nach der Methode 2) (a mod b) = a-b*(a div b)");
	System.out.println("a = k * b + r : "+a+"="+k+"*"+b+"+"+r);
	System.out.println("\n");

	r=a%b;
	System.out.println("Nach der Methode modulo a%b");
	System.out.println("a = k * b + r : "+a+"="+k+"*"+b+"+"+r);
	}
}

das ist mein bisheriger code,also als kleiner start
 
S

SlaterB

Gast
was
1) (a mod b) = a - [a/b] * b
2) (a mod b) = a - b * ( a div b)
ist weißt du, das kannst du per Hand ausrechnen,

diese beiden Berechnungen unterscheiden sich auf jeden Fall

nun ist nur noch die Frage, was bei Java a/b rauskommt,
einfach nur a/b ausrechnen lassen (von Java) und erkennen,
ob dabei Variante 1 oder Variante 2 (von dir per Hand, nicht in Java ausgerechnet) herauskommt
 
G

gast

Gast
ich glaube, ich habe jetzt mithilfe deiner tips und mithilfe von wikipedia rausgefunden,was gemeint ist:

bei (a div b) wir zur null hin gerundet,d.h. es ist nicht so wie in variante eins,wo der rest einfach wegfliegt. folglich ist es bei der variante 2 so,dass ein rest von -1 übrig bleiben kann und bei variante 1 aber der rest 1 übrig belibt. somit ist aber die variante 1 richtig,da der modulo operator wie 1) rechnet.

Richtiger Gedanke?
gruß alex
 
S

SlaterB

Gast
> bei (a div b) wir zur null hin gerundet,d.h. es ist nicht so wie in variante eins,wo der rest einfach wegfliegt

(a div b) ist Variante 2, dass Variante 2 nicht wie Variante 1 ist, sondern eben die ANDERE VARIANTE,
das stand doch von Anfang an fest..

> folglich ist es bei der variante 2 so,dass ein rest von -1 übrig bleiben kann und bei variante 1 aber der rest 1 übrig belibt.

sagt meinem deutschen Gehör zwar nix, aber du wirst schon irgendwas damit meinen

> somit ist aber die variante 1 richtig,da der modulo operator wie 1) rechnet.

es gibt kein richtig oder falsch, Variante 1 und 2 sind beides irgendwelche Funktionen, die irgendwas sinnvolles berechnen,
was ist überhaupt 'der modulo operator'?

wenn du aber einfach nur sagen wolltest
'der Java-Modulo-Operator rechtet wie Variante 1'
dann kann ich dir das nun doch nicht bestätigen oder wiederlegen,
weil ich nicht weiß wie die Aufgabe lautet

du schreibst bei Variante 1 [] aber nicht, ob damit floor oder ceil gemeint ist,
bei Variant 2 schreibst du es dazu, ist mit 'größer' ceil gemeint?
kann ich mir kaum vorstellen, dann wäre ja nach

> a div b =[a/b](größte Zahl) falls (a >0 und b > 0) oder (a < 0 und b <0)

5 div 2 = 3, wieso das denn? andersrum, 5 div 2 = 2, das fände ich logischer

dann wäre ja
5 mod 2 = 5 - 2*3 = -1??
 
E

eddie

Gast
Ich hätte zu einer teilaufgabe von hier auch eine frage:

Wieso ist b = 0.0f / 0.0f == Float.NaN eine falsche aussage?
 
G

gast

Gast
hallo,ich nochmal.
ich bin langsam am verzweifeln.
kann mir das:


http://de.wikipedia.org/wiki/Modulo_(Rest)

irgendjemand auf meine aufgabe übersetzen,ich verstehe jetzt nur noch bahnhof! :(

aufgabe:


Aufgabe 3 Modulo-Operator
F¨ur zwei ganze Zahlen a und b, a, b  Zsollen das Ergebnis der ganzzahligen Division und der Rest
berechnet werden. Zur Bestimmung des Restes steht Ihnen in Java der Modulo-Operator % zur Verf¨ugung.
Die Modulo-Operation wird in verschiedenen Programmiersprachen unterschiedlich berechnet, das kann
mit negativen Operanden unterschiedliche Ergebnisse liefern.
1) (a mod b) = a - [a/b] * b
2) (a mod b) = a - b * ( a div b) 
Hinweise:
  F¨ur eine reelle Zahl x ist floor(x)=[x] die gr¨oßte ganze Zahl, die kleiner oder gleich x ist.
 F¨ur eine reelle Zahl x ist ceil(x)=[x] die kleinste ganze Zahl, die gr¨oßer oder gleich x ist.
  Die Operation div sei wie folgt definiert:
a div b = 0 falls (a=0 und b ungleich 0)
a div b =[a/b](größte Zahl) falls (a >0 und b > 0) oder (a < 0 und b <0)

a div b = [a/b] (kleinste Zahl), falls (a < 0 und b <0) oder (a <0 und b > 0)


b) Testen Sie Ihr Porgramm mit denWertenpaaren (a=5, b=2), (a=5, b=-2), (a=-5, b=2),
(a=-5, b=-2) und stellen Sie durch Vergleich der L¨osungen mit Ihren Berechnungen nach oben
genannten Formeln fest, welche der beiden Varianten durch den Operator%in Java repr¨asentiert wird.
c) Vergleichen Sie Ihre L¨osung mit der Beschreibung des Modulo-Operators in der Java-Sprachdefinition

gruß alex :(
 
S

SlaterB

Gast
ah, da sind die Varianten 1 und 2 nun sehr schön definiert,
alles eindeutig und so wie ich mir das denken würde,

was verstehst du denn daran nicht, du musst nur super-simpel in Java 5 % -2 rechen und prüfen ob es Variante 1 oder Variante 2 ist,
was ist daran bitte schwer?
Kindergarten-Aufgabe
 
G

gast

Gast
könntest du mir mal bitte für a=5 und b=-2 für die beiden varianten vorrechnen,damit ich es verstehe?
 
S

SlaterB

Gast
aha, immerhin mal eine direkte Frage

5/-2 = -2.5
gauss(5/-2) = -2 [falsch]
5-gauss(5/-2)*-2 = -1


5/-2 = -2.5
5 div -2 = -2
5-(5 div 2)*-2 = -1


aus diesen Zahlen erkennt man also den Unterschied noch nicht, es ist aber noch drei andere Paare zur Auswahl,
die bitte selber rechnen oder genauer nachfragen, bei welchem Rechenschritt es hakt
 
S

SlaterB

Gast
so, selber verwirrt, aber gauss ist nun doch floor wie es ein sollte,
also

5/-2 = -2.5
floor(5/-2) = -3
5-floor(5/-2)*-2 = 1


5/-2 = -2.5
5 div -2 = -2
5-(5 div 2)*-2 = -1

und bei Java kommt eins der beiden heraus
 
G

Guest

Gast
so, selber verwirrt, aber gauss ist nun doch floor wie es ein sollte,
also

5/-2 = -2.5
floor(5/-2) = -3
5-floor(5/-2)*-2 = 1


5/-2 = -2.5
5 div -2 = -2
5-(5 div 2)*-2 = -1

und bei Java kommt eins der beiden heraus

kleiner rechenfehler am ende:

5-(5 div 2)*-2 = 5-(-2)*-2 = 5-4 = 1

der modulo operator bei java arbeitet nach dem prinzip

a mod b = a - b*(a div b)

wobei a div b = floor x, wenn a*b > 0 (dh, wenn beide das gleiche vorzeichen haben)
= ceil x, wenn a*b < 0 (dh, wenn beide unterschiedliche vorzeichen haben)
 
S

SlaterB

Gast
hehe, aber auch beim obigen falsch:

5-floor(5/-2)*-2 = -1 und nicht 1,
beides falsch so dass am Ende sich doch beide unterscheiden und Java rechnet nur eins von beiden aus
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
A Aufgaben Java Basics - Anfänger-Themen 30
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Selbe Aufgaben stellung, andere Lösung Java Basics - Anfänger-Themen 7
K Java Aufgaben-Wie ran gehen? Java Basics - Anfänger-Themen 6
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
A Java Aufgaben Java Basics - Anfänger-Themen 5
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Schnelle Hilfe bei 2 kurzen Aufgaben benötigt Java Basics - Anfänger-Themen 2
D Collections Aufgaben Java-Programmierung Überforderung Java Basics - Anfänger-Themen 36
M Java Insel Aufgaben von der DVD gesucht Java Basics - Anfänger-Themen 2
A Threads Threads bestimmte Aufgaben zuweisen... Java Basics - Anfänger-Themen 3
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
J Vererbung Wurden die Aufgaben richtig programmiert? Java Basics - Anfänger-Themen 20
N Java Aufgaben Java Basics - Anfänger-Themen 4
V Buch:Programmieren lernen mit Java-Aufgaben zu schwer ? Java Basics - Anfänger-Themen 2
M Klassen Hilfe bei Aufgaben Java Basics - Anfänger-Themen 5
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
G OOP [Eilig] Biete 10€ für Lösung von 2 Grundlagen-Aufgaben Java Basics - Anfänger-Themen 6
M Problem/Unsicherheit bei Java-Aufgaben Java Basics - Anfänger-Themen 11
S Anfänger Aufgaben Java Basics - Anfänger-Themen 6
CR7 GUI-Aufgaben Java Basics - Anfänger-Themen 7
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
D Zeitliche Aufgaben? Java Basics - Anfänger-Themen 3
S Herangehensweise an Aufgaben Java Basics - Anfänger-Themen 8
J Schleifen-Aufgaben Java Basics - Anfänger-Themen 6
L Java Programier Aufgaben für Anfänger Java Basics - Anfänger-Themen 5
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
A Aufgaben zu OOP Java Basics - Anfänger-Themen 14
J Aufgaben Dynamisch auf Pool von Threads verteilen. Java Basics - Anfänger-Themen 3
-horn- Wie "Module" für wiederkehrende Aufgaben machen? Java Basics - Anfänger-Themen 7
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
K Hallo, Ich suche kleine Java Program-Aufgaben zum üben ? Java Basics - Anfänger-Themen 4
J Tolle Aufgaben Stellung - wer kann helfen? Java Basics - Anfänger-Themen 12
J Hilfe zu 2 Aufgaben Java Basics - Anfänger-Themen 27
G Hilfe komme nicht weiter bei diesen aufgaben Java Basics - Anfänger-Themen 2
M Suche gute Anfänger "Aufgaben" Java Basics - Anfänger-Themen 8
T Suchen Anfänger-Aufgaben Java Basics - Anfänger-Themen 4
Z SGD Aufgaben Jav04 Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben