AuD Übungsblatt 2


kurze Frage, bis wann stehen die Noten für die Übungsblätter eigentlich fest? Mein 1. Blatt ist immer noch nicht bewertet worden…


Bis wenn der Korrektor Zeit gehabt hat, sich alles anzuschauen…
Kannst gut mit ca. ner Woche rechnen, weil sich auch die meisten Tutoren die Sachen am Wochenende anschauen :slight_smile:
Also keine Panik, kommt schon frueh genug. :slight_smile:


okay danke :slight_smile: hatte nur schon Angst dass die “Null-Punkte” die da überall drin stehen doch nen andren Grund haben :wink:


Schau bitte in das Kommentarfeld: Wenn dort sowas wie „PLAGIAT!“ drinsteht, dann haben die Null Punkte tatsächlich „einen anderen Grund“ - sonst sollten die Zahlen in Klammern stehen…


sagt mal…

was soll man denn überhaupt bei der 3. Aufgabe machen? Ich scheitere schon an dem ganzen englisch bzw. ist mir nicht klar, was überhaupt zu tun ist und das englisch macht das ganze auch nicht einfacher. Das problem hab ich dauernd beid en aufgaben, dass mir die aufgabenstellung total unklar ist.

Wäre also nett, wenn mir jemand helfen könnte, was da überhaupt verlangt ist.


Wenn du dich schon auf die gesamte Aufgabe beziehst: Ihr sollt mit zwei verschiedenen Verfahren (Approx. durch Rechtecke, Monte-Carlo) die bestimmten Integrale sechs verschiedener Funktionen berechnen. Die Integrationsgrenzen, benutzte Funktion und benutztes Verfahren sollen über die Kommandozeile auswählbar sein.

An Englisch wird man sich gewöhnen müssen. Das gehört einfach dazu - auch wenn Instances jetzt Exemplare heißen :slight_smile:


danke. Soweit wurd es mir jetzt auch klar.

Aber was zur Hölle soll dieser ganze Mathe Mist dadrin. Wer zur Hölle soll das verstehen.

ich hab noch nie was über Monte Carlo gehört -.-


Die ganze mathematische Theorie dahinter muss man nun auch nicht verstehen für diese aufgaben. Aber der ein oder andere mathematische Anteil wird sich in dieser Veranstaltung nicht vermeiden lassen…


guten morgen (oder nacht wie in meinem fall)!

meine frage zum zweiten übungsblatt lautet: wie schaffe ich es, in der methode int[][] convertArrayTo2D(int[]) einen array dynamisch zu generieren, der in der letzten zeile evtl. nicht so viele spalten hat wie in den anderen zeilen. da mir die funktion als wert ja einen zweidimensionalen int-array vorschreibt, kann ich leider nicht auf arraylists zugreifen, aus denen man meines wissens elemente entfernen kann. ob es möglich ist, eine arraylist zu einem normalen array zu konvertieren, kann ich erstens nicht mit sicherheit sagen, zweitens wäre dies wohl nicht eine allzu elegante methode. wie also streiche ich leere array-entries, ohne den funktionskopf oder andere funktionen zu manipulieren?

mfg, the unknown person who is going to be ip-checked for calling him/herself “ItsBritneyBitch” :smiley:


int[][] a = new int[8][9];
a[7] = new int[6];

http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html#toArray(T[])

Was meinst du mit „leere array-entries“?


zu der aufgabe mit dem entscheidungsgehalt ich bin mir halt nich sicher ob man das jetzt als teilweise darstellung sehen soll also 23 bit was die zahlen angeht oder eben auch die punkte nach TT und MM mit binärcode 101110 * 2 berücksichtigen soll :confused:


An sich ist das egal. Selbst wenn du den Punkt berücksichtigst wäre er das einzige Zeichen das an den beiden Stellen stehen kann. Ein Zeichen => ld(1) = 0
Es geht beim Entscheidungsgehalt nur um die Information, nicht um konkrete binäre Codierungen der Zeichen.


