Klausur zur Vorlesung Grundlagen der Datenverarbeitung

Werbung
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
1
Matrikelnummer:
Prof. Dr.-Ing. R. Anderl
Dipl.-Ing. A. Mann
Dipl.-Ing. S. Leibrecht
Dipl.-Ing. A. Pfouga
Klausur zur Vorlesung
Grundlagen der Datenverarbeitung
Sommersemester 2002
Name
Vorname
Matrikelnummer
Semester
Fachbereich
AUFGABE
Erreichbare Punkte
1
2
3
4
5
6
7
8
SUMME
15
15
10
15
8
14
14
9
100
Erreichte Punkte
Hinweise:
Als Hilfsmittel sind Skripte, Bücher, eigene Mitschriften und nicht-programmierbare 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 14 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“, Sommersemester 2002
Name:
2
Matrikelnummer:
Aufgabe 1
(15P)
Eine Software zur Berechung von Kurvendiskussionen benötigt ein zugrundeliegendes Datenmodell. Dabei wird auf nachträgliche Erweiterbarkeit und eine TOP-DOWNVorgehensweise beim Entwurf wert gelegt. Eine erste Analyse des Themas erbrachte folgende Aussagen:
- Ein Polynom ist eine spezielle mathematische Funktion.
- Eine math. Funktion besitzt eine variable Anzahl von Nullstellen, Extrempunkte und Wendepunkte
.
- Alle zuvor genannten Eigenschaften einer Funktion sind diskrete Punkte
- Bei gegebenen x-Wert erhält man einen Funktionswert einer math. Funktion zurück.
- Von jeder math. Funktion kann man die Menge der Nullstellen berechnen. Mit welcher
Methode dies zu bewerkstelligen ist, hängt von dem speziellen Typ von math. Funktion ab!
- Ein Polynom besitzt Koeffizienten.
- Ein quadratisches Polynom ist ein spezieller Typ eines Polynoms.
- Um ein konkretes quadratisches Polynom zu erzeugen, muss man genau drei Koeffizienten
angeben.
- Die Nullstellen eines quadratischen Polynoms lassen sich mit der pq-Formel berechnen!
Überführen Sie die Informationen in ein Klassendiagramm nach UML-Notation. Verwenden
Sie dabei je nach Bedarf folgende Konstrukte:
- Klassen,
- Abstrakte Klassen,
- Aggregationen,
- Generalisierungen (Vererbung),
- Abstrakte Methoden,
- Methoden.
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
3
Matrikelnummer:
Lösung zu Aufgabe 1:
Diskreter_Punkt
Nullstelle
0..n
Extrempunkt
<abstr> Math_Funktion
0..n
Wendepunkt
+<abstr> f(x : float) : float
#berechneNullstellen()
Polynom
0..n
1..n
Koeffizient
Quadr_Polynom
+Quadr_Polynom(p0, p1, p2 : float)
#berechneNullstellen()
pq-Formel
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
4
Matrikelnummer:
Aufgabe 2
(15P)
Erstellen Sie ein Struktogramm einer Methode zur Berechnung der Nullstellen eines quadratischen Polynoms der Form
f ( x) = x 2 + px + q .
Verwenden Sie dazu die p-q-Formel
2
x1, 2
p
 p
