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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Bauinformatik 1 Teil 1 / VBA Ernst Baeck Fachgebiet Statik und Dynamik der Flächentragwerke 27. April 2017 E. Baeck (Uni-DUE) Folien-Skript (V) 1 / 49

2 Die Programmiersprache VBA Visual Basic for Applications E. Baeck (Uni-DUE) Folien-Skript (V) 2 / 49

3 Erste VBA Anmerkungen Einleitung Ein Programm... ist eine Textdatei Beginn mit sub, Ende mit end sub hat einen Namen (hier hello) enthält Kommentare enthält Deklarationen enthält Anweisungen wird sequentiell ausgeführt freies Format nicht case sensitive besteht i.a. aus mehreren Teilen H e l l o World Sub h e l l o ( ) Dim s As S t r i n g s = H e l l o World! MsgBox s End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 3 / 49

4 Kommentar VBA-Grundlagen Kommentar Ein Kommentar... ist ein beliebiger Text wird bei Ausführung ignoriert wird durch ein Zeichen eingeleitet ist für Verständnis unverzichtbar... h i e r geht e s l o s Sub h e l l o ( ) V a r i a b l e n d e k l a r a t i o n Dim s As S t r i n g Zuweisung s = H e l l o World! S t a r t e Messagebox MsgBox s End Sub... h i e r i s t das Ende E. Baeck (Uni-DUE) Folien-Skript (V) 4 / 49

5 Statement VBA-Grundlagen Statement Ein Statement... ist eine Deklaration oder... eine Anweisung wird durch Zeilenende geschlossen oder durch das Zeichen : wird mit fortgesetzt enthält Schlüsselworte (dim,...) und Namen (a,b,...) Some S t a t e m e n t s Sub d e k l a r a t i o n e n ( ) e i n Statement dim a As I n t e g e r dim b As I n t e g e r dim c As I n t e g e r z w e i S t a t e m e n t s a = 1 : b = 3 e i n Statement i n 2 Z e i l e n c = a + b MsgBox Das war s! End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 5 / 49

6 Deklaration VBA-Grundlagen Deklaration Eine Deklaration... steht i.a. vor den Anweisungen vereinbart eine neue Variable oder eine Konstante vereinbart deren Namen vereinbart deren Indizierung (Vektor/Matrix) beginnt mit dem Schlüsselwort dim dim <Name> as <Datentyp> e l e m e n t a r e Datentypen Sub d e k l a r a t i o n e n ( ) n u m e r i s c h e Typen Dim b As Byte Dim i As I n t e g e r Dim l As Long Dim s As S i n g l e Dim d As Double w e i t e r e Typen Dim n As Boolean Dim y As S t r i n g Dim v As V a r i a n t Dim o As Object Konstante Const p i = MsgBox Das war s! End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 6 / 49

7 Namen VBA-Grundlagen Namen Namen müssen syntaktisch korrekt sein: keine Schlüsselworte dürfen keine Leerzeichen enthalten dürfen keine Operatoren enthalten erster Buchstabe keine Ziffer e l e m e n t a r e Datentypen Sub d e k l a r a t i o n e n ( ) n u m e r i s c h e Typen Dim 1b As Byte Dim i+ As I n t e g e r Dim l As Long Dim s As S i n g l e Dim d As Double Name a a1b a b a.b äöü Bewertung ok ok Leerzeichen Operator Keine Sonderzeichen w e i t e r e Typen Dim n ( n e i n ) As Boolean Dim y ( j a ) As S t r i n g Dim v As V a r i a n t Dim o As Object Konstante Const 314 p i = End Sub Was ist unzulässig? E. Baeck (Uni-DUE) Folien-Skript (V) 7 / 49

8 Namen Programm in VBA-IDE IDE: Integrated Development Environment Trubo Pascal: eine der ersten IDEs in den 80igern Syntax Highlighter: Kommentare grün Schlüsselworte blau Programm-Code schwarz Fehlerhafte Zeilen rot E. Baeck (Uni-DUE) Folien-Skript (V) 8 / 49

9 Datentypen Datentypen E. Baeck (Uni-DUE) Folien-Skript (V) 9 / 49

10 Elementare Datentypen VBA-Grundlagen Datentypen Datentypen... sind abhängig von Hardware basieren auf 8Bit Bytes nur 2er Potenzen verfügbar (1,2,4,8) Typ Suf Bytes Bereich Hinweis Byte nur positiv! Integer % sonst 4Bytes Long & ca. 2G = Boolean 2 TRUE, FALSE / FFFF,0000 nur 1 Bit! Single! 4 float: 7 signifikante Stellen nur für Graphik Double # 8 float: 16 signifikante Stellen für Berechnung String $ 2GB Beschränkung durch Integer für Texte Variant - beliebiger Inhalt VBA EXCEL Object 4 Objektadresse E. Baeck (Uni-DUE) Folien-Skript (V) 10 / 49