Vor dem Problem stand ich auch, hab mir dann folgenden „Trick“ überlegt:
Ich muss sie ja gar nicht streichen wenn sie erst gar nicht erzeugt werden. Man kann die Schleife so programmieren das die Schleife ebenfalls prüft wie viele Zeilen/Spalten es grade noch brauch um alle Zeichen einzusetzen. Also man initialisiert genau so viele „array-entries“ wie man grade brauch und nicht einfach immer z.b. rechteckige.
(Noch ein Tipp: Du kannst wenn du eine Array Reihe initialisiert hast, die Spalten auch in der Schleife erst erzeugen.)
Bei mir hats wunderbar geklappt :slight_smile: War nur etwas gefrickel :smiley:


besuch der Tafelübungen könnte in so Fällen abhilfe schaffen :stuck_out_tongue:


Jo Leute,
also ich hab ne Frage bezüglich der Methode

public static int[] ConvertArrayTo1D(int[][][] input) {

.
Weil ich hab mir nämlich überlegt, dass man sich, um die Methode eleganter zu coden, vll auf die Methode ConvertArrayTo1D zurückgreifen könnte, die als Eingabeparameter n 2D-Array hat.
Problem hierbei ist allerdings folgendes: Die Methode hat als Rückgabewert ja ein eindimensionales Array. Heißt konkret, ich könnte ein neues Array a1 initialisieren, dessen Speicherplätze mit dieser Methode vollgeschrieben werden. Dann brauch ich aber noch n Array a2 und a3 und… und ein Array a_n, weil ich ja nich weiß wie groß die erste Dimension vom Eingabearray is, bzw die is ja variabel, und all diese Arrays müsste man dann zusammenketten, um als Rückgabewert dieses 1-dimensionale Array zu haben.

Man könnte natürlich auch von Anfang an prüfen, wie groß dieses End1D-Array sein muss, und dann versuchen, die o. g. Methode so oft auszuführen, bis des Endarray mit den Werten voll is.
Aber woher weiß die Methode ConvertArrayTo1D, dass es vielleicht erst bei Endarray[10] anfangen soll, zu schreiben? Bzw kann man des der irgendwie vermitteln?


Das wird so nicht funktionieren, denn die Methode muss ihr Zielarray selber erstellen, anstatt die Ergebnisse in ein von außen vorgegebenes Array zu schreiben. Du müsstest dich also selber drum kümmern, die Teilergebnis-Arrays zu einem großen Array zusammenzupfriemeln. Das würde nochmal ein komplettes Umkopieren aller Elemente erfordern und wäre dadurch nicht gerade effizient.

Einfacher geht es, indem du Copypasta von der 2D-Methode machst und an den entsprechenden Stellen noch jeweils eine zusätzliche innere Schleife einfügst, um die zusätzliche Dimension zu berücksichtigen.


Kurze Frage: Wenn ich bei einer Aufgabe einen Teil nicht schaffe, kann ich dann trotzdem die .java Datei abgeben auch wenn sie an einer Stelle einen unfertigen Teil enthält der mir am linken Teil des Fensters einen Fehler in der Zeile anzeigt oder muss das Programm irgendwie zum laufen gebracht werden?


Die Hauptsache ist das das Programm im CIP-Pool kompiliert werden kann, sprich, ob es in ein ausführbares Programm übersetzt werden kann. Wenn das nicht der Fall ist gibts 0 Punkte… Also wenn du eine Aufgabe nicht ganz hinbekommst, dann versuch Standardwerte wie 0 bei int oder null bei Referenzen zurückzugeben, vielleicht bekommst du dann noch Teilpunkte, weil du Ansätze richtig gemacht hast.
Wäre zumindest meine Taktik^^


Jase hat da vollkommen recht. Bitte nur lauffähiges abgeben.
Solltest du irgendwie kurz vor der Abgabe noch was machen und merken “ups, dass wird nix mehr”, kommentier das Zeug am besten aus oder lösch es wieder. Beim auskommentieren / löschen aber bitte vorsichtig sein, nicht dass du vorgegebene Funktionsrümpfe weghaust, das wäre schlecht :wink: