Lösung der Klausur SE26 SS'97

Aufgabe 1.

with MDatobj;

  • procedure Hauptprogramm is

    Obejkt: MDatobj.TDaten;

  • begin

  • Initialisieren ("Namenlos");

    Initialisieren (Objekt, "Benannt");

    Umwandeln;

    Umwandeln (Objekt);

    Ausgeben (10, 20);

    Ausgeben (Objekt, 10, 20);

  • end Hauptprogramm;

    Aufgabe 2:

    type PFahrzeug;

    type TErsetzbares_Fahrzeug is new TFahrzeug with record

  • Ersatz: PFahrzeug;

  • end record;

    type PFahrzeug is access TErsetzbares_Fahrzeug;

    Aufgabe 3:

    (X) Richtig Datenabstraktionsmodule exportieren immer eine Operation.

    Grund: Sonst könnten die abstrahierten Daten nicht manipuliert werden.

    (X) Falsch Die Dokumentationsphase folgt folgt der Implementierungsphase

    Grund: Dokumentation ist eine phasenübergreifende Tätigkeit

    (X) Falsch Jedes Objekt vom Typ File_Type beinhaltet genau eine Datei

    Grund: Nur wenn es geöffnet und Open der Dateiname übergeben wurde

    (X) Falsch Die Schnittstelle eines Moduls enthält sein Gedächtnis

    Grund: Das Gedächtnis wird nicht veröffentlicht, sonst könnte es von außen manipuliert werden.

    (X) Falsch In der Analysephase jedes Software-Projekts werden Datenflußdiagramme erstellt.

    Grund: Nicht alle Projekte werden mit SA analyisert

    (X) Falsch Die gesamte Qualität eines Softwareprodukts wird vom Auftraggeber überprüft.

    Grund: Er kann nur die äußeren Qualitäten prüfen.

    ( X ) Richtig Verweisobjekte können sowohl auf dem Stapel wie auch auf der Halde gespeichert werden.

    Grund: Anker auf dem Stapel, Verbindung auf der Halde

    (X) Falsch Bei der Vererbug werden entweder Operationen oder Datenkomponenten hinzugefügt.

    Grund: Beides gleichzeitig ist auch möglich

    Aufgabe 4.

    generic TElement is private;

  • package ADO is

    procedure Fuellen (Element: in TElement);

    procedure Entleeren;

    function Inhalt return TElement;

    function Gefuellt return Boolean;

  • end ADO;

    Aufgabe 5.

    package MStapel_IO is new Sequential_IO (TStapel);

  • procedure Speichern (Stapel: in TStapel; Dateiname: String) is

    Datei: MStapel_IO.File_Type;

  • begin

  • MStapel_IO.Open (Datei, MStapel_IO.Out_File, Dateiname);

    MStapel_IO.Write (Datei, Stapel);

    MStapel_IO.Close (Datei);

  • end Speichern;

    Aufgabe 6.

    Qualität

    E / I

    Definition

    benutzerfreundlich

    E

    wirtschaftet mit der Zeit und Energie des Benutzer

    konsistent

     I

     Einheitliche Technik und Notation

    robust

     E

     reagiert auf Fehler vernünftig

    zuverlässig

     E

    es gibt Verlaß darauf) •vollständig •korrekt •ausfallsicher •genau

    kompakt

     I

    enthält nichts überflüssiges

    berechenbar

     I

    verifizierbar; Identifikation von Fehlern einfach

    angemessen

     E

    entspricht den Fähigkeiten des Benutzers 

    Aufgabe 7.

    package Liste is

  • procedure Eintragen (Element: TElement);

  • end Liste;