Informationsverarbeitung im Bauwesen

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

Informationsverarbeitung im Bauwesen

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

4 Schleifen -= Entstanden unter Excel 2003 =-

Modul 122 VBA Scribt.docx

Informationsverarbeitung im Bauwesen

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

Tutorium für Fortgeschrittene

Webbasierte Programmierung

Access 2010 Programmierung Schleifen

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

Informationsverarbeitung im Bauwesen

Excel VBA Bedingte Anweisungen und Schleifen

Einführung in die Programmierung mit VBA

Javakurs für Anfänger

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

Sin-Funktion vgl. Cos-Funktion

Programmieren lernen mit Visual Basic

Informationsverarbeitung im Bauwesen

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Algorithmen und ihre Programmierung

Objektorientierte Programmierung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Algorithmen und ihre Programmierung -Teil 2-

Schnellübersicht. Access-VBA. Die praktische Referenz BERND HELD

Informatik I Übung, Woche 40

Javakurs für Anfänger

Access Automatisierung, Programmierung. Ricardo Hernández Garcia. 1. Ausgabe, April 2016 ISBN ACC2016P

2.5 Programmstrukturen Entscheidung / Alternative

Bauinformatik 1. Teil 1 / VBA. Ernst Baeck. Fachgebiet Statik und Dynamik der Flächentragwerke. 27. April 2017

EXCEL VBA Cheat Sheet

VBA-Programmierung. Integrierte Lösungen mit Office Ricardo Hernández Garcia. 1. Ausgabe, Juni 2016 ISBN VBA2016

Modellierung und Programmierung 1

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

