Vektoren und Matrizen in Excel

Größe: px
Ab Seite anzeigen:

Download "Vektoren und Matrizen in Excel"

Transkript

1 Vektoren und Matrizen in Excel Dietrich Baumgarten «16. Januar 2015

2

3 1 Datenfelder (Arrays) In diesem Kapitel lernen Sie ˆ die Deklaration von Vektoren und Matrizen; ˆ die Verwendung von Vektoren und Matrizen in Prozeduren; ˆ das Zusammenspiel zwischen Vektoren und Matrizen und Excel-Bereichen; ˆ Alle Beispiele nden Sie in der Arbeitsmappe VBAArrays. 1.1 Eindimensionale Datenfelder Ein eindimensionales Datenfeld enthält aufeinanderfolgende Elemente desselben Datentyps, etwa 10 Zahlen vom Typ Double oder 5 Zeichenfolgen. Wenn bei einem Feldelement Änderungen vorgenommen werden, bleiben die anderen Elemente davon unbeein- usst. Eindimensionale Datenfelder werden auch als Vektoren bezeichnet. Jedes Element eines Feldes wird durch eine eindeutige, Index genannte Zahl, identiziert. Die Indizes verlaufen dabei von einer Untergrenze bis zu einer Obergrenze. Anders als in den meisten Programmiersprachen ist der kleinste Index nicht automatisch 0, sondern darf beliebig gewählt werden Die VarType-Funktion Die VarType-Funktion hat nur ein Argument, und erlaubt dafür jeden Typ mit Ausnahme der benutzerdenierten Typen. Die Funktion gibt einen ganzzahligen Wert zurück, an dem der Typ des Arguments zu erkennen ist. Die vier wichtigsten Wertetypen Long, Double, String und Variant haben die Werte 3, 5, 8 und 12. Andere Typen verwende ich selten, die vollständige Liste der Werte zeigt die Excel-Hilfe. Datenfelder heben sich mit dem Wert 8192 deutlich ab. Allerdings gibt die VarType- Funktion bei Datenfeldern niemals diesen Wert alleine zurück, sondern addiert dazu den Wert des gemeinsamen Typs der Elemente des Datenfelds. Für ein Datenfeld mit Elementen vom Typ Long wird somit 8195 = zurückgegeben, ein Datenfeld mit Elementen vom Typ String liefert entsprechend 8200 = Alle Objekt-Typen geben grundsätzlich den Wert 9 zurück. Wenn ein Objekt eine Standardeigenschaft hat, gibt VarType(Objekt) den Typ dieser Standardeigenschaft zurück. 1

4 1 Datenfelder (Arrays) Deklaration Es gibt zwei Arten von Datenfeldern: Statische und dynamische. Bei statischen Vektoren werden sofort bei der Deklaration die Untergrenze und die Obergrenze festgelegt. Danach dürfen diese Angaben nicht mehr verändert werden. Ober- und Untergrenze stehen in runden Klammern, getrennt durch To. Die Angabe der Obergrenze ist erforderlich, die Untergrenze kann fehlen, dann erhält sie automatisch den Wert 0 oder 1. Dynamische Vektoren werden ohne Angabe von Grenzen, aber mit runden Klammern deklariert. Nach den runden Klammern folgt wie bei gewöhnlichen Variablen nach dem Schlüsselwort As der gemeinsame Typ der Elemente. Ein statischer Vektor ist sofort gebrauchsfähig, da die Angabe der Indexgrenzen und des Datentyps der Elemente ausreichen, um Speicherplatz zu reservieren, oder wie man sagt zu alloziieren. Innerhalb einer Prozedur wird ein Datenfeld durch die Dim-Anweisung erzeugt, auÿerhalb durch Public oder Private anstelle von Dim. Die Speicheralloziierung von dynamischen Vektoren erfolgt bei der Deklaration noch nicht und muss später im Programm vorgenommen werden. Man kann einem dynamischen Vektor die Werte eines bereits alloziierten Vektors geben, wobei beide Vektoren exakt denselben Typ haben müssen. Es langt nicht, dass eine Typumwandlung möglich wäre. Anders als alle mir bekannten Programmiersprachen fasst VBA Vektoren als Wertetypen auf und daher ist nach der Wertzuweisung der Vektor vor dem Gleichheitszeichen eine Kopie des Vektors auf der rechten Seite, es gibt also zwei Vektoren mit eigenem Speicherbereich, in dem dieselben Werte stehen. Die beiden Funktionen LBound(Datenfeld) und UBound(Datenfeld) geben die Unter- bzw. Obergrenze des Arguments wieder. Sie dürfen diese Funktionen nicht für dynamische Vektoren verwenden, die noch nicht alloziiert sind. Ein Datenfeld u hat N = UBound(u)-LBound(u)+1 Elemente, wobei die natürliche Zahl N Dimension heiÿt. Betrachten Sie jetzt bitte die folgende Sub-Prozedur: 1 Sub StatischDynamisch() 2 On Error Resume Next 3 4 Dim MitUG(13 To 24) As Double 5 Dim OhneUG(12) As Long 6 Dim Dyn() As Double 7 8 Debug.Print LBound(MitUG) & ", " & UBound(MitUG) 13, 24 9 Debug.Print LBound(OhneUG) & ", " & UBound(OhneUG) 0, Debug.Print VarType(MitUG); VarType(OhneUG); VarType(Dyn) Debug.Print UBound(Dyn) 14 Debug.Print "Error"; Err.Number; ": "; Err.Description 15 Error 9 : Index außerhalb des gültigen Bereichs Dyn = MitUG 2

