Lösungen zur Prüfungsklausur (Muster)
Transcription
Lösungen zur Prüfungsklausur (Muster)
Fakultät Informatik/Mathematik LV „Grundlagen der Wirtschaftsinformatik“ Prof. Dr.-Ing. habil. H. Fritzsche Dresden, den xx.xx.xxxx Lösungen zur Prüfungsklausur (Muster) Erreichbare Punkte: 60 Hilfsmittel: keine _________________________________ Name, Vorname, Matr.-Nr. 1. Grundbegriffe: (a) Begriffe Daten: Rohmaterial, sind ohne Bedeutung, erst durch Interpretation werden Daten zu Informationen (eine Messreihe erlangt erst eine Bedeutung, wenn man weiß, dass es sich um gemessene Temperaturwerte an einem bestimmten Ort in einem bestimmten Zeitabstand handelt). Information: Daten mit Bezug zu einem Zweck. Aus unterschiedlichen Informationen kann man Schlussfolgerungen ziehen (die Informationen verknüpfen) und Wissen schaffen. (b) Übertragungsleistungen: bit/s, Kbit/s, Mbit/s, Gbit/s. (c) Kontextfreie Sprachen sind zu nichtdeterministischen Kellerautomaten äquivalent. (d) fehlererkennender Code: Wenn durch Verfälschungen einzelner Bits bei der Übertragung von codierten Nachrichten Pseudoworte, aber keine Nutzworte entstehen, können Verfälschungen automatisch erkannt werden. fehlerkorrigierender Code: Eine spezielle Art fehlererkennender Codes. Wenn die HammingDistanz genügend groß ist, kann zusätzlich zur Tatsache, dass eine Verfälschung vorliegt auch noch festgestellt werden, an welcher Position in übertragenen Wörtern Fehler aufgetreten sind. (e) Stamm-, Bestands- und Bewegungsdaten : Daten Stammdaten Preis Wareneingang Kontonummer x Adresse x Materialentnahme Kontostand Abbuchung Geburtsdatum x Bestandsdaten x x Bewegungsdaten x x x (f) Ein Identifikationsschlüssel dient dazu, einzelne Datensätze eines Datenbestands eineindeutig zu identifizieren. Der Wertebereich ist statisch (im Gegensatz zu dynamisch, wo die möglichen Werte des Wertebereichs durch die momentan in einem anderen Datenbestand (Datenbank-Tabelle) vorkommenden Werte bestimmt sind). (g) Eine Relationen R ist eine Teilmenge des Kreuzprodukts von ein, zwei oder mehreren Mengen. Die Eigenschaft antisymmetrisch bedeutet, dass wenn x R y gilt nicht gleichzeitig y R x gelten kann. Die Eigenschaft transitiv bedeutet, dass wenn x R y und y R z gelten auch x R z gilt. 2. Turing-Maschine (5-Tupel): siehe Skript zur Vorlesung. Eine Turing-Maschine ist eine universelle Rechenmaschine. Sie kann eine Beschreibung einer Rechenmaschine und eine für diese Rechenmaschine gestellte Aufgabe zusammen verarbeiten und die Aufgabe lösen. Die Turing-Maschine kann damit jede andere Rechenmaschine imitieren. Ein Endlicher Automat hat keinen Speicher zum Lesen und Schreiben. Ein Kellerautomat hat einen Speicher zum Lesen und Schreiben, wobei Restriktionen für die Reihenfolge des Lesens und Schreibens gelten. Die Turing-Maschine kann an beliebige Stellen des Speichers lesend/schreibend zugreifen (es gibt Operationen, um das Band zu bewegen). 3. Gegeben sei folgende Grammatik G = (N, T, P, S ) mit N ={S, A, B }, T ={a, b}, P ={S →aB, A→Ab, A→a, B →Ab} (a) die Grammatik ist vom Chomsky-Typ 2, d.h. kontextfrei. Eigenschaften: Es gibt keine ε-Regel. Es gibt eine rechtslineare und zwei linkslineare Regeln (also ist die Grammatik nicht regulär). Für alle Regeln gilt, dass auf der linken Seite ausschließlich ein Nichtterminalsymbol steht. (b) Ableitung des Wortes aabbb : S → aB → aAb → aAbb → aAbbb → aabbb (c) die Grammatik ist eindeutig. 4. Gegeben sei folgendes Programm zur Arbeit mit einer Hashtabelle a: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 int fuelle(struct satz *a){ printf(" Erprobung Hash-Verfahren\n"); int el; int x; printf("::: Eingabe von Schlüsselwerten (0 - Abbruch) :::\n"); printf("Schlüsselwert:"); scanf( "%d",&x); while((x != 0) && (x < 100)){ el=hash(x); if (a[el].key==0){ a[el].key=x; } else { if((a[el].key)==x) printf("Matrikelnr. schon vorhanden\n"); else { psatz z = malloc(sizeof(psatz *)); z->key=x; insertelem(a[el].succ, z); } } printf("Matr.-Nr.:"); scanf( "%d",&x); printf("Matr.-Nr.: %d\n",x); } } (a) Steuerflussgraphen G : (b) zyklomatische Zahl v(G) = e − k + 2 · p = 25 − 23 + 2 = 4 (c) x = 1: hash(1) = 1 modulo 17 = 1. x = 18: hash(18) = 18 modulo 17 = 1. Im Falle von Kollissionen werden die Datensätze offenbar in einer Überlauf-Liste gespeichert: Es wird Platz für einen Datensatz angefordert. Anschließend wird eine Funktion insertelem aufgerufen. (d) Komplexität zum Einfügen eines Elementes: prinzipiell O(1), wenn die Kollissionen außer Acht gelassen werden. Sonst erhöht sich die Komplexität geringfügig (bis maximal n/2, wenn es ausschließlich Kollissionen gibt). 5. Gegeben sei ein Alphabet A = α, β, γ, δ, ε. Die Wahrscheinlichkeiten des Auftretens der Zeichen sind h(α) = 0, 50, h(β) = 0, 25, h(γ) = 0, 12, h(δ) = 0, 10, h(ε) = 0, 03. (a) Erzeugen einer optimalen Binärcodierung: xi h(xi ) Code l(xi ) α 0,50 1 1 β 0,25 01 2 γ 0,12 001 3 δ 0,10 0001 4 ε 0,03 0000 4 (b) Mittlere Wortlänge L des Codes: L = 1 · 0, 5 + 2 · 0, 25 + 3 · 0, 12 + 4 · 0, 1 + 4 · 0, 03 = 0, 5 + 0, 5 + 0, 36 + 0, 4 + 0, 12 = 1, 88 6. In der Zeile 2 und Spalte 9 (Prüfbitspalte) muss eine 1 stehen. 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 7. Weisen Sie nach, ob die ISBN-Nummern folgender Bücher korrekt eingegeben wurden: (a) 3-540-19362-6 3·10+5·9+4·8+0·7+1·6+9·5+3·4+6·3+2·2 = 30+45+32+6+45+12+18+4 = 192 . 192 modulo 11 = 5. 11 − 5 = 6. Der errechnete Wert 6 stimmt mit der Prüfziffer überein, die Nummer ist richtig. (b) 3-528-46590-5 3 · 10 + 5 · 9 + 2 · 8 + 8 · 7 + 4 · 6 + 6 · 5 + 5 · 4 + 9 · 3 + 0 · 2 = 30 + 45 + 16 + 56 + 24 + 30 + 20 + 27 + 0 = 248 . 248 modulo 11 = 6. 11 − 6 = 5. Der errechnete Wert 5 stimmt mit der Prüfziffer überein, die Nummer ist richtig. 8. Artikeldatensätze in der Reihenfolge ihres Anfalls. (a) Indextabelle mit der Art.-Nr. als Ordnungsbegriff, die folgende Spalten enthält: 1. Tabellenposition, 2. Art.-Nr., 3. Tabellenposition des logisch vorhergehenden Datensatzes, 4. Tabellenposition des logisch folgenden Datensatzes, 5. Speicheradresse Position Art.-Nr. Log. Vorg. Log. Nachf. Speicheradresse 1 10101 2 0.2 2 12003 1 3 1.3 3 13005 2 4 2.3 4 20107 3 5 0.1 5 40115 4 6 2.1 6 41016 5 7 2.0 7 43018 6 1.0 (b) Geordneter Binärbaum: (c) Handelt es sich bei dem unter (b) erstellten Baum um einen ausgewogenen Baum? Der Baum ist nicht ausgewogen. Die Bedingung ist, dass sich die Höhe des linken und des rechten Teilbaumes um höchstens 1 unterscheidet. Das ist im Beispiel nicht der Fall.