[Progra] Übungsblatt

[Progra] Programmierung
[DSAL] Datenstrukturen und Algorithmen
[SWT] Softwaretechnik
[DB] Datenbanken und Informationssysteme

Beitragvon bunower » 24.11.08 20:25

C-Otto hat geschrieben:Du sollst den Konstruktor vervollstaendigen, so dass dieser fuer die Werte 0 bis 3 (also 4 verschiedene) entsprechende Bluemchen erzeugt.

Code: Alles auswählen
public Bluemchen(int typDerBlume) {

       if(typDerBlume==0){
            int [] typ = {0,21,40,7};
       }else if(typDerBlume==1){
            int [] typ = {1,18,20,6};
       }else if (typDerBlume==2){
            int [] typ = {2,12,25,4};
       }else if(typDerBlume==3){
            int [] typ = {3,15,32,5};
       }else {
            int [] typ = {0,21,40,7};
       }
       

wird denn hier nicht genau das gemacht wenn typDerBlume = 0 dann typ 0, wenn 1 dann 1 usw.
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon C-Otto » 24.11.08 20:29

Ich sags mal so: die Musterloesung sieht anders aus.
Dr. rer. nat. Carsten Otto
http://verify.rwth-aachen.de/otto/
Benutzeravatar
C-Otto
 
Beiträge: 568
Registriert: 10.08.06 00:20
Wohnort: Schwalbach am Taunus
Studiert seit: fertig
Anwendungsfach: BWL

Beitragvon bunower » 24.11.08 21:00

ok dies ist glaub ich meine letze frage zu diesem thema,
ich habe einaml Bluemchenbeet.java und Bluemchen.java,
im Bluemchenbeet.java wird eine objekt Bluemchen erzeugt, wie ihr auch in den codes sehen könnt habe ich für das objekt bluechne einen array gebraucht und zwar typ[].
nun will ich von Bluemchenbeet.java aus auf dieses array zugreifen ich weiss dass es dazu 2 methoden gibt einmal callby value und zum adnern call by refeence, da typ[] nicht statisch ist, kann ihc hier call by value machen bzw.
Bluemchen.typ[1] aber der compiler meckert und sagt
Bluemchenbeet.java:27: non-static variable typ cannot be referenced from a static context
Benutzeravatar
bunower
 
Beiträge: 130
Registriert: 07.10.08 17:34
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: BWL

Beitragvon mirko » 24.11.08 21:24

Bluemchen.typ[1]

woher soll der compiler denn wissen, welche blume du meinst?

btw: information hiding ist nicht vorgeschrieben?
mirko
 
Beiträge: 1032
Registriert: 22.10.06 18:33
Studiert seit: WS 12/13

Beitragvon P3RF3C7 » 24.11.08 21:27

Also so wie ich das sehe kennst du noch nicht so genau den Unterschied zwischen Klassen und Objekten. Schau dir das noch mal an :)
Ohne das wird auch nicht klar was das "static" bedeutet.
P3RF3C7
 
Beiträge: 23
Registriert: 05.10.08 19:12
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: BWL

Beitragvon Trinova » 25.11.08 00:27

finde auch net, dass das so super erklärt wurde. Kann zwar Java und hab keine Probleme damit, aber gibt viele für die es zu viel ist wenn man gleichzeitig:
1. Programmieren
2. Java als Sprache
3. Prinzip der OOP
lernen muss. Hätte bisschen detaillierter auf Klasse und Objekt eingehen können für die, die noch nie was damit zu tun gehabt haben^^

Warum der Kompiler meckert:
In einer statischen Methode, kann man nur statische Methoden und Variablen verwenden.
Benutzeravatar
Trinova
 
Beiträge: 196
Registriert: 24.09.08 11:27
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: E-Technik

Beitragvon biza » 25.11.08 01:00

Der Assistent bei der Globalübung hat sich aber wirklich Mühe gegeben das mit den Klassen rüber zu bringen - und hätte man sich darauf eingelassen, hätte es auch wirklich was gebracht, auch wenn es nachher wegen der ziemlich unsauberen Folie etwas undeutlich wurde.

Im Grunde ist diese Objektorientierte Geschichte doch nichts anderes als sich an Beispielen aus dem realen Leben entlang zu hangeln und nicht etwa irgendetwas neues wo man sich erst einarbeiten muss. Habe das zugegebenermaßen auch etwas vermisst, dass es explizit so gesagt wurde.

Ob man so jetzt wirklich am besten Programmieren lernt, sei mal dahingestellt. Aber ein Mittelweg muss halt gefunden werden zwischen Neueinsteigerkurs (man bedenke: wir sind in der Vorlesung ja, zwar mit einigen Abschweifungen, nun wohl dem Hörensagen nach erst da angelangt wo der Vorkurs aufgehört hat) und der anderen Hälfte die schon jahrelange Programmier Erfahrung haben.
huch, war ich das?
Benutzeravatar
biza
 
