You are not logged in.

Neutrino

masselos

  • "Neutrino" is male
  • "Neutrino" started this thread

Posts: 661

Date of registration: Oct 6th 2005

Location: Hannover

Occupation: SRA Mitarbeiter

1

Thursday, April 27th 2006, 7:44pm

java übung 3

hallo leutz!
Ich weiß: "Streber!!!" aber ich hab mit der neuen Java übung schon angefangen. und <schwups> tauchten auch die ersten probs auf.

Schreiben Sie ein Programm, mit dessen Hilfe Sie durch die Verschachtelung zweier
bedingter Operatoren herausfinden, ob der bedingte Operator links- oder rechtsassoziativ
ist. Ist also
Bedingung1 ? a1 : Bedingung2 ? a2 : a3
gleichbedeutend mit
Bedingung1 ? a1 : (Bedingung2 ? a2 : a3)
oder
(Bedingung1 ? a1 : Bedingung2 ) ? a2 : a3 ?
Hinweis: Die Rückgabewerte sollten boolean sein, damit alle Interpretationsmöglichkeiten
auch möglich sind.

was sollebn das für bedingungen sein? warum muss a2 und a3 boolean sein? was soll das?

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

2

Thursday, April 27th 2006, 8:01pm

Dass a2 und a3 boolean sein müssen, find ich auch hirnrissig, aber bei a1 macht das Sinn:
Bei der dritten Operation wird ja erstmal die gesamte Klammer ausgewertet und der zweite tertiäre Operator erwartet einen Wahrheitswert!

Mata ne
Warui

P.s: Es hilft, wenn du dir extra anzeigen lässt, was die Klammer evaluiert hat, sonst kann es sein, dass du den Unterschied gar nicht mitbekommst :D)

P.p.s: Welche dieser Ausdrücke nun äquivalent sind, ist mir klar, ich rätsel nur noch, was davon denn bedeutet, ob das nun links- oder rechtsassoziativ ist .... das "Skript" sagt dazu ja

Quoted

"Links-assoziativ": Der am weitesten links stehende Operator wird zuerst ausgewertet. (entsprechend "rechts-assoziativ")

Aber da der tertiäre Operator ja per definitionem nur eine andere Schreibweise für ein if-else-Konstrukt ist, finde ich die Frage sinnfrei ...
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

This post has been edited 2 times, last edit by "Warui" (Apr 27th 2006, 8:06pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

3

Thursday, April 27th 2006, 8:10pm

RE: java übung 3

Quoted

Original von Neutrino
Schreiben Sie ein Programm, mit dessen Hilfe Sie durch die Verschachtelung zweier
bedingter Operatoren herausfinden, ob der bedingte Operator links- oder rechtsassoziativ
ist. Ist also
Bedingung1 ? a1 : Bedingung2 ? a2 : a3
gleichbedeutend mit
Bedingung1 ? a1 : (Bedingung2 ? a2 : a3)
oder
(Bedingung1 ? a1 : Bedingung2 ) ? a2 : a3 ?
Hinweis: Die Rückgabewerte sollten boolean sein, damit alle Interpretationsmöglichkeiten
auch möglich sind.

was sollebn das für bedingungen sein?
Igendwelche. Die sollst Du Dir selber ausdenken. Und zwar so, daß Du damit testen kannst, ob Rechts- oder Linksassoziativität gilt (ich hab nicht drüber nachgedacht, aber vermutlich reichen "true" und "false" bereits als Bedingungen aus).

Quoted

warum muss a2 und a3 boolean sein?
Müssen sie so wie ich das sehe nicht. Ich weiß auch nicht, warum das für diese beiden gefordert wird ...

Quoted

was soll das?
Es soll durch Ausprobieren herausgefunden werden, wie sich der "Conditional Operator ?" verhält, wenn man ihn geschachtelt verwendet. Dazu siehe auch http://java.sun.com/docs/books/jls/third…ons.html#290293.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

4

Thursday, April 27th 2006, 8:12pm

Quoted

Original von Warui
Aber da der tertiäre Operator ja per definitionem nur eine andere Schreibweise für ein if-else-Konstrukt ist, finde ich die Frage sinnfrei ...
Nein, so (als Kurzschreibweise) ist er nicht definiert, siehe http://java.sun.com/docs/books/jls/third…ons.html#290293.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 1 times, last edit by "Joachim" (Apr 27th 2006, 8:14pm)


Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

5

Thursday, April 27th 2006, 8:33pm

Quoted

Original von Joachim
Nein, so (als Kurzschreibweise) ist er nicht definiert, siehe http://java.sun.com/docs/books/jls/third…ons.html#290293.

gebe mich geschlagen ;)

Was mich grade beschäftigt:
Was ist in Aufgabe 3 mit nicht-trivialem Beispiel gemeint? Bei nem trivialen stell ich mir vor "du willst was mit ner Zahl anstellen und es kommt was anderes raus" .... aber alles andere ist doch dasselbe nur in ner anderen Umgebung o.O .... Ist es plötzlich weniger trivial, wenn das Programm statt zehn 500 Zeilen lang ist?

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

