Klausur zur Vorlesung Grundlagen der Datenverarbeitung
Transcription
Klausur zur Vorlesung Grundlagen der Datenverarbeitung
Prof. Dr.-Ing. R. Anderl Dipl.-Ing. C. Heeg Dipl.-Ing. S. Leibrecht Dipl.-Ing. A. Pfouga Klausur zur Vorlesung Grundlagen der Datenverarbeitung Wintersemester 2001/2002 Musterlösung Name : Muster Vorname : Erna Matrikelnummer : 47110815 Semester :1 Fachbereich : Maschinenbau Aufgabe 1 2 3 4 5 6 7 8 Summe erreichbare Punkte 15 15 10 14 8 16 11 11 100 15 15 10 14 8 16 11 11 100 erreichte Punkte Hinweise: Als Hilfsmittel sind Skripte, Bücher, eigene Mitschriften und Taschenrechner zugelassen. Füllen Sie zunächst das Deckblatt und den Kopf jedes weiteren Blattes deutlich lesbar aus und halten Sie den Studentenausweis und einen Lichtbildausweis zur Kontrolle bereit. Prüfen Sie, ob Ihre Klausur alle 13 Aufgabenseiten enthält. Sie sollten die Lösungen an den freien Stellen in der Klausur eintragen. Reicht der vorhandene Platz nicht aus, können Sie lose Blätter verwenden, die Sie zuerst mit Namen, Vornamen und Matrikelnummer versehen. Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 1 Matrikelnummer: 47110815 Aufgabe 1 (15P) Erstellen eines Klassendiagramms in UML Notation Eine kleine Autovermietung will eine auf ihre Bedürfnisse angepasste Software entwickeln lassen, mit der sich der Fuhrpark verwalten lässt. Als Softwareentwickler bekommen Sie von der Autovermietung folgende Beschreibung der Firmenstruktur: - Die Autovermietung hat einen Fuhrpark mit Fahrzeugen. - Die Fahrzeuge lassen sich in PKWs, und Transporter einteilen. - Die PKWs gliedern sich in Mittelklasse und Oberklasse. - Die momentan eingesetzten Fahrzeuge sind: - Mittelklasse: BMW 3, Mercedes C-Klasse - Oberklasse: Mercedes S-Klasse, BMW 7 - Transporter: Ford Transit - Jedes Fahrzeug kann ein Radio haben. - Mittelklasse PKW können eine Anhängerkupplung haben. - Es müssen folgende Daten gespeichert werden können: - Für alle Fahrzeuge: Mietpreis - Für Transporter: Zuladung - Für Mittelklasse PKW: Anhängelast - Außerdem hat die Autovermietung eine Reihe von Kunden. - Jeder Kunde kann mehrere Fahrzeuge haben. Aufgabe: Stellen Sie mit Hilfe dieser Aussagen ein Klassendiagramm auf, welches die Struktur der Autovermietung abbildet. Die Struktur soll einfach um weitere Fahrzeugtypen erweiterbar sein. Benutzen Sie folgende Elemente: - Klassen, Generalisierungen, Aggregationen - Abstrakte Klassen (überall wo sinnvoll) - Attribute - Konstruktoren (überall wo sinnvoll) Beachten Sie: Eine Generalisierungshierarchie kann mehrere Klassenebenen umfassen. Jedes Fahrzeug muss letztendlich ein bestimmtes Modell sein. Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 2 Matrikelnummer: 47110815 Autovermietung Fuhrpark #fuhrp:Fuhrpark #kunde:Kunde[] #fahrzeug:Fahrzeug[] +Fuhrpark() +Autovermietung() 1..* 0..* Kunde Fahrzeug Radio 0..1 #radio:Radio #mietpreis:double #fahrzeug_gemietet:Fahrzeug[] +Radio() 0..* +Kunde() PKW Transporter #zuladung:double Anhaengerkupplung Mittelklasse #anhaengelast:double +Anhaengerkupplung() Oberklasse #akupplung:Anhaengerkupplung 0..1 BMW3 +BMW3() MercedesC MercedesS +MercedesC() +MercedesS() BMW7 +BMW7() FordTransit +FordTransit() (15P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 3 Matrikelnummer: 47110815 Aufgabe 2 (15P) Erstellen eines Struktogramms: Beim aufräumen Ihres Dachbodens haben Sie noch einen Schuhkarton mit DM-Münzen (nur Silbermünzen) gefunden. Um den Wert zu ermitteln zählen Sie als Maschinenbaustudent natürlich nicht die einzelnen Münzen, sondern bauen eine Maschine, die jede Münze einzeln wiegt. Die Ergebnisse werden an einen Computer übermittelt, und für jede Münze wird automatisch ein Objekt vom Typ Muenze angelegt. Nun wollen Sie mit einem Computerprogramm anhand des Gewichtes den Münzwert feststellen, und den Gesamtbetrag ausrechnen. Dazu soll eine Klasse Schuhkarton dienen, die das Feld mit den Objekten vom Typ Muenze besitzt. Muenze Schuhkarton #muenzen:Muenze[] 0..* #gewicht:double +Muenze() +getGewicht():double +setGewicht(gew:double):void +Schuhkarton() +berechneGesamtwert():double Die Gewichte der Münzen sind: Münze Gewicht 50 Pfennig 3,5 Gramm 1 DM 5,5 Gramm 2 DM 7,0 Gramm 5 DM 10,0 Gramm Aufgabe ist es ein Struktogramm für die Methode berechneGesamtwert der Klasse Schuhkarton zu erstellen. Die Methode soll den Gesamtwert aller gespeicherten Münzen in DM berechnen. Denken Sie daran, dass nur das Gewicht der Münzen bekannt ist und die Methode die Gewichtstabelle auswerten muss. Die Gewichte werden immer in Gramm angegeben. Toleranzen können, müssen aber nicht, berücksichtigt werden. Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 4 Matrikelnummer: 47110815 berechneGesamtwert():double double wert; int nr; wert = 0.0d; for nr = 0..this.muenzen.length; double gewicht; gewicht = this.muenzen[nr]; WAHR gewicht = 10,0d Falsch wert = wert + 5,0d; WAHR gewicht = 7,0d Falsch wert = wert + 2,0d; WAHR gewicht = 5,5d Falsch wert = wert + 1,0d; WAHR gewicht = 3,5d Falsch wert = wert + 0,5d; return wert; (15P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 5 Matrikelnummer: 47110815 Aufgabe 3 (10P) Implementieren einer Methode in JAVA Ein Programm mit folgendem Klassendiagramm soll einfache Geometrien verwalten können. Quader Bauteil Baugruppe #bauteile:Bauteil[] +Baugruppe() +berechneMasse():double Grundform Zylinder #grundform:Grundform 0..* #features:Feature[] +Bauteil() +berechneVolumen():double +getDichte():double Bohrung 0..* Feature Phase Implementieren Sie die Methode berechneMasse der Klasse Baugruppe in JAVA (handschriftlich). Sie soll das Gesamtgewicht aller beteiligten Geometrieelemente berechnen, indem Sie die Methoden berechneVolumen und getDichte aller Bauteilobjekte benutzt. ... public double berechneMasse() { double masse; int nr; masse = 0.0d; for (nr = 0, nr < this.bauteile.length, nr++) { double bauteilmasse; bauteilmasse = this.bauteile[nr].berechneVolumen() * this.bauteile[nr].getDichte(); } } masse = masse + bauteilmasse ; return masse; ... (10 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 6 Matrikelnummer: 47110815 Aufgabe 4 (a: 5P, b: 3P,c: 4P, d: 2P) Gegeben ist die Zahl a = 10 00112 und die Zahl b = 1010 10012 in Dualdarstellung. a) Auf einen Prozessor mit 10 Bit Addierwerk, welcher mit der (p)-Komplementdarstellung arbeitet, soll eine Subtraktionen durchgeführt werden. Berechnen Sie dazu zunächst die Zweierkomplementdarstellung (K2-Darstellung) der Zahl -b und dann das Ergebnis c = a - b = a + (-b) ebenfalls in der Zweierkomplementdarstellung (geben Sie bitte jeden Ihrer Rechenschritte an!). Anzahl Stellen in Prozessor: n = 10 Kp(-b) = Kp (-1010 10012) = = = = = = kp ( abs ( -1010 10012) ) = kp (1010 10012) = 210 – 1010 10012 = 100 0000 00002 – 00 1010 10012 = 11 0101 01112 Addition: a + K2(-b) 10 0011 + 11 0101 0111 a K2(-b) -------------------11 0111 1010 K2(-c) In der Zweierkomplementdarstellung gilt also K2(c) = a - b = 11 0111 10102. (5P) b) Welche Aussage kann man aus dem Ergebnis von Aufgabenteil a) für das Vorzeichen von c treffen. Wie ist der Betrag von c zu berechnen ? Das Ergebnis aus dem Aufgabenteil a) ist negativ, da a9 =1 . Der Betrag von c errechnet sich mit dem Komplement des Komplementes von c c = K2(K2(c)) (3P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 7 Matrikelnummer: 47110815 c) Berechnen Sie mit Anwendung eines geeigneten Umrechnungsverfahrens die Dezimalzahldarstellung der Zahl a. Führen Sie dabei das Umrechnungsverfahren explizit aus. Horner-Schema für die Dezimaldarstellung von a für p = 2, k = 6, a5 = 12 , a 4 = 0 2 , a3 = 0 2 , a 2 = 0 2 , a1 = 12 , a 0 = 12 : z 5 := a5 = 1 z 4 := p ⋅ z 5 + a4 = 2 ⋅1 + 0 = 2 z 3 := p ⋅ z 4 + a3 = 2 ⋅ 2 + 0 = 4 z 2 := p ⋅ z 3 + a2 = 2 ⋅ 4 + 0 = 8 z1 := p ⋅ z 2 + a1 = 2 ⋅ 8 + 1 = 17 z 0 := p ⋅ z1 + a0 = 2 ⋅17 + 1 = 35 Also ist a = 3510. (4P) d) Geben Sie für den Prozessor aus Aufgabenteil a) den positiven und negativen ganzzahligen Zahlenbereich (Datentyp Integer) in Dezimaldarstellung an, den er in der Verwendung der Zweierkomplementdarstellung (K2-Darstellung) darstellen kann (Anm.: schreiben Sie den Zahlenbereich in der Form [kleinste darstellbare Zahl, ... , größte darstellbare Zahl] ). [-2n-1, ... ,2n-1-1] mit n = 10 folgt [-29, ... , 29 – 1] also [-512, ... , 511] (2P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 8 Matrikelnummer: 47110815 Aufgabe 5 (a: 4P, b: 4P) a) Erklären Sie den Unterschied zwischen einem Analog-Digital-Wandler und einem Digital-Analog-Wandler in Bezug auf deren Aufgabe. Nennen Sie jeweils zusätzlich ein Einsatzgebiet, in denen die Wandler für die Weiterverarbeitung eingesetzt werden können. Analog-Digital-Wandler: - Wandlung von einer kontinuierlichen elektrischen Spannung in eine diskrete Zahl in Dualdarstellung - Diskretisierung durch Aufteilung in Spannungsintervalle Bsp.: Messen einer Temperatur Digital-Analog-Wandler: Wandlung von einer diskreten Zahl in Dualdarstellung in eine elektrische Spannung Bsp.: Ausgabe von Audio Signalen (4 P) b) Ein AD-Wandler wandelt den Spannungsbereich von 0-5 V (unipolar) in einer Auflösung von 12 Bit. In wie viele Teile wird der Spannungsbereich zerlegt und wie groß sind demnach die Spannungsintervalle (auf 4 Stellen nach dem Komma gerundet). Geben Sie innerhalb einer Zuordnungstabelle die beiden ersten Werte und die beiden letzten Werte in Dualdarstellung an, die dieser AD-Wandler umwandelt. Spannungsbereich wird in 212 Teile zerlegt = 4096 Spannungsintervall: 5 V / 4096 ≈ 0.0012 0 V ≤ x1 < 0,0012 V ≡ 0000 0000 0000 0,0012 V ≤ x2 < 0,0024 V ≡ 0000 0000 0001 .... 4,9976 V ≤ x4095 < 4,9988 V ≡ 1111 1111 1110 4,9988 V ≤ x4096 < 5 V ≡ 1111 1111 1111 (4 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 9 Matrikelnummer: 47110815 Aufgabe 6 (a: 2P, b: 5P, c: 4P, d: 3P, e:2P) Gegeben ist folgender ungerichteter, gewichteter Graph: A C B 3 5 2 4 1 2 D E 1 F 5 3 7 G 3 4 6 H I a) Führen sie am gegebenen Graph bei Knoten A beginnend, eine Breitensuche durch. Wählen Sie in jedem Schritt denjenigen Knoten als den nächsten zu besuchenden aus, der nach der alphabetischen Reihenfolge der nächste wäre. A, B, E, F, D, G, H, C, I (2P) b) Zeichnen Sie den minimalen Spannbaum des gegebenen Graphen. A 3 C B 2 1 4 2 D E 1 G F 5 H 4 I (5 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 10 Matrikelnummer: 47110815 c) Wie hoch ist der maximale Ausgrad, wenn die Wurzel des Baumes, der in Aufgabenteil b) ermittelt wurde, im Knoten H liegt ? Welche Art des abstrakten Datentyps Baum liegt demnach vor ? Welche Tiefe besitzt der Baum und welche Kennzeichnung haben die Blätter des Baumes? der maximale Ausgrad ist 2. Es liegt daher der ADT Typ binärer Baum vor. Die Tiefe des Baumes beträgt 4 und die Blätter sind G,A,C,I (4P) d) Zeichnen Sie einen binären Baum, welcher dem unten angegebenen booleschen Ausdruck entspricht (Anm.: der boolesche Ausdruck folgt aus einer Inorder Traversierung). Formen Sie dazu zunächst den Ausdruck mit dem Distributivgesetz so um, dass die Eingangsgröße c nur einmal im booleschen Ausdruck auftritt. (a ∨ b ) ∧ ((c ∧ d ) ∨ (c ∧ e)) Mit Distributivgesetz folgt: (a ∨ b ) ∧ (c ∧ (d ∨ e)) ^ v a ^ c b v d e (3P) e) Traversieren Sie den Baum in der Präorder Reihenfolge: Präorder: ∧ , ∨ ,a, b, ∧ ,c , ∨ ,d, e, Fachgebiet Datenverarbeitung in der Konstruktion (2P) DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 11 Matrikelnummer: 47110815 Aufgabe 7 (a: 3P, b: 4P, c: 4P) a) Geben Sie die Übertragungsgeschwindigkeiten an, die folgende Netzwerkkabel, bzw. Kabeltypen in Verbindung mit deren Netzwerktechnologien ermöglichen. Twisted Pair 100base-T: 100 Mbps (Megabits per second) Glasfaserkabel in der ATM Netzwerktechnologie: 622 Mbps Lichtwellenleiter im FDDI Ring: 100 Mbps (3 P) b) Mit welcher allgemeinen Netzwerktopologie kann man das weltweite Netzwerk Internet beschreiben. Nennen Sie demzufolge eine Verbindungskomponente (aktive Netzwerkkomponente), die im Internet verwendet werden kann. Nennen Sie zudem zwei Netzwerktechnologien, die im weltweiten Netzwerk zum Einsatz kommen können. - unbeschränkte Topologie - Router - können in unbeschränkten Topologien verwendet werden - ISDN und ATM werden im WAN/GAN verwendet (4 P) c) Eine URL (Uniform Resource Locator) im WWW (World Wide Web) ist: ftp://ftp.hrz.tu-darmstadt.de:21/pub/install/readme Nennen Sie die TCP/IP - Protokollanwendung die in dieser URL enthalten ist. Auf welchem Port beruht die Protokollanwendung und was ist die Aufgabe der Protokollanwendung. Nennen Sie weiterhin den Host- und Domainnamen auf dem das readme Dokument liegt. (4 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster Aufgabe 8 12 Matrikelnummer: 47110815 (a: 3P, b: 3P, c: 2P, c: 3P) Eine Stückliste soll in eine Tabelle einer Datenbank eingelagert werden. Die Stückliste, die Position, Mengenangabe, Name und Material enthält, liegt als ASCII-Datei variabler Satzlänge vor. Als Trennzeichen zwischen den Feldern wurde ein „ , “ benutzt: 14:1,1,WELLE,Ck45 22:2,1,GEHAEUSE,GX8CrNi13 15:3,2,DECKEL,Ck45 19:4,6,DIN84 M5X8,Ck45 a) Wandeln Sie die Datei zum Datenbankimport in eine Datei mit fester Satzlänge so um, dass eine Datei mit vier Datensätzen entsteht. Die Feldlänge pro Feld soll 10 Zeichen betragen. Füllzeichen sollen durch das Zeichen * dargestellt werden. *********1**********1*****WELLE******Ck45 *********2**********1**GEHAEUSE*GX8CrNi13 *********3**********2****DECKEL******Ck45 *********4**********6DIN84 M5X8******Ck45 (3 P) b) Wie viel Speicherplatz benötigt die Datei mit variabler Satzlänge und wie viel mit fester Satzlänge ? Geben Sie die Werte zusätzlich in Bit an. Speicherung mit variabler Satzlänge: 70 Bytes ≡ 560 Bit Speicherung mit fester Satzlänge: 160 Bytes ≡ 1280 Bit (3 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Wintersemester 2001/2002 Name: Erna Muster 13 Matrikelnummer: 47110815 c) Geben Sie die Oktalen - Kodenummern des ASCII-Codes für die Bezeichnung WELLE an. 127 105 114 114 105 (2 P) d) Die Datei mit fester Satzlänge muss zusätzlich im ISO 8859-1 Zeichensatz vorliegen. Ist die Umwandlung der Datei möglich ? Begründen Sie Ihre Antwort kurz. Wenn ja, wie viele Byte benötigt dann die Speicherung der Datei mit fester Satzlänge ? Ja. Der ASCII Zeichensatz ist Bestandteil des ISO 8859-1 Die Speicherung der Datei benötigt analog der des ASCII Codes 160 Bytes. (3 P) Fachgebiet Datenverarbeitung in der Konstruktion DiK