if ( Logischer Operator ) { } else { Anweisungen false

Algorithmen und ihre Programmierung

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

VBA-Programmierung: Zusammenfassung

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

Einfache Bedingte Ausführung

Anwendungsentwicklung 2. Teil

Kontrollstrukturen und Logik

Datentypen: integer, char, string, boolean

Steuerfluss-Konstrukte (1)

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

Kontrollstrukturen -- Schleifen und Wiederholungen

Vorwort...10 Einleitung...12 Lernen Üben Anwenden...12 Inhalt und Aufbau des Buches...13 Inhalt...13 Aufbau Access 2007 (fast) alles ist

INHALT...1 VARIABLEN...1 REGELN FÜR VARIABLEN- NAMEN...2 KONSTANTEN...2 MISCHEN VON TEXT, VARIABLEN UND AUSDRÜCKEN...3 STRUKTURELEMENTE IN PHP...

Grundlagen von C# - 2

Objektorientierte Programmierung OOP Programmieren mit Java

Einstieg in die Informatik mit Java

Informationsverarbeitung

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

2 Teil 2: Nassi-Schneiderman

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

Programmiervorkurs für die Numerik Teil 1/4

Grundlegende Programmstrukturen sind Sequenzen, Schleifen und Entscheidungen.

Bernd ШШ^^ШШШШ. ШШшШШШШ. Das KBasic Buch. Handbuch zum Entwickeln von KBasic-Anwendungen. Für Windows, Mac und Linux

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Visual Basic Grundlagen Programmierung. Ricardo Hernández Garcia. 1. Ausgabe, Dezember 2015 VBNET2015 ISBN

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übersetzung von Struktogrammen nach VBA

Arbeitsblätter für Algorithmierung und Strukturierung

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Zusammenfassung Was haben wir bisher gelernt?

Einstieg in die Informatik mit Java

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

3. Grundanweisungen in Java

Einführung in VisualBasic for Applications. Stefan Mahlitz

5. Elementare Befehle und Struktogramme

Informatik I Übung, Woche 40

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

VBA (Visual Basic for Application) Bedingte Anweisungen und Schleifen

INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden

Programmierkurs Java

System.out.println("TEXT");

Informationsverarbeitung im Bauwesen

Einführung in die Programmierung Wintersemester 2011/12

Einstieg in die Informatik mit Java

10 Wiederholungsanweisungen

Das Ergebnis der beiden Beispielcodes ist dasselbe.

Arbeitsblätter für Algorithmierung und Strukturierung C #

3. Anweisungen und Kontrollstrukturen

4.Grundsätzliche Programmentwicklungsmethoden

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Transkript:

6 im Bauwesen Markus Uhlmann Basierend auf Folien von Ingo Mayer 1

Zusammenfassung der 5. Vorlesung Schleifen, (Entscheidungen) Fehlerbehandlung und Planung von en Softwarefehler Fehlertypen Debugging Auffangen von Benutzerfehlern Softwareengineering Entwicklung von Softwareprojekten ablaufpläne, Struktogramme 2

Inhalt / Planung der Vorlesung 1. Informationsdarstellung & -verarbeitung Grundlagen 2. Betriebssysteme, iersprachen * 3. Einführung in Excel/VBA VBA 4. Struktur von (VBA) en * 5. Logische Elemente I * 6. Logische Elemente II * 7. Beispielprogramm (Dynamik starrer Körper) * 8. Datentypen, Eingabe/Ausgabe * 9. Datenfelder * 10. Benutzerdefinierte Datentypen * 11. Objektorientierte iertechniken I * 12. Objektorientierte iertechniken II * 13. Matlab I Matlab 14. Matlab II * 3

Inhalt der heutigen Vorlesung Entscheidungen mehr zu Schleifen 4

VBA Sprachelemente Bisher behandelte VBA Elemente: Variablen Module, Prozeduren/Funktionen For-Next Schleifen Noch fehlende wichtige Elemente von VBA: weitere Details zu Schleifen Arbeiten mit Datenfeldern (arrays) Datentypen (Umwandlung, benutzerdefiniert) Ein- und Ausgabe Objekttechniken in VBA Heutige Vorlesung 5

(Verzweigungs- / Auswahlstrukturen): If-Then und Case Abfragen. Anweisungen werden nur dann ausgeführt, wenn eine bestimmte Bedingung oder ein bestimmter Fall erfüllt ist. Ansonsten werden andere oder keine Anweisungen ausgeführt. Wenn Dann Sonst Struktur. (Wiederholungsstrukturen): For...Next und Do...Loop Schleifen. Zähler- resp. bedingungsgesteuerte Schleifen. Derselbe Code durchläuft eine bestimmte Anzahl von Schritten. Anzahl der Durchläufe ist eine konstante Zahl oder an Bedingung geknüpft. X-Mal oder Solange Bis. 6

If-Then Abfragen Case Abfrage 7

Einseitige Auswahl If-Then Abfrage ohne alternative Anweisungsfolge: Nach Bedingungsabfrage werden Anweisungen ausgeführt oder nicht. Einzeilig (bei einer Anweisung) oder mehrzeilig (bei Anweisungsfolge). Syntax 1: If Bedingung Then Anweisung Syntax 2: If Bedingung Then Anweisung A : Anweisung i End If 8

Einseitige Auswahl Beispiel einseitige Auswahl: Sub einseitige_auswahl(i As Integer) If < 0 Then Debug.Print Die Zahl ist negativ!" End Sub 9

Zweiseitige Auswahl If-Then Abfrage mit zwei alternativen Anweisungsfolgen: In Abhängigkeit von einer Bedingung wird eine von zwei Anweisungsfolgen abgearbeitet. Übergang zur Alternativanweisung erfolgt mit Else Befehl. Syntax 3: If Bedingung Then Anweisungen_A Else Anweisungen_B End If 10

Zweiseitige Auswahl Beispiel zweiseitige Auswahl: Sub zweiseitige_auswahl() If Cells(1, 1) < 0 Then Debug.Print Die Zahl ist negativ!" Else Debug.Print Die Zahl ist 0 oder positiv!" End If End Sub 11

Mehrstufige Auswahl If-Then Abfrage mit mehreren alternativen Anweisungsfolgen: In Abhängigkeit verschiedener Bedingungen wird eine (oder keine) von mehreren Anweisungsfolgen abgearbeitet. Auswahl erfolgt mit ElseIf und Else Befehl. Syntax: If Bedingung a Then Anweisungen A ElseIf Bedingung b Then Anweisungen B ElseIf Bedingung c Then Anweisungen C : Else Anweisungen D End If 12

Mehrstufige Auswahl Beispiel mehrstufige Auswahl: Sub mehrstufige_auswahl() Dim i As Integer i = InputBox( Geben Sie eine Ganzzahl ein ) If i < 0 Then Debug.Print Die Zahl ist negativ! ElseIf i > 10 Then Debug.Print Die Zahl ist größer als 10! Else Debug.Print Die Zahl liegt im geschlossenen _ & Intervall [0, 10]! End If End Sub 13

Bedingungen für Entscheidungen Bedingungen sind Ausdrücke, die entweder True oder False ergeben Vergleiche Operatoren: >, <, <>, =, <=, >= logische Verkettungen: (Bsp: i>10) And, Or, Not, Xor, Eqv, Imp implizite Bedingungen: (Bsp: If ival Then ) der Ausdruck wird implizit evaluiert jeder nicht-null Wert ergibt True Bsp: Dim ival as Integer ival=5 If ival Then.. -> wird ausgeführt! 14

Bedingungen für Entscheidungen Vorsicht: direkter Vergleich mit True endet anders: Prozeduren/ Funktionen Dim ival as Integer ival=5 If ival=true Then... -> wird nicht ausgeführt! die eingebaute Konstante True hat den Wert -1 False hat den Wert 0 15

Zusammengesetzte Bedingungen komplexe Bedingungen können durch logische Verkettung einzelner Bedingungen erzeugt werden Beispiel: If x=2 And y<7 Then... Prozeduren/ Funktionen VBA evaluiert immer alle Teile einer zusammengesetzten Bedingung, egal ob das Ergebnis schon vorher eindeutig ist Beispiel: x=2... If x=2 Or y<7 Then... Ausdruck y<7 wird trotzdem evaluiert 16

Reihenfolge von Operatoren Operatoren haben unterschiedliche Prioritäten 1. arithmetische Operatoren a. Exponentiation ^ b. Division/Multiplikation /, * c. ganzzahlige Division \ d. Modulus (Restwert) Mod e. Addition/Subtraktion +, - 2. Zusammenfügung ( & Operator für Zeichenketten) 3. Vergleichsoperatoren Auswertung von rechts nach links 4. logische Operatoren Not -> And -> Or -> Xor -> Eqv -> Imp Änderung der Reihenfolge durch explizite Klammern: Bsp: If ((a Or b) And d) Then.. 17

Mehrseitige Auswahl Case Abfrage (Fallauswahl): Die mehrseitige Auswahl ist vom Wert einer Variablen abhängig. Bei Mehrfachabfragen ist Case Abfrage übersichtlicher als viele If-Then Abfragen. Syntax: Select Case Ausdruck Case Werteliste A Anweisungen Case Werteliste B Anweisungen : Case Else Anweisungen End Select Case Else Auswahl ist optional 18

Mehrseitige Auswahl Die Werteliste kann verschieden Formen haben: Ausdruck (Bsp: ivar ) Ausdruck To Ausdruck (Bsp: 5 To 10 ) Is Vergleichsoperator Ausdruck (Bsp: Is > 5) durch Komma getrennte Liste obiger Ausdrücke (Bsp: 8 To 11, 13 To 15 ) Verschiedene Ausdrücke in der Liste sind implizit durch Or verbunden! 19

Mehrseitige Auswahl Beispiel: Case Abfrage (Fallauswahl) Auf die Frage, wie sehr Ihnen VBA gefällt, soll über ein Eingabefenster eine Wertung von 1 bis 4 eingegeben werden. Über das Direktfenster im VBE werden die den Wertungen zugeordneten Aussagen wiedergegeben. Tabellarischer Verlauf: Subprozedur VBA_Wertung() Variable deklarieren Wertezuweisung der Variablen via InputBox Select Case Variable 1 2 3 4 Else Ausgabe Super!......... Ende der Auswahlstruktur Ende der Prozedur 20

Mehrseitige Auswahl Beispiel: Case Abfrage (Fallauswahl) Sub VBA_Wertung() Dim i as Integer i = InputBox("Wie gefällt Ihnen VBA? (Wertung 1-4)") Select Case i Case 1 Debug.Print "VBA scheint Sie zu begeistern!" Case 2 Debug.Print "VBA machen Sie ganz gerne." Case 3 To 4 Debug.Print "Denken Sie nochmals darüber nach, " _ & "wie interessant VBA doch sein kann!" Case Else Debug.Print "Bitte nur Zahlen von 1-4 eingeben!" End Select End Sub 21

Bedingungsgesteuerte Schleifen Do...Loop Schleife (kopfgesteuert): Test, ob Bedingung = True erfolgt vor dem 1. Durchlaufen der Schleife, d.h. unter Umständen wird die Schleife nie durchlaufen. Syntax: Do While Bedingung Anweisung Loop Oder Do Until Bedingung Anweisung Loop 22

Bedingungsgesteuerte Schleifen Do...Loop Schleife (fußgesteuert): Test, ob Bedingung = True erfolgt nach dem 1. Durchlaufen der Schleife, d.h. die Schleife wird immer mindestens 1 Mal durchlaufen. Syntax: Do Anweisungen Loop While Bedingung Oder Do Anweisungen Loop Until Bedingung 23

Bedingungsgesteuerte Schleifen Beispiel Kopf- resp. Fußsteuerung: Sub kopfgesteuert() Sub fussgesteuert() Dim i as Integer i = 5 Dim i as Integer i = 5 Do Until i >= 5 Debug.Print i i = i + 1 Oder Do Debug.Print i i = i + 1 Loop Loop Until i >= 5 End Sub End Sub wird nie ausgeführt wird einmal ausgeführt 24

Bedingungsgesteuerte Schleifen Do...Loop Schleife (ohne Steuerung): Unendliche Schleife, mit internem Abbruch durch Sprung mit Anweisung Exit Do Syntax: Do Anweisungen If Bedingung Then Exit Do End If Anweisungen Loop `hier fährt der Code nach Exit Do fort 25

Zählergesteuerte Schleife For...Next Schleife: Geeignet, wenn eine Variable einen vorgegebenen Zahlenbereich mit festem Inkrement / Dekrement durchlaufen soll. Schleife wird beendet, wenn Endwert über- bzw. unterschritten wird, nicht bei Gleichheit! Standardvorgabe für Schrittweite ist +1. Negative Schrittweiten sind möglich (Startwert > Endwert!). Angabe des Zählers bei Next ist optional. Syntax: For Zähler = Start To Ende [Step Schrittweite] Anweisungen Next [Zähler] 26

Zählergesteuerte Schleife Beispiel verschachtelte For...Next Schleife: Sub Zählerschleife_2() Dim i, j For i = 1 To 5 For j = 4 To 12 Step 2 Debug.Print i, j Next j Next i End Sub => Ausgabe 1 4 1 6 1 8 1 10 1 12 2 4... 27

Sprung- / Exit Anweisung GoTo und Exit Anweisung: GoTo Befehl ermöglicht das Springen an eine beliebige Stelle innerhalb einer Prozedur. Exit For / Exit Do Anweisungen ermöglichen das vorzeitige Beenden von For...Next und Do...Loop Schleifen bevor die eigentliche Abbruchbedingung erreicht ist. Folge: Ausführung wird mit der ersten Anweisung im Anschluss an die Next resp. Loop Anweisung fortgesetzt. Syntax: Anweisung GoTo Ziel Anweisung... Ziel: Anweisung Syntax: Do While Bedingung A Anweisung If Bedingung B Then Exit Do End If Loop 28

Beispiel Bewegung eines Kreisobjektes: 29

Weiterführende Literatur Paul Lomax, VB & VBA in a nutshell the language, O Reilly, 1998 Steven Roman, Writing Excel macros with VBA, 2nd edition, O Reilly, 2002 Jeff Webb and Steve Saunders, ing Excel with VBA &.NET, O Reilly, 2006 30