6

Thursday, April 27th 2006, 10:07pm

Quoted

Original von Warui
Was ist in Aufgabe 3 mit nicht-trivialem Beispiel gemeint?

Ich vermute mal, dass es trivial ist, wenn einer der beiden Werte null ist.

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

7

Saturday, April 29th 2006, 11:32am

edit
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

This post has been edited 2 times, last edit by "Dot" (Apr 29th 2006, 12:16pm)


Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

8

Saturday, April 29th 2006, 6:32pm

Wollte nur darauf hinweisen, dass sich die Aufgabe 3a auf Ganzzahl-Formate bezieht ...
Steht jedenfalls inzwischen auf der Seite zur Vorlesung :D

Hatte selbst überlegt, ob man das Ding nun dazu kriegen soll, korrekt zu rechnen (13 / 2 != 6), aber mir dann gedacht, dass es mehr ums Prinzip, als ums korrekte Rechnen geht :)

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

hamena314

Zerschmetterling

  • "hamena314" is male

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

9

Monday, May 1st 2006, 5:39pm

Um nochmal auf Aufgabe 2 zurück zu kommen, hatte nämlich was ausgetüftelt und eben bemerkt, dass das garnicht funktioniert. 8o
Wie kann ich denn beweisen, dass der bedingte Operator rechtsassoziativ ist, also gilt:

b1 ? a1 : b2 ? a2 : a3 = b1 ? a1 : ( b2 ? a2 : a3 )

Denn wenn ich etwas reinfüttere, wird nur teilweise ausgewertet. Falls b1 true ergibt, wird a1 ausgegeben und das ganze beendet.
Irgendwie verstehe ich dann nicht, wie angeblich das Zitat aus der Vorlesung gelten soll:

Quoted


"Links-assoziativ": Der am weitesten links stehende Operator wird zuerst ausgewertet. (entsprechend "rechts-assoziativ")


