Klausur SS 2014 EDV Anwendungen im Bauwesen. Name: Vorname: Matr.-Nr:

Ähnliche Dokumente
Klausur SS 2013 EDV Anwendungen im Bauwesen. Name: Vorname: Matr.-Nr:

Klausur SS 2011 EDV Anwendungen im Bauwesen 2. Name: Vorname: Matr.-Nr:

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Variablen und Konstanten

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Modul 122 VBA Scribt.docx

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Access 2010 Programmierung Import und Export nach Excel

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Excel Funktionen durch eigene Funktionen erweitern.

Universität Duisburg - Essen

Makro + VBA 2007 effektiv

EXCEL VBA Cheat Sheet

Zusammenfassung Was haben wir bisher gelernt?

Sub Rechnungsnummer() Range("A1") = Range("A1") + 1 End Sub

Einführung in VisualBasic for Applications. Stefan Mahlitz

VisualBasic - Variablen

Sin-Funktion vgl. Cos-Funktion

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

Geschrieben von: Marcus Rose Mittwoch, 28. Mai 2008 um 17:14 Uhr - Aktualisiert Montag, 09. März 2009 um 06:33 Uhr

Informationsverarbeitung im Bauwesen

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Richtig Einsteigen: Excel 2007 mit VBA programmieren lernen Weber

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

Integration des VBA-Codes in Excel-Tabellen, Zugriff auf Datenbanken. Bernd Blümel

12. ArcView-Anwendertreffen Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

Microsoft Excel VBA - Einführung

Einführung in die Programmierung mit VBA

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Filter in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Alternative Tabellenschutzfunktionen

Microsoft Visio 2007-Programmierung

MAXIMUM2.STR Struktogramme. Aufgabe: 3 Zahlen eingeben, größte Zahl ermitteln und ausgeben.

Excel VBA Fehler im Programm

Informationsverarbeitung im Bauwesen

P r o g r a m m a b l a u f s t e u e r u n g

Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen

4 Schleifen -= Entstanden unter Excel 2003 =-

Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach

Michaela Weiss 30. März Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe

E-PRIME TUTORIUM Die Programmiersprache BASIC

Eine Variable des Datentyps Variant kann alles sein, aber welcher Datentyp steckt in der Variant-Variablen nun eigentlich drin?

VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar

EURO-Umrechnung in Excel 2010

Datenverarbeitung Klausurloesung Gruppe B

Tabellenkalkulation / Funktionen. VBA Visual Basic for Applications VBA auf einfache Art und Weise nutzen Der Makro-Recorder von EXCEL

Hinweis. PKAntonitsch, 20. April 2002 (für kritische Rückmeldungen:

Enthält die Variable einen Zahlenwert - IsNumeric() gibt Auskunft Kontext

Serienmails mit Excel verschicken

Neben dem Symbol Entwurfsmodus ist das Symbol Befehlschaltfläche zu sehen.

Verteilte Datenbanken

DV-Organisation und Anwendungsentwicklung. 4. Klausur

Access-Benutzeroberfläche

EXCEL VBA Beispiel Überweisungen

Tutorium für Fortgeschrittene

Mit ParamArrays unter VBA kann man Prozeduren und Funktionen mit einer flexiblen Anzahl von Parametern bestücken Kontext

DV-Organisation und Anwendungsentwicklung. 4. Klausur

Interoperabilität mit Office-Anwendungen (1)

Fehler finden und beheben

BERND HELD. Das Access-VBA Codebook

Workshop 2: VBA-Programmierung mit MS Excel

Eine eigene Zugangsverwaltung für Excel

Mit Schleifen und Zusammenfassungen arbeiten

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Hier den Kundennamen auswählen:

Office Objektmodell (1)

Richtig einsteigen: Access 2010 VBA-Programmierung

MELANIE BREDEN MICHAEL SCHWIMMER. Das Excel-VBA Codebook

VBA. Objektorientiertes Programmieren in MS-Office-Anwendungen

Wie viele Zeilen und Spalten hat ein Rangeobjekt?

KAPITEL 3. Zellen und Bereiche programmieren. jetzt lerne ich. 3.1 Zellen und Bereiche markieren

Access 2003 Programmierung mit Visual Basic

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

Programmieren in Anwendungen

Überlegungen zur Entwicklung von Access- Anwendungen

1 Visual Basic for Application mit Excel (VBA)

Kapitel 3 Sprachelemente von Excel-VBA

Informationsverarbeitung im Bauwesen

Tapischnittstelle zum Telefon x Anbindung an den PC Zugangsdaten im CRM. Terminkalender Outlook Schnittstelle einrichten gleiche Warenwirtschaft ERP

Arrayformel featuring VBA KAPITEL 20

VBA KURZTUTORIUM... 1

Code des Objektes frmdatenvisualisierung

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Algorithmen und ihre Programmierung

Datenverarbeitung Klausur Gruppe B

3 Datentypen, Variablen und Konstanten

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)

