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 ÜberarbeitungLetzte ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:aud:loesungss16 [07.04.2017 16:23] – pda | pruefungen:bachelor:aud:loesungss16 [25.03.2020 10:17] – kat04 | ||
---|---|---|---|
Zeile 50: | Zeile 50: | ||
* zu 3) | * zu 3) | ||
*Grad ist differenziert zu betrachten hinsichtlich " | *Grad ist differenziert zu betrachten hinsichtlich " | ||
- | *Gerichtete | + | *Ungerichtete |
- | *Ungerichtete | + | *Gerichtete |
* zu 4) | * zu 4) | ||
Zeile 100: | Zeile 100: | ||
| | ||
- | **h)** 2 und 3 | + | **h)** 2 und 4 |
* zu 1) | * zu 1) | ||
* this kann nicht in einem statischen Kontext verwendet werden, sonst Fehler => Cannot use this in a static context | * this kann nicht in einem statischen Kontext verwendet werden, sonst Fehler => Cannot use this in a static context | ||
Zeile 108: | Zeile 108: | ||
* zu 3) | * zu 3) | ||
- | * anscheinend doch, nur der konkrete nutzen ist mir nicht bekannt | + | * falsch, siehe [[https:// |
* zu 4) | * zu 4) | ||
- | * Genau genommen initialisiert die Laufzeitumgebung jede Objekt- und Klassenvariable zunächst mit 0, null oder false und später mit einem Wert. Daher ist die Nullung von Hand nicht nötig: | + | * Genau genommen initialisiert die Laufzeitumgebung jede Objekt- und Klassenvariable zunächst mit 0, null oder false und später mit einem Wert. Daher ist die Nullung von Hand nicht nötig: |
+ | * | ||
Zeile 137: | Zeile 139: | ||
**e)** | **e)** | ||
- | Darstellung als Array: | + | Darstellung als Array: |
**f)** | **f)** | ||
Zeile 181: | Zeile 183: | ||
<code java> | <code java> | ||
public E previous() { | public E previous() { | ||
- | // TODO Auto-generated method stub | ||
if(prev != null){ | if(prev != null){ | ||
E vTmp=prev.v; | E vTmp=prev.v; | ||
Zeile 240: | Zeile 241: | ||
</ | </ | ||
+ | ==== Aufgabe 5 ADT ==== | ||
+ | |||
+ | | ||
+ | **a) ** | ||
+ | <code java> | ||
+ | getCol(Step(l), | ||
+ | getCol(Step(l), | ||
+ | </ | ||
+ | | ||
+ | **b) ** | ||
+ | <code java> | ||
+ | getDir(Step(l)) = (getDir(l) + 3) % 4, falls getCol(l, getX(l), getY(l)) == false | ||
+ | getDir(Step(l)) = (getDir(l) + 1) % 4, sonst | ||
+ | </ | ||
+ | |||
+ | **c) ** | ||
+ | <code java> | ||
+ | getX(Step(l)) = getX(l) + 1, falls getDir(Step(l)) == 1 // + und - vertauscht? 1 = Westen, also nach links also -1 | ||
+ | getX(Step(l)) = getX(l) - 1, falls getDir(Step(l)) == 3 //wie oben nur umgekehrt, auch in den Bildern zu sehen | ||
+ | getX(Step(l)) = getX(l), sonst | ||
+ | </ | ||
+ | | ||
+ | ** d) ** | ||
+ | < | ||
+ | Beachte: Das Koordinatensystem ist nach unten geklappt, d.h. die y-Werte drehen sich bei den Blickrichtungen Norden/ | ||
+ | Wo steht das? Reine Interpretationssache. Das Raster im Bild ist nach oben auch positiv... | ||
+ | |||
+ | ---------> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | y | ||
+ | </ | ||
+ | <code java> | ||
+ | public class LangtonAntJava{ | ||
+ | | ||
+ | int x = 666, y = 666, d = 0; // Position und Richtung | ||
+ | void step(){ | ||
+ | | ||
+ | d = (d+1)%4; | ||
+ | } else { | ||
+ | d = (d+3)%4; | ||
+ | } | ||
+ | | ||
+ | if(d == 0){ | ||
+ | y -= 1; | ||
+ | } else if (d == 1){ | ||
+ | x += 1; // muesste hier nicht x -= 1 stehen, da Blickrichtung nach Osten? Stimme dem zu. Autor kennt, wie bei c) schon erwähnt, die Himmelsrichtungen nicht. | ||
+ | } else if (d == 2){ | ||
+ | y += 1; | ||
+ | } else if (d == 3){ | ||
+ | x -= 1; // muesste hier nicht x += 1 stehen, da Blickrichtung nach Westen? | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
==== Aufgabe 6 Binäre Suche ==== | ==== Aufgabe 6 Binäre Suche ==== | ||
[[pruefungen: | [[pruefungen: | ||
Zeile 289: | Zeile 348: | ||
abDiff-=2*(a.get(p)); | abDiff-=2*(a.get(p)); | ||
b.add(a.remove(p)); | b.add(a.remove(p)); | ||
- | helfer(p); | + | helfer(p); |
// Backtracking zur 2. Rekursion: | // Backtracking zur 2. Rekursion: |