11 Operatoren Operatoren E. Baeck (Uni-DUE) Folien-Skript (V) 11 / 49

12 Operatoren Arithmetische Operatoren Nahezu mathematische Notation. Potenzierung als Operator verfügbar. Besser als C! Operator Beispiel Anmerkung = x = 6 Zuweisung: x: 6 + x = x+2 Addition zweier Werte. x: 8 - x = x-3 Subtraktion zweier Werte. x: 5 * x = x*2 Multiplikation zweier Werte. x: 10 / x = x/5 Division zweier Werte. x: 2 ^ x = 4^2 Potenzierung. x: 16 \ x = 5\2 Ganzzahlige Division. x: 2 mod x = 3 mod 2 Rest aus ganzzahliger Division. x: 1 E. Baeck (Uni-DUE) Folien-Skript (V) 12 / 49

13 Operatoren Vergleichsoperatoren Nahezu mathematische Notation. Wichtig für Verzweigungen und Abfragen. Zuweisung (=) und Gleichheit (=) sollten nicht verwechselt werden. Operator Beispiel Anmerkung < x = 2 < 3 kleiner-operator (x: true) <= x = 2 <= 3 Kleiner-Gleich-Operator (x: true) >= x = 2 >= 3 Größer-Gleich-Operator (x: false) = x = (2 = 3) Gleichheits-Operator (x: false) <> x = (2 <> 3) Ungleichheits-Operator (x: true) E. Baeck (Uni-DUE) Folien-Skript (V) 13 / 49

14 Bool sche Operatoren VBA-Grundlagen Operatoren Folgende Operatoren verknüpfen bool sche Ausdrücke. Operator Beispiel Anmerkung not x = not(2 < 3) Kleiner-Operator (x: false) and x = (2 < 3)and(4 < 5) UND-Operator (x: true) or x = (2 < 3)or(4 > 5) ODER-Operator (x: true) xor x = (2 < 3)xor(4 < 5) EXL-ODER-Operator (x: false) equ x = (2 > 3)equ(4 > 5) Gleichheitsoperator (x: true) and true false true true false false false false or true false true true true false true false xor true false true false true false true false E. Baeck (Uni-DUE) Folien-Skript (V) 14 / 49

15 Operatoren Verkettungsoperatoren Zeichenketten werden mit dem + Operator verkettet. Unterschiedliche Datentypen werden mit dem & Operator verkettet. Operator Beispiel Anmerkung + x = Hallo + Welt Text und Text (x: Hallo Welt ). & x = summe = & (1+2) Text und Wert (x: summe = 3 ). E. Baeck (Uni-DUE) Folien-Skript (V) 15 / 49

16 Funktionen, Unterprogramme Funktionen Unterprogramme E. Baeck (Uni-DUE) Folien-Skript (V) 16 / 49

17 Funktionen, Unterprogramme Funktionen und Unterprogramme Programm-Code sollte in Unterprogramme strukturiert werden Maximale Programmlänge ca Zeilen Vermeiden von Spagetti-Code Unterprogramme und Funktionen sind gekapselte, wieder verwendbare Programmmodule. Parameter werden über die Liste der formalen Parameter vom aufrufenden Programm übergeben Funktionen liefern einen Rückgabewert, der direkt in einem Ausdruck verwendet werden kann. E. Baeck (Uni-DUE) Folien-Skript (V) 17 / 49

18 Funktionen, Unterprogramme Parameterliste Formale Parameter sind Parameter in der Funktionsdefinition Aktuelle Parameter sind Parameter im Funktionsaufruf Parametersyntax: [<Typ>] <name> [As <Datentyp>] Typ: - byref: Übergabe der Adresse (Standard), veränderbar - byval: Übergabe des Wertes, nicht veränderbar Datentyp: Integer, Double, String, etc... Parameterliste: ([Parameter1, [Parameter2, [Parameter3,...]]]) E. Baeck (Uni-DUE) Folien-Skript (V) 18 / 49

19 Unterprogramm / Subroutine Funktionen, Unterprogramme Syntax: <sub> <Name> ([Parameterliste ]) <Anweisungen> <end sub> Aufruf: <call> <Name> ([Parameterliste ]) Sub s u b c a l l e r ( ) Dim a As I n t e g e r Dim b As I n t e g e r Dim c As I n t e g e r a = 1 : b = 2 C a l l addbyval ( a, b, c ) a = 1 : b = 2 C a l l addbyref ( a, b, c ) End Sub Aufruf 1 ByVal: a,b unverändert Aufruf 2 ByRef: a = 2, b = 4 Sub addbyref ( ByRef a As I n t e g e r, ByRef b As I n t e g e r, ByRef c As I n t e g e r ) a = a + 1 : b = b 2 c = a + b End Sub Sub addbyval ( ByVal a As I n t e g e r, ByVal b As I n t e g e r, ByRef c As I n t e g e r ) a = a + 1 : b = b 2 c = a + b End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 19 / 49

