Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:aud:loesung-miniklausur-15 [22.02.2016 21:20] gakupruefungen:bachelor:aud:loesung-miniklausur-15 [09.01.2018 11:09] Zulleyy3
Zeile 5: Zeile 5:
 ===== Lösungsversuch ===== ===== Lösungsversuch =====
 ==== Aufgabe 1 - Wissensfragen ==== ==== Aufgabe 1 - Wissensfragen ====
 +a) 1 und 4\\
 +b) 2 und 4\\
 +c) 2 und 3\\
 +
 ==== Aufgabe 2 - Rekursion ==== ==== Aufgabe 2 - Rekursion ====
 +<code java>
 +static List<List<Long>> potenzmenge(long n) {
 + List<List<Long>> pm = new ArrayList<>();
 + if (n <= 0) {
 + // Basisfall
 + pm.add(new ArrayList<Long>());
 + } else {
 + // Rekursion
 + List<List<Long>> rek = potenzmenge(n - 1);
 + // Ergebnisse zusammenfuehren
 + for (List<Long> ohneN : rek) {
 + List<Long> mitN = new ArrayList<>(ohneN); // *noch* ohne n
 + mitN.add(n);
 + pm.add(mitN);
 + pm.add(ohneN);
 + }
 + }
 + return pm;
 +}
 +</code>
 ==== Aufgabe 3 - ADT ==== ==== Aufgabe 3 - ADT ====
 +<code>
 +isBlack(new, x, y) = false
 +
 +isBlack(flip(cv, x1, y1), x2, y2) =
 +    !isBlack(cv, x2, y2)    falls x1=x2 && y1=y2
 +    isBlack(cv, x2, y2)      sonst
 +
 +bottom(new) = 0
 +bottom(flip(cv, x1, y1)) =
 +    y1               falls y1 < bottom(cv) && !isBlack(cv, x1, y1)
 +    bottom(cv)       sonst
 +</code>
 +
 ==== Aufgabe 4 - Dynamische Programmierung ==== ==== Aufgabe 4 - Dynamische Programmierung ====
- private long pLR(int n, long[] ps){ +<code java> 
- ps[1] = 2; +private long pLR(int n, long[] ps) { 
- if( ps[n== 0 ){ + ps[1] = 2; 
- ps[n] = pLR(n-1,ps); + if (n >2) { 
- int i =0 ; + ps[n] = pLR(n - 1, ps); 
- do{ + int i = 0; 
- ps[n]++; + do { 
- for(i=1; i<n && ps[n]%ps[i] != 0; i++){ + ps[n]++; 
- + for (i = 1; i < n && ps[n] % ps[i] != 0; i++) { 
- } while( i!=n ); +
-+ } while (i != n); // kleineren Teiler gefunden?
- return ps[n];+
  }  }
 + return ps[n];
 +}
 +</code>
 ==== Aufgabe 5 - Streuspeicherung ==== ==== Aufgabe 5 - Streuspeicherung ====
 Diese Aufgabe entspricht 1:1 [[https://fsi.cs.fau.de/dw/pruefungen/bachelor/aud/loesungws14#aufgabe_4_-_streuspeicherung_18|Aufgabe 4 aus der Klausur WS14/15]]. Diese Aufgabe entspricht 1:1 [[https://fsi.cs.fau.de/dw/pruefungen/bachelor/aud/loesungws14#aufgabe_4_-_streuspeicherung_18|Aufgabe 4 aus der Klausur WS14/15]].