B.Sc. - Klausur - Bauinformatik - 14.03.2012 1 Universität Duisburg - Essen Campus Essen Fakultät für Ingenieurwissenschaften Abteilung Bauwissenschaften Fachprüfung - Bauinformatik WS 11/12 Mittwoch, den 14.03.2012 Name :... Matr.- Nr. :... Diplomprüfungsordnung für den Studiengang Bauingenieurwesen mit den Abschlüssen Bachelor of Science und Master of Science vom 01.10.2004 Bearbeitungszeit 120 Min. (2,0 Stunden) Teile 1-3 Aufgabe Punkte erreicht Teil 1 60 Teil 2 30 Teil 3 30 Summe 120
B.Sc. - Klausur - Bauinformatik - 14.03.2012 2 Universität Duisburg - Essen Campus Essen Fachgebiet Baustatik Fachprüfung - Bauinformatik Teil 1 WS 11/12 Mittwoch, den 14.03.2012 Prof. Dr.-Ing. Jochen Menkenhagen Name :... Matr.- Nr. :... Diplomprüfungsordnung für den Studiengang Bauingenieurwesen mit den Abschlüssen Bachelor of Science und Master of Science vom 01.10.2004 Bearbeitungszeit 60 Min. (1,0 Stunden) Aufgabe 1-6 Aufgabe Punkte erreicht 1 5 2 5 3 10 4 10 5 15 6 15 Summe 60
B.Sc. - Klausur - Bauinformatik - 14.03.2012 3 Aufgabe 1 Vervollständigen Sie die nachfolgende Tabelle durch Darstellung der gegebenen Zahlen zur vorgegebenen Basis b. Anmerkung: Ziffern größer 9 werden wie üblich beginnend mit A aus dem Alphabet entnommen b=5 b=7 b=13 1012 61 AB
B.Sc. - Klausur - Bauinformatik - 14.03.2012 4 Aufgabe 2 (a) Ermitteln Sie das b-komplement der in der Tabelle gegebenen Zahlen unter Berücksichtigung der gegebenen Ziffernbreite n. Zahl b n b-komplement 4321 6 6 777 9 6 1AB 17 5 (b) Korrigieren Sie die in der nachfolgenden Tabelle gegebenen Zahlen zur Basis b. Anmerkung: Die Ziffern in Zahl beziehen sich auf das Zahlensystem zur Basis b. Zahl b Korrekte Zahlendarstellung 4321 3 1ABC 10 2BA 9 Anmerkung: Ziffern größer 9 werden wie üblich beginnend mit A aus dem Alphabet entnommen
B.Sc. - Klausur - Bauinformatik - 14.03.2012 5 Aufgabe 3 Gesucht ist die Datenstruktur eines zwei dimensionalen Tragwerks (siehe unten) bestehend aus Stäben (Elementen) und Anschlusspunkten (Knoten). Das Stabwerk besteht aus einem Material. Die Stäbe werden beschrieben durch eine Querschnittsfläche ein Flächenträgheitsmoment sowie die Nummern der Anschlusspunkte (Knoten). Ein Anschlusspunkt (Knoten) wird beschrieben durch die Koordinaten x,z und die Anschlussbedingungen tx, tz und ry, die die Verschieblichkeit t und die Verdrehbarkeit r der Knoten festlegen. Für einen verschieblichen bzw. verdrehbaren Freiheitsgrad wird der Kenner t bzw. r auf 1 gesetzt, für einen gehaltenen Freiheitsgrad werden die Freiheitsgrade t bzw. r auf 0 gesetzt. (a) Zeichnen Sie ein ER-Diagramm einer möglichen Datenstruktur des Tragwerks. (b) Übertragen Sie das ER-Diagramm der gewählten Datenstruktur in eine VBA- Datenstruktur (type). (c) Implementieren Sie eine Datenstruktur des dargestellten Rahmens für die Geometrieund Lagerbedingungen unter der Berücksichtigung, dass in VBA stets mit Null-Werten implizit initialisiert wird. Hinweis: Die zu entwickelnde Datenstruktur sollte in der Lage sein, allgemeine 2 dimensionale Stabwerke zu beschreiben.
B.Sc. - Klausur - Bauinformatik - 14.03.2012 6
B.Sc. - Klausur - Bauinformatik - 14.03.2012 7 Aufgabe 4 (a) Gottfried Wilhelm Leibniz entwickelte 1682 die folgende Reihendarstellung zur Berechnung der Kreiszahl p. n 1 =4 n i=0 für n. 2n 1 Verwenden Sie zur Implementierung der Leibniz-Formel entweder (a.1) eine forund (a.2) eine do-schleife. (b) (c) Geben Sie den Bereich der zulässigen (vorzeichenbehafteten) Werte an für eine integer-variable mit einer Breite von 4 bzw. 6 Bits. Geben Sie die extremalen Werte im Hexadezimalen Zahlensystem an. Beschreiben Sie die Unterschiede der folgenden VBA-Datentypen und erläutern Sie deren Verwendung. Ordnen Sie die Datentypen aufsteigend in ihrer Byteanzahl. double, integer, long (d) Beschreiben Sie folgende Anweisungen und bringen sie diese in eine sinnvolle Reihenfolge. set c as nothing set c = new Collection dim c as collection
B.Sc. - Klausur - Bauinformatik - 14.03.2012 8
B.Sc. - Klausur - Bauinformatik - 14.03.2012 9 Aufgabe 5 (a) Kennzeichnen und erläutern Sie die syntaktischen Fehler des nachfolgenden Programms. (b) Korrigieren Sie die semantischen Fehler des Programms. Programm: Das Programm sortiert ein Feld mit n Punktdaten nach dem Verfahren der Auswahlsortierung (Selectsort) nach aufsteigender z-koordinate. Ein Punkt wird beschrieben durch eine Datenstruktur mit den Strukturelementen x, y, z und k. Die Strukturelemente x,y und z enthalten die Punktkoordinaten als Gleitkommazahl (z.b. x = 2.0 / y = 1.0 / z= 1.5), das Strukturelement k enthält einen ganzzahligen Wert. Die Auswahlsortierung beginnt beim ersten Listenplatz und sucht das maximale Element bis zum Ende der Liste. Dieses wird mit dem ersten Listenelement vertauscht. Im nächsten Schritt wird das maximale Element aus der verbleibenden Liste ermittelt und an die Stelle 2 gesetzt. Dies wird für jede weitere Stelle der Liste fort gesetzt, bis das Listenende erreicht ist. option explicit type Punkt x as integer y as boolean z as string k as float end type function sortiere (P() as Punkt, n as integer) max As boolean imax as boolean for all i do while max = ok max = 37 imax = 38 do if max > P(i)->y then max = P(i)->z imax = boolean(i) endif loop until i=1 to 2 while imax = ok call tausche (P,i,imax) loop end sub
B.Sc. - Klausur - Bauinformatik - 14.03.2012 10 function vertausche (i as integer, j as integer, x as Punkt) x(i) = x(j) x(j) = x(i) end sub
B.Sc. - Klausur - Bauinformatik - 14.03.2012 11
B.Sc. - Klausur - Bauinformatik - 14.03.2012 12 Aufgabe 6 Gesucht ist der VBA-Code einer Funktion (function) MatVekMult zur Multiplikation einer quadratischen Matrix A mit einem Vektor v der Dimension n zum Produktvektor b. Die Funktion gibt den Skalierungsfaktor s der Vektorlänge des Vektors b in Bezug auf v zurück. Hinweis: Für das Matrix-Vektor-Produkt gilt b i = A v i = k =1 n A ik v k Die Länge eines Vektors ist mit der Funktion (function) VekLng zu berechnen. Diese Funktion ist im Programm MatVekMult zur Berechnung von s zu verwenden. Hinweis: Für die Vektorlänge gilt L= v = k=1 n v i 2, s= b v Function VekLng(v() As double, n As Integer) as double Function MatVekMult(A() As double, v() As Double, b() As Double, _ n As Integer) as double
B.Sc. - Klausur - Bauinformatik - 14.03.2012 13