20 Funktion / Function VBA-Grundlagen Funktionen, Unterprogramme Syntax: <function> <Name> ([Parameterliste ] [As <Datentyp>]) <Anweisungen> <name> = <Rückgabewert> <end function> Aufruf: <Variable> = <Name> ([Parameterliste ]) Sub f u n c t i o n c a l l e r ( ) Dim a As Double, b As Double, c As Double, f As Double, x As Double a = 1 : b = 0 : c = 4 f = p a r a b e l ( a, b, c, 2#) End Sub Function p a r a b e l ( ByVal a As Double, ByVal b As Double, ByVal c As Double, ByVal x As Double ) p a r a b e l = a x ˆ 2 + b x + c End Function E. Baeck (Uni-DUE) Folien-Skript (V) 20 / 49

21 Rekursive Funktionen VBA-Grundlagen Funktionen, Unterprogramme Rekursive Funktionen rufen sich selbst auf die Rekursion muss ein Ende finden ohne Rekursionsende Stack-Overflow Fallunterscheidung mit if, else Fakultät: { n (n 1)! für n > 1 n! = 1 für n < 2 Sub f a k u l t a e t r e k u r s i v ( ) Dim f As Long f = f a k u l t a e t ( 4 ) End Sub Function f a k u l t a e t ( n As I n t e g e r ) As Long I f n > 1 Then f a k u l t a e t = n f a k u l t a e t ( n 1) E l s e f a k u l t a e t = 1 End I f End Function E. Baeck (Uni-DUE) Folien-Skript (V) 21 / 49

22 Schleifen Schleifen E. Baeck (Uni-DUE) Folien-Skript (V) 22 / 49

23 Schleifen Die FOR-Schleife Indizierte Wiederholungen werde mit for eingeleitet und mit next abgeschlossen. Durchläufe werden über eine Index-Variable gesteuert. Festlegung der Indexvariablen durch Startwert, Endwert und optionaler Schrittweite (std.: 1) Anweisung in for - next - Klammer werden ausgeführt. Syntax: <for> <var> = <start> <to> <stop> [<step> <Schritt>] [Anweisungen] <next> Beispiel: Summe aller geraden Zahlen in [4,..., 16], Ergebnis s. s = 0 f o r i =4 to 16 s t e p 2 s = s + i next E. Baeck (Uni-DUE) Folien-Skript (V) 23 / 49

24 Die DO-Schleife, vor-variante Schleifen Implizite Wiederholungen werde mit do eingeleitet und mit loop abgeschlossen. Abbruch-Bedingung wird vor Durchlauf geprüft. while Bedingung = until not Bedingung Syntax: <do> [<while> Bedingung <until> Bedingung] <Anweisungen> <loop Beispiel: Summe aller geraden Zahlen in [4,..., 16], Ergebnis s. s = 0 : i = 4 do w h i l e i <= 16 s = s + i Debug. P r i n t i = i +2 l o o p ( i= & i & s= & s ) E. Baeck (Uni-DUE) Folien-Skript (V) 24 / 49

25 Die DO-Schleife, nach-variante Schleifen Implizite Wiederholungen werde mit do eingeleitet und mit loop abgeschlossen. Abbruch-Bedingung wird nach Durchlauf geprüft. while Bedingung = until not Bedingung Mindestens ein Durchlauf Syntax: <do> <Anweisungen> <loop [<while> Bedingung <until> Bedingung] Beispiel: Summe aller geraden Zahlen in [4,..., 16], Ergebnis s. s = 0 : i = 4 do s = s + i Debug. P r i n t i = i +2 l o o p w h i l e i <= 16 ( i= & i & s= & s ) E. Baeck (Uni-DUE) Folien-Skript (V) 25 / 49

26 Beispiel: Geometrische Reihe Schleifen s n = a 0 n i=0 Implementierung mit for Schleife. q k = a ( 0 1 q n+1 ) 1 q Ausgabe im i-ten Schritts aktuelle Summe und Ergebnis. Sub g e o m e t r i s c h e r e i h e ( ) a = 5#: q = 3#: s = 0 : n = 3 sn = a (1 q ˆ ( n + 1 ) ) / (1 q ) For i = 0 To n Next End Sub s = s + a q ˆ i Debug. P r i n t ( i= & i & s= & s & sn = & sn ) >> Ausgabe i= 0 s= 5 sn = 200 i= 1 s= 20 sn = 200 i= 2 s= 65 sn = 200 i= 3 s= 200 sn = 200 E. Baeck (Uni-DUE) Folien-Skript (V) 26 / 49

27 Die Abfrage mit if VBA-Grundlagen Abfrage und Abbruch if einfach: Einfache Variante erlaubt nur eine optionale Anweisung Allgemeine Variante erlaubt einen optionalen Anweisungsblock Syntax: einfache Variante <if> <Bedingung> then <Anweisung> Syntax: allgemeine Variante <if> <Bedingung> then [Anweisungen] <endif> s = 0 i f s = 0 then s = 1 if allgemein: s = 0 : t = 1 I f s = 0 Then s = 1 t = 2 End I f E. Baeck (Uni-DUE) Folien-Skript (V) 27 / 49

28 Abfrage und Abbruch exit for und exit do Abbruch einer for Schleife erfolgt mit exit for Abbruch einer do Schleife erfolgt mit exit do Es gibt keine Anweisung um einen Durchlauf abzubrechen! wir müssen uns leider mit goto behelfen goto erwartet eine Sprungmarke (Name) Sprungmarke wird mit : abgeschlossen Abbruch einer for Schleife: Sub e x i t f o r ( ) For i = 1 To 10 I f i > 5 Then E x i t For Debug. P r i n t ( i = & i ) Next End Sub Abbruch eines Durchlaufs mit goto: Sub c o n t i n u e f o r ( ) For i = 1 To 10 I f i = 5 Then GoTo n e x t C y c l e Debug. P r i n t ( i = & i ) n e x t C y c l e : Next End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 28 / 49

29 Verzweigungen Verzweigungen E. Baeck (Uni-DUE) Folien-Skript (V) 29 / 49

30 Die if -elseif -else Verzweigung Verzweigungen Fallunterscheidung mit if, elseif und else alle elseif - Zweige sind optional der else - Zweig ist optional Bedingung bool scher Ausdruck Syntax: <if> <Bedingung 1> then <Anweisungen 1> <elseif> <Bedingung 2> <then> <Anweisungen 2> <elseif> <Bedingung 3> <then> <Anweisungen 3> <else> <Bedingung n> <then> <Anweisungen n> <endif> Beispiel: Sub i f v e r z w e i g u n g ( ) i = 7 I f i = 1 Then Debug. P r i n t ( i = 1 ) E l s e I f i = 2 Then Debug. P r i n t ( i = 2 ) E l s e I f i = 5 Then Debug. P r i n t ( i = 5 ) E l s e I f i = 20 Then Debug. P r i n t ( i = 20 ) E l s e Debug. P r i n t ( i weder 1, 2, 5, 2 0 ) End I f End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 30 / 49

31 Die select-case-else Verzweigung Verzweigungen Fallunterscheidung select, case und else alle case - Zweige ab 2 optional der else - Zweig ist optional Syntax: <select case> <Variable> <case <Wert 1>[,<Wert 1.1>]: <Anweisungen 1> <case <Wert 2>: <Anweisungen 2> <case <Wert 3>: <Anweisungen 3> <case else : <Anweisungen n> <end select> Beispiel: Sub s e l e c t v e r z w e i g u n g ( ) i = 2 S e l e c t Case i Case 1, 9 : Debug. P r i n t ( i = 1 o d e r 9 ) Case 2 : Debug. P r i n t ( i = 2 ) Case 3 : Debug. P r i n t ( i = 5 ) Case 2 0 : Debug. P r i n t ( i = 20 ) Case E l s e Debug. P r i n t ( i weder 1, 2, 5, 2 0 ) End S e l e c t End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 31 / 49

32 Felder Felder / Arrays E. Baeck (Uni-DUE) Folien-Skript (V) 32 / 49

33 Indizierte Variablen, Felder Felder Felder sind Implementierungen von Vektoren oder Matrizen Felder haben i.a. mehrere Indizes, a i,j Der statische Indexbereich wird bei der Deklaration vorgegeben Der Indexbereich hat einen unteren und einen oberen Grenzwert Syntax: <dim> <var> (<von> To <bis> [, Index 2]) As <Typ> Beispiel: Deklaration 3x2 Initialisierung Indexbereich 1: 1-3 Indexbereich 2: 1-2 Sub f e l d e r 1 ( ) Dim x ( 1 To 3, 1 To 2) As Double For i = 1 To 3 For j = 1 To 2 Next Next End Sub x ( i, j ) = i + j E. Baeck (Uni-DUE) Folien-Skript (V) 33 / 49

34 Umsetzung einer mathematischen Notation in Schleifen Felder Eine einfache Summe 10 i i=1 Länge eines transformierten Vektors l = A v 2 n n = (a i,j v j ) i=1 j=1 1 2 s = 0 for i=1 to 10 s = s + i next l = 0 for i=1 to n s = 0 for j=1 to n s = s + a(i,j)*v(j) next l = l +s*s next l = sqr(l) E. Baeck (Uni-DUE) Folien-Skript (V) 34 / 49

35 Felder Warum dynamische Speicherverwaltung Benutzerabhängige Probleme erwarten oft variable Dimensionen Das Beispiel des Tragwerks hat 5 Verschiebungen und 4 Verdrehungen Die Dimension der statischen Analyse ist demnach 9 K x = f mit Steifigkeit K, Verformung x und Last f kn 3 kn z x E. Baeck (Uni-DUE) Folien-Skript (V) 35 / 49

36 Felder Dynamische Felder, Allokation Statische Felder sind nicht an die Problemdimension anzupassen Dynamische Felder werden in zwei Schritten erzeugt - Variablendeklaration ohne Indexbereich - Dimensionierung zur Laufzeit mit ReDim Statische und dynamische Felder haben gleiches Zugriffsverhalten. Dynamische Felder können zur Laufzeit neu dimensioniert werden. Sub d y n f e l d e r ( ) Dim v e k t o r 1 (1 To 2) As Double s t a t i s c h e A l l o k a t i o n Dim v e k t o r 2 ( ) As Double dynamisch A l l o k a t i o n ReDim v e k t o r 2 (1 To 2) ok! ReDim v e k t o r 1 (1 To 3) F e h l e r! ReDim NUR dynamisch! ReDim v e k t o r 2 (1 To 3) ok! End Sub E. Baeck (Uni-DUE) Folien-Skript (V) 36 / 49

37 Felder Schleife über iterierbare Container Felder können über ihren Index iteriert werden (for) Implizite Iteration mit for-each. Syntax: <for each> <var1> In <var2> [Anweisungen] <next> var2 ist Container, var1 ein Objekt des Containers. Dim a (1 To 3) As I n t e g e r a ( 1 ) = 1 1 : a ( 2 ) = 1 2 : a ( 3 ) = 13 For Each i I n a Debug. P r i n t a = & i Next Ein Feld wird deklariert, initialisiert und mit for-each ausgegeben. E. Baeck (Uni-DUE) Folien-Skript (V) 37 / 49

38 Strukturen Strukturen / Types E. Baeck (Uni-DUE) Folien-Skript (V) 38 / 49

39 Strukturen Strukturen nach den Datentypen ein weiterer Schritt in die reale Welt es werden beliebige Datentypen (auch Strukturen) zusammengefasst muss vor allen Funktionen, Unterprogrammen deklariert werden! Syntax: <Type> <Name> <Name 1> As <Datentyp 1> [<Name 2> As <Datentyp 2>]... <end Type> E. Baeck (Uni-DUE) Folien-Skript (V) 39 / 49

40 Beispiel: Linie mit 2 Punkten Strukturen Punkt: 3d Koordinaten (Feld) Linie: 2 Punkte (Feld) Jeweils: RGB-Farbe und Kommentar Sub t y p e t e s t ( ) Dim l i n As L i n i e l i n. p ( 1 ). x ( 1 ) = 0#: l i n. p ( 2 ). x ( 1 ) = 1# l i n. p ( 1 ). x ( 2 ) = 0#: l i n. p ( 2 ). x ( 2 ) = 1# l i n. p ( 1 ). x ( 3 ) = 0#: l i n. p ( 2 ). x ( 3 ) = 0. 5 l i n. p ( 1 ). c = S t a r t p u n k t l i n. p ( 2 ). c = Endpunkt l i n. c = Meine L i n i e l i n. p ( 1 ). f = &HFF0000 r o t e r Punkt l i n. p ( 2 ). f = &HFF00& g r ü n e r Punkt l i n. f = &HFF& b l a u e L i n i e End Sub Type Punkt x (1 To 3) As Double K o o r d i n a t e n f As Long Farbe c As S t r i n g Kommentar End Type Type L i n i e p ( 1 To 2) As Punkt 2 Punkte f As Long Farbe c As S t r i n g Kommentar End Type RGB-Farben: 1 Byte/Farbe Bereich: [0 255] rot: &HFF0000& grün: &H00FF00& blau: &H0000FF& E. Baeck (Uni-DUE) Folien-Skript (V) 40 / 49

41 Entity-Relationship-Modell Strukturen Das ER-Modell ist De-facto-Standard der Datenmodellierung. Das ER-Modell wurde 1976 von Peter Chen vorgestellt. Es besteht aus Entities (Objekten der Realität), Relationships (Beziehungen), Attributes (Eigenschaften) und Kardinalitäten (Objektanzahl in einer Liste) Fehlt eine Beziehung, so wird dies als enthält betrachtet. Attribut 1 Attribut 2 Attribut 1 Entity 1 1 Relationship * Entity 2 Attribut 2 Attribut 3 Attribut 3 E. Baeck (Uni-DUE) Folien-Skript (V) 41 / 49

42 Stabwerk und dessen Objekte Strukturen Objekte: Stabwerk 3 Stäbe, 4 Knoten und 2 Lasten Knoten Koordinaten, Auflagerbeschreibung Stab Knotenzuweisung, Fläche, E-Modul, Trägheitsmoment Last Lastwert, Richtung, Position U100: A = 13, 5cm 2, I = 206cm 4, Stahl S235: E = N/mm kn 3 kn z x E. Baeck (Uni-DUE) Folien-Skript (V) 42 / 49

43 ER-Diagramm des Stabwerks Strukturen Komposition ist Beziehung 1 n... 1 Stabwerk enhält 3 Stäbe (Komposition Feld) 1 Stabwerk enhält 4 Knoten (Komposition Feld) 1 Stabwerk enhält 2 Lasten (Komposition Feld) Stab Knoten Stabwerk 1 2 Last Type Stabwerk s ( 1 To 3) as Stab k ( 1 To 4) As Knoten l (1 To 2) As L a s t End Type 1 1 Lager E. Baeck (Uni-DUE) Folien-Skript (V) 43 / 49

44 Objektanalyse des Stabes Strukturen Die Nummer des Stabes ne ist sein Feldindex. Der Stab hat die Nummern der anschließenden Knoten nk (Feld!). Das Material des Stabes wird beschrieben durch den E-Modul de. Die Stabquerschnitte werden in 2d beschrieben durch die Flache da und durch das Flächenträgheitsmoment di. Vorsicht: double für dimensionierte Größen, integer für abzählbare Größen. nk(1 : 2) Stab de da di Type Stab nk (1 To 2 ) As I n t e g e r de As Double da As Double d I As Double End Type E. Baeck (Uni-DUE) Folien-Skript (V) 44 / 49

45 Objektanalyse des Knotens Strukturen Die Nummer des Knotens nk ist sein Feldindex. Der Knoten hat Koordinaten x (Feld!). Ein Knoten enthält ein Lagerobjekt l. Kardinalitäten jeweils 1. Knoten x(1 : 2) 1 1 l Type Knoten nk As I n t e g e r x (1 To 2) As Double l As Lager End Type E. Baeck (Uni-DUE) Folien-Skript (V) 45 / 49

46 Objektanalyse des Lagers Strukturen Kennwerte des Lagers: 0=verschieblich, 1=fest. Lager Verschiebung in x, t x. Lager Verschiebung in z, t z. Lager Verdrehung um y, r y. t x Lager r y t z Type Lager t x as I n t e g e r t z as I n t e g e r r y as I n t e g e r End Type E. Baeck (Uni-DUE) Folien-Skript (V) 46 / 49

47 Objektanalyse der Last VBA-Grundlagen Strukturen Die Last wird aufgebracht auf Stab ne. Die Last hat einen Wert w. Die Last hat eine Richtung, Winkel p gegen positive x-achse. Lastposition auf Element. s [0. 1.]. ne Last p w s Type L a s t ne as i n t e g e r Elementnummer w as double Wert p as double Winkel s as double K o o r d i n a t e End Type E. Baeck (Uni-DUE) Folien-Skript (V) 47 / 49

48 Strukturen Gesamtdiagramm der Struktur Stabwerk de da di x(1 : 2) nk(1 : 2) Stab 3 1 Stabwerk 1 4 Knoten ne 1 2 Last s 1 1 Lager w p t x t z r y E. Baeck (Uni-DUE) Folien-Skript (V) 48 / 49

49 Strukturen Implementierung einer Stabwerk-Struktur Bei der Implementierung wird die Null-Initialisierung berücksichtigt. Eigenschaften werden durch Kopieren der Stäbe zugewiesen. Lineare Stab-Struktur erlaubt die Verwendung einer For-Schleife. dim s as s t a b w e r k K o o r d i n a t e n s. k ( 2 ). x ( 1 ) = s. k ( 3 ). x ( 1 ) = s. k ( 3 ). x ( 2 ) = 200. s. k ( 4 ). x ( 1 ) = s. k ( 4 ). x ( 2 ) = 200. Lager s. k ( 2 ). l. t x = 1 s. k ( 2 ). l. t y = 1 s. k ( 4 ). l. t x = 1 E i g e n s c h a f t e n s. s ( 1 ). de = s. s ( 1 ). da = s. s ( 1 ). d I = 206 s. s ( 2 ) = s. s ( 1 ) s. s ( 3 ) = s. s ( 1 ) Verbindungen f o r i =1 to 3 s. s ( i ). nk ( 1 ) = i s. s ( i ). nk ( 2 ) = i +1 next L a s t e n s. l ( 1 ). ne = 1 : s. l ( 1 ). w = 5 s. l ( 1 ). p = 90 : s. l ( 1 ). s = 200/500 s. l ( 2 ). ne = 2 : s. l ( 2 ). w = 3 s. l ( 2 ). p = 0 : s. l ( 2 ). s = kn kn z x E. Baeck (Uni-DUE) Folien-Skript (V) 49 / 49

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen 1 Universität Duisburg - Essen Campus Essen Fachgebiet Statik & Dynamik der Flächentragwerke Fachprüfung - Bauinformatik 1, Teil 1 SS 17 Mittwoch, den 09.08.2017 Prof. Dr.-Ing. Carolin Birk Name :... Matr.-

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 10 10 V Wirtschaftsinformatik für Wirtschaftwissenschaftler Algorithmen und ihre Programmierung -Teil 1 - Dr. Chris Bizer WS 007/008 Einführung Definition: Algorithmus Ein Algorithmus

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Steuerfluss-Konstrukte (1)

Steuerfluss-Konstrukte (1) Steuerfluss-Konstrukte (1) Der Steuerfluss beschreibt die Reihenfolge, in der die einzelnen Anweisungen ausgeführt werden. Steuerfluss kann auch als Fluss oder Weg durch den Programmcode interpretiert

Mehr

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

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen B.Sc. - Klausur - Bauinformatik - 23.02.2015 1 Universität Duisburg - Essen Campus Essen Fachgebiet Baustatik Fachprüfung - Bauinformatik Teil 1 WS 14-15 Montag, den 23.02.2015 Prof. Dr.-Ing. Jochen Menkenhagen

Mehr

Tutorium für Fortgeschrittene

Tutorium für Fortgeschrittene Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen 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.-

Mehr

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange

BAUINFORMATIK. SS 2013 Vorlesung 1 Johannes Lange BAUINFORMATIK SS 2013 Vorlesung 1 Johannes Lange Vorstellung 2 Dr.-Ing. Johannes Lange Softwareentwicklung, Organisation Projekt-, Qualitätsmanagement CAD Gebäudebetrachtung Technische Ausrüstung (TGA)

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

EXCEL VBA Cheat Sheet

EXCEL VBA Cheat Sheet Variable Declaration Dim As Array Declaration (Unidimensional) Dim () As Dim ( To ) As

Mehr

Einführung in VisualBasic for Applications. Stefan Mahlitz

Einführung in VisualBasic for Applications. Stefan Mahlitz Einführung in VisualBasic for Applications Stefan Mahlitz Stefan Mahlitz Einführung in VBA 27.08.00 Inhaltsverzeichnis 1. Grundlagen der VisualBasic for Applications (VBA) Programmierung...2 1.1 Variablen,

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen B.Sc. - Klausur - Bauinformatik - 14.03.2012 1 Universität Duisburg - Essen Campus Essen Fakultät für Ingenieurwissenschaften Abteilung Bauwissenschaften Fachprüfung - Bauinformatik WS 11/12 Mittwoch,

Mehr

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013

Excel VBA. Teil 11.8. Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 Excel VBA Teil 11.8 Zusammenfassung! Was wir können sollten! V0.5 5.4.2013 1 von 17 Inhaltsverzeichnis Seite 3... Modul einfügen Seite 4... Prozeduren oder Funktionen Seite 5... Ein/Ausgaben Seite 6...

Mehr

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

INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden INFORMATIK TEIL: VBA Allgemeines: - 4 Übungen á 3 Stunden - Studienleistung: o Anwesenheitspflicht während der Übungen o Abgabe und Anerkennung von Übungsaufgaben (HA1, HA2). Die Abgabe muss spätestens

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 16/17 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

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

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

Mehr

Anwendungsentwicklung 2. Teil

Anwendungsentwicklung 2. Teil Andreas Born Anwendungsentwicklung 2. Teil Programmieren mit Objekten unter MS Excel und VBA A. Born, Algorithmen 1 v w : t u 5 * I Anwendungsentwicklung Idee Was schrittweise verfeinern Spezifikation

Mehr

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden Dim arrayname (dim1,dim2, ) As Typ Bei eindimensionalen Feldern

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen B.Sc. - Klausur - Bauinformatik - 03.08.2012 1 Universität Duisburg - Essen Campus Essen Fachgebiet Baustatik Fachprüfung - Bauinformatik Teil 1 SS 12 Freitag, den 03.08.2012 Prof. Dr.-Ing. Jochen Menkenhagen

Mehr

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18 EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 4 Informationsverarbeitung im Bauwesen Markus Uhlmann basierend auf Folien von A. Brugger 1 Zusammenfassung der 3. Vorlesung Einführung in Excel/VBA Einführung in die Tabellenkalkulation Erste Schritte

Mehr

Visual Basic. Einführung

Visual Basic. Einführung Visual Basic Einführung Inhalt Inhalt...1 Module...2 Code-Grundlagen...2 Variable...2 Konstante...3 Datentypen...3 Konvertierungen...3 Der Datentyp Variant...3 Arrays...4 Prozeduren...4 Sub-Prozeduren...4

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Algorithmen und ihre Programmierung -Teil 2-

Algorithmen und ihre Programmierung -Teil 2- Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung -Teil 2- Veronika Waue WS 07/08 Wiederholung: Algorithmen Variablen und Datentypen Variablen haben einen Namen, einen Datentypen und einen

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

4 Schleifen -= Entstanden unter Excel 2003 =-

4 Schleifen -= Entstanden unter Excel 2003 =- Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 9 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 8. Vorlesung Variablendeklarationen: Gültigkeitsbereiche Variablentypen: Typenbestimmung Typenumwandlung Eingabe/Ausgabe von Daten: Textdateien, Binärdateien

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Anweisungen zur Ablaufsteuerung

Anweisungen zur Ablaufsteuerung Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Programmieren lernen mit Visual Basic

Programmieren lernen mit Visual Basic Programmieren lernen mit Visual Basic Teil 5: Fallunterscheidungen (Teil 1) Ein paar Operatoren fehlen noch. Zum einen logische Operatoren, die mit Wahrheitswerden arbeiten. Die folgenden drei verwenden

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

Einfache Rechenstrukturen und Kontrollfluß

Einfache Rechenstrukturen und Kontrollfluß 2 Ziele Einfache Rechenstrukturen und Kontrollfluß Verstehen der Grunddatentypen von Java Verstehen von Typkonversion in Java Lernen lokale Variablen und Konstanten zu initialisieren Verstehen der Speicherorganisation

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

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

VBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar VBA Grundlagen Basic = Programmiersprache (Beginners All Purpose Symbolic Instruction Code). Wurde 1964 als einfache Programmiersprache entwickelt. Bestandteil vom Anfang des MS-DOS (1981) an als BASICA,

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen

Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Array (Feld)... ist aus vielen Variablen, die den gleichen Datentyp besitzen, zusammengesetzt.... fasst Elemente vom gleichen Datentyp zusammen....

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Visual Basic - Einführung Mathematische Funktionen und Operatoren Zeichenfolgenbearbeitung. 1.7 Schleifen, Arrays und Entscheidungen

Visual Basic - Einführung Mathematische Funktionen und Operatoren Zeichenfolgenbearbeitung. 1.7 Schleifen, Arrays und Entscheidungen Inhalt 1 Einführung 1.1 Begriffe und Notationen 1.2 Variablen und Datentypen 1.3 Funktionen und Prozeduren 1.4 Arithmetische Operationen 1.4.1 Mathematische Funktionen und Operatoren 1.5 Konstanten 1.6

Mehr

VisualBasic - Variablen

VisualBasic - Variablen Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Variablen Datentypen Werte Ausdrücke Operatoren

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while

Mehr

WiMa-Praktikum 1. Woche 8

WiMa-Praktikum 1. Woche 8 WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und

Mehr

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

P r o g r a m m a b l a u f s t e u e r u n g Jede Programmiersprache braucht Konstrukte zur Steuerung des Programmablaufs. Grundsätzlich unterscheiden wir Verzweigungen und Schleifen. Schleifen dienen dazu, bestimmte Anweisungen wiederholt auszuführen,

Mehr

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Android-Apps Gegenüberstellung Delphi java

Android-Apps Gegenüberstellung Delphi java Android-Apps Gegenüberstellung 2/9 Grundsätzliches etc. Groß-/Kleinschreibung egal sensitiv! Zuweisung := = Kommentare // // { } /* */ Zeichenkettenbegrenzer: 'text' "text" Inkrementieren / Dekrementieren

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung. Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen

Mehr

5. Übung - Kanalkodierung/Programmierung

5. Übung - Kanalkodierung/Programmierung 5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode

Mehr

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

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann

Einführung Java Programmieren in Java Arrays Schleifen Fehler. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 64 1 Einführung Java Geschichte 2 Programmieren in Java Einführung

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

Mehr

Schleifen Datenfelder (Arrays) Verzweigungen

Schleifen Datenfelder (Arrays) Verzweigungen Schleifen Datenfelder (Arrays) Verzweigungen Vektoren, Matrizen, Tabellen for, while, foreach, if-else und switch-case Dr. Beatrice Amrhein Überblick Schleifen o for, while, foreach Eindimensionale Arrays

Mehr

Microsoft Excel VBA - Einführung

Microsoft Excel VBA - Einführung Microsoft Excel VBA - Einführung Stand: 2015-12-18 Kontaktdaten Organisatorisches Maik Ramftel 0172 / 81 93 687 ramftel@ramses.de zeiten und Pausen Organisatorisches 08:00 09:30 10:00 11:30 12:30 14:00

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

Mehr

Arrays. End Sub. Private Sub cmdend_click() 'Beenden des Programmes End End Sub

Arrays. End Sub. Private Sub cmdend_click() 'Beenden des Programmes End End Sub Arrays Arrays sind eine Praktische Möglichkeit verschiedene Werte in ein und der Selben Variable zu speichern, sie sind sehr Platz und zeitsparend. Im folgenden Beispiel wird anschaulich dargestellt wie

Mehr

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München FORTRAN77 eine höllische Programmiersprache Christian Sternecker TU-München Sommersemester 2010 Aufbau des Vortrags Geschichte Merkmale Höllische Konzepte Typsicherheit Programmstruktur Speicherverwaltung

Mehr

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

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Unterprogramme. Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen:

Unterprogramme. Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen: Unterprogramme Dr. Wolfgang Günther Unterprogramme 2 Unterprogramme Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen: Prozeduren

Mehr

Programme verarbeiten Daten verschiedener Typen

Programme verarbeiten Daten verschiedener Typen Programme verarbeiten Daten verschiedener Typen Einfache Datentypen (die wichtigsten) - Wahrheitswerte boolean Wahrheitswert (wahr oder falsch) - Zahlen integer ganze Zahl 2 31... 2 31 unsigned ganze Zahl

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr