Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen (Übersicht)
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:bachelor:aud:loesungws12 [29.07.2013 16:15] – Dawodo | pruefungen:bachelor:aud:loesungws12 [28.03.2022 08:00] (aktuell) – Warnung vor Quatsch BobbyB | ||
---|---|---|---|
Zeile 80: | Zeile 80: | ||
0, | 0, | ||
NPE null null | NPE null null | ||
+ | Grmbl | ||
Zeile 86: | Zeile 86: | ||
1, | 1, | ||
x x x | x x x | ||
- | icks | + | icks |
Mitte | Mitte | ||
Zeile 105: | Zeile 105: | ||
==== Aufgabe 5 - Rekursion ==== | ==== Aufgabe 5 - Rekursion ==== | ||
- | t.b.d. | + | Gesamter Sourcecode zum selber Testen: {{: |
+ | |||
+ | **a)** | ||
+ | <code java> | ||
+ | boolean isSolution(LinkedList< | ||
+ | int tmpRes = p.get(0).val; | ||
+ | for(int i = 1; i < p.size() - 1; i+= 2) { | ||
+ | Node op = p.get(i); Node v = p.get(i+1); | ||
+ | switch(op.type) { | ||
+ | case ADD: tmpRes += v.val; break; | ||
+ | case SUB: tmpRes -= v.val; break; | ||
+ | case MUL: tmpRes *= v.val; break; | ||
+ | case DIV: | ||
+ | if(tmpRes % v.val != 0) return false; | ||
+ | tmpRes /= v.val; break; | ||
+ | case EQ: | ||
+ | if(v.result && tmpRes == v.val) return true; | ||
+ | return false; | ||
+ | default: return false; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return false; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **b)** | ||
+ | <code java> | ||
+ | void allPaths(Node n, LinkedList< | ||
+ | if(n.visited) return; | ||
+ | n.visited = true; | ||
+ | |||
+ | if(n.result) { | ||
+ | p.addLast(n); | ||
+ | addList(p, | ||
+ | p.removeLast(); | ||
+ | n.visited = false; | ||
+ | } else { | ||
+ | p.addLast(n); | ||
+ | for(Node neighbour : n.neighbours) | ||
+ | allPaths(neighbour, | ||
+ | p.removeLast(); | ||
+ | n.visited = false; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **c)** | ||
+ | <code java> | ||
+ | LinkedList< | ||
+ | LinkedList< | ||
+ | allPaths(start, | ||
+ | |||
+ | LinkedList< | ||
+ | for(LinkedList< | ||
+ | if(isSolution(path)) { | ||
+ | if(best == null || path.size() < best.size()) | ||
+ | best = path; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return best; | ||
+ | } | ||
+ | </ | ||
Zeile 124: | Zeile 188: | ||
fib: Nat -> Nat | fib: Nat -> Nat | ||
axs: | axs: | ||
- | fib(zero) = zero | + | fib(zero) = succ(zero) |
fib(succ(zero)) = succ(zero) | fib(succ(zero)) = succ(zero) | ||
fib(succ(succ(n))) = add(fib(succ(n)), | fib(succ(succ(n))) = add(fib(succ(n)), | ||
Zeile 148: | Zeile 212: | ||
mult(succ(x), | mult(succ(x), | ||
</ | </ | ||
- | |||
==== Aufgabe 7 - Sortieren ==== | ==== Aufgabe 7 - Sortieren ==== | ||
Zeile 237: | Zeile 300: | ||
Dia-Sourcefile für etwaige Korrekturen: | Dia-Sourcefile für etwaige Korrekturen: | ||
+ | |||
+ | Vorsicht, dieses Diagramm ist falsch. Erstens müssen bremsanlage und tasten nicht mit in Kabinensteuerung, | ||
==== Aufgabe 9 - Formale Verifikation ==== | ==== Aufgabe 9 - Formale Verifikation ==== |