1 Universität Duisburg - Essen Campus Essen Fachgebiet Statik & Dynamik der Flächentragwerke Fachprüfung - Bauinformatik 1, Teil 1 WS 18 Mittwoch, den 14.02.2018 Prof. Dr.-Ing. Carolin Birk Name :... Matr.- Nr. :... Diplomprüfungsordnung für den Studiengang Bauingenieurwesen mit den Abschlüssen Bachelor of Science und Master of Science 2016 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
2 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=4 b=6 b=14 2230 225 2A
3 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 4528 9 8 685A 12 6 ABC 17 7 (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 4991 4 AB1 9 AG 11 Anmerkung: Ziffern größer 9 werden wie üblich beginnend mit A aus dem Alphabet entnommen
4 Aufgabe 3 Gesucht ist die Datenstruktur des dargestellten Tragwerks bestehend aus zwei Scheiben und einem Stab. Die Datenstruktur besteht aus einem Feld für Scheiben, einem Feld für Stäbe, einem Feld für Knoten und einem Feld für die Belastungen. Die Nummer der zu speichernden Objekte (Scheibe, Stab, Knoten, Belastung) ist mit dem Feldindex (Arrayindex) identisch. Eine Scheibe (hier Element 1 und 3) wird beschrieben durch die Nummer der anschließenden Knoten k1, k2, k3 sowie durch die Scheibendicke t und den Elastizitätsmodul E. Ein Stab (hier Elemente 2) wird beschrieben durch die Nummer der anschließenden Knoten k1 und k2 sowie durch die Querschnittsfäche A und den Elastizitätsmodul E. Ein Knoten (hier Knoten 1 bis 5) wird beschrieben durch dessen Koordinatenwerte x und z. Zudem ist die Lagerung durch die Kenner der Verschiebungen tx, tz fest zu legen. Die Kenner sind für einen gehaltenen Freiheitsgrad auf 1 und für einen verschieblichen Freiheitsgrad auf 0 zu setzen. Eine Belastung wird beschrieben durch ihren Belastungswert L und die Nummer des Knotens k, der die Belastung erhält. Die Lastrichtung wird durch den Winkel w gegen die positive x-achse fest gelegt.
5 (a) Zeichnen Sie ein ER-Diagramm für die Datenstruktur des dargestellten Tragwerks. (b) Übertragen Sie das ER-Diagramm aus (a) in eine VBA-Datenstruktur. (c) Implementieren Sie eine Datenstruktur für das dargestellte Tragwerk unter Berücksichtigung der gegebenen Werte. Beachten Sie auch, dass Null-Werte aufgrund der Null-Initialisierung nicht explizit gesetzt werden müssen. Es sind die genannten Bezeichner zu verwenden. Für die Querschnittswerte und den Elastizitätsmodul sind die folgenden Werte zu setzen: A = 7,57 cm², t 1 = 2,5 cm, t 2 = 2,0 cm und E = 21000 kn/cm²
6
7
8 Aufgabe 4 (a) Beschreiben Sie die Komponenten eines UML Klassen-Diagramms anhand eines sinnvollen Beispiels. (b) Schreiben Sie ein Programme zur Berechnung der Euler-Mascheroni-Konstanten n 1 zur Zahl n γ n = k=1 k ln(n), mit ln(n), dem nat. Logarithmus der Zahl n. Das Programm ist unter Verwendung einer do-schleife zu implementieren (c) (d) (e) Welchen Wertebereich umfasst eine 9-Bit Integer Variable für - vorzeichenlose (d.h. positive) ganze Zahlen und - vorzeichenbehaftete (d.h. positive und negative) ganze Zahlen. Die Wertebereiche können wahlweise dezimal oder hexadezimal angegeben werden. Wie viele Dezimalstellen hat die Zahl (pi)? Wie viel Bytes benötigt man, um die Zahl in einem Rechner exakt zu speichern. Gesucht ist der Programmcode, der die Werte zweier Variablen a und b vom Type double auf Gleichheit prüft.
9
10 Aufgabe 5 (a) Kennzeichnen und erläutern Sie die syntaktischen Fehler des nachfolgenden Programms zur Berechnung eines Massenschwerpunktes von n Massen. Koordinatenwerte und Massen werden als Fließkommazahlen gespeichert. (b) Korrigieren Sie die semantischen Fehler des Programms unter prinzipieller Beibehaltung beider Programmteile. Das Programm erhält über die Parameterliste ein Feld x(1 to n, 1 to 3) der n x 3-dimensionalen Ortsvektoren der n Massenpunkte und ein Feld i =1 i M i x s = M(1 to n) mit deren Massenwerten. Der Schwerpunkt x s der n i=1 M i Massenpunkte wird nach der gegebenen Formel berechnet. Nach erfolgter Berechnung wird der Ortsvektor des Schwerpunkts x s und die Gesamtmasse M g per Parameterliste zurückgegeben. Hinweis: Mit option explicit sind alle Variablen explizit zu deklarieren. option explicit sub Schwerpunkt(x() as double, M() as double, xs() as double, _ Mg as double, n as Integer) for all i in x Mges = call Gesamtmasse(MG,m) end for xs = max(37 and 7) do i=1 to n xs = xs + M(j)/Mg end do the end // Berechnung der Gesamtmasse sub Gesamtmasse(M,mg) as boolean Mg = 0 for i=1 to n Mg = M(i) end for Gesamtmasse = Pi*(Mges/2)^3 the end the total end
11
12
13 Aufgabe 6 Gesucht ist der VBA-Code einer Funktion (function) MatMultMean zur Multiplikation zweier quadratischer Matrizen A und B der Dimension n zur Produktmatrix C. Zusätzlich zur Multiplikation der Matrizen ist das geometrische Mittel der Hauptdiagonalwerte C i,i zu berechnen und zurück zu geben. Hinweis: Für die Produktmatrix gilt n (C ) ij =( A B) ij = A ik B kj k=1 Das geometrische Mittel m aus a und b wird wie folgt berechnet: m= a 2 +b 2 Die Funktion MatMultMean ist mit folgender Parameterliste zu implementieren. Function MatMultAndCount( A() As double, B() As Double, _ C() As Double, n As Integer) as double
14
15