TU Wien:Einführung in die Programmierung 2 VU (Puntigam)/MC-Fragen 2023
Zur Navigation springen
Zur Suche springen
Welche der folgenden Aussagen treffen auf Ausnahmen und Ausnahmebehandlungen in Java zu?
Richtig: finally-Blöcke werden trotz aufgetretener Ausnahme ausgeführt. (1A) + Falsch: Ausnahmen vom Typ IOException sind unüberprüft (unchecked). (1B) + Richtig: Das Ergebnis von getMessage() ist bei der Objekterzeugung festlegbar. (1C) + Richtig: Das Java-Laufzeitsystem wirft nur unüberprüfte (unchecked) Ausnahmen. (1D) + Falsch: 'Propagieren einer Ausnahme' bedeutet: 'Ausnahme wird abgefangen'. (1E) +
public int median(int[] e) { return e[e.length / 2]; } Welche der folgenden Aussagen können (jede für sich) als Vor- bzw. Nachbedingungen dieser Methode sinnvoll sein?
Richtig: Vorbedingung: Setzt voraus, dass e mindestens einen Eintrag hat. (2A) + Falsch: Vorbedingung: Wirft eine Exception wenn e == null. (2B) + Falsch: Vorbedingung: Gibt einen Eintrag etwa in der Mitte von e zurück. (2C) + Falsch: Nachbedingung: e != null (2D) + Falsch: Nachbedingung: e ist absteigend sortiert. (2E) +
Welche der folgenden Aussagen treffen auf Klassen und Interfaces im Java-Collections-Framework zu?
Richtig: LinkedList<E> erlaubt mehrere gleiche Einträge. (3A) + Richtig: TreeSet<E> ist Untertyp von SortedSet<E>. (3B) + Falsch: LinkedList<E> ist Untertyp von ArrayList<E> (3C) + Falsch: Aus einer Queue<E> kann man Elemente mittels peek und poll löschen. (3D) + Richtig: LinkedHashMap<K,V> ist sowohl Hashtabelle als auch lineare Liste. (3E) +
Welche der folgenden Hoare-Tripel gelten (für Anweisungen in Java)?
Falsch: {v > -63} while (v > -63) v--; {v > -63} (4A) + Richtig: {true} v = e > z ? e : z; {v >= e} (4B) + Richtig: {e == -63} while (v > -63) v--; {e == -63} (4C) + Falsch: {true} v = e < z ? e : z; {v >= e} (4D) + Falsch: {e <= -63} while (++v < 66) e--; {e < -63} (4E) +
Welche der folgenden Aussagen treffen für Design-by-Contract zu?
Falsch: Nachbedingungen beschreiben häufig Eigenschaften von Parametern. (5A) + Falsch: Es gilt nur das, was explizit in Zusicherungen steht. (5B) + Richtig: Eine Nachbedingung darf im Untertyp stärker sein als im Obertyp. (5C) + Falsch: Objektzustände dürfen nur geändert werden, wo dies erwartet wird. (5D) + Richtig: Invarianten beziehen sich auf Objektzustände. (5E) +