View Full Version : [INFO] - Was gekommen ist...
gelbasack
21-06-2004, 12:26
alle bekommen selbe Angabe...
Erstes Beispiel:
2 Strings miteinander verschmelzen, erster Buchstabe 1. String, 1. vom 2. String, usw... zb Hallo und irgendwas -> Hiarlgleondwas
das ganze wieder zurück in die Ausgangsvariable... Rückgabewert void, main liest dann aus der Klasse aus...
Zweites Beispiel:
Klasse war ein Fußballspiel... hat so Dinge wie Treffer der Heimmanschaft, der Auswärtsmanschaft, Ergebnis als Integer, Name der Manschaften... man soll dann 2 Spiele zu einer Klasse DoubleGame oder so zusammenfassen. Diese hat auch so Werte aus beiden anderen Spielen. Aber was genau verlangt wird? Hat niemand verstanden...
Eine Exception noch werfen, wenn Heimmanschaft vom 1. Spiel <> Auswärtsmanschaft 2. Spiel und umgekehrt...
Drittes Beispiel:
~a gültig, >>>= gültig, fast alles gültig, kann mich nimma sooo genau erinnern ;)
Bartelbi
21-06-2004, 12:42
Hi,
wie hast du das ganze gelöst?
jo würd ich auch gern wissen. ev. lösungsvorschläge?
InspectorGadjet
21-06-2004, 12:47
die lösung weiß, glaube ich, keiner... es war ja nicht mal erklärt, was überhaupt verlangt wird...
bsp1 + bsp2 absolut nicht beschrieben was man will... beim bsp1 gings noch besser... aber beim 2.ten? *hä*
- TeMET_noSCE -
21-06-2004, 13:12
wo waren die arraylists, vektoren, iteratoren oder alles, was er in der vorbesprechung verzapft hat???!!! :mad:
wer hat die dokumentation zu den beispielen verbrochen??? :mad:
die beispiele waren ja prinzipiell ned schwer, aber 45min ist schon etwas wenig. (außerdem ist die beschreibung der beispiele ziemlich konfus und lückenhaft!!!)
könnte trotzdem ev. irgendwer, nen lösungsweg-ansatz oder dergleichen posten?
würd den euch nachfolgenden Antretenden die Artbeit doch erleichtern.
thx
Hallo!
Könnte vieleicht jemand mir sagen, was genauer in der Aufgabe 2 zu machen war?
Wäre sehr nett, wenn jamand mir das genauer erklären kann!
Danke
lg,
gelbasack
21-06-2004, 14:18
Also Bsp. 1 ließ sich relativ einfach lösen:
Eine Schleife, die durchzählt, ersten Buchstaben vom 1. Wort nimmt, 1. vom 2., usw...
Das ganze sind 4 Zeilen.
Die Methode war vordefiniert von der Form einobjekt.irgendeinname(String irgendwas), man baut somit einobjekt (vom Typ String) und irgendwas (auch String) zusammen, ist wirklich nicht schwer, das ganze hat als Rückgabewert void, was beudetet, dass man das Ergebnis einfach in die Variable string_ gibt, aus der liest Main dann aus - klar? Es sind wirklich nur paar Zeilen, die man in die eine Klasse schreiben muss.
Aber verlässt euch nicht darauf, dass genau das kommt - ich meinte eher mit selber Angabe, dass alle den selben Zettel bekommen (innerhalb eines Termins aber auch spätere Termine), dieser ist allerdings sehr allgemein geschrieben - vielleicht gibt's Unterschiede...
Arraylist,..... und das alles kommt nicht, man sollte aber für Bsp. 2 wissen, wie man eine Exception "throwt", Oberklassen sollten ein Begriff sein, super,....
Anzunehmen ist, dass man aus den 2 Objekten der selben Klasse ein neues Objekt kreiieren muss, dass aus 2 Werten der ersten Objekte einen zurückgibt. Zb Tore bei Hinspiel (sind im 1. Objekt vom Typ Spiel) + Tore aus Rückspiel (im 2. Objekt) werden in einem neuen Objekt auch zurückgegeben, halt addiert aus den Oberklassen und in der neuen zurückgegeben... so ca... ich weiß, es ist nicht klar, aber bis jetzt hab' ich noch niemand getroffen, der das wirklich gecheckt hat...
TheButcher
21-06-2004, 14:34
Bsp1:
String str1 = "Hallo";
String str2 = "irgendwas"
StringBuffer sb1 = new StringBuffer(str1); // das braucht man eigentlich nicht
StringBuffer sb2 = new StringBuffer(str2); // das braucht man eigentlich nicht
int l = str1.length(); // l = 4
int k = str2.length(); // k = 8
if(l <= k) int m = k;
else int m = l;
StringBuffer result = new StringBuffer();
for(int i = 0; i < m; i++) {
if(i < str1.length()) {
char c = str1.charAt(i);
result.append(c);
}
if(i < str2.length()) {
char c = str2.charAt(i);
result.append(c);
}
}
System.out.println(result); // Es soll Hiarlgleondwas rauskommen
Wird jemmad das kompilieren weil ich bin im TU(nicht aber im inflabor) und kann das nicht probieren!!!!
Kann jemmand etwas genauer über Bsp2 sagen
gelbasack
21-06-2004, 14:53
So, das war, was ich reingeschrieben hab', hoffe, hab' mich richtig erinnert... ließ sich kompilieren und kam wohl das Richtige raus...
String neuerstring;
int i;
for(i=0;i<(string_.length()>s.length()?string_.length():s.length())){
if(i<s.length()) neuerstring+=s.charAt(i);
if(i<string_.length()) neuerstring+=string_.charAt(i);
}
string_ = neuerstring;
das ganze war ein void, also kein Rückgabewert, wie schon gesagt, Main liest dann string_ aus (dafür gibt's eine Methode, aber das ist eh schon alles vordefiniert...)
TheButcher
21-06-2004, 15:08
Das sieht korrekt aus, aber du hast
for(i=0;i<(string_.length()>s.length()?string_.length():s.length()); i++){
vergessen
Anzunehmen ist, dass man aus den 2 Objekten der selben Klasse ein neues Objekt kreiieren muss, dass aus 2 Werten der ersten Objekte einen zurückgibt. Zb Tore bei Hinspiel (sind im 1. Objekt vom Typ Spiel) + Tore aus Rückspiel (im 2. Objekt) werden in einem neuen Objekt auch zurückgegeben, halt addiert aus den Oberklassen und in der neuen zurückgegeben... so ca... ich weiß, es ist nicht klar, aber bis jetzt hab' ich noch niemand getroffen, der das wirklich gecheckt hat...
Es war so gemeint wie du schreibst... dass nicht klar war wie es gemeint war ist sehr unangenehm und keine Absicht; die Kürze des Beispiels (10 Zeilen) hätte euch eigentlich entgegen kommen sollen :(
TheButcher
21-06-2004, 16:15
Sind bisjetzt immer die selben Beispielen gekommen
Trilimanski
21-06-2004, 16:32
Hi!
Die Zwei Codes scheinen mir zwei verschiedene Varianten des 2. Beispiel zu sein.
Liege ich da falsch?
Und das erste Bespiel hat schon noch mit Klassenerweiterung zu tun, wie bei der
Testvorbereitung angekündigt?
http://tigerente.htu.tuwien.ac.at/%7Eiforum/images/smilies/frown.gif
gelbasack
21-06-2004, 17:52
Bei dem Code ging es um das 1. Beispiel. Um die selbe Version.
Ob es mit Klassenerweiterung zu tun hat? Ich habe das doch ausfuehrlich genug beschrieben? Es gibt eine Klasse Main und eine String2, in der man das einfuegt, was ich geschrieben hab' (bzw. eine andere Loesung). Das ist eine Methode fuer die Klasse. Sollte doch klar sein...
Also die Beschreibung von dem was eigentlich verlangt war, war ja wohl nicht so doll. Beim 2. Beispiel hatte ich ehrlich gesagt keinen Schimmer was die überhaupt von mir wollen. Das erste naja, das dritte ok.
Fazit: Oje, oje... ob das 35 Punkte waren?..
Weiß jemand wieviel welches Beispiel zählt?
gelbasack
21-06-2004, 20:13
Also, auch wenn ich mich ziemlich aufgeregt habe hier (meiner Meinung nach immer noch zurecht), muss ich doch sagen, dass 1. und 3. Beispiel wirklich okay waren und nicht naja. 1. war ja praktisch ein Geschenk.
ashaangel
21-06-2004, 20:15
:confused: Irgendwie waren bei mir andere Angaben...????
aber das ganze war soooooooo ne frechheit... vorallem das erste und das zweite... beim zweiten hat man ja überhaupt net durchblicken können, was die von einem wollen. die doku innerhalb der 45 min zu lesen: illusorisch, dann hat man ja keine zeit mehr zum programmieren. abgesehen davon, daß mein PC ne lahme ente war und ca 2 min brauchte, ne html seite zu öffnen... :-(
alles in allem war alles viel zu konfus, unübersichtlich und unverständlich. bei dem fußball beispiel gabs ja überhaupt keine chance, sich auszukennen, weil man von den überklassen nur die class files hatte und die doku einem nciht vermitteln konnte, was die superklassen tun....
die beispiele hatten auf jeden fall NICHTS mitm tutorium zu tun. wozu hams dann all den schwachsinn im tutorium überhaupt erzählt? von wegen iterator und collections, nix dergleichen! :shout: dann sollens einfach gar nix sagen, aber net das gerücht verbreiten, daß was käme, was dann net vorkommt.
komplett deprimierend irgendwie, vorallem für leute, die nicht so gut programmieren können.
:coolgrim:
InspectorGadjet
21-06-2004, 20:25
also beim 1. bsp habe ich leider einen denkfehler, jetzt ist mir schon klar, was ich falsch gemacht habe, aber innerhalb von einer virtelstunde kapieren, was verlangt ist, dann fehler frei zu programmieren, beim 1. noch machbar, aber beim zweiten habe ich nicht einmal eine wircklich angabe gefunden...
meiner meinung nach müßter der anfang so gehen...
methode blabla(game first, game second){
if(first.getHome().equals(second.getAway()) && second.getHome().equals(first.getAway()){
int punktemanschaft1 = first.getHomePoints() + second.getAwayPoints();
int punktemanschaft2 = first.getAwayPoints() + second.getHomePoints();
//wohin mit dem ergebnis?
}
}
else throw new BlablaException("Spiele passen nicht zusammen");
}
//wohin mit dem ergebnis?
Tipp: super()
InspectorGadjet
21-06-2004, 21:30
ähm? super().was = ? die klasse game von der es abgeleitet wurde, hat auch nichts entsprechendes gehabt? bzw. hätte ich nicht gewusst, was ich da nehmen hätte sollen...
InspectorGadjet
21-06-2004, 21:36
jetzt sag grad man hätte es so: super(first.getHome(),first.getAway(),punktemansch aft1,punktemanschaft2); machen müssen?
aber super kann man doch nur als erstes im konstrutor aufrufen?
Ich finde ein txt File wo mal gut erklärt wird worums geht und was man jetzt ergänzen soll wäre schon toll gewesen. Es mag ja sein, dass es Ziel der AU war auf Programme nachvollziehen zu können, aber wenn man den Käse nur als class im Verzeichnis hat, wie soll man das dann machen. Und das was auf dem Zettel stand (den ich übrigens unbeabsichtigter Weise eingepackt habe... :D ) half ja auch genau Null weiter.
Aber so ist das immer... nachher regen sich alle auf, hilft eh nix.
Martinez
22-06-2004, 21:23
Ich finde der Test hat nicht die Programmierkenntnisse geprüft, sondern wie gut man sich unter zeitdruck konzentrieren kann.
Ich hab mit der Angabe nix anfangen können.
Das 1. Bsp hab ich erst mal nicht kapiert, bin gleich zum 2. Bis jetzt weiss ich nicht was Gefragt war, hab auch nix hingeschrieben.
Das 3. hab ich.
Dann wieder zum 1., Zeit war knapp, Arbeitsumgebung neu.
Hab gemerkt das ich nichtzusammenkomm, bin nervös geworden, dann hab ich nicht mal mein programm mehr compilieren können, dann bin ich 3 min vor schluss gegangen.
Tut mir leid, aber die Angaben waren eine frechheit. da braucht man ja schon 10 min um sich die vorgegebene mini-welt mal im kopf nachzukonstruieren (Methoden, Variablen, ...)
Ich find, 60 min hätten es mind. sein sollen.
Und mit vorgegebenem code, mit kommentaren, alles sehr verwirrend und unübersichtlich.
Auf die Übungen hab ich 115 Punkte, alles selber gemacht.
Auf den Test mit viel Glück 25.
Dann wär ich durch.
P.S. Ich kann JAVA - programmieren, nur im Zeitstress, 3 unabhängige Bsp, mit unübersichtlichsten Angaben lösen obliegt einer Minderheit zu der ich mich nicht zähle.
Hab 38 Punkte auf den Test (puh!) und somit nen 3er!!!
Ich finde der Test .................................................. .................................................. .......... Minderheit zu der ich mich nicht zähle.
Das erinnert mich stark an diese Diskussion (http://tigerente.htu.tuwien.ac.at/~iforum/showthread.php?t=15285&highlight=Test+total+brutal). Anderes Semester, gleiches Thema.
lg, Benjamin Ferrari
allerdings bilde ich mir ein, dass die angabe letztes semester doch ein wenig klarer war
derbrain
25-06-2004, 17:25
hm, also bei mir (termin 14:00) waren die aufgaben vom inhalt (1. string, 2. fußballspiel) her ähnlich, aber von den konzepten her recht was ganz anderes.
1. bsp: das von gelbasack wäre ja einfach gewesen. aber wir mussten zeichen im string sortieren, UNABHÄNGIG von groß- und kleinschreibung. z.b. afgA wird aAfg. wie zum teufel soll das gehn? sie haben gesagt wir sollen von ascii-zeichen ausgehn, aber wir hatten 1. keine ascii-tabelle und 2. arbeitet java nun mal mit unicode. ich kann schon ziemlich gut programmieren, aber wie soll DAS bitte gehn?
2. bsp: fußballturnier. wir hatten 2 oberklassen (mannschaft und turnier), die zu erweitern waren (numerierte mannschaften). beim anlegen einer neuen mannschaft sollte ihr automatisch eine nummer zugewiesen werden. ich bin der meinung es richtig gelöst zu haben, aber bei der ausgabe war die nummer nicht dabei. entweder ein fehler im main-programm (das wir ja nicht ändern dürfen) oder irgendwas mit den super-klassen. die dokumentation von denen war ja auch unter aller sau. hats bei irgendwem geklappt?
3. bsp: ausdrücke. während bei gelbasack anscheinend fast alle richtig waren, waren bei uns fast alle falsch. glaub ich halt http://tigerente.htu.tuwien.ac.at/%7Eiforum/images/smilies/disturbed.gif. hab aber viel zu viel zeit verloren bei der aufgabe. wieso können die das nicht gleich in eine klasse schreiben? hab alles zwei mal geschrieben http://tigerente.htu.tuwien.ac.at/%7Eiforum/images/smilies/shinner.gif. da war ich aber selber blöd...
shit, ich hätte gern einen 1er gekriegt um im nächsten semester tutor zu werden, aber das hat sich jetzt wohl erledigt http://tigerente.htu.tuwien.ac.at/%7Eiforum/images/smilies/mad.gif
ps: jo das waren echt lahme kisten, 30 sekunden zum kompilieren von 5 zeilen http://tigerente.htu.tuwien.ac.at/%7Eiforum/images/smilies/ahhh.gif
derbrain
25-06-2004, 17:27
ach ja, nochwas: anscheinend kann man den test ja nochmal machen, wenn man ihn verhaut. geht das nur wenn man negativ ist oder kann man da auch die note verbessern? wie gibt man das denn bekannt, dass man kein zeugnis dafür haben will?
der letzte antritt bei der prüfung gilt - dh du kannst deine note verbessern oder verschlechtern
1. bsp: das von gelbasack wäre ja einfach gewesen. aber wir mussten zeichen im string sortieren, UNABHÄNGIG von groß- und kleinschreibung. z.b. afgA wird aAfg. wie zum teufel soll das gehn? sie haben gesagt wir sollen von ascii-zeichen ausgehn, aber wir hatten 1. keine ascii-tabelle und 2. arbeitet java nun mal mit unicode. ich kann schon ziemlich gut programmieren, aber wie soll DAS bitte gehn?
public String sortAndIgnoreCase(String s) {
StringBuffer sb = new StringBuffer(s.length());
// i geht durch die ascii werte aller gross- und j durch die werte
// aller kleinbuchstaben:
for (int i = 64, j = 96; i++ < 90 && j++ < 123;) {
// jetzt suchen wir in unserem string nach den
// Buchstaben (char)i bzw. (char)j. Wenn ein Buchstabe gefunden
// wurde, wandert er in den Buffer:
for (int k = 0; k < s.length(); k++) {
char c = s.charAt(k);
if (c == (char) i || s.charAt(k) == (char) j) {
sb.append(c);
}
}
}
return sb.toString();
}
ganz bestimmt nicht der effizienteste algorithmus, aber er löst die aufgabe.
es gibt auch noch eine stringfunktion 'compareIgnoreCase'. Mit der und .substring(int,int) hätte man das wohl auch lösen können.
und hier noch eine einfache methode, um geschwind eine ascii tabelle zu bekommen:
public void printAsciiTable(PrintStream out) {
for (int i = 0; i < 256; i++) {
out.println("int value:" + i + ", char: '" + (char) i + "'");
}
}
Aber um das klarzustellen:
Ich will mit diesem post nicht andeuten, die aufgabe währe 'eh leicht' gewesen.
Unter so einem zeitdruck (irgend)einen algorithmus schreiben zu müssen ist prinzipiell schwierig (und völlig praxisfremd).
derbrain
26-06-2004, 00:24
hmmm. ich dachte java arbeitet mit unicode? da würden dann ja ganz andere werte rauskommen. irgendwo stand schon was von ascii, aber ich hatt nicht die geduld mir das genauer zu überlegen.
dummerweise hatte ich zuerst was halbrichtiges, habs geändert und bin nicht fertig geworden, so dass da jetzt was höchst unvollständiges steht...
so a kaas. :mad:
derbrain
26-06-2004, 00:30
for (int i = 64, j = 96; i++ < 90 && j++ < 123;) { boah, der schleifenkopf hats in sich :ausheck:. eigentlich ja ganz logisch, ich wär da aber nicht drauf gekommen
boah, der schleifenkopf hats in sich :ausheck:. eigentlich ja ganz logisch, ich wär da aber nicht drauf gekommen
pff sorry, der ganze code war unnötig komplex.
in dem scriptum für 'algorithmen und datenstrukturen' sind lauter so kryptische pseudocodes drinnen. Das hat wohl auf mich abgefärbt ;)
der form halber hier nochmal wesentlich hübscher (und auch etwas performanter):
public String sortAndIgnoreCase(String s) {
char[] buchstaben = s.toCharArray();
char naechsterBuchstabe;
StringBuffer sb = new StringBuffer(buchstaben.length);
// grossBuchstabe geht durch die ascii-werte von A-Z.
for (int grossBuchstabe = 65, kleinBuchstabe; grossBuchstabe <= 90; grossBuchstabe++) {
// der äquivalente kleinBuchstabe befindet sich 32 stellen dahinter.
kleinBuchstabe = grossBuchstabe + 32;
// jetzt suchen wir in unserem string nach den Buchstaben.
// Wenn ein Buchstabe gefunden wurde, wandert er in den Buffer.
for (int i = 0; i < buchstaben.length; i++) {
naechsterBuchstabe = buchstaben[i];
if (naechsterBuchstabe == grossBuchstabe
|| naechsterBuchstabe == kleinBuchstabe) {
sb.append(naechsterBuchstabe);
}
}
}
return sb.toString();
}
hmmm. ich dachte java arbeitet mit unicode? da würden dann ja ganz andere werte rauskommen.
nein, unicode ist eine übermenge von ascii.
Die ersten 255 zeichen vom ascii sind auch die ersten 255 zeichen unicode.
for (int i = 64, j = 96; i++ < 90 && j++ < 123; )
Warum das Ganze nicht ein bisschen lesbarer?
for (int i = 'A'-1, j = 'a'-1; i++ < 'Z' && j++ < 'z'; )
oder
for (char i = 'A', j = 'a'; i <='Z' && j <= 'z'; i++, j++)
...die Asciitabelle (dies auch unter "man ascii" gibt) spart man sich auch ;)
derbrain
26-06-2004, 14:59
nein, unicode ist eine übermenge von ascii.
Die ersten 255 zeichen vom ascii sind auch die ersten 255 zeichen unicode. :hewa:
wurde das irgendwann mal gesagt? hätt jedenfalls lieber die stringmisch-funktion gehabt *beleidigtbin*
Es war so gemeint wie du schreibst... dass nicht klar war wie es gemeint war ist sehr unangenehm und keine Absicht; die Kürze des Beispiels (10 Zeilen) hätte euch eigentlich entgegen kommen sollen :(
Aber leider war's anders.
Ich habs auch die längste Zeit nicht kapiert worums im Beispiel gehen soll. Mehr oder weniger durch Zufall hab ich dann mal die Klassenbeschreibung entdeckt. Die Angabe war mit den Umlauten innerhalb des .java Files ja fast unlesbar. Sich mit all dem zu beschäftigen, verstehen, was überhaupt gemacht werden soll und das dann auch halbwegs vernünftig zu lösen.., naja.
Da sind 45 Minuten für alle Aufgaben schon verdammt knapp. :( Wenn einer das Beispiel nicht schafft zu lösen, naja ok, aber wenn es schon fast unmöglich ist zu verstehen was überhaupt das Ziel der Aufgabe ist, dann sind entweder die Studiosi nicht fit genug oder die Aufgabenstellung. Ich denk eine rethorische und didaktische Ausbildung würde auch manchem LV-Leiter gut tun. Profitieren würden davon natürlich vor allem die Studenten.;)
"ä" als "ä" zu lesen sollte doch wohl drinnen sein...
Drehen wir einmal den Spieß um: wie würdet ihr eine solche Angabe gestalten?
Martinez
26-06-2004, 20:18
@ Mr. DJ
da stimm ich zu.
didaktisch gut aufbereitet war der test auf keinen fall.
da sind mir die guten alten test mit stift und zettel lieber ....
ich hab die angeabe des 2. bsp bis heut noch nicht verstanden.
:confused:
Martinez
26-06-2004, 20:23
die angabe wäre leichter verständlich wenn sie so aufgebaut wäre:
1. Bsp:
Einfach eine Spezifikation wie in den Übungsrunden. 1 html file wo alles obensteht, was man zur Programmerstellung wissen muss. Vor allem kann man eine neue Klasse selber programmieren, und muss sich nicht erst in einen vorgegebenen code einlesen, orientieren, was einfach zeit kostet.
2. Bsp:
Theoriefragen (Was ist Polimorphismus, Kapselung, Vererbung, Interfacees, usw)
3. Bsp:
Ausdrücke (wie gehabt)
vielleicht noch 60 min zeit, damit man ein anständiges Pogramm schreiben kann.
wo ist das Problem?
ich hab die angeabe des 2. bsp bis heut noch nicht verstanden.
Ich versteh wieder nicht, was an "Zwei Mannschaften spielen gegeneinander, die Punkte werden zusammengezählt." schwer zu verstehen ist... Heim- und Auswärtsmannschaft sind Begriffe, die in jeder Mannschaftssportart vorkommen - wo liegt das Problem?
Martinez
26-06-2004, 20:31
bei mir waren es aber keine fussballmannschaften, sonder irgendeine fabrik (oder so) die artikel herstellte. für die gabs auch ne klasse (Artikel.class).
ich musste dann 2 klassen erweitern (CategorizedWarehouse.java und CategorizedArtikel.java, oder so) um irgendwelche funktionen von denen ich eben bis heut nicht weiss, wie die hätten ausschaun sollen.
die angabe wäre leichter verständlich wenn sie so aufgebaut wäre:
1. Bsp:
Einfach eine Spezifikation wie in den Übungsrunden. 1 html file wo alles obensteht, was man zur Programmerstellung wissen muss. Vor allem kann man eine neue Klasse selber programmieren, und muss sich nicht erst in einen vorgegebenen code einlesen, orientieren, was einfach zeit kostet.
Ziel ist unter anderem, dass man lernt Objekte zu erweitern, i.e. Vererbung zu verstehen und anzuwenden; ein ganzes Programm zu erstellen würde auch einigen Overhead in Sachen Design der Objekte einführen. Ich glaube also kaum, dass der Vorschlag zielführend wäre.
2. Bsp:
Theoriefragen (Was ist Polimorphismus, Kapselung, Vererbung, Interfacees, usw)
_Das_ hätte dann das Zeug zu Monsterprüfung.
Nur um Missverständnissen vorzubeugen: ich nur ein kleiner Tutor und hab bei Eprog nix zu sagen, aber eure Vorschläge interessieren mich trotzdem. Es ist mir aber weniger darum gegangen, wie ihr die Prüfung gestalten würdet, sondern eher wie ihr eine Angabe zum Thema "Objekterweiterung" gestalten würden.
bei mir waren es aber keine fussballmannschaften, sonder irgendeine fabrik (oder so) die artikel herstellte. für die gabs auch ne klasse (Artikel.class).
ich musste dann 2 klassen erweitern (CategorizedWarehouse.java und CategorizedArtikel.java, oder so) um irgendwelche funktionen von denen ich eben bis heut nicht weiss, wie die hätten ausschaun sollen. Ok, die Angabe kenn ich nicht...
"ä" als "ä" zu lesen sollte doch wohl drinnen sein...
Drehen wir einmal den Spieß um: wie würdet ihr eine solche Angabe gestalten?
Also ehrlich gesagt hab ich die Aufgabe bis jetzt nicht ganz verstanden. Ich würde von mir aber behaupten nicht gerade auf den Kopf gefallen zu sein. Ich könnte auch Auswärtstore von anderen unterscheiden.
Ich köntte mir vorstellen einen l&aumngeren Test zu schreiben. Es wäre scheinbar nötig mehr Zeit zur Verfügung zu haben, um das Verständnis für die Aufgaben überhaupt zu gewährleisten. Laut Diskussion dürfte das ja auch ein wesentliches Problem gewesen sein.
Zumindest hätte ich mehr Zeit benötigt um die umfangreiche Doku mal anzusehen und mitzukriegen was man von mir überhaupt will.
Was spräche dagegen die Zeit dafür zu verdoppeln? Was ist wichtiger: das die Komilitonen verstanden haben wie es geht und es dann auch machen können oder das der Test nur kurze Zeit dauert?
Weiters passiert es Fachleuten, zu denen ich die Gruppe rund um Reiter zähle, sehr häufig, dass sie wegen ihres tiefen Wissens eine gewisse Selbstverständlichkeit und Betriebsblindheit entwickeln. Daher wäre es empfehlenswert den oder die Tests zuvor einem mittelmässigen Laien zum Lesen zu geben. Damit wird abgetestet ob man sich selbst überhaupt verständlich ausgedrückt hat. Könnte vielleicht eine Hilfe sein.
LG/Mr.DJ ;)
Martinez
26-06-2004, 21:04
meine worte!
InspectorGadjet
26-06-2004, 21:15
der Mr. DJ bringts auf den punkt... und der text, ein traum zu lesen...
warum kann man in einer "EINFÜHRUNG in das programmieren"-LVA veraussetzen, dass man umlaute als sonderzeichen lesen kann? wie es schon in der angabe zur runde 5 steht: "... keine vorausgesetzten Fachkenntnisse ..." und diese umlaute sind nicht java spezifisch... vorallem wäre es kein problem gewesen, diese durch simples suchen & ersetzen herauszufiltern...
zu bsp3)
die ausdrücke finde ich eigentlich, so wie sie beim test gestellt werden nicht korekt, weil man weiß nie, was man mit diesen werten vor hat... also ein if(a<3) ist um einiges sinnvoller als ein a<3, denn da kann man sich ausmalen, was mit dem wert passieren wird!
TheButcher
27-06-2004, 02:50
60 min arbeitszeit und kein objektorintiert beispiel(ich konnte in diesem zeitdrueck nicht verstehen was verlangt ist) Ausserdem gibts OOP da lehrnt man ehe JAVA
derbrain
27-06-2004, 04:23
naja, projektorientiertheit ist schon eines der hauptziele von eprog. von daher kann ich schon verstehn, dass das verlangt wird.
aber die dokumentation könnte besser sein: nicht nur auflisten was es für methoden gibt, sondern auch was sie machen. und was dann von uns verlangt wird. hat noch jemand das beispiel mit numberedtournier (oder so) gehabt? hats bei euch zum schluss die nummern mit ausgegeben? glaub fast dass da ein fehler im main-programm war.
ChristofNeutron
27-06-2004, 21:00
Ziel ist unter anderem, dass man lernt Objekte zu erweitern, i.e. Vererbung zu verstehen und anzuwenden; ein ganzes Programm zu erstellen würde auch einigen Overhead in Sachen Design der Objekte einführen. Ich glaube also kaum, dass der Vorschlag zielführend wäre.
_Das_ hätte dann das Zeug zu Monsterprüfung.
Naja, genau das ist aber doch das Problem, bei einer Prüfung sit es fürs lernen zu spät, und bei den Übungsrunden bekommt man nur Code, der von Anfängern wie ich selbst einer bin geschrieben wurde. D.h. man hat in der VU eigentlich keine Chance "guten" Code wie er dann bei der Prüfung vorkommt kennenzulernen.
Kurz noch, ich hab voriges Sem Eprog gemacht (und beim 2.Anlauf auch geschafft :) ), aber das passt glaub ich für dieses Sem, weil das einfach ein durch den Aufbau der LVA bedingtes Problem ist.
Mein Änderungsvorschlag wäre, dass bei den Übungen zumindest teilweise auch Code von der LVA Leitung zum ändern gegeben wird. Dadurch hätten auch Studis, welche noch nie Java programmiert haben, eine Chance, andersartigen (objektorientierten Code) kennenzulernen.
chistocu
29-06-2004, 17:22
Die sortierung von Zeichen in 1.Bsp könnte man in 4 Zeilen Loesen in dem man die shon definierte sort() methode in den Arrasy Calss der java.util verwendet und die getChars(..) von String Calss.
Code:
public void sortAsc ()
{ char[] tempS = new char[string_.length()];
string_.getChars(0, string_.length(),tempS, 0);
Arrays.sort(tempS);
string_ = new String(tempS);
}
Funktionirts genau aber habs in nach der Prüfung gemacht, leider :-(
derbrain
29-06-2004, 19:24
hmmm, aber da kommen ja zuerst die ganzen kleinbuchstaben und dann die großbuchstaben, oder?
chistocu
29-06-2004, 21:47
Nein, es gibt aus genau vie den Kommentar in die angabe
Hier die Main.java:
/* Hauptprogramm
* testet die Funktionen der Klasse String2
*/
class Main
{
public static void main(String[] args)
{
String2 myString= new String2("This is a test-string, And tHIS oNE IS aLSO A TEST_STRING");
myString.sortAsc(); //Aufruf der "sortAsc" Funktion der String2-Klasse
System.out.println(myString.getString()); // Ausgabe des des Strings der String2-Klasse
}
}
/* Ausgabe
* ,-AAEEGHIIILNNORSSSSSTTTT_aadeghiiinnorsssstttt
*/
es gibt aus genau was da obes steht.
derbrain
30-06-2004, 04:19
na dann halt erst die großen, dann die kleinen :)
das wär ja leicht gewesen, so weit war ich schon. aber bei uns musste man die zeichen UNABHÄNGIG von groß-und kleinschreibung sortieren. z.b. "Hahaha" wird "aaaHhh" oder "aaahhH", je nachdem was man zuerst rein tut (groß oder klein), das war egal.
noch ein Beispiel: "sDasfdSAFK" wird "aAdDfFKssS" oder "AsDdFfKSss"
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.