?(

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

10

Monday, May 1st 2006, 6:41pm

du kannst dann zumindest die Fragestellung beantworten, um die es scheinbar teilweise ging, nämlich, welcher der Alternativausdrücke dem Hauptausdruck an Bedeutung und Auswertung gleich kommt.
Das mit der Assozivität find ich immer noch seltsam, aber gut ....

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

hamena314

Zerschmetterling

  • "hamena314" is male

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

11

Monday, May 1st 2006, 6:49pm

Öhm nein, aus meinen Überlegungen kann ich das leider nämlich nicht, in der Tabelle aus der Vorlesungsfolie stand einfach, dass der Operator rechtsassoziativ ist, also gilt b1 ? a1 : ( b2 ? a2 : a3 ).
Aber wenn ich konkrete Daten einsetze, wird nach der Auswertung von b1 (falls true) a1 ausgegeben und der Rest nicht beachtet, was wiederum für linksassoziativ spräche.

Sorry, aber entweder sehe ich da was nicht, oder ich verstehe grundlegend was falsch. ;(

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

12

Monday, May 1st 2006, 6:56pm

Quoted

Aber wenn ich konkrete Daten einsetze, wird nach der Auswertung von b1 (falls true) a1 ausgegeben und der Rest nicht beachtet, was wiederum für linksassoziativ spräche.


Nein, das spricht nicht für Linksassoziativität. Rechtassoziativ bedeutet, dass erst der Operator mit Bedingung2 ausgewertet wird, dann der mit Bedingung 1. Wenn Bedingung 1 wahr ist, wird logischerweise a1 ausgegeben, bei falsch das Ergebnis des zweiten Operator.
Linksassoziativ würde bedeutet, es wird erst bei Bedingung1 geguckt, ob diese wahr oder falsch ist, und bei falsch würde dann erst der zweite Operator ausgewertet werdem und nicht schon vorher.
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

LoneClone

Praktikant

  • "LoneClone" is male

Posts: 22

Date of registration: Dec 19th 2005

Location: Stadthagen

Occupation: Informatik

13

Monday, May 1st 2006, 7:14pm

Hätte da mal ne Frage zu Aufgabe 3.
Wo genau sollen wir denn die Operatoren "nachschlagen"?
Die können doch wohl nicht von einem verlangen, dass man sich erstmal ne halbe Ewigkeit durchs I-Net schlagen soll, bevor man überhaupt mit der Aufgabe anfangen kann. Das wäre in meinen Augen ne totale Schweinerei X(.

hamena314

Zerschmetterling

  • "hamena314" is male

Posts: 2,032

Date of registration: Aug 31st 2003

Location: Hannover

Occupation: Informatikstudent (d'uh)

14

Monday, May 1st 2006, 7:27pm

@LoneClone: Aus zeitlichen Überschneidungsgründen kann ich leider nicht in die Vorlesung, also muss ich mir das selber reinziehen und ich denke, das ist nicht die schlechteste Möglichkeit zum Lernen. :D

Java-Insel
Javabuch.de

Sind ziemlich nützliche Seiten.
Als Tipp auch: Das RRZN bietet ein Handbuch zu Java 5.0 (also Java 1.5) an, das kost' nur 4 oder 5€.
Sicher, ein Buch für eine Programmiersprache ist dann nervig, wenn man ellenlange Listings abtippen muss, aber man kann sich Notizen machen und das Ding neben das Bett legen, falls einem im Schlaf ein Gedankenblitz kommt. :P
Einzig das etwas spärlich ausgefallene Inhaltsverzeichnis/Index sind ärgerlich, weil man so für manches erst ein bischen suchen muss.
Aber bei dem Preis definitiv hilfreich!

@Markus: Hm, also sprachlich lässt sich das ganz schwer nachvollziehen, habe auch keine guten Beispiele im Internet gefunden, aber ich denke, ich hab' gerade den richtigen Schluss aus deiner Aussage gezogen und die Aufgabe gelöst. THX! :)

[edit]: ÖRKS! Nein doch nicht gelöst, hab mich gerade widerlegt. :(

HAVE PHUN!
Nicht der Wind bestimmt die Richtung, sondern das Segel! (Lao Xiang, China)

This post has been edited 1 times, last edit by "hamena314" (May 1st 2006, 7:30pm)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

15

Monday, May 1st 2006, 9:38pm

Quoted

Original von LoneClone
Wo genau sollen wir denn die Operatoren "nachschlagen"?
Die können doch wohl nicht von einem verlangen, dass man sich erstmal ne halbe Ewigkeit durchs I-Net schlagen soll, bevor man überhaupt mit der Aufgabe anfangen kann.
Meine Meinung: Wer später bescheinigt bekommen will, eine Programmiersprache zu "können", sollte auch in der Lage sein, selbständig die zur Sprache gehörige Dokumentation zu finden und zu lesen.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

16

Monday, May 1st 2006, 9:52pm

Mir hat früher folgende Seite oft geholfen und hilft auch immernoch manchmal: http://www.galileocomputing.de/openbook/javainsel3/

Grüße
no risk no fun, no brain no pain nor gain

maffe

Unregistered

17

Monday, May 1st 2006, 10:26pm

Da hier öfter die 4. und nun auch die 3. Auflage des Buches "Java ist auch eine Insel" verlinkt wird, möchte ich nochmal darauf hinweisen, dass es seit einiger Zeit (mindestens seit Oktober) auch eine 5. Auflage gibt.

This post has been edited 1 times, last edit by "maffe" (May 1st 2006, 10:27pm)


LoneClone

Praktikant

  • "LoneClone" is male

Posts: 22

Date of registration: Dec 19th 2005

Location: Stadthagen

Occupation: Informatik

18

Monday, May 1st 2006, 10:35pm

Quoted

Original von Joachim

Quoted

Original von LoneClone
Wo genau sollen wir denn die Operatoren "nachschlagen"?
Die können doch wohl nicht von einem verlangen, dass man sich erstmal ne halbe Ewigkeit durchs I-Net schlagen soll, bevor man überhaupt mit der Aufgabe anfangen kann.
Meine Meinung: Wer später bescheinigt bekommen will, eine Programmiersprache zu "können", sollte auch in der Lage sein, selbständig die zur Sprache gehörige Dokumentation zu finden und zu lesen.


So war das ja auch nicht gemeint. Ich hätte vielleicht noch dazu schreiben sollen, dass ja vielleicht in der Vorlesung darüber was gesagt wurde. Ich war nämlich nicht bei der letzten Vorlesung dabei und daher wollte ich mich einfach mal erkundigen.
Ist ja nicht so, als hätte ich nix dazu im Internet gefunden, nur dass, was ich gefunden hatte, war für mich nicht so verständlich, daher hab ich hier sicherheitshalber nochmal nachgefragt :D.

Aber danke für deine ehrliche Meinung, solche Leute lobe ich mir, die anderen auch mal ihre Meinung sagen :).

ruffy85

Trainee

  • "ruffy85" is male

Posts: 103

Date of registration: Oct 12th 2005

Location: Hildesheim

Occupation: B.Sc. Informatik / 1. Semester

19

Monday, May 1st 2006, 10:40pm

War ne blöde Übung, gerade A1. Aber was wollen wir denn machen? Wird sicher so lahm wie in Scheme. Die letzten Übungen waren schon blöde. Mal sehen, wann man richtig gefordert wird und nicht grundsätzliche Probleme mit bedingten Operatoren oder so lösen muss :-P

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

20

Tuesday, May 2nd 2006, 6:16pm

Du musst auch mal sehen, dass es einige Leute gibt, die Java und das damit verbundene Konzept von neu auf erlernen, und die sind froh, wenn sie das Wissen nur häppchen- und nicht Schaufelweise bekommen .
Aber wenn du möchtest, kann ich dir am Freitag auch Aufgaben geben, die dich mehr fordern. Aber wehe, es wird dann gemeckert ;)
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...