2. Übungsblatt - Abgabe: 28. November

http://pp.info.uni-karlsruhe.de/lehre/W ... rn/b02.pdf
Tobias
Beiträge: 44
Registriert: Fr 24. Okt 2008, 12:58
Wohnort: Karlsruhe

2. Übungsblatt - Abgabe: 28. November

Beitrag von Tobias »

So, das zweite Programmieren Übungsblatt ist draußen.

sieht eigentlich recht chillig aus ...

http://pp.info.uni-karlsruhe.de/lehre/W ... rn/b02.pdf

Edit Administrator - Start

2. Übungsblatt

Abgabe: bis Freitag, den 28.11.2008, 10.00 Uhr

Download:

2. Übungsblatt (Rechtsklick / Speichern unter...)
Download nur über das Uni-Netz (VPN Client von außen).

Abgabe im Briefkasten für Übungsaufgaben im Informatik-Gebäude (Nr. 50.34 im Keller) in das Fach "Programmieren"

Fragen und Antworten kommen in diesen Thread rein. Für spezifische Fragen kann ein eigener Thread aufgemacht werden!

Edit Administrator - Ende
fake
Beiträge: 95
Registriert: Mo 27. Okt 2008, 17:34

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von fake »

ne frage zur aufgabe 4 b und c, da steht man solle das ganze dreieck einmal um den Ursprung rotieren lassen und einmal um einen Punkt, doch mit was soll man das dreieck rotieren lassen? mit einem eckpunkt von dem dreiecik oder seinem schwerpunkt?

würde denn folgendes gehn?

PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: auf Anzeigen klicken
...

void rotate (double angle) {
this.p1.rotate(angle);
this.p2.rotate(angle);
this.p3.rotate(angle);
}

...



oder müsste ich alle 3 linien einzelnd rotieren lassen?

also so:

...

void rotate (double angle) {
this.p1.rotate(angle);
this.p2.rotate(angle);
}

void rotate (double angle) {
this.p1.rotate(angle);
this.p3.rotate(angle);
}

void rotate (double angle) {
this.p2.rotate(angle);
this.p3.rotate(angle);
}

...

oder geht meine dritte methode?^^:

...

void rotate (double angle) {
this.L1.rotate(angle);
this.L2.rotate(angle);
this.L3.rotate(angle); // L1,2,3 sind hier meine 3 linien
}

...
nemo
Beiträge: 3
Registriert: So 2. Nov 2008, 10:47

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von nemo »

Meiner Meinung nach machen alle drei deine Methoden das gleiche:) Bei der ersten sparst du aber einige Methodenaufrufe, deshalb würde ich die vorziehen.

Bei der Aufgabe, wo du das ganze um einen Punkt rotierst, sieht es fast genau so aus, nur, dass du zum Winkel noch einen beliebigen Punkt (z.B -99;99) übergibst.
fake
Beiträge: 95
Registriert: Mo 27. Okt 2008, 17:34

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von fake »

dann hab ich noch ne kurze allgemeine frage, müssen wir echte punkte einsetzen bei den aufgaben oder geht das so allgemein gehalten wie ich das gepostet habe?
Christian S.
Beiträge: 225
Registriert: Sa 25. Okt 2008, 12:48

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von Christian S. »

Könnte mir jemand sagen, was ich bei der allerletzten Teilaufgabe machen soll? Ich finde die Aufgabenbeschreibung etwas mager und weiß nicht wirklich, was ich mit ihr anfangen soll. Was soll diese main-Klasse leisten?
Edit: Hat sich geklärt, man soll in der Main Methode die Operationen testen und per Terminal-Klasse ausgebenund das Ergebnis aus der Eingabeaufforderung copy- /pasten. Worauf mich ein Kommilitone glücklicherweise aufmerksam gemacht hat: 1 / 3 und 1.0 / 3.0 sind nicht dasselbe.
Benutzeravatar
DaVinci
Beiträge: 62
Registriert: Mi 5. Nov 2008, 01:20

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von DaVinci »

fake, warum arbeitest du mit Linien? War doch nix davon die Rede, oder? :think:
Einfach die Punkte mit Hilfe von sine&cosine rotieren, fertig.
¿ɯıɥ ssɐɹɹɐqɯǝ ʎɥʍ 'ʇou s,ʇı ɟı — noʎ llǝʇ ll,ǝɥ 'ɔɐɯ ɐ s,ʇı ɟı — sǝsn ǝɥ so ʇɐɥʍ uɐɯ ɐ ʞsɐ ɹǝʌǝu
masterfromkardjali
Beiträge: 3
Registriert: Fr 7. Nov 2008, 01:45

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von masterfromkardjali »

Könnt ihr kleine Hinweise für Aufgabe 4 geben. Ich habe keine Idee wirklich. Ein kleines Beispiel vielleicht... :cry:
markusj
Beiträge: 164
Registriert: Do 23. Okt 2008, 22:07

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von markusj »

Christian S. hat geschrieben:Worauf mich ein Kommilitone glücklicherweise aufmerksam gemacht hat: 1 / 3 und 1.0 / 3.0 sind nicht dasselbe.
Genau das ist mir auch passiert, darum testen wir ja unseren Code vorher ;)
Und die ganzen Probleme spart man sich, indem man anstelle von (1/3)*x direkt x/3 rechnet, zumindest wenn x die Summe mehrere doubles ist ;)

mfG
Markus

@Masterofsonstwas: Wo hakts denn? So ganz ohne Anhaltspunkt läufts auf ne Komplettlösung raus, und die gibt es von meiner Seite aus aus gutem Grunde nicht.
Als Hinweis: Die ersten Teilaufgaben haben wir in der VL schon an der Wand gesehen.
Benutzeravatar
Dit
Beiträge: 12
Registriert: Do 13. Nov 2008, 18:38
Kontaktdaten:

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von Dit »

Hallo
könnte jem sagen ob das so stimmt ?
A3
a)

Code: Alles auswählen

public class Account {
    //Attribute
    String kontoinhaber;
    int kontostand;
    //Konstruktormethode
    public Account ( String kontoinhaber , int kontostand ) {
        this.kontoinhaber = kontoinhaber;
        this.kontostand = kontostand;
        return kontostand;
    }
    public void einzahlung ( int betrag ) { 
        kontostand += betrag;
    }
    public void ueberweisung ( int betrag ) {
        if (kontostand >= betrag) { 
            kontostand -= betrag; 
        }
        if (kontostand <= betrag) { 
            kontostand == kontostand; 
        }
    }
    
}
Gruss :)
Scotty_doesn't_know
Beiträge: 9
Registriert: So 9. Nov 2008, 12:29

Re: 2. Übungsblatt - Abgabe: 28. November

Beitrag von Scotty_doesn't_know »

Dit hat geschrieben:Hallo
könnte jem sagen ob das so stimmt ?
A3
a)

Code: Alles auswählen

public class Account {
    //Attribute
    String kontoinhaber;
    int kontostand;
    //Konstruktormethode
    public Account ( String kontoinhaber , int kontostand ) {
        this.kontoinhaber = kontoinhaber;
        this.kontostand = kontostand;
         return kontostand;                                    // <= FALSCH!
    }
    public void einzahlung ( int betrag ) { 
        kontostand += betrag;
    }
    public void ueberweisung ( int betrag ) {
        if (kontostand >= betrag) { 
            kontostand -= betrag; 
        }
        if (kontostand <= betrag) { 
            kontostand == kontostand; 
        }
    }
    
}
Gruss :)
Nicht ganz. Du solltest eine Methode erzeugen, die den Kontostand ausgibt. Du versuchst das über die Konstruktormethode. Abgesehen davon, dass ich nichts davon weiß, dass die Konstruktormethode werte zurückgeben kann (sie konstruiert ja nur das objekt) fällt mir auch nichts ein, wo man das gebrauchen könnte!
Diese methode wird nur bei der erzeugung des objekts aufgerufen und ich denke mal dass der kontostand sich ändern kann und damit mehrfach abgefragt werden muss. Hoffe das war verständlich... :)

PS: First post! :Bravo:
Antworten

Zurück zu „Blatt 2 - Abgabe 28.11.08“