FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P2 Aufgabenblatt C Ansätze ???

P2 Aufgabenblatt C Ansätze ??? 2003-04-21 16:35
Anonymer User
Hat schon jemand nen schicken Ansatz ? Es gibt zwar noch keine Vorlage, man kann sich aber schon mal so seine Gedanken machen wie das ganze aussehen soll, zumindest die Klasse gluehlampe und deren eigenschaften.

ich will morgen nicht bei dem wetter im bunker sitzen, also lasst uns mal etwas kreativ sein ! [img]http://www.fb18.de/gfx/6.gif[/img]

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 00:29
Da:Sourcerer
Nur Geduld! Ich arbeite gerade daran…das JDK runterzuladen (dial-up! grmpf!)

Werde im Laufe der Nacht ein paar Teillösungen posten.

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 01:00
Dosenwein
Die Vorlagen zu Übungszettel C (Ueberweisungsautomat, und Uhrenanzeige) sind jetzt im übrigen auf der P2-Page zu bestaunen.

Gruss Dosenwein

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 02:08
Da:Sourcerer
So, hier schonmal Aufgabe 1:
public class Gluehlampe { private int watt; private boolean istAn = false; public Gluehlampe(int _watt) { watt = _watt; } public int gibLeuchtstaerke() { return watt; } public void einschalten() { istAn = true; } public void ausschalten() { istAn = false; } public String Status() { if(istAn) { return "Lampe ist an"; } else { return "Lampe ist aus"; } } }

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 10:49
Da:Sourcerer
Hey sowas…jetzt bin ich doch glatt eingepennt…

Egal, Aufgabe 2:

Nummernanzeige:
public Nummernanzeige(int anzeigeGrenze) { limit = anzeigeGrenze; } public int gibWert() { return wert; } public String gibAnzeigewert() { int stunden, minuten; stunden = wert / 60; minuten = wert % 60; if ( stunden == 0 ) { if( minuten < 10) { return "0:0" + String.valueOf(minuten); } else { return "0:" + String.valueOf(minuten); } } else { return String.valueOf(stunden) + ":" + String.valueOf(minuten); } } public void setzeWert(int wert) { if(wert > 0 && wert < limit) { this.wert = wert; } } public void erhoehen() { wert = ++wert % limit; } Die letzte Funktion würde ich in ein if/else-Statement umwandeln, sonst merkt euer Übungsgruppenleiter u.U., das der Code nicht von euch ist. Ich fand's einfach ein wenig eleganter[img]http://www.fb18.de/gfx/10.gif[/img]