Beiträge: 139
Registriert: 20.11.08 21:02
Studiengang: Informatik (M.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: Medizin

Beitragvon Trinova » 25.11.08 13:33

stimmt, an die Globalübung hab ich net gedacht (bin selten da^^)

Was aber bestimmt hilft, wenn jeder der in Java fit ist einem einzigen der neu einsteigt bisschen unter die Arme greift. z.B. einfach die Übung zusammen macht und demjenigen das dabei erklärt. Ist kaum nen Mehraufwand da man eh die Aufgaben machen muss und man hat ne gute Tat vollbraucht. Außerdem hilft derjenige einem bestimmt auch gerne wenn man mal Probleme in nem andern Fach hat (oder es springt nen Pils bei raus^^)

Und nen Tipp an alle die mit Java anfangen:
Einfach mal machen. Bisschen an HeloWorld Scripts basteln um das ganze mit dem OOP zu verinnerlichen. Klingt scheiße, ists auch aber Programmieren (unabhängig von der Sprache) lernt man nur durch anwenden.
It's not a bug... It's a feature!

Iteration ist menschlich. Rekursion ist göttlich.
Benutzeravatar
Trinova
 
Beiträge: 196
Registriert: 24.09.08 11:27
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 08/09
Anwendungsfach: E-Technik

Beitragvon biza » 25.11.08 14:30

...wenn die, die wirklich Übnung brauchen mal was machen würden ^^
huch, war ich das?
Benutzeravatar
biza
 
Beiträge: 139
Registriert: 20.11.08 21:02
Studiengang: Informatik (M.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: Medizin

Beitragvon MaoDelinSc » 25.11.08 18:13

Trinova hat geschrieben:finde auch net, dass das so super erklärt wurde. Kann zwar Java und hab keine Probleme damit, aber gibt viele für die es zu viel ist wenn man gleichzeitig:
1. Programmieren
2. Java als Sprache
3. Prinzip der OOP
lernen muss.


Wie willst du programmieren lernen, ohne eine Sprache dabei zu lernen?? Wenn du Java als Sprache lernst, lernst du automatisch das Programmieren mit... Die VL ist ja so aufgebaut, dass man nicht schon programmieren können muss und dann nur die Java-Syntax lernt...

Und da OOP eine Teilmenge von OOP-Programmierung ist, lernst du es nicht gleichzeitig nebenher, sondern es ist nur ein Teil (so, wie while-Schleifen und if-Abfragen ein Teil sind)

Muss hier mal ein bisschen die Progra-VL verteidigen, denn hier ist es nun wirklich so, dass man mit absolut null Vorkenntnissen reingehen kann und es einem sehr schön und übersichtlich kleinschrittig erklärt wird, ohne dass irgendwas vorausgesetzt wird...
Die VL ist wirklich top, nicht so schwer wie Ana oder LA und nicht so teilweise konfus wie Dsal oder Fosap...
Nicht wie in TI (Sie hatten ja alle mal Physik, deswegen hier eine kurze Wiederholung... Sogar die Folien heißen Physik-Wiederholung); in Progra ist es ja eben nicht nach dem Motto "Sie können ja eh alle schon programmieren, also hier die Java-Syntax..."

biza hat geschrieben:Aber ein Mittelweg muss halt gefunden werden zwischen Neueinsteigerkurs [...] und der anderen Hälfte die schon jahrelange Programmier Erfahrung haben.


Muss es gar nicht... Die Progra-VL ist ein 100%-Neueinsteigerkurs, auf Universitätsniveau, aber für komplette Programmiernoobs...
Alles andere wäre auch unfair, da es durchaus Schulen gibt, wo gar keine Informatik angeboten wird...
Es ist ja nicht wie in Mathe, dass man davon ausgehen kann, dass man weiß, was reelle Zahlen sind und was ne Funktion ist (was ja sehr schnell eingeführt wird), sondern dass man die VL auf der Grundlage liest, dass niemand jemals irgendetwas programmiert hat...

Mittelweg... Das wäre ja so, als ob du in der 1.Klasse einen Mittelweg finden müsstest zwischen den Neuanfängern und denen, die zu Hause schon perfekt lesen, rechnen und schreiben in Druck- und Schreibschrift gelernt haben... Die Lehrer sind für die Neuanfänger da, genau wie der Unterricht und die, die es schon können, die bekommen Extraaufgaben...
Wer Progra schon kann, soll doch zu Hause bleiben ;)

edit: Der 2-Wochen C++ Crashkurs für Mathematiker, da wird allerhand vorausgesetzt... Wir haben da in den 2 Wochen Dinge gemacht, die ich in Progra noch nie gesehen hatte... Inklusive Internetdatenbanken, OOP und so weiter in 2 Wochen... Das war echt ein absoluter Sc****-Kurs, vor allem für Programmierneulinge...
Was macht man, wenn man ein ungelöstes Problem hat?
Man gibt ihm einfach einen Namen!

(copyright Hawi)
MaoDelinSc
 
Beiträge: 296
Registriert: 07.12.07 10:28
Wohnort: Aachen
Studiengang: Informatik (B.Sc.)
Studiert seit: WS 09/10
Anwendungsfach: Medizin

Vorherige

Zurück zu Praktische Informatik