Prof. Dr. R. Gabriel Sommersemester 2005 Wirtschaftsinformatik 19. August 2005 Ruhr-Universität Bochum Klausur zur Wirtschaftsinformatik II im Grundstudium - Die Bearbeitungszeit der Klausur beträgt 90 Minuten. - Hilfsmittel sind nicht zugelassen. Aufgabe 1: Gegeben sind folgende zehn Aussagen, die entweder wahr oder falsch sind. Geben Sie jeweils den Buchstaben der Aussage an und ob diese wahr oder falsch ist. (Hinweis: Nicht auf dem Aufgabenblatt lösen!) a) Eine zur Lösung einer Aufgabe vollständige Anweisung zusammen mit allen erforderlichen Vereinbarungen heißt Programm. b) Anweisungen in einer Programmiersprache der 3. Generation beschreiben nicht WIE ein Problem gelöst werden soll, sondern WAS geschehen soll. c) Ein Struktogramm dient der grafischen Darstellung von Algorithmen und ist programmiersprachenunabhängig. d) Jeder strukturierte Datentyp ist auch ein dynamischer Datentyp. e) In einer Variablen vom Datentyp RECORD müssen alle Komponenten vom gleichen Datentyp sein. f) Im Rahmen einer Wertzuweisung wird ein Ausdruck ausgewertet und das Ergebnis wird einer Variablen zugewiesen. g) Bei einer fußgesteuerten Schleife wird die Abbruchbedingung vor der Ausführung der Anweisung geprüft. h) Der Zugriff auf einzelne Komponenten des Datentyps ARRAY erfolgt über einen Index. i) Die IF-Anweisung ist eine kopfgesteuerte Schleife. j) Die TYPE-Anweisung ermöglicht die Definition benutzerspezifischer Variablen.
-2- Aufgabe 2: (15 Punkte) Erläutern Sie kurz und prägnant drei der nachfolgenden vier Begriffe: a) Syntaxdiagramm b) Aufzählungstyp c) Struktogrammtechnik d) statischer Datentyp Aufgabe 3: Ordnen Sie den folgenden Wertzuweisungen jeweils einen geeigneten der unten stehenden Datentypen zu (Mehrfachnennungen sind möglich). Nummer Wertzuweisung 1 5 DIV 3 2 NOT(x) 3 7 MOD 3 4 # 5 8.90E+011 6 a / b 7-33543,1 8 false 9 31001 10 '5' Datentypen - kein - CHAR - INTEGER - REAL
-3- - BOOLEAN - REAL und INTEGER - CHAR und INTEGER - CHAR und REAL Aufgabe 4: (15 Punkte) Bestimmen Sie den Wert der Variablen a, b, c, d, e im Anschluss an die folgenden Zuweisungen: a) a := sqr (sqrt (9 DIV 2)); b) b := round (10 DIV 3 / 2); c) c := x OR NOT(x) > x AND NOT(x); d) d := NOT odd(sqr(2)); e) e := succ(pred(2));
-4- Aufgabe 5: Setzen Sie folgendes Struktogramm in den Verarbeitungsteil eines PASCAL-Programms um. Die verwendeten Anweisungen (Ai), Bedingungen (Bj) und Selektoren (Sk) stehen als Platzhalter und müssen nicht weiter ausformuliert werden. A1 ja B1 nein ja B2 nein A4 A2 A5 A3 B3 S1 Fall 1 Fall 2 sonst A6 A7 A8 B4 A9
Aufgabe 6: Gegeben ist das folgende PASCAL-Programm: program klausuraufgabe; uses wincrt; var monat : integer; jahresumsatz : real; umsatz : array[1..12] of real; begin for monat := 1 to 12 do readln (umsatz[monat]); jahresumsatz := 0; for monat := 12 downto 1 do jahresumsatz := jahresumsatz + umsatz[monat]; writeln (jahresumsatz:10:2); end. Transformieren Sie das Programm klausuraufgabe in ein PASCAL-Programm unter ausschließlicher Verwendung einer fußgesteuerten Schleife. a) Fertigen Sie dabei zunächst ein Struktogramm zur Problemanalyse an. (5 Punkte) b) Setzen Sie das entwickelte Struktogramm schließlich in ein PASCAL-Programm um. (5 Punkte)
-2- Aufgabe 7: (30 Punkte) In einem Möbelversandhaus werden die Produkte Troll (Kommode), Malm (kleiner Schrank) und Rakke (großer Schrank) verkauft und ausgeliefert. Für eine Anlieferung bei einer Entfernung von weniger als 15 Kilometern wird eine Lieferpauschale von 15 berechnet. Im anderen Fall beträgt die Lieferpauschale 25. Bei einem Warenwert von mindestens 210 wird ein Rabatt von 5 auf die Lieferpauschale gewährt. Der Verkaufspreis für das Produkt Troll beträgt 100. Das Produkt Malm bzw. Rakke wird für 150 bzw. 200 angeboten. Für die beiden Schränke sind Einlegeböden als Zubehör erhältlich. Ein Einlegeboden für Malm kostet 10 ; ein Einlegeboden für Rakke kostet 20. Beim Kauf von Einlegeböden für Malm gibt es einen Rabatt für 5 Einlegeböden in Höhe von 20 %. Beim Kauf von Einlegeböden für Rakke kostet ab dem 3. Einlegeboden jeder weitere Einlegeboden nur noch die Hälfte des ursprünglichen Verkaufspreises. Entwickeln Sie ein PASCAL-Programm, das den Rechnungsbetrag für eine Bestellung ermittelt und ausgibt. Hinweis: Gehen Sie vereinfachend davon aus, dass - die Entfernung als ganzzahliger, zulässiger Wert angegeben wird, - im Rahmen einer Bestellung lediglich von einem Produkt eine Mengeneinheit gekauft wird, - nur eine zulässige Anzahl von Einlegeböden bestellt wird. a) Beschreiben Sie dabei zunächst die Aufgabe im Rahmen der Problemaufbereitung. (10 Punkte) b) Fertigen Sie ein Struktogramm zur Problemanalyse an. c) Setzen Sie das entwickelte Struktogramm schließlich in ein PASCAL-Programm um. (10 Punkte)