Uhrenanzeige:
public class Uhrenanzeige { Nummernanzeige uhr = new Nummernanzeige( 720 ); public Uhrenanzeige() { // initialise instance variables uhr.setzeWert(0); } public Uhrenanzeige(int stunden, int minuten) { setzeUhrzeit(stunden, minuten); } public String gibUhrzeit() { return uhr.gibAnzeigewert(); } public void setzeUhrzeit(int stunden, int minuten) { uhr.setzeWert(stunden * 60 + minuten); } public void taktsignalGeben() { uhr.erhoehen(); } } Diese Uhr geht jetzt nur bis 12:00 Uhr. Um dieses Verhalten zu ändern, giebt man in der Zeile mit Nummernanzeige uhr = new Nummernanziege(.. einfach 1440 (oder nach Belieben etwas ganz anderes) an.

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 10:56
Da:Sourcerer
So, Aufgabe 3:
public class Ueberweisungsmanager { private int x; public Ueberweisungsmanager() { x = 0; } public void ueberweisen(Konto quellKonto, Konto zielKonto, int betrag) { zielKonto.zahleEin(betrag); quellKonto.hebeAb(betrag); } } Bevor das ganze benutzbar ist, muß man zunächst mindestens Exemplare vom Typ Konto erzeugen. Deren Namen giebt man als Parameter beim Ausführen von ueberweisen(…) an.
(Ja, wer witzig ist, kann auch einfach nur ein Konto erzeugen und das dann zweimal angeben…)

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-22 13:52
Fred
Hi!

Wieso postest Du hier schon die kompletten Loesungen? Unter einem Ansatz verstehe ich eigentlich was anderes… Naja, die Leute, die sich mit fremden Loesungen durch die Uebungsgruppen schummeln wollen, um danach bei der muendlichen Pruefung unterzugehen wirds natuerlich freuen [img]http://www.fb18.de/gfx/3.gif[/img]


Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-23 21:08
Dosenwein
public class Gluehlampe
{
private int watt;
private boolean istAn = false;

public Gluehlampe(int _watt)
{
watt = _watt;
}


Ich will ja nicht pingelig sein…

Aber nach den tollen Quellcode-Konventionen die wir bekommen haben, werden Instanzvariablen mit Unterstrich dran deklariert (also z.B _istAn), und alle anderen ohne Unterstrich.

return "0:" + String.valueOf(minuten);

Stattdessen kannst du auch schreiben:

return "0:" + minuten;

Unser ÜGruppen-Leiter meinte das andere würde nur "kostbare Rechenzeit vergeuden".



Dosenwein

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-23 21:32
Da:Sourcerer
OK:
1.) Ja, war nicht so 'ne tolle Aktion, die kompletten Lösungen zu posten, aber solche Sachen fließen mir quasi aus den Fingern, da kenne ich echt kein halten mehr
2.) Der Code ist (leider) nicht ganz sauber. War ja auch schon spät[img]http://www.fb18.de/gfx/12.gif[/img]
Beispiel: Die Aufgabe mit der Nummernanzeige war nicht ganz so genial (hat das keiner gemerkt?), weil ich zwischendurch einen Denkfehler gemacht habe. Bei der Rückgabe der Anzeige als String habe ich noch eine zusätzliche Abfrage gemacht wegen der Stunden. Die wäre aber gar nicht nötig gewesen, weil die Ziffer dann so oder so 0 ist…

Ich will ja nicht pingelig sein…

Aber nach den tollen Quellcode-Konventionen die wir bekommen haben, werden Instanzvariablen mit Unterstrich dran deklariert (also z.B _istAn), und alle anderen ohne Unterstrich.
Ach, scheiß auf die Konventionen[img]http://www.fb18.de/gfx/24.gif[/img]
Stattdessen kannst du auch schreiben:

return "0:" + minuten;

Unser ÜGruppen-Leiter meinte das andere würde nur "kostbare Rechenzeit vergeuden".
Ey komm, das ist doch echt Visual Basic-Niveau! Ich will einfach einen ordentlichen, sauberen Typecast[img]http://www.fb18.de/gfx/7.gif[/img]

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-24 02:48
MoKrates
Ach, scheiß auf die Konventionen
Bitte nicht.

Stattdessen kannst du auch schreiben:

return "0:" + minuten;

Unser ÜGruppen-Leiter meinte das andere würde nur "kostbare Rechenzeit vergeuden".

Ey komm, das ist doch echt Visual Basic-Niveau! Ich will einfach einen ordentlichen, sauberen Typecast

1. Ist es kein VB Niveau
2. Braucht das eine wie das andere (10 Eur drauf) *exakt* die selbe Rechenzeit
3. Waere ein sauberer Typecast ein Integer.toString(minuten)

public String Status() { if(istAn) { return "Lampe ist an"; } else { return "Lampe ist aus"; } }
Komm schon, wenn Dir Programme ueberhaupt aus den Fingern fliessen, dann hoffe ich doch, sowas:
public String status() { return istAn?"Lampe ist an":"Lampe ist aus"; } Wer mehr Zeilen braucht ist l4m3.

MoKrates

Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-24 03:04
TriPhoenix
Ach, scheiß auf die Konventionen
Bitte nicht.
Es sind die P2-Konventionen. Da soll man Unterstriche vor exemplarvariablen tun [img]http://www.fb18.de/gfx/8.gif[/img]. Scheiss drauf [img]http://www.fb18.de/gfx/7.gif[/img] Nimm lieber die Sun-Konventionen, die sind vernünftig. http://java.sun.com/docs/codeconv/


Re: P2 Aufgabenblatt C Ansätze ??? 2003-04-24 10:54
Da:Sourcerer
public String status() { return istAn?"Lampe ist an":"Lampe ist aus"; } Wer mehr Zeilen braucht ist l4m3.

MoKrates
LOL! *Genau* das habe ich in meiner Übung getipt und kaum einer hat's verstanden[img]http://www.fb18.de/gfx/7.gif[/img]