Programmierung

at Universität Duisburg-Essen

Join course
1239
Next exam
FEB 01
Discussion
Documents
Flashcards
Könnte einer diese Aufgabe lösen ?:)
View 2 more comments
was meinst du mit ich habe einen übergebenen Parameter dort ?
Ich weiß ja nicht wie die isEven() Methode aussah. Also habe ich mir eine eigene isEven Methode geschrieben. Und die nimmt eben den node aus der countEvenNodes() mit.
Ich habe grad gesehen das bei der Altklausur WS18/19 steht das ein beidseitig beschriebenes oder bedrucktes Blatt als Hilfsmittel erlaubt ist. Weiß jemand ob das echt heißt das ein „Spickzettel“ erlaubt ist? Bei den Chemikern gibt es das manchmal ja auch. Und wird es sowas auch bei dieser Klausur geben? Das wär ja echt der absolute Hammer :D
wann ist die letzte Vorlesung in der noch mal die letzten Worte zur Klausur gesagt werden?
View 3 more comments
Wurde gestern in der Vorlesung schon mit dem Thema Lambda begonnen?
@Maren Ya
Kann mir jemand hier helfen? Weiß irgendwie nicht was ich hier machen soll
View 1 more comment
Die Methoden openFile() und read() können die Exceptions FileNotFoundException bzw. IOException werfen. Diese muss man fangen. try { openFile(); } catch (FileNotFoundException e) { System.out.println("Fehler: konnte Datei nicht oeffnen. " + e.toString()); return null; } try { content = read(); } catch (IOException e) { System.out.println("Fehler beim Lesen der Datei. " + e.toString()); return null; } closeFile() wirft keine Exception kann also so stehen bleiben. Man könnte jetzt noch überlegen, ob man im Fall dass read() fehlschlägt die Methode closeFile() ausführt, habe ich jetzt nicht gemacht.
Man könnte bei close file noch finally hinschreiben damit sicher gegangen wird das keine Daten verloren gehen etc.
Was ist der Unterschied zwischen einer Abstrakten Klasse und einem Interface ? Ist das nicht irgendwie das gleiche ?
View 2 more comments
Ein wichtiger Unterschied ist noch dass man mehrere Interfaces implementieren kann aber nur von einer abstrakten Klasse erben kann. In abstrakten Klassen können zudem ganz normal Variabeln erzeugt werden, in Interfaces nur Konstanten.
Abstrakte Klassen verwendet man, weil man nicht möchte, dass sie instanziiert werden. Sie enthalten in der Regel bereits implementierte Methoden die weitervererbt werden sollen. Interfaces verwendet man dazu bestimmte Attribute und/oder Methoden in einer Klasse vorzugeben.
Hi. Woher nimmst du das getSize() > 0? Kannst du mir das kurz erläutern?
View 4 more comments
wobei es while(first.getNext!=null) sein sollte
Dann wäre aber Count falsch, wenn man es mit first.getNext!=null machen würde
Woher kommt die Sorte Methode?
das ist die Methode die wir in Aufgabe c geschrieben haben
Kann das jemand erklären?
nach jedem Aufruf wird der Kopf aktualisiert, der neue Kopf ist dann das neue Element das vor den bisherigen Kopf gesetzt wird
wie kommt man auf z.B. newElement (1, new Element(2, p (5,3))) ?
Kann jemand die Vorangehensweise erklären?
das klingt jetzt unhöflich aber die Aufgabe ist falsch gelöst, es wird zb nicht beachtet das Verspätung nicht aufgeholt werden kann, und das auch beim halt eine Zusatzdauer entsteht
No area was marked for this question
Knwon4NeXT als fertige .jar Datei!! Steuerbar über die Pfeiltasten und WASD. Mit ENTER wählst Du Menüpunkte aus. Der Neustart liegt auf SPACE und mit ESC kommst Du zurück in das Menü. Calculator (C): A für Addieren S für Subtrahieren M für Multiplizieren D für Dividieren ENTER für das Ergebnis C für Clear Writer (W): Beliebigen Satz eintippen ENTER für Laufschrift Pfeiltasten für Schriftgröße Game: Levelauswahl über Zahlentasten oder Pfeil hoch - Collect (C): Begib dich in einen Kampf gegen die kommunistischen BadDots und schnapp Dir ihr gesamtes Hab und Gut. - Time (T): Die kommunistischen BadDots haben gewonnen. Von nun an müssen alle Einwohner von LED-Hausen alles teilen, selbst Kondome und Klopapier! Kannst Du ihnen entkommen? Nimm dich in acht, sie sind schnell! - Collect in Time (CiT): Du willst dem Schlamassel nicht nur entkommen, sondern den BadDots gleichzeitig alles nehmen das sie besitzen? Dann begib Dich in die ultimative Schlacht und nimm ihnen alles weg bevor es zu spät ist! Du musst ggf. deinem Computer erlauben diese Datei zu öffnen. Zumindest auf dem Mac, kann ich Dir verraten, geht das über "Systemeinstellungen"->"Sicherheit". Knall uns ruhig mit Kritik zu, wir Lieben Dich trotzdem <3. Wir wünschen Dir viel spaß beim Ausprobieren!
Hey, das ist ja mal richtig cool, dicker Daumen hoch von mir :) Da waren die Leute bei der Vorstellung bestimmt impressed oder?
warum können wir hier nicht einfach return a(k.links) aufrufen? bzw. warum speichern wir das in aus ab?
Push
schaut alternativ in meine Lösung zu den Bäumen da kann ich dann auch helfen
Kann mir jemand die Ausgabe erklären (System.out.println) ? Den Baum hab zur Veranschaulichung nochmal geprinted. In dieser Methode geht es darum einen Baum mit Knoten aufzufüllen, ohne die Tiefe des Baumes zu verändern. Ich verstehe nicht wie die Rekursion in der Aufgabe funktioniert.
Unterlagen Handel schickt uns alle Altklausuren hier rein https://t.me/joinchat/PHBBSRRA6UH-FUAQpnm-1w Join Telegramm 2018 altklausuren erwünscht Gruppe wird bald gelöscht
Wer bist du das ich dir Altklausuren schicke lan ?
Alleine kommt man nicht im Leben weiter.. wir sind eine Community vllt ergänzen wir uns
Hi Leute. Was könnte eurer Meinung nach dieses Jahr im Vergleich zum letzten Jahr für Aufgaben vorkommen?
View 3 more comments
pushhhhhhhhhh
Definitiv pushhh
https://youtu.be/oSWTXtMglKE Das Video stellt die Grundlagen von Binären Bäumen mit ein paar Methoden nochmal dar, ich fand’s super weil sehr verständlich gemacht :)
Hey Leute, meint ihr es wird Vererbung in der Klausur vorkommen ? Oder eher nur ein theoretischer Teil davon ?
View 3 more comments
was ist mit Generics ? Meint ihr das wird viel drankommen ?
generics, exceptions und Lambda sind ja Themengebiet b denke Mal da werden definitiv ein paar Aufgaben zu kommen
was ist ein balancierter baum?
ein balanciert Baum fügt neue Elemente so ein das jeder teilbaum möglichst gleich aufgebaut ist. zusätzlich soll eine neue Ebene nur dann angefangen werden wenn die vorherige voll ist
Kann mir jemand sagen, ob das so klappen würde?
View 2 more comments
@Herr Fragezeichen wieso guckst du nicht einfach ob die richtige Lösung rauskommt ? Dann siehst du ja ob es auch so klappt oder nicht
if(currentNode == null){ return 0; } _____________ sum = sum + 0 würde ja trotzdem 1 ergeben. Also lieber return 0. Teste dein Ergebnis doch einfach in eclipse? Dann siehst du am Ende ob es richtig oder falsch ist. Sieht aber gut aus.
was bedeuten diese if anweisungen ? da ist gar kein vergleich, ist sicher nicht falsch aber ich checke das nicht was gemacht wird :D
View 3 more comments
Wie genau meinst du das mit kleineren und größeren Ende ist bei "n" Westen für dich kleiner und Osten das größere Ende?
ja genau
Wie geht ihr an eine Aufgabe mit doppelt verketteten Listen ran?
Wie kann man das vorletzte Element einer Liste löschen wenn es mehrere unterschiedliche Elemente drinne sind z.B. Hund,Katze,Maus,Hund,Hund,Maus, wie kann ich dann den vorletzten Hund löschen
View 4 more comments
ich habe gestern oder vorgestern die selbe Frage mit einem anderen Beispiel beantwortet, dort habe ich auch einen Beispiel Code aufgeführt, müsstest nur kurz suchen
ich finde den Eintrag nicht mehr, könnte ihn jemand verlinken oder die Lösung hier reinkopieren ? Danke !
@secret invader wie vertausche ich zwei listen Element miteinander wenn ich die Position der beiden listenelemente als paratemeter übergegebn bekommen habe (int prevPosition, int afterPosition) ?
push
Hat man heute was in der Übung verpasst? ^^
View 3 more comments
@a2 woher weist du das die klausurrelevant sind ?
Weil theoriefragen dazu kommen können, oder leichte implementierungen
Kann mir jemand sagen was gestern in der Vorlesung dran kann bzw. wie weit wir gekommen sind und ob es irgendwelche wichtigen Infos gab ?
Was kam heute in der Übung dran? Glaube heute war es sehr wichtig in der Übung er wollte glaube ich was zu exzeption machen?
Wurde schon beantwortet hier: aber es wurden nur die Jack Aufgaben zu exceptions gemacht
Hey, wie kommst du in Aufgabe 2.1 b) auf die 31 ?
das sind die Tage die der Monat Mai hat
Viel Text, aber kleine Frage! Die Aufgabe 4 würde ich gerne eleganter lösen. Ich bin der Meinung, dass man alles bis "for (OneWayStreet s : c.getOneWayStreets())" weglassen kann und dies genauso lösen könnte, wie ich's bei der Aufgabe 5 mit der Größe der Liste gemacht habe in der ersten Abfrage. Allerdings wüsste ich nicht, wie ich dann die Instanz von Crossroad c initialisieren soll, die in der foreach Schleife ist, da in A5 diese schon vorher existiert aber in A4 nicht. Die braucht einen Index bei der Initialisierung, aber mit z.B. Index 0 klappt's nicht und macht für mich irgendwie auch keinen Sinn. Wie könnte ich das Problem in dieser foreach Schleife lösen, also eigentlich nur: wie könnte ich mir hier die Arbeit ersparen? Aufgabe ist Übrigens von JACK, Thema Graphen. // Aufgabe 4 public int findOneWayStreet(int startCrossroadId, int targetCrossroadId) { for (Crossroad c : crossroads) { if (c.getId() == startCrossroadId) { for (Crossroad c2 : crossroads) { if (c2.getId() == targetCrossroadId) { for (OneWayStreet s : c.getOneWayStreets()) { if (s.getTarget() == crossroads.get(targetCrossroadId - 1)) { return s.getDistance(); } } } } } } return -1; } // Aufgabe 5 public void removeOneWayStreet(int startCrossroadId, int targetCrossroadId) { if (startCrossroadId < crossroads.size() && targetCrossroadId < crossroads.size()) { for (Crossroad c : crossroads) { for (OneWayStreet s : c.getOneWayStreets()) { if (s.getTarget() == crossroads.get(targetCrossroadId - 1)) { c.getOneWayStreets().remove(s); } } } } }
Hier müsste noch eine else hin, oder?
nein das zweite return kann nur ausgeführt werden wenn die If Bedingung nicht zu trifft. es handelt sich dabei also um ein If - Else, auch wenn das Else nicht geschrieben wird
Muss man beim zweiten return nicht return 1 + Blattanzahl(...... ?
nein ein Blatt ist so definiert das es weder einen linken noch einen rechten Nachfolger besitzt, deshalb das return 1, in allen anderen Fällen wird links und rechts durch den Baum gelaufen
@Secret Invader wie gehst du an eine rekursionsaufgabe dran ? Hast du allgemeine Tipps für uns. Danke
nun ich überlege mir zunächst was gemacht werden soll und dann schau ich welche Parameter ich für einen solchen Ablauf in der Rekursion benötige
Wieso rufst du hier die rekursive methode 2 mal auf ? Würd es nicht funktionieren wenn du if(max.zahl < k.links.zahl) { max=maxi(k.links); } machst ? Verstehe nicht genau wieso du in der if anweisung auch nochmal die methode aufrufst
nun am sinnvollsten hätte ich den rekursiven Aufruf vlt als eigene variable abgespeichert. ich bemühe mich darum bis zum Schluss zu laufen und von dort aus Rückläufig das Maximum auszugeben
Kann man das auch noch anders darstellen? Ich versuche diese Aufgabe gerade. Verstehe auch den Vorgang so weit. Wäre aber glaube ich nicht auf diese Lösung gekommen.
View 2 more comments
Moin! Könntest du mir deinen Ansatz mal zeigen, ich bin mir nicht sicher was dieser &&x Aufruf mir bringt? Ich würde vermuten, dass für die Methode beides gecheckt wird (links und rechts)
Da ich jetzt sehr häufig zu meinem Vorgehen zum Lösen der Altklausur Aufgaben im Bereich Bäume gefragt worden bin, möchte ich einmal genau erklären was ich da mache, jede Frage einzeln zu beantworten ist mir zu umständlich... wer aufmerksam ist erkennt das ich bei Methoden des Typs boolean gerne && sowie || verwendet habe, abhängig davon ob eine gewisse Bedingung(true) für mindestens einen Aufruf oder mehrere aufrufe gelten muss. Dabei nutze ich die boolsche Aussagen Logik -> Verweis auf Mathe. && liefert true wenn die mit && verknüpften Aufrufe true ergeben, || liefert true wenn bereits einer der Aufrufe true liefert. Das kann man zwar alles auch mit If Statements lösen, wäre aber lediglich ein zusätzlicher Schritt mit dem selben Vorgehen
Kann mir jemand sagen, welche Wirkung dieser Aufruf hat?
Oder könnte man das anders schreiben, wann ja wie?
Da ich jetzt sehr häufig zu meinem Vorgehen zum Lösen der Altklausur Aufgaben im Bereich Bäume gefragt worden bin, möchte ich einmal genau erklären was ich da mache, jede Frage einzeln zu beantworten ist mir zu umständlich... wer aufmerksam ist erkennt das ich bei Methoden des Typs boolean gerne && sowie || verwendet habe, abhängig davon ob eine gewisse Bedingung(true) für mindestens einen Aufruf oder mehrere aufrufe gelten muss. Dabei nutze ich die boolsche Aussagen Logik -> Verweis auf Mathe. && liefert true wenn die mit && verknüpften Aufrufe true ergeben, || liefert true wenn bereits einer der Aufrufe true liefert. Das kann man zwar alles auch mit If Statements lösen, wäre aber lediglich ein zusätzlicher Schritt mit dem selben Vorgehen
Ist diese erste if -Bedingung nicht falsch? wenn nämlich im linken Teilbaum einen richtigen Knoten bei dem true ausgegeben werden würde existiert, es jedoch keinen rechten Nachfolger von der Wurzel gibt, wird trotzdem direkt false ausgegeben und die Methode beendet.
puh da fragst du mich gerade ein wenig zu genau, bin momentan nicht mehr so ganz in der Aufgabe drin. generell habe ich da verschiedene Testfälle geprüft, kann aber nicht garantieren das ich so einen Fall getestet habe, es könnte tatsächlich ein speziallfall sein bei der meine Methode etwas falsches ausgibt
Gibt es Teilpunkte bei der Klausur wenn man die Aufgabe nicht komplett richtig, aber einen guten Ansatz hat? Und gibt es wie bei den Testaten 0 Punkte wenn das Programm nicht kompiliert? Es kam ja eine Mail das EIN Fehler mit ner Klammer oder Zeichen nicht gewertet wird aber heißt das danach immer null Punkte?
View 8 more comments
Wenn man keine Teilpunkte bekäme, könnte man die Klausur ja auch gut am PC schreiben lassen. 😅
es gibt Teilpunkte aber halt nicht für jeden Aufgabentyp
Da ich jetzt sehr häufig zu meinem Vorgehen zum Lösen der Altklausur Aufgaben im Bereich Bäume gefragt worden bin, möchte ich einmal genau erklären was ich da mache, jede Frage einzeln zu beantworten ist mir zu umständlich... wer aufmerksam ist erkennt das ich bei Methoden des Typs boolean gerne && sowie || verwendet habe, abhängig davon ob eine gewisse Bedingung(true) für mindestens einen Aufruf oder mehrere aufrufe gelten muss. Dabei nutze ich die boolsche Aussagen Logik -> Verweis auf Mathe. && liefert true wenn die mit && verknüpften Aufrufe true ergeben, || liefert true wenn bereits einer der Aufrufe true liefert. Das kann man zwar alles auch mit If Statements lösen, wäre aber lediglich ein zusätzlicher Schritt mit dem selben Vorgehen
Findet morgen die Übung statt?
Ja
Hey Leute, wäre einer so cool und könnte die Lösungen hochladen von Listen (hards) aus Jack ? wäre super danke schon mal im Vorraus ! :)
View 2 more comments
Die Lösungen zu dieser Aufgabe wurden bereits hochgeladen. Hier ein Link zu einer Lösungsmöglichkeit mit Erklärungen: https://www.studydrive.net/kurse/universitaet-duisburg-essen/programmierung/uebungen-tutorien/listen-hard-loesung-erklaerung/vorschau/729825
Ich danke dir mein bester ^^
hab hier die Lösung vergessen, deswegen der nachtrag int mNr(Knoten k, int Nr) { if(k.links !=null) { Nr++; System.out.println(Nr + " " +k.links.Zahl); } if(k.rechts !=null) { Nr++; System.out.println(Nr + " " +k.rechts.Zahl); } if(k.links==null&&k.rechts==null) return Nr; Nr=mNr(k.links, Nr); Nr=mNr(k.rechts, Nr); return Nr; }