Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
EST Bewertung der Lottery Einzelaufgabe
Hi,
Ich habe ehrlich gesagt ein kleines Problem mit der EST Bewertung meines Lottery Programms. Es geht zwar effektiv nur um einen halben Punkt der mir dadurch floeten geht,
aber mir gehts irgendwie ums Prinzip, da ich mir ja bei folgendem, was mir nun als Fehler angelastet wird, durchaus Gedanken gemacht habe …
Bei mir ist konkret der Fehler aufgetreten, dass ich keinen Fall fuer n = 0 definiert habe, und diese durchaus bewusst und als Ergebnis einer Rechneruebung.
Denn leider ist dem oder den Erstellern ein kleiner Fehler bei der Definition der Fakultaetsfunktion unterlaufen. Setzt man i = 0 fuer i’s der natuerlichen Zahlen,
dann muesste ich die Fakultaetsfunktion tatsaechlich so wie es auf dem Uebungsblatt steht, als stehts gleich 0 definiert betracheten. Was ja wohl nicht Sinn der Sache war
Bessere ich den Fehler allerdings aus, und schreibe meinen Code nach der Definition auf dem Uebungsblatt, die auch extra dafuer auf diesem steht, dann ist 0 nicht definiert …
Ich habe meinen Code dann bewusst ohne den 0-Fall geschrieben, da es in der Tat ineffizientes Programmieren ware, einen Fall zu definieren, der laut vorgegebener Definition
nicht definiert ist!
Das mag sich jetzt nach Haarspalterei anhoeren, aber wie bereits gesagt geht es mir um’s Prinzip und es war nun leider nicht die erste Uneindeutigkeit bzw. der erste Fehler auf den
Uebungsblaettern Und eigentlich stoert es mich vor allem, dass dann wegen einem halben Punkt da dann 87,5 % bei einer Aufgabe stehen die ich durchdacht und verstanden habe und letztendlich exakt nach der Aufgabenstellung ausgefuehrt habe. Was ich unschoen finde.
Ich lass mich aber natuerlich gern eines Besseren belehren.
Vielleicht koennte sich ja mal jemand dazu aeussern. Danke
Lustig, dass das erst jetzt jemandem aufgefallen ist:)
Demnach wären also nur die Abgaben korrekt (bzw. der Aufgabenstellung entsprechend), bei denen die Fakultätsfunktion immer 0 zurück gibt?
public static double factorial(int n){
return 0;
}
Denn nach deiner Argumentation ist ein jeder Code, der etwas anderes tut (deiner demnach eingeschlossen) komplett falsch.
Schön wäre es aber gewesen wen du diesen Fehler in der Angabe, der dir laut eigener Aussage schon vor der Abgabe aufgefallen war, auch schon vor der Abgabe an aud@i2.cs.fau.de gemeldet hättest. Dann wäre der Fehler ausgebessert worden und es gäbe keinerlei Probleme mehr diesbezüglich.
Die Gleichung bei der Angabe ist offensichtlich falsch. Du hast also prinzipiell zwei Möglichkeiten (abgesehen von der Besten, den Fehler zu melden und einen Tutor deines Vertrauens zu fragen, welche Definition richtig ist). Nimmst du den Teil mit dem Produktzeichen, hättest du die Funktion von Whitespace implementieren müssen. Nimmst du aber entweder das „1 * 2 * … * n“ oder die Fehlerbereinigte Version des Produktzeichens, ist der Fall n==0 trotzdem definiert:
Ich denke die Aufgabensteller geben sich Mühe, richtige und eindeutige Angaben zu stellen. Aber es wird immer solche Fehler geben. Und das ist zwar unschön, aber du hast 10 Tage Zeit und dutzende Möglichkeiten nachzufragen und sicherzustellen, dass du das richtige tust.
Das ist natürlich nicht erst jetzt aufgefallen (mir zumindest nicht), allerdings hatte der anwesende Tutor in der Rechnerübung eben dann auch allgemein auf den Fehler hingewiesen und für jene die da waren, auch gesagt wie es richtig ist. Es war ja aber nicht unbedingt abzusehen, dass das dann für später noch ein Problem werden wird.
Allerdings. Sollte ich dann nun auch so exakt sein? Dann ist es richtig den Code bei allen mit 0 Punkten zu bewerten die obiges nicht abgegeben haben oder eben den 0 Fall als nicht zwingend erforderlich gemäß Definition der Aufgabenstellung zu bewerten.
Das war für mich nicht notwendig, da das ganze berichtigt wurde und ich dachte es wäre nun auch so wie vorgesehen. Warum ich das dann nicht im Forum geschrieben habe hatte seine Gründe und ist hier nicht erwähnenswert. Ich bin nun einfach leider davon ausgegangen, dass die fehlende Definition eine Art kleiner Trick sei, um die an für sich sehr simple Aufgabe vielleicht ein klein wenig verwirrend zu gestalten … But buissnes as usual - trial and error. Nun denn, einfach zu kompliziert gedacht.
Richtig finde ich es aber dennoch nicht, dass mir der halbe Punkt fehlt^^
edit: hat sich erledigt ^^ Hab meinen Fehler gefunden. Auch wenn es mir schwer fällt das zuzugeben haha