HTW Dresden Fakultät Informatik/Mathematik Informatik für Chemieingenieurwesen Aufgaben zur Klausurvorbereitung Die Klausur ist für 90 min ausgelegt. Zur Klausur dürfen alle handgeschriebenen sowie gedruckten Materialien verwendet werden. Aufgabe 1: a) Was charakterisiert imperative Programmiersprachen im Vergleich zu deklarativen Sprachen? b) Nennen Sie drei Elementarstrukturen, um die Reihenfolge der Anweisungsverarbeitung zu beeinflussen! Aufgabe 2: Erstellen Sie einen PAP zur Berechnung eines Polynomwerts für ein Polynom des Grades n (n>0) mit den Koeffizienten an, an-1, …, a1,a0 und dem Wert x ! Der Wert für x, n, und die einzelnen ai müssen vorab eingegeben werden. Ein Beispiel für eine Polynom dritten Grades (n=3) ist y = 5*x3 -2x2 +11x1 -23x0 mit a3=5, a2=-2, a1=11, a0= -23 Der Polynomwert y ist auszugeben. Aufgabe 3: Geben Sie ein Visual Basic Programm zur Berechnung des Bewegungsverlaufs eines senkrecht hochgeworfenen Objekts an. Der Benutzer des Programms soll die Anfangsgeschwindigkeit Va im m/s eingeben. Die darauffolgende Berechnung soll den Bewegungsverlauf als Aufwärtsbewegung wiedergeben, die mit Va startet und dann durch die Erdbeschleunigung g=9.81 m/s2 gebremst wird. Nach dem Erreichen einer maximalen Höhe wandelt sich die Aufwärtsbewegung in eine immer schneller werdende Abwärtsbewegung um. a) Berechnen Sie die Zeit toben, an der V Null geworden ist! b) Berechnen Sie den Weg der von dem Wurfzeitpunkt ( t=0) bis toben zurückgelegt wurde. c) Berechnen Sie die Fallzeit von toben bis zum Zeitpunkt, wenn das Objekt wieder an der ursprünglichen Position angekommen ist. d) Geben Sie ausgehend von t=0 in Abständen von 2*toben/100 die Zeit und den Ort (Höhe über der Abwurfposition) des Objekts aus. Seite 1 Aufgabe 4: Das unten stehende Visual-Basic-Programm ist vorgegeben. Ermitteln Sie die Ausgabe des Programms! Berücksichtigen Sie die Übergabe der Ein- und Ausgabeparameter (ByVal, ByRef) und die eventuelle Rückgabe von Werten. Sub Rechne_1(ByVal a, ByRef b) Dim x As Integer = 1 b=0 While (x <= 3) b=b+a*x x=x+1 End While a=0 End Sub Function Rechne_2(ByVal a) Dim x As Integer = 1 Rechne_2 = 0 While (x <= 3) Rechne_2 = Rechne_2 + a * x x=x+1 End While End Function Sub Main() Dim x, y As Integer x = 42 y=1 Rechne_1(x, y) Console.WriteLine("x=" + Format(x) + " y=" + Format(y)) x=5 y = Rechne_2(x) Console.WriteLine("x=" + Format(x) + " y=" + Format(y)) y = Rechne_2(Rechne_2(x)) Console.WriteLine("x=" + Format(x) + " y=" + Format(y)) End Sub Seite 2 Aufgabe 5: Beantworten Sie die folgenden Fragen zum Einsatz von Datenbanksoftware (z.B. MS-Access) in Verbindung mit .NET-Software (z.B. einem Visual Basic Programm)! a) Auf welche Weise kann man aus einem Programm auf eine existierende Datenbank zugreifen? Welche Klassen sind daran beteiligt und wie benutzt man sie? b) Welche der unten aufgelisteten Aufgaben würden Sie durch die Datenbank erledigen lassen und welche durch programmierte Funktionen? Kennzeichnen Sie entweder „programmiert in Visual Basic“ oder „durch Datenbank“. Programmiert in VB durch Datenbank Sortieren von Einträgen aus einer Datenbanktabelle Grafische Darstellung von Messwerten Numerische Integration über Funktionen Zählen von Einträgen, gruppiert in verschiedenen Klassen Aufgabe 6: Gegeben sei die folgende Datenbank, die aus seiner Tabelle besteht. In der Tabelle werden Studierende und Bücher einer Bibliothek gespeichert. Jeder Studierende ist eindeutig durch seine Matr.-Nr. gekennzeichnet. Jedes Exemplar eines Buches ist eindeutig durch seine Exemplar-Nr. identifiziert. Zu einer ISBN können mehrere Exemplare vorhanden sein. Die Ausleihdaten beziehen sich auf das Exemplar eines Buches. M Voratr name .Nr . 1 Max 1 Max 2 Heide 2 Heide marie … … Name Studi engang Müller Physi k Physi 21 k Mathe 14 Muelle r Schul z Schul z … Ex em pla rNr 11 Mathe 15 … … Buch-ISBN Buchtitel Auslei Auslei he he Begin Ende n 3-540-74566-1 Kernphys ik Atomphy sik Taschenb uch der Mathemat ik Atomphy sik … 01-102010 05-102010 12-092010 01-112010 05-112010 12-102010 12-092010 … 12-102010 … 978351943042 1 978-3-81712007-9 978351943042 1 … Seite 3 Fortsetzung Aufgabe 6: a) Zeigen Sie Redundanz und eventuelle Inkonsistenzen in der Tabelle b) Gibt es Anomalien? Wenn ja, nennen Sie die jeweilige Art der Anomalie und beschreiben Sie die Effekte, die durch die Anomalie auftreten! c) Machen Sie einen Vorschlag, wie die Tabelle oben in mehrere Tabellen aufzuteilen ist! Aufgabe 7: Gegeben ist eine Datenbank, die aus den drei angegebenen Tabellen besteht. Verkauf Verkaufsnr Produkte ProduktID Anzahl KundeID ProduktID Name Preis Kunden KundeID Name Adresse Stellen Sie die folgenden Anfragen mittels SQL: a) Abfrage aller Produkte, die mehr als 1.00 (Euro) kosten. b) Ausgabe aller Verkäufe (Verkaufsnr. ProduktID, Anzahl), die den Kunden mit dem Namen “Peter“ betreffen. c) Ausgabe der Namen aller gekaufter Produkte und der jeweiligen gekauften Anzahl d) Welche relationenalgebraische Operation muss man benutzen wenn man alle Produkte mit ihren Verkäufen auflisten möchte, dabei aber auch nicht gekaufte Produkte einschließen möchte? Seite 4