5 1.1 Eindimensionale Datenfelder 18 Debug.Print LBound(Dyn) & ", " & UBound(Dyn) 13, Dyn(13) = 1 20 Debug.Print WorksheetFunction.Max(Dyn) & ", " _ 21 & WorksheetFunction.Max(MitUG) 1, Dyn = OhneUG Nicht erlaubt! 24 OhneUG = Dyn Erst recht nicht erlaubt! 25 Nach den obigen Deklarationen hat der Vektor MitUG 12 = Elemente des Typs Double und das Datenfeld OhneUG hat 13 Elemente vom Typ Long, die von 0 bis 12 indiziert sind, da nur die Obergrenze gesetzt wurde, sodass die Untergrenze automatisch den Wert 0 hat. Die VarType-Funktion liefert die Werte 8197, 8195 und 8197, weil zum Grundwert 8192 aller Datenfelder die Werte 5 für Elemente des Typs Double bzw. 3 beim Typ Long addiert werden. VBA gibt wie bei Zahlentypen üblich allen Elementen den Anfangswert 0. Das nicht alloziierte dynamische Datenfeld Dyn wird in der Zeile 13 verwendet, was zu einem Fehler führt, den die On-Error-Anweisung abfängt. In der Zeile 17 wird das dynamische Feld dann alloziiert und entsteht als Kopie des statischen Datenfeldes MitUG, aber mit eigenem Speicherbereich. In der Zeile 16 wird Dyn(13) auf 1 gesetzt, alle anderen Elemente haben immer noch den von MitUG übernommenen Wert 0. Sie dürfen ein Datenfeld in allen dafür geeigneten Arbeitsblattfunktionen als Argument verwenden, so wie hier die Arbeitsblattfunktion Max. Nach der Eingabe von WorksheetFunction. önet sich ein Listenfeld mit den englischen Bezeichnern aller Arbeitsblattfunktionen und Sie können die gewünschte aussuchen. Die auskommentierte Anweisung in der Zeile 23 versucht dem dynamischen Datenfeld des Typs Double ein statisches des Typs Long zuzuweisen. Das sollte eigentlich möglich sein, da Werte vom Typ Long in den Typ Double umgewandelt werden könnten. Aber wie schon erwähnt müssen die Typen bei der Wertzuweisung von Datenfeldern exakt übereinstimmen und vor dem Gleichheitszeichen muss immer ein dynamisches Datenfeld stehen, deshalb ist auch die Anweisung der Zeile 24 verboten Die Option Base Anweisung Benötigen Sie oft 1 als Untergrenze, bietet sich die Anweisung Option Base 1 an, die nur einmal pro Modul auftreten kann und dort vor allen Deklarationen von Datenfeldern stehen muss, die Dimensionen enthalten. Bei Datenfeldern dieses Moduls wird dann eine fehlende Untergrenze automatisch 1 gesetzt. Bei anderen Modulen ohne 3

6 1 Datenfelder (Arrays) diese Anweisung bleibt die automatische Untergrenze bei 0. Hinweis Ich verwende in VBA immer die Anweisung Option Base 1 und verzichte grundsätzlich auf die Untergrenze und lasse damit alle Datenfelder immer beim Index 1 beginnen. Damit ist der Code leichter nach C++ oder Java zu übertragen. Dort läuft der Index von 0 bis n 1, in meinem VBA-Code immer von 1 bis n, wobei n die Anzahl der Elemente des Datenfelds ist Die ReDim-Anweisung Ein dynamisches Datenfeld wird mit einem leeren Paar von Klammern deklariert, die Dimension ist damit zunächst unbestimmt. Danach können Sie mit der ReDim-Anweisung innerhalb einer Prozedur die Unter- und Obergrenze festlegen. Sie dürfen allerdings nicht den Typ des Datenfeldes verändern. Diesen Vorgang dürfen Sie beliebig oft wiederholen und damit die Dimension des Datenfeldes dynamisch zur Laufzeit ändern. Nach jeder ReDim-Anweisung gehen die bisherigen Elemente des Datenfeldes verloren und werden von der Garbage Collection entsorgt. Mit dem Schlüsselwort Preserve können Sie bei eindimensionalen Datenfeldern die Dimension ändern und die bisherigen Werte erhalten. Im folgenden Beispiel wird ein dynamisches Datenfeld zunächst erhaltend vergröÿert, danach erhaltend verkleinert und abschlieÿend nicht erhaltend redimensioniert. Die Quelle dieses schönen Beispiels habe ich angegeben. Option Base 1 Sub ReDimTest() From: Declare dynamic array Dim strarray() As String Intialize with 2 elements (1 to 2) ReDim strarray(2) strarray(1) = "Hello" strarray(2) = "world!" Debug.Print Join(strArray) Prints : Hello world! Resize to 5 elements, preserving existing data ReDim Preserve strarray(5) strarray(3) = "How" strarray(4) = "are" strarray(5) = "you?" Debug.Print Join(strArray) Prints: Hello world! How are you? 4

7 1.1 Eindimensionale Datenfelder Resize to one element, but still preserve the data that exists in that element ReDim Preserve strarray(1) Debug.Print Join(strArray) Prints: Hello Reinitialized with 3 elements. Existing elements erased ReDim strarray(3) Debug.Print Join(strArray) Prints an empty line Die Array-Funktion VBA versucht immer Variablen mit Werten zu initialisieren. Bei Datenfeldern, die aus Zahlen bestehen, starten alle Elemente mit dem Wert 0, sind die Elemente Zeichenfolgen wird ihnen die leere Zeichenfolge "" zugewiesen. Danach kann immer nur einem Element pro Anweisung ein Wert zu gewiesen werden, etwa a(1)=12.34, a(2)=2.34 usw. Die Array-Funktion kürzt diesen Aufwand ab, allerdings muss dafür die Variable für das Datenfeld vom Typ Variant sein. Das Argument der Array-Funktion ist eine durch Kommata getrennte Liste von Werten, die den einzelnen Elementen des Datenfelds als Werte zugewiesen werden. Die untere Grenze für ein mit der Array-Funktion erstelltes Datenfeld wird bestimmt durch die in der Option-Base-Anweisung festgelegte untere Grenze. Werden keine Argumente angegeben, so erstellt die Funktion ein Datenfeld mit 0 als unterer Grenze. Im folgenden Beispiel ist WoTa ein Datenfeld mit den Elementen WoTa(1) bis WoTa(7). Ohne die Anweisung Option Base 1 würden die Indizes von 0 bis 6 verlaufen. Eine weitere Array-Anweisung gibt dem Datenfeld die Werte 0, 1 und 2 und verringert damit die obere Grenze auf 3. Diese Geschmeidigkeit ist nur möglich, weil sich die Variable WoTa wie ein Datenfeld mit Elementen des Typs Variant verhält, deshalb gibt die VarType-Funktion auch den Wert 8204 = zurück. Option Base 1 Sub ArrayBsp() Dim WoTa As Variant WoTa = Array("Montag", "Dienstag", "Mittwoch", _ "Donnerstag", "Freitag", "Samstag", "Sonntag") Debug.Print VarType(WoTa) 8204 = MsgBox "Herrlich, heut ist " & WoTa(7) Sheets(1).[B11:H11].Value = WoTa Sheets(1).[E2:E9].Value = WorksheetFunction.Transpose(WoTa) Worksheets(1).Columns("A:J").AutoFit WoTa = Array(0, 1, 2) Debug.Print WoTa(1) + WoTa(2); UBound(WoTa) 1 3 5

8 1 Datenfelder (Arrays) Die Ausgabe des Meldungsfensters lautet "Herrlich, heut ist Sonntag. Die Sub-Prozedur gibt das Datenfeld im Bereich B11:H11 des ersten Arbeitsblatts aus. Die Anzahl der Zellen dieses Bereichs stimmt mit der Anzahl der Elemente des Datenfelds überein. Ist der angegebene Bereich zu groÿ, erscheint in den überüssigen Zellen # NV. Das passiert hier in der Zelle E9. Ist der angegebene Bereich zu klein, werden auch nur die zugehörigen Datenelemente gezeigt. Beachten sie, dass VBA Vektoren als Zeilenvektoren auasst, daher habe ich als Bereich zunächst einen Teil einer Zeile gewählt. Für die Ausgabe als Spaltenvektor im Bereich E2:E9 muss der Vektor zunächst mit der Arbeitsblattfunktion Transpose in einen Spaltenvektor transponiert werden Der Typ Variant bei Datenfeldern Der Typ Variant steht für jeden Typ und kann somit auch die Rolle eines dynamischen Datenfeldes einnehmen, wie das folgende Beispiel zeigt: Sub VariantAsDyn() Dim d(3) As Long Dim va As Variant va = d va(1) = 1 ReDim Preserve va(2) Sheets(1).[G2:G4].Value = WorksheetFunction.Transpose(d) Sheets(1).[H2:H3].Value = WorksheetFunction.Transpose(va) Sheets(1).[H6].Value = VarType(va) 8195 = Die Variable va verhält sich exakt so, als wäre sie mit Dim va() As Long deklariert. Deshalb gibt die VarType-Funktion auch 8195 zurück Vektoren als Parameter Vektoren sind werden an Prozeduren fast immer als Referenz übergeben, vor den formalen Parametern steht also ByRef, gefolgt vom Bezeichner mit oenen leeren Klammern. Beim Aufruf mit aktuellen Argumenten dürfen Sie aber keine Klammern setzen! Die Werte der Elemente des Vektors können innerhalb der Funktion geändert werden. Im folgenden Beispiel soll der Vektor Weiten die erzielten Weiten von Schülern beim Kugelstoÿ aufnehmen. Die Prozedur SetWeiten belegt einen Vektor mit zufälligen Werten, die auf dem Intervall [a, b] gleichverteilt sind. Der Code lautet: Sub SetWeiten(ByRef w() As Double, _ ByVal a As Double, ByVal b As Double) Dim i As Long For i = LBound(w) To UBound(w) w(i) = Round(a + (b - a) * Rnd(), 2) Next i 6

9 1.1 Eindimensionale Datenfelder In dieser Prozedur wird der Typ des Parameters w() genau festgelegt. Die Sub-Prozedur SetWeiten akzeptiert deshalb nur Vektoren vom Typ Double und ist damit typsicher. Es gibt aber sehr viele Prozeduren, die verschiedene Typen als aktuelle Argumente zulassen. Dann wird der formale Parameter vom Typ Variant deklariert, aber ohne runde Klammern. Die folgende Funktion soll den Index ermitteln, der zu dem Element eines Datenfelds mit dem gröÿten Wert gehört. Das ist für alle numerischen Datentypen und sogar für Zeichenfolgen sinnvoll, deshalb lege ich den Typ nicht fest und verwende Variant. Function IndexOfMax(ByRef u As Variant) As Long Dim i As Long Dim Maxx As Variant IndexOfMax = LBound(u) Maxx = u(indexofmax) For i = LBound(u) + 1 To UBound(u) If (u(i) > Maxx) Then Maxx = u(i) IndexOfMax = i End If Next i End Function Hier ist der formale Parameter ist vom Typ Variant, der aktuelle Parameter kann ein beliebiges eindimensionales Datenfeld sein. Beachten Sie bitte, dass bei der Wahl des Typs Variant als formalem Parameter keine Klammern folgen! Die nächste Sub-Prozedur gibt einen Vektor als Spaltenvektor aus. Die Prozedur benötigt zwei Argumente, neben dem Vektor selbst noch die Zelle, wo die Ausgabe beginnt. Der Vektor selbst muss nicht notwendig aus Zahlen bestehen. Der formale Parameter ist vom Typ Variant, der aktuelle Parameter ist ein beliebiges eindimensionales Datenfeld. Eine Zelle ist für Excel ein Bereich, damit ist der zweite Parameter vom Typ Excel.Range. Die Sub-Prozedur berechnet aus der Gröÿe des Datenfelds die Gröÿe des benötigten Bereichs. Der Code lautet Sub Vec2RangeVert(ByRef U As Variant, ByRef rg As Excel.Range) On Error Resume Next rg.resize(ubound(u) - LBound(U) + 1, 1).Value = _ WorksheetFunction.Transpose(U) Die Prozedur erwartet, dass an der Stelle von U ein alloziiertes Datenfeld eingesetzt wird. Ist das nicht der Fall, resultiert ein Fehler, den ich mit der On-Error-Anweisung umgehe. Genauso funktioniert die horizontale Ausgabe eines Datenfeldes. Diesmal fange ich den Fehlerfall mit der eingebauten IsArray-Funktion ab. Sub Vec2RangeHorz(ByRef u As Variant, ByRef rg As Excel.Range) If (Not IsArray(u)) Then Exit Sub Set rg = rg.resize(1, UBound(u) - LBound(u) + 1) 7

10 1 Datenfelder (Arrays) rg.value = u Zum Testen der Prozeduren habe ich eine kleine Sub-Prozedur geschrieben: Option Base 1 Sub Prozedurentest() Dim V(5) As Double Dim WoTaKu As Variant WoTaKu = Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So") SetWeiten V, 5, 12 Sheets(1).Columns("A").NumberFormat = "0.00" Vec2RangeVert V, Sheets(1).[A2] Sheets(1).[B2].Value = WorksheetFunction.Max(V) Sheets(1).[B5].Value = IndexOfMax(V) Sheets(1).[B8].Value = VarType(V) 8197 = Vec2RangeHorz WoTaKu, Sheets(1).[B12] Sheets(1).[B13].Value = IndexOfMax(WoTaKu) Sheets(1).[D13].Value = VarType(WoTaKu) 8204 = Sheets(1).Columns("A:H").EntireColumn.AutoFit Der Vektor V besteht aus 5 im Intervall [5, 12] gleichverteilten Zufallszahlen, die über die Sub-Prozedur Vec2RangeVert im Bereich A2:A6 des ersten Arbeitsblatts ausgegeben werden. Die Bestimmung der maximalen Weite habe ich der Arbeitsblattfunktion Max überlassen. Den dazu gehörigen Index berechnet die Funktion IndexOfMax. Diese Funktion akzeptiert als Argument alle eindimensionalen Datenfelder, deren Typ die Vergleichsoperation > zulässt, also auch den Typ String. Somit kann auch der Vektor WoTaKu als Argument eingesetzt werden, der Index des maximalen Werts ist 7, denn lexikalisch ist "So "das gröÿte Element. 1.2 Mehrdimensionale Datenfelder Mehrdimensionale Datenfelder werden wie eindimensionale deniert, nur muss für jede Dimension Unter- und Obergrenze angegeben werden. Auch hier wird eine fehlende Untergrenze durch 0 oder 1 ersetzt. Für 1 als Untergrenze ist wieder die Anweisung Option Base 1 nötig, was ich in VBA grundsätzlich tue. Laut Online-Hilfe sind maximal 60 Dimensionen möglich. Ein zweidimensionales Datenfeld von Werten des Typs Double werde ohne die Option-Base-Anweisung wie folgt deklariert: Dim Mat(4 TO 8, 9) As Double 8

11 1.2 Mehrdimensionale Datenfelder Damit hat das Datenfeld ( ) 10 Elemente, und zwar von Mat(4, 0) bis Mat(8, 9). Der Speicherbedarf steigt bei mehrdimensionalen Feldern rapide an, da die einzelnen Dimensionen multipliziert werden. Zweidimensionale Datenfelder werden als Matrizen bezeichnet. Der erste Index wird als Zeilen-, der zweite als Spaltenindex bezeichnet. Die Werte eines zweidimensionalen Datenfeldes lassen sich gut in einem rechteckigen Schema ausgeben und entsprechen damit genau einem Bereich in Excel. Ich werde zweidimensionale Datenfelder meistens einfach als Matrizen bezeichnen Statische und dynamische Matrizen Auch Matrizen dürfen statisch oder dynamisch deklariert werden. Wie bei eindimensionalen Datenfeldern gibt es die Funktionen LBound und UBound. LBound(U,1) gibt einen Wert vom Typ Long zurück, der den kleinsten verfügbaren Zeilenindex des Datenfeldes enthält. Entsprechend liefert LBound(U,2) den kleinsten Spaltenindex. Für den jeweils gröÿten Zeilen- bzw. Spaltenindex sorgt die Funktion UBound(U,k) mit k = 1, 2. Statische Matrizen werden bei der Deklaration sofort dimensioniert, während dies bei dynamischen Matrizen auf später verschoben wird. Daher werden dynamische Matrizen mit einem Paar von runden Klammern, zwischen denen nichts steht, deklariert. Man kann aber auch eine Variable vom Typ Variant nehmen, dann allerdings ohne runde Klammern. Dynamische Matrizen starten ohne zugewiesene Werte ins Leben und dürfen zunächst nicht verwendet werden. Werte erhalten sie auf zwei Wegen: Durch eine Anweisung der Form DynMat = StatMat, wobei die Elemente beider Matrizen den genau gleichen Typ haben und StatMat eine statische Matrix ist. Durch die ReDim-Anweisung, etwa ReDim [Preserve] DynMat(3,4), wobei Preserve fehlen darf. Preserve ist nur erlaubt, wenn die dynamische Matrix bereits Werte hat und nur der zweite Index geändert wird. Dann werden alle bereits vorhandenen Werte innerhalb der neuen Dimensionierung übernommen. Fehlt Preserve, fallen alle vorhandenen Werte der Garbage Collection zum Opfer und die Matrix wird frisch initialisiert. Betrachten Sie bitte die folgende Sub-Prozedur: 1 Option Base 1 2 Sub MatStatDyn() 3 Dim DynMat() As Long 4 Dim DynMat As Variant 5 Dim StatMat(3, 4) As Long 6 Dim i As Long, j As Long 7 8 Gib der statischen Matrix Werte 9 For i = LBound(StatMat, 1) To UBound(StatMat, 1) 10 For j = LBound(StatMat, 2) To UBound(StatMat, 2) 9

12 1 Datenfelder (Arrays) 11 StatMat(i, j) = i * j 12 Next j 13 Next i 14 Sheets(2).[A1].Resize(3, 4).Value = StatMat DynMat = StatMat 17 DynMat(1, 1) = Sheets(2).[F1].Resize(3, 4).Value = DynMat 20 ReDim Preserve DynMat(3, 2) 21 Sheets(2).[K1].Resize(3, 2).Value = DynMat ReDim DynMat(2, 2) Preserve nicht erlaubt! 24 Sheets(2).[N1].Resize(3, 2).Value = DynMat Debug.Print VarType(StatMat); VarType(DynMat) Einige Bemerkungen zum Code: Zeile 4: Man kann Variablen vom Typ Variant als Ersatz für dynamische Matrizen verwenden. Zeilen 9-13: Wie in dieser Sub-Prozedur werden die Elemente eines zweidimensionalen Datenfeldes immer durch zwei geschachtelte For-Schleifen durchlaufen. Die äuÿere Iteratonsvariable, hier also i verläuft vom kleinsten bis zum gröÿten Zeilenindex, die innere Iteratonsvariable, hier also j geht vom kleinsten bis zum gröÿten Spaltenindex. Zeile 16-17: Hier erfolgt die Alloziierung der dynamischen Matrix durch Wertzuweisung einer bereits vorhandenen Matrix. Wie bei eindimensionalen Datenfeldern wird auch hier eine Kopie angelegt, es gibt zwei Matrizen mit getrennten Speicherbereichen aber erst einmal denselben Werten. In der Zeile 17 erhält DynMat(1,1) einen von StatMat(1,1) verschiedenen neuen Wert, die Werte aller übrigen Elemente sind noch gleich. Zeile 19: Die Werte einer beliebigen Matrix mat können durch die Anweisung rg.value = mat in den Bereich rg übertragen werden. Ist der Bereich zu groÿ, werden fehlende Werte mit # NV gefüllt, ist der Bereich zu klein, werden die entsprechenden Werte nicht ins Arbeitsblatt übertragen. Damit das nicht passiert, erzeuge ich den Bereich über die Resize-Eigenschaft der gewünschten Anfangszelle, wobei innerhalb der Klammern nach Resize die Anzahlen der Zeilen bzw. Spalten der Matrix folgen. Weil ich immer Option Base 1 einstelle, muss ich nur die Obergrenzen von Zeilen- und Spaltenindex der Matrix einsetzen. Zeile 20: Die Matrix DynMat wird über die ReDim-Anweisung neu dimensioniert. Da nur der zweite Index von 4 auf 2 geändert wird, ist das Schlüsselwort Preserve erlaubt und sorgt dafür, dass die beiden ersten Spalten erhalten bleiben, die beiden letzten Spalten werden von der Garbage Collection entsorgt. Zeile 23: Wieder wird die dynamische Matrix neu dimensioniert, aber diesmal ist auch der erste Index betroen und daher ist Preserve verboten, also startet die verbliebene 10

13 1.2 Mehrdimensionale Datenfelder 2*2-Matrix mit frischen Werten, also lauter Nullen. Zeile 24: Der Ausgabebereich ist gröÿer als die Matrix, die überüssigen Zellen erhalten die Werte # NV. Zeile 26: Die VarType-Funktion liefert für beide Datenfelder den Wert 8195 = Diese Sub-Prozedur erzeugt die folgenden Werte im Bereich A1:O3 des zweiten Arbeitsblatts: A B C D E F G H I J K L M N O P Q R P #NV #NV 3 6 Abbildung 1.1: Ausgabe von zwei Sub-Prozeduren Der Typ Variant und Matrizen Besonders nützlich sind Variablen vom Typ Variant beim Auslesen von Werten aus einem rechteckigen Bereichen eines Arbeitsblatts. Es genügt die einfache Wertzuweisung mat = rg.value, wobei die Variable mat den Typ Variant und die Variable rg auf einen rechteckigen Bereich verweist. Die Variable mat wird dadurch als eine Matrix vom Typ Variant aufgefasst und so wie der Bereich dimensioniert. Die Anweisung mat = Sheets(1).[A1:D2] z.b. überträgt die Werte des Bereichs in eine Matrix mit 2 Zeilen und 4 Spalten. Zum derartigen Auslesen aus einem rechteckigen Bereich eignen sich nur Variablen vom Typ Variant. Diese Variable nimmt den Inhalt des angegebenen Bereichs auf und wird damit ein zweidimensionales Datenfeld, dessen Zeilen- und Spaltenzahl mit den entsprechenden Werten des Bereichs übereinstimmt. Eine ReDim-Anweisung ist danach jederzeit erlaubt. Beachten Sie, dass auch ein Bereich mit nur einer Spalte oder Zeile als Matrix und nicht als Vektor interpretiert wird, der Bereich A1:A4 etwa führt zu einer Matrix mit einer Spalte und 4 Zeilen, der Wert der Zelle A2 bendet sich in mat(2,1). Die Spalten P und Q der Abbildung 1.1 erzeugt die folgende Sub-Prozedur: Sub MatUndVariant() Dim mat As Variant mat = Sheets(2).[A1:D3] ReDim Preserve mat(3, 2) Sheets(2).[Q1].Resize(3, 2).Value = mat Debug.Print VarType(mat) 8204 = Die Ausgabe der VarType-Funktion zeigt, dass VBA nicht erkennt, dass in dem Bereich nur ganze Zahlen stehen. Matrizen die in der gezeigten Art aus Zellbereichen ihre Werte erhalten, haben immer Elemente vom Typ Variant. Setzt man eine solche Matrix in eine Arbeitsblattfunktion ein, die Zahlen erwartet, prüft Excel das dann nach. 11

14 1 Datenfelder (Arrays) Matrizen als Parameter Auch Matrizen können Argumente einer Prozedur sein, der entsprechende formale Parameter wird durch ein Paar von Klammern als Platzhalter für ein Datenfeld erkenntlich. Man darf aber auch den formalen Parameter vom Typ Variant wählen, dann aber ohne Klammern. Im folgenden Beispiel zeige ich beide Möglichkeiten. Die Funktion MatMax liefert das gröÿte Element einer Matrix, die Sub-Prozedur SetHilbert erzeugt die Hilbert-Matrix mit n Zeilen und n Spalten. Diese dient hier nur als Testobjekt, das Element a i,j hat den Wert 1/(i + j 1). Somit ist etwa a 1,1 = 1 und a 2,3 = a 3,2 = 1/4. Diese Matrix hat nur Elemente vom Typ Double, daher setze ich das auch bei der Erstellung der Prozedur fest. Das Maximum gibt dagegen für alle Zahlentypen und auch für den Typ String einen Sinn, deshalb verwende ich als formalen Typparameter Variant. Option Explicit Option Base 1 Function MatMax(ByRef m As Variant) As Variant Dim i As Long, j As Long MatMax = m(lbound(m, 1), LBound(m, 2)) For i = LBound(m, 1) To UBound(m, 1) For j = LBound(m, 2) To UBound(m, 2) If m(i, j) > MatMax Then MatMax = m(i, j) Next j Next i End Function Sub SetHilbert(ByRef H() As Double, ByVal n As Long) Dim i As Long, j As Long For i = 1 To n For j = 1 To n H(i, j) = 1 / (i + j - 1) Next j Next i Sub MatrixTest() Dim mat() As Double SetHilbert mat, 4 MsgBox MatMax(mat) In der Testprozedur wird die Matrix mat in die beiden Prozeduren eingesetzt. Das erfolgt immer ohne Klammern! 12