Ecxel Makros Programmieren

Das Access-VBA Codebook

Rund um Charts und Diagramme

Projekt Sudoku 1. Teil Case Select

Einstieg in VBA mit Excel Galileo Press

Alternative Schutzmechanismen für Excel

Workshop 4: VBA-Programmierung mit MS Excel

Datenbanksysteme 2015

Informatik I - Programmierung Globalübung Hoare-Kalkül. Thomas Weiler. Fachgruppe Informatik RWTH Aachen. T. Weiler, RWTH Aachen - 1 -

Welche Informatik-Kenntnisse bringen Sie mit?

Workshop 6: VBA-Programmierung mit MS Excel

Transkript:

Name: Vorname: Matr.-Nr: Punkte: 1 2 3 4 : / 40 Aufgabe 1: (10 Punkte) Das unten angegebene VBA-Programm enthält einige syntaktische und programmiertechnische Fehler. Gesucht: a) markieren Sie alle Fehler (mit einem Buntstift) b) korrigieren Sie die Fehler syntaxgerecht bzw. programmiergerecht Sub CalcDet() Dim i%, j% Dim A(1 To 3, 1 To 5) As Double Dim DetA As Double 'Einlesen der Matrix und Kontrolle For i = 1 To 3 For j = 1 To 5 'Abbruch, wenn ein eingelesenes Element nicht numerisch ist If IsNumeric(Tabelle1.Cells(4 + i, 1 + j)) = True Then MsgBox "Das Element A(" & i & j & ") ist keine Zahl" & Chr(13) & _ "Bitte ändern Sie die Eingabe." Tabelle1.Cells(4 + i, 1 + j).select Exit Function End If A(i, j) = Tabelle1.Cells(4 + i, 1 + j) 'Determinante berechnen DetA = Determinante(A) 'Ausgabe Tabelle1.Cells(11, 2) = DeA End Sub Function Determinante(A() As Double) As Integer 'Deklarieren Dim i%, j% Dim nzeile%, nspalte% Dim A1(1 To 3, 1 To 5) As Double 'Kontrolle, ob es sich um eine 3x3 Matrix handelt nzeile = UBound(A, 1) nspalte = UBound(A, 2) If Not nzeile = 3 And nspalte = 3 Then MsgBox "Es handelt sich nicht um eine 3x3 Matrix" Determinante = 0 Exit Funktion End If 'Weiter auf der nachfolgenden Seite

'Matrix künstlich auf eine 3x5 Matrix vergrößern For j = 1 To 3 For i = 1 To 5 Select Case Case Is > 3 A1(j, i) = A(j, i - 3) Case Else A1(j, i) = A(j) End Select Next i 'Berechnung der Determinate mit der 3x5 Matrix A1 For i = 1 To 3 Determinante = Determinante _ + A1(1, i) * A1(2, i + 1) * A1(3, i + 2) _ - A1(3, i) * A(2, i + 1) * A1(1, i + 2) Next i End Sub

