TU Wien:Einführung in die Programmierung 2 VU (Puntigam)/Fragenkatalog 2. Test

Aus VoWi
Zur Navigation springen Zur Suche springen

Beim Test bekommt man zufällig 5 Fragen mit je 5 Antwortmöglichkeiten. Um neue Fragen hinzuzufügen konvertiere sie mit dieser Website.

Welche der folgenden Aussagen treffen in Bezug auf Algorithmen und Datenstrukturen zu?
X
Absicherung gegen schlechte Datenverteilung kann die Laufzeit erhöhen.
X
Arrays sind sehr effizient wenn normale Arrayzugriffe ausreichen.
Bei unbekannter Datenverteilung gehen wir von Zufallsverteilung aus.
Ein AVL-Baum ist stets effizienter als ein einfacher Suchbaum.
X
Lineare Listen sind einfach zu implementieren.
Welche der folgenden Aussagen treffen auf die Ein- und Ausgabe über Streams in Java zu?
'new FileWriter(s)' erzeugt einen gepufferten Stream.
'new FileWriter(s)' wirft eine IOException wenn s schon existiert.
Ausgaben über gepufferte Streams gehen direkt an das Betriebssystem.
X
Puffer können als Wrapper vor nichtgepufferte Streams gehängt werden.
X
Viele Methoden von PrintStream werfen keine IOException.
Welche der folgenden Aussagen treffen auf Schleifen und Schleifeninvarianten zu?
X
Die Abbruchbedingung kann nicht Teil einer Schleifeninvariante sein.
Durch Schleifeninvarianten werden Schleifen im Debugger iterierbar.
Eine Schleifeninvariante beschreibt, was jede Iteration ändert.
Schleifeninvarianten garantieren den Fortschritt jeder Iteration.
X
Schleifeninvarianten helfen dabei, Programme statisch zu verstehen.
X
Schleifeninvarianten müssen auch vor und nach der Schleife gelten.
Schleifeninvarianten müssen vor jedem Methodenaufruf erfüllt sein.
X
Termination muss unabhängig von Schleifeninvarianten geprüft werden.
Welche der folgenden Aussagen treffen auf das Testen großer Programme zu?
Anwender sind wegen möglicher Verfälschungen nicht einzubeziehen.
X
Auch intensives Testen kann nicht alle Fehler aufdecken.
X
Eine Code-Review hilft beim Auffinden von Fehlerursachen.
X
Experten für Softwaresicherheit sollen einbezogen werden.
Debugger eignen sich zum Aufdecken fast aller Fehlerursachen.
Regressions-Tests müssen fast immer händisch durchgeführt werden.
White-Box-Testen legt Testfälle vor der Implementierung fest.
X
White-Box-Testen leitet Testfälle aus der Implementierung ab.
public int median(int[] a) { return a[a.length / 2]; }
Welche der folgenden Aussagen können (jede für sich) als Vor- bzw. Nachbedingungen dieser Methode sinnvoll sein?
X
Nachbedingung: Gibt einen Eintrag etwa in der Mitte von a zurück.
Nachbedingung: Setzt voraus, dass a mindestens einen Eintrag hat.
X
Nachbedingung: Wirft eine Exception wenn a.length == 0.
X
Vorbedingung: a != null
X
Vorbedingung: a ist absteigend sortiert.
X
Vorbedingung: a ist aufsteigend sortiert.
Vorbedingung: Greift auf einen Eintrag von a zu.
Vorbedingung: Wirft eine Exception wenn a == null.
Welche der folgenden Aussagen treffen auf Iteratoren in Java zu?
X
Lineare Listen sind meist einfacher iterierbar als Binärbäume.
Mehrere Iteratoren auf dem gleichen Objekt stören sich gegenseitig.
X
Iterator-Implementierungen sind eigene Klassen.
X
Iterator-Implementierungen bestimmen die Reihenfolge der Iterationen.
Iteratoren über Bäume sind häufig rekursiv implementiert.
Welche der folgenden Aussagen treffen auf die notwendige Überprüfung von Eingabedaten zu?
Alle Parameter einer Methode müssen in der Methode überprüft werden.
Die Validierung soll erst möglichst knapp vor der Ausgabe erfolgen.
Java-Objekte vom Typ Pattern lesen nur überprüfte Daten ein.
X
Plausibilitätsprüfungen sollen direkt nach der Eingabe erfolgen.
X
Reparaturversuche nicht plausibler Daten können gefährlich sein.