15 1.2.4 Matrizen und Arbeitsblattfunktionen 1.2 Mehrdimensionale Datenfelder Die Hilbert-Matrix ist ein klassischer Testfall für Computer-Programme zur Inversion von Matrizen bzw. Auösung linearer Gleichungssysteme, da man die Inverse genau berechnen kann. Alle Komponenten der inversen Matrix sind ganze Zahlen mit alternierenden Vorzeichen. Diese Zahlen werden aber mit wachsenden n immer gröÿer, weil die Hilbert-Matrix schlecht konditioniert ist. Deshalb liefern numerische Verfahren zur Berechnung der Inversen für groÿe Werte von n keine ganzen Zahlen, sondern beträchtliche Abweichungen. Der Grad der Abweichung ist ein Gütetest des untersuchten numerischen Verfahrens. Ein weiterer Test ist die Abweichung des Produkts der Hilbert-Matrix mit der berechneten Inversen von der Einheitsmatrix. Bei n = 12 sind nur noch drei Stellen hinter dem Komma genau, bei n = 25 hat die berechnete Inverse 15-stellige Zahlen, die weit von der Ganzzahligkeit entfernt sind und ihr Produkt mit der Hilbert-Matrix weicht stark von der Einheitsmatrix ab. VBA ist als Interpretersprache ungeeignet für aufwendige Matrizenrechnungen. Sehr schnell sind dagegen alle Rechnungen, wobei die Arbeitsblattfunktionen wie MMult oder MInv eingesetzt werden. Im folgenden Beispiel werden mit Arbeitsblattfunktionen die Determinante und die Inverse der Hilbert-Matrix bestimmt. Abschlieÿend werden die Hilbert-Matrix und die berechnete Inverse miteinander multipliziert und das Ergebnis ausgegeben. Theoretisch müsste sich die Einheitsmatrix ergeben, deshalb ist die Abweichung der berechneten Matrix zur Einheitsmatrix ein Test für die Präzision der eingebauten Algorithmen. Sub HilbertTest() Dim i As Long, j As Long, n As Long Dim mat() As Double, inv As Variant, idn As Variant n = InputBox("Dimension:", "Los", 4) SetHilbert mat, n MsgBox WorksheetFunction.MDeterm(mat) Sheets(3).Cells.Clear Sheets(3).[A1:AZ200].NumberFormat = " " inv = WorksheetFunction.MInverse(mat) idn = WorksheetFunction.MMult(mat, inv) Sheets(3).Cells(1, 1).Value = "Hilbert Matrix" Sheets(3).rows("2:" & CStr(n + 1)).NumberFormat = "#???/???" Sheets(3).Cells(2, 1).Resize(n, n).value = mat Sheets(3).Cells(3 + n, 1).Value = "Inverse Hilbert Matrix" Sheets(3).Cells(4 + n, 1).Resize(n, n).value = inv Sheets(3).Cells(5 + 2 * n, 1).Value = "Einheitsmatrix?" Sheets(3).Cells(6 + 2 * n, 1).Resize(n, n).value = idn 13

16 1 Datenfelder (Arrays) Sheets(3).[A:AZ].Columns.EntireColumn.AutoFit Arbeitsblattfunktionen geben Matrizen immer vom Typ Variant zurück, deshalb sind hier die Matrizen inv und idn so deklariert. Die Arbeitsblattfunktionen MMult und MInv dimensionieren die Matrizen immer richtig, also bitte keine ReDim-Anweisung. 1.3 Aufgaben Aufgabe 1. Schreiben Sie eine Funktion Vec2String(), die einen Vektor als Zeichenfolge der Form (v 1, v 2,..., v n ) ausgibt. Aufgabe 2. Für einen Vektor v ist die sogenannte Maximumsnorm als das Maximum der betragsmäÿig gröÿten Komponente deniert. Schreiben Sie die Funktion MaxNorm(). Aufgabe 3. Für einen Vektor v ist die sogenannte p-norm für p 1 durch folgende Formel festgelegt: ( u ) 1/p v p = v(i) p, (1.1) i=l wobei l und u den kleinsten bzw. gröÿten Index des Vektors bezeichnen. Schreiben Sie die Funktion PNorm(). Für p 0 ist der Ausdruck nicht deniert, die Funktion soll dann 1 ausgeben. Für 0 < p < 1 ist der Ausdruck zwar deniert, beschreibt aber keine Norm. Aufgabe 4. Schreiben Sie die Funktion MaxDist(), die für einen Vektor die gröÿte Dierenz zweier Komponenten angibt. Aufgabe 5. Schreiben Sie eine Funktion, die für einen Vektor v die Varianz berechnet. Diese ist für einen Vektor v durch folgende Formel festgelegt: σ 2 = u i=l v(i)2 n ( u i=l v(i) ) 2, (1.2) n wobei l und u den kleinsten bzw. gröÿten Index des Vektors bezeichnen. Aufgabe 6. In der Abbildung ist ein Arbeitsblatt zu sehen, wo in der Zelle B1 eine Zahl steht, die die Dimension eines Vektors angibt, dessen Komponenten sich in der ersten Zeile ab Spalte D benden. Ist etwa wie abgebildet dieser Wert gleich 7, so stehen in den Zellen D1 bis J1 die 7 Komponenten. Eine Test-Prozedur lese zunächst die Werte aus der Tabelle in einen Vektor ein und gebe dann den Vektor mit Hilfe der Prozedur Vec2String in einem Meldungsfenster aus. Die Funktionen der Aufgaben 2 bis 5 werden dann zur Ausgabe der Werte in den Zellen B3 bis B6 verwendet. 14