= − m   −q.
2
2
Die Methode soll als Parameter die Koeffizienten entgegennehmen und als Rückgabewert ein
eindimensionales Feld mit den Nullstellen zurückgeben.
Berücksichtigen Sie auch die Fälle, bei denen keine Nullstelle existiert (d.h. wenn der Radikant der p-q-Formel negativ wird) und wenn sich eine doppelte Nullstelle ergibt (wenn der
Radikant Null ist).
Benutzen Sie zur Berechnung der Quadratwurzel w = r die Iterationsformel
wn +1 =
wn wn + r
; Startwert: w0 = r ;
2 wn
Abbruch, wenn Genauigkeit erreicht, d.h. (wn wn − r ) ≤ 0.001 .
HINWEIS: Sie müssen nicht die exakte Java-Syntax verwenden. Die Anweisungen können in
Prosa beschrieben werden. Anweisungen wie Deklarationen, Initialisierungen und Funktionsrückgaben gehören zu einem Struktogramm.
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
5
Matrikelnummer:
Lösung zu Aufgabe 2:
Deklariere Feld nullstellen[] als Gleitkommazahl
Deklariere Hilfsvariablen w, r als Gleitkommazahlen
Setze r = p*p/4-q (Rechne also den Radikant aus)
r ist
>0
=0
Initialisiere Feldlänge von
nullstellen auf 2
Initialisiere Feldlänge von
nullstellen auf 1
w=r
(ww-r) > 0.001
w = (ww+r)/ (2*w)
nullstellen[0]=-p/2-w
nullstellen[0] = -p/2
<0
Initialisiere
Feldlänge
von
nullstellen
auf 0
bzw.
Setze
nullstellen
auf null
bzw. nil
nullstellen[1]=-p/2+w
Rückgabewert ist das Feld nullstellen
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
6
Matrikelnummer:
Aufgabe 3
(10P)
Die folgende Abbildung zeigt die unvollständige Klassendefinition der Klasse Matrix sowie
das Struktogramm der Methode getFoo().
Matrix
-inhalt[][] : float
-..... : ..
+...()
+getFoo() : float
+....()
Deklariere lokale Variablen namens m, n, i, j als ganze Zahlen
Deklariere lokale Variable namens temp als Gleitkommazahl mit einfacher
Genauigkeit
Initialisiere m mit Zeilenanzahl des Feldes inhalt
Initialisiere n mit Spaltenanzahl des Feldes inhalt
Setze temp auf erstes Element des Feldes inhalt
Über alle Zeilen
Über alle Spalten
Aktuelles Feldelement kleiner als temp
WAHR
Kopiere den Inhalt des aktuellen
Feldelementes in die Variable
temp.
Falsch
Tue nichts!
Gebe den Inhalt von temp als Funktionswert zurück.
a) Welche Bedeutung hat der Rückgabewert der Funktion getFoo()?
(1P)
Kleinste Wert aus Feld inhalt.
b) Geben Sie die vollständige Implementation der Methode getFoo() in Java an.
Fachgebiet Datenverarbeitung in der Konstruktion
(9P)
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
7
Matrikelnummer:
Lösung zu Aufgabe 3b):
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
8
Matrikelnummer:
Aufgabe 4
(15P)
Gegeben sind die Zahl a = 3510 in Dezimaldarstellung und die Zahl b = 1011 10002 in
Dualdarstellung.
Auf einem Prozessor mit 10 Bit Addierwerk, welcher mit der (p)-Komplementdarstellung
arbeitet, soll die Subtraktion c = a - b = a + (-b) durchgeführt werden. Führen Sie dazu folgende Schritte durch. (Geben Sie sämtliche dazu nötigen Rechenschritte an.)
a) Überführen Sie die Zahl a mittels eines geeigneten Umrechnungsverfahrens in Dualdarstellung.
(4P)
Modulo-Verfahren: z=35; p=10; q=2
y0 = z mod q = 35 mod 2 = 1
z0 = 35 div 2 = 17
y1 = z0 mod q = 17 mod 2 = 1
z1 = 17 div 2 = 8
y2 = z1 mod q = 8 mod 2 = 0
z2 = 8 div 2 = 4
y3 = z2 mod q = 4 mod 2 = 0
z3 = 4 div 2 = 2
y4 = z3 mod q = 2 mod 2 = 0
z4 = 2 div 2 = 1
y5 = z4 mod q = 1 mod 2 = 1
z5 = 2 div 2 = 0
a = {y5 y4 y3 y2 y1 y0}2 = 1000112
b) Berechnen Sie die Zweierkomplementdarstellung (K2-Darstellung) der Zahl (-b).
(3P)
Anzahl Stellen in Prozessor: n = 10
-b=Kp(b) =
Kp (-1011 10002) =
=
kp ( abs ( -1011 10002) ) =
=
kp (1011 10002) =
=
210 – 1011 10002 =
=
100 0000 00002 – 00 1011 10002 =
=
11 0100 10002
c) Führen Sie oben genannte Subtraktion im Dualsystem durch.
(2P)
Addition: a + K2(b)
10 0011
+
11 0100 1000
a
K2(b)
-------------------11 0110 1011
K2(c)
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
9
Matrikelnummer:
a) Welche Aussage kann man über das Vorzeichen des Ergebnisses c treffen? Überführen
Sie die Zahl c in die Vorzeichen-Betrag-Darstellung.
(3P)
Das Ergebnis aus dem Aufgabenteil b) ist negativ, da a9 =1.
c = -Kp(-c) =
= -Kp(|-c|)
= -[210 - |-c|]
= -[210 - 11011010112]
= -100101012
d) Überführen Sie die Zahl b mittels eines geeigneten Verfahrens in das Dezimalsystem. (3P)
Horner-Schema:
k=8, p=2, a7=1, a6=0, a5=1, a4=1, a3=1, a2=0, a1=0, a0=0
z7 = a7 = 1
z6 = p*z7 + a6 = 2*1 + 0 = 2
z5 = p*z6 + a5 = 2*2 + 1 = 5
z4 = p*z5 + a4 = 2*5 + 1 = 11
z3 = p*z4 + a3 = 2*11 + 1 = 23
z2 = p*z3 + a2 = 2*23 + 0 = 46
z1 = p*z2 + a1 = 2*46 + 0 = 92
z0 = p*z1 + a0 = 2*92 + 0 = 184
Ergebnis: b = 18410
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
10
Matrikelnummer:
Aufgabe 5
(8P)
a) Was ist ein Prozessorbus und aus welchen Komponenten besteht er?
(4P)
Der Prozessorbus ist eine Ansammlung von Leitungen, die den Prozessor mit Speichermodulen bzw. Peripheriebausteinen verbinden und einen Informationsaustausch zwischen
diesen Komponenten ermöglichen.
Der Prozessorbus besteht aus
dem Datenbus,
dem Adressbus und
dem Kontrollbus.
b) Welcher Zusammenhang besteht zwischen
- dem physikalischen Adressraum,
- dem virtuellen Adressraum und dem
- Hintergrundspeicher?
(2P)
Der virtuelle Adreßraum ist vollständig mit Speicherzellen ausgestattet und wird auf Bereiche des physikalischen Adreßraums abgebildet. Er ist größer als die im physikalischen
Adreßraum vorhandenen Speicherbereiche. )
Ist nicht genug Speicherplatz im physikalischen Adreßraum verfügbar, werden Speicherinhalte des virtuellen Adreßraums auf einen Hintergrundspeicher (z.B. Festplatte) ausgelagert.
c) Wie lauten die beiden Abkürzungen RAM und EEPROM ausgeschrieben?
(2P)
Random Access Memory,
Electrically Erasable Programable Read Only Memory
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
11
Matrikelnummer:
Aufgabe 6
(14P)
a) Nennen Sie 4 verschiedene Typen von Abstrakten Datentypen.
(2P)
(un-, gerichteter | un-, gewichteter) Graph, Liste, Stapel, Schlange, Baum
b) Welchen Typ eines Abstrakten Datentyps stellt folgende Abbildung dar? Spezifizieren Sie
den Typ möglichst genau.
(2P)
H
11
2
G
2
C
3
D
4
2
F
5
5
K
9
2
A
I
1
B
J
1
E
2
2
1
Ungerichteter, gewichteter Graph
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
12
Matrikelnummer:
c) Wie heißt das Verfahren zur Erstellung des Minimalen Spannbaums?
(1P)
Verfahren nach KRUSKAL
d) Zeichen Sie den Minimalen Spannbaum der abgebildeten Datenstruktur. Geben Sie auch
alle dazu nötigen Teilschritte an.
(5P)
H
2
G
2
C
3
D
2
F
K
2
A
I
1
B
J
1
E
2
2
1
e) Traversieren Sie die Datenstruktur aus b) ausgehend von Knoten (C) mittels der Tiefensuche. Geben Sie die Reihenfolge der Knoten an, die sich bei dieser Traversierung ergibt.
HINWEIS: Wählen Sie in jedem Schritt denjenigen Knoten als den Nächsten zu besuchenden aus, der in der alphabetischen Reihenfolge der Vordere ist!
(4P)
CDHGKAEBFIJ
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
13
Matrikelnummer:
Aufgabe 7:
(14P)
a) Ordnen Protokoll, -anwendung oder Netzwerkkomponente den Schichten des OSIModells zu. Es reicht die Angabe der Schichtennummern aus.
(5P)
BEGRIFF
ISO-SCHICHTEN
Ethernet
1, 2
10base-T
1
ISDN:
2, 3, 4
Gateway
7
FTP (File Transfer Protocol):
5, 6, 7
b) Welche Topologie besitzt das unten abgebildete Rechnernetz?
(2P)
G
C
D
F
H
A
B
E
Baumtopologie
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
14
Matrikelnummer:
c) Nennen Sie 2 Vorteile und 2 Nachteile der von Ihnen in b) genannten Topologieart. (2P)
Vorteile: relativ leicht implementierbar, Entlastung der peripheren Rechner,
Nachteile: bei Defekt am Hauptverteiler Zerfall in Teilnetze hohe Belastung des Hauptverteilers
d) Von Knoten (D) nach Knoten (H) wird nun eine direkte Kommunikationsstrecke hinzugefügt. Welche Topologie besitzt nun das gesamte Netz?
(2P)
Unbeschränkte Topologie
e) Welcher zusätzliche Aufgabe haben die Knoten bei der Weiterleitung der Datenpakete
nach dem Einfügen der zusätzlichen Strecke aus d)? Nennen Sie den Fachbegriff und erläutern Sie ihn kurz.
(3P)
Routing an jedem Rechner notwendig
Der größte Nachteil dieser Topologie liegt darin, dass jeder Rechner, der an einem solchen
Netzwerk teilnimmt, für jedes empfangene oder von ihm selbst erzeugte Paket die Entscheidung treffen muss, ob und auf welchem Wege er es weiterleitet. Solche Entscheidungen fasst man in der Netzwerktechnologie unter dem Stichwort Routing zusammen.
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Klausur zur Vorlesung „Grundlagen der Datenverarbeitung“, Sommersemester 2002
Name:
15
Matrikelnummer:
Aufgabe 8
(9P)
Das UNIX-Kommando ls –l erzeugte folgende Ausgabe:
a) Welche Bedeutung haben die einzelnen Spalten?
1. Spalte :Zugriffsrechte auf Datei: Owner, Group, Anybody
2. Spalte: Besitzer der Datei
3. Spalte: Gruppe der Datei
4. Spalte: Dateigröße (in bytes)
5. Spalte: Datum (des letzten Zugriffs) auf Datei
6. Spalte: Dateiname
(3P)
b) Der Benutzer mann gehört den Gruppen gedv, dikwimis und pst an. Welche der
oben aufgeführten Dateien können bei den bestehenden Zugriffsrechten von ihm verändert
werden?
(2P)
Sämtliche Dateien ausser Horner.java
c) Der Benutzer pfouga gehört den Gruppen dikwimis und pst an. Welche Dateien
können vom ihm ausgeführt werden?
(2P)
Nur die Datei compileAll.sh.
d) Das Java-Programm in der Datei Horner.class soll für jeden lesbar sein. Welche
Unix - Kommandozeile muss zur Änderung der Zugriffsrechte in einer Shell eingegeben
werden (Befehl inklusive Optionen und Argumenten)?
(2P)
chmod o+r Horner.class oder: chmod 644 Horner.class
Fachgebiet Datenverarbeitung in der Konstruktion
DiK
Herunterladen