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

Documents pareils