17 1.3 Aufgaben A B C D E F G H I J Dimension: p: 2 MaxNorm: 7 P-Norm: 10, MaxDist: 12 Varianz: 13, Aufgabe 7. Schreiben Sie eine Sub-Prozedur Sub ErzeugeRndVec(ByVal n As Long, ByRef w() As Long) die einen Vektor der Dimension n erzeugt, dessen Elemente zufällige ganzzahlige Werte zwischen 1 und 6 sind. Verwenden Sie die Funktion Rnd(), welche gleichverteilte Pseudozufallszahlen im Intervall [0, 1) liefert. Aufgabe 8. Schreiben Sie eine Sub-Prozedur, deren Argumente ein Vektor von Zahlen und eine Variable Auf vom Typ Boolean sind. Hat Auf den Wert True, so soll der Vektor aufsteigend, sonst absteigend sortiert werden. Aufgabe 9. Schreiben Sie eine Sub-Prozedur SwitchZ1Z2, deren Argumente eine beliebige Matrix und zwei ganze Zahlen Z1 und Z2 sind. Die Prozedur soll dann die Werte der Zeilen Z1 und Z2 vertauschen, sofern die Werte von Z1 und Z2 dafür geeignet sind. Aufgabe 10. Schreiben Sie eine Funktion, die überprüft, ob eine Matrix streng diagonaldominant ist. Eine (n n)-matrix A = (a ij ) heiÿt streng diagonaldominant, falls die Beträge ihrer Diagonalelemente a ii jeweils gröÿer sind als die Summe der Beträge der restlichen jeweiligen Zeileneinträge a ij, d.h. wenn für alle i {1,..., n} gilt n a ij < a ii. j=1 j i Aufgabe 11. Schreiben Sie eine Funktion, die für eine reelle (m n)-matrix A die Zeilensummennorm A zurückgibt. Die Berechnung der Zeilensummennorm erfolgt durch die Ermittlung der Betragssumme jeder Zeile und dann durch Auswahl des Maximums dieser Werte: A = max i=1,...,m n a ij. Die Matrix muss nicht quadratisch sein. Cracks können auch die Zeilensummennorm für komplexwertige Matrizen schreiben und dabei den benutzerdenierten Typ Komplex verwenden. Aufgabe 12. Man schreibe eine Sub-Prozedur Estimation(), welche multiple lineare Regression wie abgebildet löst: In erster Spalte steht nur ein Zähler, in der zweiten bis zur vorletzten Spalte folgt die Designmatrix, in der letzten Spalte bendet sich der j=1 15

18 1 Datenfelder (Arrays) Datenvektor Y. Nach einer leeren Spalte sollen dann die geschätzten Werte von β und Ŷ sowie das Bestimmtheitsmaÿ R 2 erscheinen, das ist der Teil, der zu programmieren ist. Die Daten stammen von Conway, alle Geldangaben in britischem Pfund, als es noch was wert war. Bitte verwenden Sie folgende Formeln: β = (X T X) 1 X T Y, Ŷ = X β n i=1 (Ŷi Y) 2 R 2 = n i=1 ( Yi Y ) A B C D E F G H I Design-Matrix X Y Ergebnisse Wöchentliches Bildung in Ausgaben i Einkommen Jahren für Bücher BetaDach YDach R , ,00-0, ,4926 0, , ,27 0, , , ,39 10, , , ,34 50, , ,15 50, , ,15 82, , ,18 52, , ,66 63, , ,21 117, , ,32 86, , ,08 66, , ,27 76, , ,05 56, , ,27 66, , ,08 87, , ,10 111, , ,42 104, , ,30 128,6641 Abbildung 1.2: Regression 16

19 Index Datenfeld mehrdimensionales, 8 Datenfeld, 1 Dimension, 2 Elemente, 1 Index, 1 LBound-Funktion, 2 Matrix, 9 Option Base 1, 3 Preserve, 4 UBound-Funktion, 2 Vektor, 1 17

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

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

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

Access [basics] Programmieren mit Arrays. Beispieldatenbank. Arrays. Eindimensionale Arrays. VBA-Grundlagen Programmieren mit Arrays Dass Sie unter Access Daten in Tabellen speichern und gezielt darauf zugreifen können, wissen Sie als Access [basics]-leser schon längst. Aber was, wenn Sie nur ein paar gleichartige Daten zwischenspeichern

Mehr

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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen. Zusätze zum Gelben Rechenbuch LU-Zerlegung Peter Furlan Verlag Martina Furlan Inhaltsverzeichnis Definitionen 2 (Allgemeine) LU-Zerlegung 2 3 Vereinfachte LU-Zerlegung 3 4 Lösung eines linearen Gleichungssystems

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Zur drittletzten Zeile scrollen

Zur drittletzten Zeile scrollen 1 Fragen und Antworten zur Computerbedienung Thema : Zur drittletzten Zeile scrollen Thema Stichwort Programm Letzte Anpassung Zur drittletzten Zeile scrollen Scrollen VBA Excel 1.02.2014 Kurzbeschreibung:

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

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

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

4 Vorlesung: 21.11. 2005 Matrix und Determinante

4 Vorlesung: 21.11. 2005 Matrix und Determinante 4 Vorlesung: 2111 2005 Matrix und Determinante 41 Matrix und Determinante Zur Lösung von m Gleichungen mit n Unbekannten kann man alle Parameter der Gleichungen in einem rechteckigen Zahlenschema, einer

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

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

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 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik Abitur 8 II. Insektenpopulation LA/AG In den Tropen legen die Weibchen einer in Deutschland unbekannten Insektenpopulation jedes Jahr kurz vor Beginn der Regenzeit jeweils 9 Eier und sterben bald darauf.

Mehr

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Wir wollen wissen wieviel Umsatz Vertreter Müller im Juni gemacht hat? Dazu klicken wir irgendwo in ein Feld und geben ein: =SVERWEIS

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Gantt-Diagramm - Diagramm zur Projektverfolgung

Gantt-Diagramm - Diagramm zur Projektverfolgung Gantt-Diagramm - Diagramm zur Projektverfolgung 5.06.206 3:29:35 FAQ-Artikel-Ausdruck Kategorie: Windows::MS Office::Excel Bewertungen: 0 Status: öffentlich (Alle) Ergebnis: 0.00 % Sprache: de Letzte Aktualisierung:

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Dokumentation. estat Version 2.0

