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.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungLetzte ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:aud:loesungws08 [16.02.2013 09:28] – Dawodo | pruefungen:bachelor:aud:loesungws08 [11.05.2019 10:23] – SpeedyGonzalez | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ==forum== | + | ===== Forendiskussionen ===== |
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
Zeile 7: | Zeile 7: | ||
* [[https:// | * [[https:// | ||
- | ====Lösungsversuch==== | + | ===== Lösungsversuch |
- | ==Aufgabe 1 - Wissensfragen== | + | ==== Aufgabe 1 - Wissensfragen |
**a)** Falsch, es muss sortiert sein | **a)** Falsch, es muss sortiert sein | ||
Zeile 28: | Zeile 28: | ||
**i)** 1 - kontextsensitiven Grammatiken | **i)** 1 - kontextsensitiven Grammatiken | ||
- | ==Aufgabe 2 - Graphen== | + | ==== Aufgabe 2 - Graphen ==== |
**a)** | **a)** | ||
^ A ^ B ^ C ^ D ^ E ^ F ^ Prioritäts-Warteschlange^ | ^ A ^ B ^ C ^ D ^ E ^ F ^ Prioritäts-Warteschlange^ | ||
Zeile 49: | Zeile 50: | ||
^ F | 10 | A -> B -> E -> F | | ^ F | 10 | A -> B -> E -> F | | ||
- | ==Aufgabe 3 - Java== | + | ==== Aufgabe 3 - Java ==== |
**a)** | **a)** | ||
Zeile 75: | Zeile 76: | ||
{{: | {{: | ||
- | ==Aufgabe 4 - ADT== | + | ==== Aufgabe 4 - ADT ==== |
**a)** | **a)** | ||
- | | + | < |
- | contains(x, append(x, L)) = 1 + contains(x, L) | + | contains(x, create) = false |
- | contains(x, append(y, L)) = contains(x, L) | + | contains(x, append(x, L)) = true |
+ | contains(x, append(y, L)) = contains(x, L) | ||
+ | </ | ||
**b)** | **b)** | ||
- | A -> D -> create | + | A -> D |
**c)** | **c)** | ||
+ | < | ||
+ | append(head(append(D, | ||
+ | A1 | ||
+ | = append(head(prepend(D, | ||
+ | A1 | ||
+ | = append(head(prepend(D, | ||
+ | A3 | ||
+ | = append(D, prepend(A, create)) = | ||
+ | A2 | ||
+ | = prepend(A, append(D, create)) = | ||
+ | A1 | ||
+ | = prepend(A, prepend(D, create)) | ||
+ | </ | ||
- | append(head(append(D, | + | ==== Aufgabe 5 - Pseudo-Zufallszahlen |
- | A1 | + | |
- | | + | |
- | A1 | + | |
- | = append(head(prepend(D, | + | |
- | A3 | + | |
- | = append(D, prepend(A, create)) = | + | |
- | A2 | + | |
- | = prepend(A, append(D, create)) = | + | |
- | A1 | + | |
- | = prepend(A, prepend(D, create)) | + | |
- | + | ||
- | + | ||
- | ==Aufgabe 5 - Pseudo-Zufallszahlen== | + | |
**a)** | **a)** | ||
<code java> | <code java> | ||
Zeile 118: | Zeile 121: | ||
return lin(1, 2, 3, n); | return lin(1, 2, 3, n); | ||
} | } | ||
+ | private static int lin(int a, int b, int c, int steps) { ... | ||
</ | </ | ||
Zeile 125: | Zeile 129: | ||
f(2) = 3 \\ | f(2) = 3 \\ | ||
- | Aus dem gegebenen Aufruf und dieser Basisfälle lässt sich schließen: \\ | + | Aus dem gegebenen Aufruf |
- | a = 1 = f(0) -> f(n - 3) \\ | + | a = 1 = f(0) --> |
- | b = 2 = f(1) -> f(n - 2) \\ | + | b = 2 = f(1) --> |
- | c = 3 = f(2) -> f(n - 1) \\ | + | c = 3 = f(2) --> |
+ | |||
+ | Das Wichtige an dieser Aufgabe ist sich bewusst zu machen, wie die Werte im angegebenem Aufruf, mit den Basisfällen bzw. f(n-3), f(n-2), f(n-1) in der angegebenen Formel korrespondieren. Das Ziel ist ja diese Werte der Formel in Java-Code auszudrücken. | ||
Somit wissen wir: \\ | Somit wissen wir: \\ | ||
Zeile 157: | Zeile 163: | ||
return a; | return a; | ||
- | lin(b, c, 1 + (((c - b) * a) % 100), steps - 1); | + | return |
} | } | ||
</ | </ | ||
Zeile 167: | Zeile 173: | ||
f(0) = lin(1, 2, 3, 0) \\ | f(0) = lin(1, 2, 3, 0) \\ | ||
Das Ergebnis steht in Variable a. | Das Ergebnis steht in Variable a. | ||
+ | |||
**c)** | **c)** | ||
Zeile 176: | Zeile 183: | ||
while(n > 0) { | while(n > 0) { | ||
- | int fn = 1 + (((c - b) * a) % 100) | + | int fn = 1 + (((c - b) * a) % 100); |
a = b; | a = b; | ||
b = c; | b = c; | ||
Zeile 188: | Zeile 195: | ||
- | ==Aufgabe 6 - Suchbäume== | + | ==== Aufgabe 6 - Suchbäume |
**a)** | **a)** | ||
Zeile 232: | Zeile 239: | ||
{{: | {{: | ||
- | ==Aufgabe 7 - Heap== | + | ==== Aufgabe 7 - Heap ==== |
**a)** | **a)** | ||
- | Der Wert jedes Knotens muss größer, als der seiner Kinder sein. | + | Der Wert jedes Knotens muss größer |
**b)** | **b)** | ||
Zeile 255: | Zeile 262: | ||
<code java> | <code java> | ||
public int parentIndex (int childIndex) { | public int parentIndex (int childIndex) { | ||
- | return (childIndex - 1) / 2; | + | return |
} | } | ||
</ | </ | ||
Zeile 282: | Zeile 289: | ||
- | ==Aufgabe 8 (wp)== | + | ==== Aufgabe 8 - wp-Kalkül ==== |
**a)** | **a)** |