DV SS 2009 Dipl.-Ing. Jutta Abulawi jutta.abulawi@haw-hamburg.de
Regeln für die Klausurteilnahme 1. Teilnahme an der Klausur ist nur möglich, wenn Sie online angemeldet sind oder von mir eine Anmeldebestätigung per E-Mail erhalten haben! 2. Erlaubte Hilfsmittel: Gedruckte und handgeschriebene Unterlagen aus Ihrem persönlichen Besitz (Bücher, Skripte, Übungsaufgaben, Vorlesungsmitschrift, alte Klausuren ) Taschenrechner 3. Nicht erlaubt: Handy (auch nicht als Uhr-Ersatz!) Handschriftl. Unterlagen, Notizen und Ratschläge von anderen Personen
Klausurbewertung und Aufgaben Bearbeitungszeit: 120 Minuten. Höchstpunktzahl: 120 Pkte. 100 Punkte = 1,0 ab 50 Pkte = bestanden (4,0) Bearbeitung nur auf den Klausurblättern Es gibt verschiedene Klausurgruppen mit unterschiedlichen Aufgaben gleichen Schwierigkeitsgrads Jede Gruppe erhält 7 Aufgaben zu folgenden Themen =>
Aufgabe 1 Grundlagen der Datenverarbeitung Max. 10 Pkte. 3 Fragen in Stichworten zu beantworten Was Sie hierfür wissen sollten: Aus welchen Komponenten bestehen moderne Digitalrechnersysteme? (Abb. 6 im Begleitskript Teil 1) Wie heißen konkrete Beispiele hierfür und welche besonderen Eigenschaften haben einzelne Komponenten (z.b. Speichermedien)? Worin unterscheiden sich Analog- und Digitaltechnik? Wozu dienen D/A- bzw. A/D-Wandler? Was bedeutet Diskretisierung? Was versteht man unter dem Mooreschen Gesetz? Was versteht man unter der digitalen Revolution? Welche Bedeutung hat die Datenverarbeitung im Ingenieurwesen? Wo liegt die Problematik der langfristigen Produktdatenarchivierung? Worin unterscheiden sich die Rechnerarchitekturen von Harvard und von Neumann? Was bedeutet das EVA-Prinzip?
Aufgabe 1 Grundlagen der Datenverarbeitung Max. 10 Pkte. Klausuraufgabe aus dem WS 2008/09: a) Nennen Sie für jede der nachfolgenden Kategorien eine konkrete Komponente eines heute gebräuchlichen Digitalrechnersystems: Erreichbare Punktzahl: 4
Aufgabe 1 Grundlagen der Datenverarbeitung Max. 10 Pkte. Klausuraufgabe aus dem WS 2008/09: b) Warum muss man das Mooresche Gesetz berücksichtigen, wenn man Investitionen in Hardware plant? Gemäß dem Mooreschen Gesetz verdoppelt sich die Integrationsdichte bzw. die Leistungsfähigkeit von Mikroprozessoren in weniger als 2 Jahren. Hardware veraltet also lange, bevor sie "abgenutzt" wird. Sie muss daher möglichst schnell abgeschrieben werden. Erreichbare Punktzahl: 4
Aufgabe 1 Grundlagen der Datenverarbeitung Max. 10 Pkte. Klausuraufgabe aus dem WS 2008/09: c) Nennen Sie für jede der folgenden Eigenschaften ein Eingabegerät, auf das die Eigenschaft zutrifft Erreichbare Punktzahl: 2
Aufgabe 1 Grundlagen der Datenverarbeitung Max. 10 Pkte. Klausuraufgabe aus dem SS 2008: b) Kann man auf einem USB-Memorystick, der noch 450 Bytes freien Speicherplatz hat, zehn Textdateien mit einer Größe von jeweils 44 Byte speichern (ohne spezielles Packprogramm)? NEIN c) Nennen Sie für jede der folgenden Eigenschaften ein Speichermedium, auf das die Eigenschaft zutrifft. 2 Pkte. USB-Stick CD, DVD CD, DVD 3 Pkte.
Aufgabe 2 Repräsentation von Daten in Digitalrechnern max. 12 Pkte. 3 Fragen in Stichworten bzw. mit Angabe des Rechenwegs zu beantworten Was Sie hierfür wissen sollten: Welche Datenkategorien gibt es? Welche Datentypen gibt es für die Zahlendarstellung? Wie rechnet man ganze Zahlen aus verschiedenen Zahlensystemen um? (Dezimal-/Hexadezimal und Dualsystem) Sie dürfen sich hierbei auf Tabelle 1 im Begleitskript beziehen Wie kann man nichtnumerische Daten im Digitalrechner speichern? Zeichen des ASCII- und ANSI-Codes (Tabellen 3 & 4 im Begleitskript) Grundbegriffe des Dateisystems: Vollständiger Dateiname = Speicherpfad und Dateiname Dateiname = individueller Name und Dateinamenserweiterung Die Dateinamenserweiterungen wichtiger Dateitypen (.exe.bat.txt.xls.doc.html.gif.jpg.bmp ) Warum unterscheidet Windows zwischen der Dateigröße und der Größe der Datei auf dem Datenträger?
Aufgabe 2 Repräsentation von Daten in Digitalrechnern max. 12 Pkte. Klausuraufgaben aus dem WS 2008/09:
Aufgabe 2 Repräsentation von Daten in Digitalrechnern max. 12 Pkte. Klausuraufgaben aus dem SS 2008:
Aufgabe 2 Repräsentation von Daten in Digitalrechnern max. 12 Pkte. Klausuraufgabe aus dem SS 2008: Zerlegung des 8-Bit-Wortes in zwei 4-Bit-Worte und Ermittlung der entsprechenden Hexadezimal- und Dezimalzahl aus Tabelle 1 im Skript Seite 23: 1011 = B [16] = 11 [10] UND 0011 = 3 [16] = 3 [10] 10110011 B3 [16] = [11*16 1 + 3*16 0 ] [10] = [176 + 3] [10] = 179 [10] 4 Pkte.
Aufgabe 3 Grundlagen der Programmiersprachen max. 18 Pkte. 3 Fragen in Stichworten zu beantworten Was Sie hierfür wissen sollten: Worin unterscheiden sich: Ein Compiler und ein Interpreter? Quellcode und Maschinencode? Maschinensprachen und höhere Programmiersprachen? einfache Variablen und Datenfelder? Objektvariablen und Auflistungen/Sammelobjekte? Die wichtigsten Besonderheiten der in der Vorlesung erwähnten Programmiersprachen: FORTRAN, C++, Java, Visual Basic Was versteht man unter objektorientierter Programmierung? Was bedeutet prozedurale Programmierung? Was bedeutet Debugging? Arten von Programmierfehlern. Wann treten sie auf? Wie erkennt man sie? Was ist ein Algorithmus? Was ist Spaghetticode?
Aufgabe 3 Grundlagen der Programmiersprachen max. 18 Pkte. Klausuraufgaben aus dem WS 2008/09:
Aufgabe 3 Grundlagen der Programmiersprachen max. 18 Pkte. Klausuraufgaben aus dem WS 2008/09:
Aufgabe 3 Grundlagen der Programmiersprachen max. 18 Pkte. Klausuraufgaben aus dem WS 2008/09:
Aufgabe 3 Grundlagen der Programmiersprachen max. 18 Pkte. Klausuraufgaben aus dem SS 2008:
Aufgabe 4 Programmabläufe verstehen & visualisieren max. 20 Pkte. Gegeben: Der Quellcode einer Sub-/Function-Prozedur aus einem Excel-VBA-Projekt Aufgabe: Den Quellcode verstehen und in ein Pseudocodestruktogramm umsetzen Was Sie hierfür kennen/wissen sollten: Datentypen in VB und Variablendeklaration Wertzuweisungen, arithmetische und Vergleichsoperatoren Funktionen für Zeichenfolgen Typumwandlungsfunktionen Kontrollstrukturen in VB und ihre symbolische Umsetzung im Struktogramm Zugriff auf Excel-Objekte (Mappen, Arbeitsblätter, Zellen und ihre Inhalte)
Aufgabe 4 Programmabläufe verstehen & visualisieren max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09: größten 1.
Aufgabe 4 Programmabläufe verstehen & visualisieren max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09:
Aufgabe 4 Programmabläufe verstehen & visualisieren max. 20 Pkte. Klausuraufgabe aus dem SS 2008:
Aufgabe 4 Programmabläufe verstehen & visualisieren max. 20 Pkte. Ein mögliches Pseudocode-Struktogramm, das volle Pkt.-zahl ergab:
Aufgabe 5 Algorithmen und ihre Umsetzung in VBA max. 10 Pkte. Gegeben: eine mathematische Formel, für die eine Function-Prozedur in Visual Basic Quellcode aufzuschreiben ist Was Sie hierfür zusätzlich kennen/wissen sollten: Arithmetische Operatoren und mathematische Funktionen: + - / * ^ sqr() Übergabe von Argumenten an Function-Prozeduren Besondere Bedeutung des Namens einer Function-Prozedur
Aufgabe 5 Algorithmen und ihre Umsetzung in VBA max. 10 Pkte. Klausuraufgabe aus dem WS 2008/09: Option Explicit Function Endwert(m As Double, n As Integer) As Double Function Dim Index Endwert( ) As Integer As For Index = 1 to n Endwert = Endwert + 2*m^Index/(Index^n) Next Endwert = Endwert *4/3 End Function
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Gegeben: drei Teilaufgaben zum Verständnis einfacher VB-Prozeduren Was Sie hierfür zusätzlich kennen/wissen sollten: Initialwerte von Variablen Implizite Typumwandlungen (insbesondere in den Typ Integer) Operatoren sowie einfache Zeichenfolgen-Funktionen (InStr, Len, Right, Left, Mid, IsNumeric) Interpretation von Laufzeitfehlermeldungen und Fehlerursachen im Quellcode finden Die Bedeutung der Schrittweite in zählergesteuerten Schleifen Den Wert des Schleifenindex nach dem letzten Durchlauf einer zählergesteuerten Schleife Deklaration und Redimensionierung von Datenfeldern Funktionsweise und Rückgabewerte der Inputbox- und der MsgBox- Funktionen Die Chr-Funktion
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09: a) Im Excelfenster ist die in Bild 1 gezeigte Arbeitsmappe "Punktkoordinaten.xls" aktiv. Beim Ausführen der im Modul1 dieser Mappe enthaltenen Sub- Prozedur "Eingabe" erscheint die in Bild 1 gezeigte Fehlermeldung.
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09: Forts. von Aufgabe a)
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09: b) Die nachfolgend abgedruckte Prozedur wurde bis zum Haltepunkt ausgeführt. Welchen Wert haben die Variablen beim Erreichen des Haltepunkts? Antwort = Falsch Ergebnis = 4 Index = 6 text = ".xls" Summe = 18 Zahl_1 = 12,5 Erreichbare Punktzahl: 9 Pkte.
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem WS 2008/09: c) Skizzieren Sie das Mitteilungsfenster, das erscheint, wenn folgende Prozedur ausgeführt wird: Sub msgbox_test() MsgBox "Dies ist ein " & Chr(34) & "leichter" _ & Chr(34) & " Test", vbinformation, "Übungsfenster" End Sub Erreichbare Punktzahl: 5 Pkte.
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem SS 2008:
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Weitere Aufgabenbeispiele: b) Skizzieren Sie das Mitteilungsfenster, das durch die folgende Anweisung erzeugt wird: Antwort = MsgBox("Es trat ein Fehler " & _ "auf." & Chr(13) & "Neueingabe erwünscht?", _ 20, "Fehlermeldung") c) Was bewirkt die Anweisung: Msgbox Chr(181)
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem SS 2008: Die Variable Eingabefehler hat den Initialwert False zu Beginn der Pre-Checkschleife. Die Abbruchbedingung der Pre-Check-Schleife ist dadurch erfüllt, so dass die Anweisungen in der Schleife nicht ausgeführt werden. Bei Ausführung der MsgBox-Anweisung hat die Variable Eingabe immer noch ihren Initialwert (leere Zeichenkette).
Aufgabe 6 Programmiergrundlagen in VBA max. 20 Pkte. Klausuraufgabe aus dem SS 2008: c) Welchen Wert haben die Variablen beim Erreichen des Haltepunkts? Zahl_1 = 25,5 Ergebnis = 9 Index = 2 Summe = 18 Antwort = Wahr
Aufgabe 7 Programmieraufgabe (in Excel-VBA) max. 30 Pkte. Klausuraufgabe aus dem WS 2008/09 Entwerfen Sie eine Sub-Prozedur, die: 1. in Excel eine neue Arbeitsmappe erzeugt 2. in das aktive Arbeitsblatt dieser Arbeitsmappe die unten abgebildeten Texte/Werte einträgt. 3. die Arbeitsmappe als Datei "Punktkoordinaten.xls" im Verzeichnis "H:\catia5" speichert. Achtung: Es sind keine Anweisungen für Zellformatierungen nötig. Es sind keine Benutzerdialoge erforderlich. Beachten Sie die Option Explicit im Modulkopf! Ihr Quellcode sollte 19 bis max. 25 Zeilen umfassen.
Aufgabe 7 Programmieraufgabe (in Excel-VBA) max. 30 Pkte. Klausuraufgabe aus dem WS 2008/09 gegebene Abbildung
Aufgabe 7 Klausuraufgabe aus dem WS 2008/09 Lösungsblatt:
Option Explicit Sub Startmappe_erzeugen() '--- Variablendeklaration und -initialisierung Dim Mappe As Workbook Dim Index As Integer Dim X As Integer X = -50 '--- Eine neue Arbeitsmappe erzeugen Set Mappe = Workbooks.Add '--- Werte im aktiven Arbeitsblatt der neuen Mappe eintragen Range("A1").Value = "x" Range("B1").Value = "y" Range("C1").Value = "z" For Index = 1 To 11 Cells(Index + 1, 1).Value = X Cells(Index + 1, 2).Value = X ^ 2 / 10 If X < 0 Then Cells(Index + 1, 3).Value = 0 Else Cells(Index + 1, 3).Value = 10 End If X = X + 10 Next '--- Neue Arbeitsmappe speichern ActiveWorkbook.SaveAs "H:\catia5\Punktkoordinaten.xls" End Sub Aufgabe 7 Musterlösung aus dem WS 2008/09 max. 30 Pkte. Musterlösung für Klausur A, Aufgabe 7 aus dem WS 2008/09