Dokumentation. estat Version 2.0 Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6

1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6 Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 15. Lösung linearer Gleichungssysteme Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen 1. Einführung Über die Tabellen-Auswertungen können Sie eigene Auswertungen nach Ihren Wünschen erstellen. Diese Auswertungen werden immer anhand der aktuellen Daten aus orgamax ermittelt, Sie können also

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Einführung in die Vektor- und Matrizenrechnung. Matrizen Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

R ist freie Software und kann von der Website. www.r-project.org

R ist freie Software und kann von der Website. www.r-project.org R R ist freie Software und kann von der Website heruntergeladen werden. www.r-project.org Nach dem Herunterladen und der Installation von R kann man R durch Doppelklicken auf das R-Symbol starten. R wird

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

Microsoft Excel 2010 Mehrfachoperation

Microsoft Excel 2010 Mehrfachoperation Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2010 Mehrfachoperation Mehrfachoperationen in Excel 2010 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Mehrfachoperation mit

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung in SPSS. Daten zusammenfügen Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

SUDOKU - Strategien zur Lösung

SUDOKU - Strategien zur Lösung SUDOKU Strategien v. /00 SUDOKU - Strategien zur Lösung. Naked Single (Eindeutiger Wert)? "Es gibt nur einen einzigen Wert, der hier stehen kann". Sind alle anderen Werte bis auf einen für eine Zelle unmöglich,

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder

Mehr

Text-Zahlen-Formatieren

Text-Zahlen-Formatieren Text-Zahlen-Formatieren Beobachtung: Bei der Formatierung einer Zahl in eine Textzahl und umgekehrt zeigt Excel ein merkwürdiges Verhalten, welches nachfolgend skizziert werden soll: Wir öffnen eine neue

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Whitepaper. Produkt: combit factura manager. Mehrwertsteuererhöhung durchführen. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit factura manager. Mehrwertsteuererhöhung durchführen. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit factura manager Mehrwertsteuererhöhung durchführen Mehrwertsteuererhöhung durchführen - 2 - Inhalt Aufgabenstellung 3 Allgemeine Hinweise

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

Quadratische Gleichungen

Quadratische Gleichungen Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl

Mehr

Zm Eingewöhnen Aufgabe 1 Schreiben Sie ein Programm, daß Ihren Namen in einem Fenster ausgibt.

Zm Eingewöhnen Aufgabe 1 Schreiben Sie ein Programm, daß Ihren Namen in einem Fenster ausgibt. Zm Eingewöhnen Aufgabe 1 Schreiben Sie ein Programm, daß Ihren Namen in einem Fenster ausgibt. Aufgabe 2 Das nächste Programm soll 2 Zahlen einlesen und die zweite von der ersten abziehen! Das Ergebnis

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03

Reihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen

Mehr

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

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten bedingten Wahrscheinlichkeit. Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden

Mehr

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein

Mehr

Repetitionsaufgaben Wurzelgleichungen

Repetitionsaufgaben Wurzelgleichungen Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Physiker II, SS Mittwoch 8.6 $Id: jordan.tex,v.6 /6/7 8:5:3 hk Exp hk $ 5 Eigenwerte und die Jordansche Normalform 5.4 Die Jordansche Normalform Wir hatten bereits erwähnt, dass eine n n

Mehr

Die besten Excel-Tastenkombinationen im Überblick

Die besten Excel-Tastenkombinationen im Überblick Die besten Excel-Tastenkombinationen im Überblick Erfahrungsgemäß sind es nicht unbedingt die umfangreichen Tipps, die den Nutzen haben. So kann dir häufig schon eine kleine Hilfe bei der täglichen Arbeit

Mehr

Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen.

Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen. Vorbemerkung Diese Unterlage bezieht sich auf Excel 2010 (auf Deutsch). Die Benutzeroberfläche kann in anderen Versionen der Software erheblich anders aussehen. Einiges, das bei der Bearbeitung der Übung

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Aufgabe 12 Nach dem Eintippen der Kantenlänge soll die folgende Tabelle den Rauminhalt und die Oberfläche eines Würfels automatisch berechnen.

Aufgabe 12 Nach dem Eintippen der Kantenlänge soll die folgende Tabelle den Rauminhalt und die Oberfläche eines Würfels automatisch berechnen. Aufgabe 11 Excel hat für alles eine Lösung. So kann das Programm automatisch den größten oder den kleinsten Wert einer Tabelle bestimmen. Wenn man die richtige Funktion kennt, ist das überhaupt kein Problem.

Mehr

Prüfung Computation, Programming

Prüfung Computation, Programming Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen. Medizintechnik MATHCAD Kapitel. Einfache Rechnungen mit MATHCAD ohne Variablendefinition In diesem kleinen Kapitel wollen wir die ersten Schritte mit MATHCAD tun und folgende Aufgaben lösen: 8 a: 5 =?

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Feiertage in Marvin hinterlegen

Feiertage in Marvin hinterlegen von 6 Goecom GmbH & Co KG Marvin How to's Feiertage in Marvin hinterlegen Feiertage spielen in Marvin an einer Reihe von Stellen eine nicht unerhebliche Rolle. Daher ist es wichtig, zum Einen zu hinterlegen,

Mehr

Zinsrechner. Bedienungsanleitung

Zinsrechner. Bedienungsanleitung Zinsrechner Bedienungsanleitung Medcontroller Dragonerstraße 35 30163 Hannover Telefon: 0511 397 0990 kundenservice@medcontroller.de www.medcontroller.de Inhaltsverzeichnis Hintergrund... 2 Nutzungsbedingungen

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Wir basteln einen Jahreskalender mit MS Excel.

Wir basteln einen Jahreskalender mit MS Excel. Wir basteln einen Jahreskalender mit MS Excel. In meinen Seminaren werde ich hin und wieder nach einem Excel-Jahreskalender gefragt. Im Internet findet man natürlich eine ganze Reihe mehr oder weniger

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Text Formatierung in Excel

Text Formatierung in Excel Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden

Mehr

Stundenerfassung Version 1.8

Stundenerfassung Version 1.8 Stundenerfassung Version 1.8 Anleitung Überstunden Ein Modul der Plusversion 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt.

Mehr