Aufgabe 2: (10 Punkte) a) Geben Sie an wie viele Elemente bei der nachfolgenden Dim-Anweisung jeweils reserviert werden. Option Explicit Option Base 1 Public Sub Test() Dim X(12,12) As Double Dim Y(5 To 6, 100) As Variant Dim S(-1 To 4) As String Dim X() As Double b) Was muss man bei der Verwendung des Datentyps Integer besonders beachten. c) Was ist bei dem folgenden Code unvollständig. Option Explicit Public Function Resultierende(Fx As Double, Fz As Double) As Double Dim R As Double R = Sqr(Fx * Fx + Fz * Fz) End Function d) Was bewirken die Anweisungen Option Explicit und Option Base 1? e) Wie kann man Zellenwerte aus dem Tabellenblatt Tabelle2 lesen bzw. schreiben wenn das Tabellenblatt Tabelle1 aktiv ist. Geben Sie jeweils ein Beispiel an.

Aufgabe 3: (10 Punkte) Hinweis: Für die volle Punktzahl muss der Lösungsweg gut nachvollziehbar sein! Dies gelingt am besten in einer Tabelle, die alle Variablen enthält und die die Änderung der Variablen während des Programmablaufes wiedergibt. 'EDV - Anwendungen im Bauwesen 'Klausur SoSe 2014 ' 'Das untenstehende Programm führt eine Matrizenmultiplikation durch. 'Berechnen Sie die Lösung der auf dem Beiblatt dargestellten 'Aufgabe [A] * {x} = {b} mit allen Nachkommastellen. ' '- Verfolgen Sie den Quelltext anhand des Beiblattes und ' berechnen Sie die Lösung. '- Für die Schrittweise Abarbeitung verwenden Sie das Beiblatt. '- Markieren Sie in den zugehörigen Bereichen die Feldgrößen ' soweit das Aufgrund der Variablendeklaration sinnvoll möglich ist. '- Es wird empfohlen das Beiblatt zu verwenden Option Explicit Option Base 1 Sub FalknerSchema() 'Deklarationsteil Dim A As Range Dim x As Range Dim RS As Range Dim v As Variant Dim b() As Double End Sub Dim i%, j% 'Einlesen Set A = Range("B4", Cells(6, 4)) Set x = Range(Cells(4, 6), Cells(6, 6)) Set RS = Range("H4", "H6") ReDim b(a.rows.count, x.columns.count) 'Verarbeitung => Matrizenmultiplikation For i = 1 To A.Rows.Count For j = 1 To A.Columns.Count b(i, x.columns.count)=b(i, x.columns.count) + A(i, j) * x(j, 1) Next i 'Ausgabe des Ergebnisvektors i = 1 For Each v In b RS(i, 1).Value = b(i, 1) i = i + 1 Next

Hochschule Darmstadt University of applied sciences 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Klausur SS 2014 A B C D E F G H I J Aufgabe 3 [A] > [A] {x} 4,00 3,00 5,00 8,75 4,00 3,00 1,00 x 18,00 = 0,00 5,00 6,00 17,00 {b} Matrikel Nr. 17 {x} > 18 19 20 21 22 23 24 25 i > j > {b} > 26 27 28 29 30 31 32 33 i > v > RS > 34 35 36

Aufgabe 4: (10 Punkte) Die nebenstehende Exceltabelle zeigt das Ergebnis eines Wettbewerbs im Kugelstoßen der Herren. Lösen Sie hierzu folgende Aufgaben: a) Legen Sie eine benutzerdefinierte Variable mit dem Namen Kugelstosser an. Die Variable soll als Eigenschaften den Namen, Vornamen, die beste Weite und die Anzahl der Fehlversuche beinhalten. Lösen Sie Aufgabenteil b) bis e) in einer von Ihnen angelegten Prozedur: b) Deklarieren Sie ein dynamisches Datenfeld vom Typ Kugelstosser. c) Ermitteln Sie die Anzahl der Teilnehmer und legen Sie hiermit die Größe des unter b) angelegten Datenfeldes fest. d) Füllen Sie das unter b) angelegte Datenfeld, für jeden Teilnehmer. Hierbei sind die beste Weite und die Anzahl der Fehlversuche sinnvoll zu ermitteln. Zusätzlich soll die beste Weite (Spalte F) und die Anzahl der Fehlversuche (Spalte G) in die Tabelle1 geschrieben werden. Drei Fehlversuche ist gleichbedeutend mit der Weite 0 Meter. e) Geben Sie in einer Messenger Box den Sieger des Wettbewerbes und dessen erzielte größte Weite aus. Lösung: