Generierung von Zufallszahlen gemäß einer vorgegebenen diskreten Verteilung
|
|
- Regina Althaus
- vor 6 Jahren
- Abrufe
Transkript
1 Generierung von Zufallszahlen gemäß einer vorgegebenen diskreten Verteilung Die folgende Fallstudie eignet sich sehr gut zur Einarbeitung in die objektorientierte Programmierung. Es wird zunächst eine Klasse beschrieben, welche diskrete Zufallszahlen generiert. Danach wird gezeigt, wie man diesen Zufallszahlengenerator von einem Formular aus benutzen kann. Zufallszahlen werden häufig für Simulationsanwendungen gebraucht. Beispiel: Simulation eines Geldautomaten zur Optimierung der Füllung und der Auszahlungsstrategie. Man führt hierzu nacheinander eine größere Zahl fiktiver Abhebungen an dem gedachten Automaten durch und protokolliert, wie sich diese Abhebungen auf den Geldbestand und die Zahlungsfähigkeit des Automaten auswirken. Die Abhebungsbeträge werden mit Hilfe eines Zufallszahlengenerators gefunden. Natürlich sollen die generierten Abhebungsbeträge der Verteilung der tatsächlichen Abhebungen entsprechen. Belaufen sich z.b. in der Realität 50% der Abhebungen auf einen Betrag von 300, so sollen auch annähernd 50% der generierten Abhebungen diesem Betrag entsprechen. Man muss also dem Generator eine Häufigkeits- bzw. Wahrscheinlichkeitsverteilung der möglichen Beträge vorgeben können. Die ersten beiden Spalten der unten stehenden Tabelle zeigen, wie eine solche Verteilungsvorgabe aussehen kann. Die erst Spalte enthält die möglichen Werte, die zweite deren relative Häufigkeit bzw. Wahrscheinlichkeit in Prozent. Diese ersten beiden Spalten repräsentieren die sogenannte Wahrscheinlichkeitsfunktion. Die dritte Spalte enthält die kumulierten Wahrscheinlichkeiten, repräsentiert also mit der ersten Spalte zusammen die Verteilungsfunktion ( Summenkurve ). Die Spalten vier und fünf sind lediglich Umformungen der Spalten zwei und drei. Die Prozentangaben sind darin durch Anteilsangaben im Bereich [0, 1] ersetzt. Dies ist für die weitere Argumentation bequemer. Das folgende Bild zeigt die Graphen der Wahrscheinlichkeits- (links) und der Verteilungsfunktion (rechts).
2 Wie können wir Zufallszahlen generieren, die der dargestellten Verteilung entsprechen? In VBA haben wir, wie in den meisten Programmierumgebungen, nur einen Standard-Zufallszahlengenerator zur Verfügung, welcher gleichverteilte kontinuierliche Zufallszahlen im Bereich [0, 1[ erzeugt. Der diesbezügliche Befehl heißt Rnd (für random). Mit den folgenden Anweisungen können wir einer Variablen eine solche Standard-Zufallszahl zuweisen: Dim r As Double r = Rnd Das folgende Bild veranschaulicht das Prinzip, mit dem wir gleichverteilte kontinuierliche Zufallszahlen im Bereich [0, 1[ in diskrete Zufallszahlen mit der gewünschten Verteilung verwandeln können. Wir teilen hierfür den Wertebereich [0, 1[ der Standard-Zufallszahl in Teilbereiche auf, welche den Wahrscheinlichkeiten der Werte der gewünschten Verteilung entsprechen. Dabei beginnen wir mit dem kleinsten Wert. Dieser ist hier 50, seine Wahrscheinlichkeit beträgt 0,1 bzw. 10%. Die übrigen Werte werden in derselben Weise angefügt. Das so erzeugte Raster ist das Vehikel zur Umwandlung in die diskreten Werte. Generieren wir eine größere Menge von Standard-Zufallszahlen, so werden sich rund 10 % davon zwischen 0 und 0,1 befinden, also im Bereich des Werts 50, weitere 20% im Bereich des Werts 100, weitere 10% im Bereich des Werts 200 und so fort. Wenn wir also jeder Standard-Zufallszahl den diskreten Wert zuordnen, der dem Bereich entspricht, in den sie fällt, so erhalten wir damit Zufallszahlen der gewünschten diskreten Verteilung. Hierzu ein Beispiel: Eine mit Rnd erzeugte Standard-Zufallszahl sei Da dieser Wert sich im Bereich [0.3, 0.4[ des diskreten Werts 200 befindet, leiten wir davon die Zahl 200 ab. Die Berechnung dieses Umformungsraster macht keinen großen Aufwand, denn es ergibt sich aus den Ordinatenwerten der oben dargestellten Verteilungsfunktion. Diese bilden die Grenzen der Teilbereiche, die wir als Basis für die Umwandlung brauchen. Zur Verdeutlichung ist im folgenden Bild noch einmal die Verteilungsfunktion abgebildet, nun aber mit eingezeichneten Bereichsgrenzen.
3 Die Klasse DiscrDistGenerator (Zufallsgenerator) Die Klasse beginnt mit der Deklaration einer Instanzenvariablen s. Sie soll, in tabellarischer Form, die Verteilungsfunktion aufnehmen, welche der Generierung der Zufallszahlen zugrunde gelegt wird (s. oben). Es folgen dann drei Methoden; davon sind die ersten beiden die wichtigsten. Die Methode setdist nimmt ein Array entgegen, das die Wahrscheinlichkeitsfunktion der gewünschten Verteilung, also die möglichen Werte und ihre Wahrscheinlichkeiten, in tabellarischer Form enthält. Die Wahrscheinlichkeiten sind darin in % ausgedrückt. In setdist wird aus dieser Wahrscheinlichkeitsfunktion die Verteilungsfunktion abgeleitet und in der Instanzenvariablen s abgelegt. Methode rdist erzeugt einen einzigen Zufallswert gemäß der in s enthaltenen Verteilung auf der Basis einer gleichverteilten Standardzufallszahl runi, welche als Parameter übergeben wird. Wie oben ausgeführt, muss hierfür der Teilbereich innerhalb des Gesamtbereichs [0, 1[ identifiziert werden, in den runi fällt. Man könnte runi auch direkt innerhalb der Methode mit dem Befehl Rnd erzeugen, jedoch eröffnet die gewählte Lösung mit der Parameterübergabe die Möglichkeit, beliebige Zufallsgeneratoren zur Erzeugung von runi einzusetzen. Die Methode nvalues dient lediglich der Bequemlichkeit der Benutzer der Klasse. Sie erzeugt ein Array mit einer vorgegebenen Anzahl von Zufallszahlen. Hierfür wird die Methode rdist zur Erzeugung der einzelnen Zahlen aufgerufen. Option Explicit Private s() As Double 'Summenkurve (Verteilungsfunktion) 'aus der Verteilung v die Summenkurve s ableiten Public Sub setdist(byref v() As Double) Dim i As Integer ReDim s(1 To UBound(v, 1), 1 To 2) s(1, 1) = v(1, 1) s(1, 2) = v(1, 2) / 100 For i = 2 To UBound(s, 1) s(i, 1) = v(i, 1)
4 s(i, 2) = s(i - 1, 2) + v(i, 2) / 100 End Sub 'aus der gleichverteilten Zufallszahl runi einen Zufallswert ableiten Public Function rdist(byval runi As Double) As Double Dim i As Integer rdist = s(1, 1) For i = 2 To UBound(s, 1) If runi >= s(i - 1, 2) And runi < s(i, 2) Then rdist = s(i, 1) Exit For End If End Function 'ein Array mit n Zufallswerten generieren Public Function nvalues(byval n As Integer) As Double() Dim v() As Double ReDim v(1 To n, 1 To 1) Dim i As Integer For i = 1 To n v(i, 1) = rdist(rnd) nvalues = v End Function Eine Beispielanwendung, die den Zufallszahlengenerator verwendet In der folgenden Anwendung wird ein kleines Formular benutzt, um eine bestimmte, vom Benutzer vorzugebende Anzahl von Zufallszahlen zu erzeugen und auf einem Arbeitsblatt auszugeben (s. folgendes Bild). Die Wahrscheinlichkeitsfunktion der gewünschten Verteilung, bestehend aus den möglichen Werten und ihren in Prozent ausgedrückten Wahrscheinlichkeiten, muss vorher in tabellarischer Form eingegeben worden sein. Das Formular sollte mit Hilfe einer Prozedur in nichtmodaler Form gestartet werden. Nach dem Öffnen des Formulars gibt der Benutzer den Bereich des Arbeitsblatts ein, auf dem sich die Wahrscheinlichkeitsfunktion befindet. Zum Einlesen wird ein RefEdit-Steuerelement benutzt. Wurde bereits vor dem Starten der Maske dieser Bereich markiert, so ist das Steuerelement nach dem Start bereits mit diesem Bereich gefüllt. Die Anzahl der Zufallszahlen wird vom Benutzer mit Hilfe eines Auswahlfelds (ComboBox) festgelegt. Zur Auswahl stehen die Werte 10, 50, 100 und Danach wird die Erzeugung der Zahlen durch Anklicken der Schaltfläche <Zufallswerte generieren> gestartet. Fehler bei der Eingabe können lediglich beim RefEdit-Steuerelement vorkommen. Falls dieses Feld keine verwertbare Bereichsangabe enthält, wird eine entsprechende Fehlermeldung in einer MsgBox ausgegeben. Der Benutzer hat danach die Möglichkeit, seine Eingaben zu korrigieren.
5 Wir betrachten nun die Formularklasse ZZGeneratorForm. Die Instanzenvariable gen der oben beschriebenen Klasse DiscrDistGenerator wird innerhalb der Methode UserForm_Initialize mit einem Objekt dieser Klasse besetzt und steht danach der Methode GenerierenBtn_Click zur Verfügung. Diese leistet die Hauptarbeit, indem sie zunächst den im RefEdit-Steuerelement genannten Bereich liest und mit Hilfe der Hilfsfunktion RangeToDoubleMatrix in ein Array v umwandelt. Dieses Array wird dann dem Generator-Objekt übergeben, so dass dieses die in v enthaltene Verteilungsfunktion bei der Erzeugung der Zufallszahlen berücksichtigen kann. Anschließend werden die Zufallszahlen mit Hilfe der Methode nvalues vom Generator abgerufen und in das Arbeitsblatt eingestellt. Option Explicit Private gen As DiscrDistGenerator 'Aktionen beim Öffnen des Formulars Private Sub UserForm_Initialize() Set gen = New DiscrDistGenerator Me.AnzahlCBx.AddItem ("10") Me.AnzahlCBx.AddItem ("50") Me.AnzahlCBx.AddItem ("100") Me.AnzahlCBx.AddItem ("1000") Me.AnzahlCBx.Value = "50" Me.DistrREd.Text = ActiveWindow.RangeSelection.Address End Sub 'Aktionen nach Anklicken des Buttons <Generieren> Private Sub GenerierenBtn_Click() Dim rng As Range 'für die Verteilung Dim v() As Double 'für die Verteilung Dim z() As Double Dim i As Integer, n As Integer
6 'dem Generator die Verteilung übergeben On Error GoTo errorhandler Set rng = Range(Me.DistrREd.Text) v = RangeToDoubleMatrix(rng) gen.setdist v 'die Zufallswerte abrufen und ausgeben n = CInt(Me.AnzahlCBx.Text) z = gen.nvalues(n) Worksheets("Tabelle1").Range("E:E").Clear Worksheets("Tabelle1").Range("E2:E" & (n + 1)) = z Exit Sub errorhandler: MsgBox "Bitte den Bereich mit der Verteilung eingeben" Me.DistrREd.SetFocus End Sub 'Umwandlung eines Range in ein 2-dimensionales Array Public Function RangeToDoubleMatrix(ByVal rng As Range) As Double() Dim m() As Double Dim i As Integer, j As Integer ReDim m(1 To rng.cells.rows.count, 1 To rng.cells.columns.count) For i = 1 To UBound(m, 1) For j = 1 To UBound(m, 2) m(i, j) = CDbl(rng.Cells(i, j).value) Next j RangeToDoubleMatrix = m End Function Beachten Sie die Validierung der Bereichseingabe in das Steuerelement DistrREd. Eingaben dieser Art sind sehr schwer zu überprüfen. Man kann sich in solchen Fällen behelfen, indem man die Anweisung On Error GoTo vor die fehlerträchtigen Anweisungen setzt. Tritt dann tatsächlich ein Fehler auf, so wird die Marke angesprungen, welche nach dem GoTo genannt ist, hier also errorhandler. Dort erfolgt dann die Fehlerbehandlung.
Fallstudie: Simulation eines Geldautomaten
Fallstudie: Simulation eines Geldautomaten Diese Fallstudie ist in Bezug auf folgende Punkte interessant: Es wird darin gezeigt, wie ein selbst programmierter Zufallszahlengenerator in Simulationen eingesetzt
MehrOLConnector Programmierung
Das Vorgehen, um Outlook zu automatisieren, unterscheidet sich mit dem nur geringfügig vom üblicherweise dafür eingesetzten. Um irgendwelche Aktionen ausführen zu können, benötigt man die laufende Instanz
MehrMakro + VBA 2007 effektiv
Daten Makro + VBA 2007 effektiv 5 DATEN 5.1 Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten, siehe Seite 84, jederzeit im Programm verändert werden. Als Variablen können
MehrKlausur SS 2014 EDV Anwendungen im Bauwesen. Name: Vorname: Matr.-Nr:
Name: Vorname: Matr.-Nr: Punkte: 1 2 3 4 : / 40 Aufgabe 1: (10 Punkte) Das unten angegebene VBA-Programm enthält einige syntaktische und programmiertechnische Fehler. Gesucht: a) markieren Sie alle Fehler
MehrAlgorithmen 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
MehrKlausur SS 2011 EDV Anwendungen im Bauwesen 2. Name: Vorname: Matr.-Nr:
Name: Vorname: Matr.-Nr: Punkte: 1 2 3 4 : / 40 Aufgabe 1: Das unten angegebene VBA-Programm zur Berechnung des Winkels zwischen zwei Vektoren in R n ist logisch richtig programmiert, enthält aber einige
MehrInformationsverarbeitung 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
Mehrzu 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
MehrModul 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
MehrINFORMATIK 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
Mehr6 Technische Statistik und Wahrscheinlichkeitsrechnung
1 6 Technische Statistik und Wahrscheinlichkeitsrechnung 6.1 Die Binominalverteilung Diese Verteilung wird auch als Bernoullische oder Newtonsche Verteilung bezeichnet. Dabei handelt es sich um eine diskrete
MehrArrays. 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
MehrProgrammieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen
Programmieren mit Excel VBA Teil 2 Formulare als Benutzerschnittstellen Peter K. Antonitsch HTBL Mössingerstr. 25 pantonit@htblmo-klu.ac.at Formulare VBA-Editor: Einfügen User Form Peter K. Antonitsch
MehrInformationsverarbeitung im Bauwesen
12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA CustomViews in VBA nutzen HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.9 CustomViews in VBA nutzen Erstellt am 15.10.2011 Beschreibung In Excel besteht die Möglichkeit, benutzerdefinierten Ansicht zu
MehrZur 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:
Mehr17 VBA-Praxisbeispiel
17 VBA-Praxisbeispiel Nicht nur in unserer Ferienappartementsiedlung Casa Maria, auch im Rest der Toskana hält man sich an das alte Sprichwort»Di giove e di marte non si sposa e non si parte. Donnerstags
MehrMichaela Weiss 30. März 2015. Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe
Michaela Weiss 30. März 2015 Lerneinheit 3: Teil 1: Eingabe/Ausgabe Seite 2 Was ist das? Visual Basic: Programmiersprache von Microsoft Applications: Programme der Office-Familie (z.b. Excel, Word, ) :
Mehrzu 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
MehrExcel 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
MehrMit ParamArrays unter VBA kann man Prozeduren und Funktionen mit einer flexiblen Anzahl von Parametern bestücken Kontext
Mit ParamArrays unter VBA kann man Prozeduren und Funktionen mit einer flexiblen Anzahl von Parametern bestücken Kontext Dieses Beispiel baut auf dem Artikel Anzahl Zeilen und Spalten eines Range-Objektes
MehrUniversitä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.-
MehrDV-Organisation und Anwendungsentwicklung. 4. Klausur
WADV 1b 29.04.2005 120 Min. 1 DV-Organisation und Anwendungsentwicklung 4. Klausur A1 A2 A3 SUMME Maximale Punktzahl 20 15 25 60 Erreichte Punktzahl NOTE: WADV 1b 29.04.2005 120 Min. 2 Aufgabe 1 [Wissensfragen,
MehrMakro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)
Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox GUI Form erstellen (UserForm) GUI definieren Aktivitäten programmieren Programmcode für das Zufügen von Zell Werten Struktogramm
MehrAccess [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
Mehr5 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
Mehr1 Excel Schulung Andreas Todt
1 Excel Schulung Andreas Todt Inhalt 1 Darum geht es hier... 1 2 So wird es gemacht... 1 2.1 Zellen und Blatt schützen... 1 2.2 Arbeitsmappe schützen... 5 2.3 Schritt für Schritt... 6 1 Darum geht es hier
Mehrorgexterndoc31 Inhaltsverzeichnis Einleitung... 1 Installation... 3 Grundinstallation... 3 Installation pro Arbeitsplatz... 6 Lizenzierung... 7 Benutzung Einzeldokument... 9 1. Möglichkeit:... 9 2. Möglichkeit...
MehrMicrosoft Access 2010 Bilder
Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis
MehrDatenverarbeitung Klausur Gruppe A
Datenverarbeitung Klausur Gruppe 14.07.2009 Nachname: Vorname: Mat.-Nr.: nrede: Frau Herr Studiengang: Fahrzeugbau (Bachelor) Flugzeugbau (Bachelor) Fahrzeugbau (Diplom) Flugzeugbau (Diplom) Die Bearbeitungszeit
MehrAlgorithmen 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
MehrRichtig Einsteigen: Excel 2007 mit VBA programmieren lernen Weber
Richtig Einsteigen: Excel 2007 mit VBA programmieren lernen Von aufgezeichneten Makros bis zu professionellen VBA-Code von Monika Weber 1. Auflage Richtig Einsteigen: Excel 2007 mit VBA programmieren lernen
MehrProgrammieren in Anwendungen
Programmieren in Anwendungen Annette Bieniusa Technische Universität Kaiserslautern bieniusa@cs.uni-kl.de 15.05.2014 1 / 28 Überblick Hinweise zu Übungsblatt 1 Arbeit mit dem Dateisystem Sicherheitsaspekte
MehrAnleitung zum Applet
Vertrauensbereich für Anteile (Binomialverteilung) 1 Anleitung zum Applet Vertrauensbereich für Anteile (Binomialverteilung) bearbeitet von: Armin Heiter WS 2007/2008 IN betreut von: Prof. Dr. Wilhelm
Mehr1.) Behandlung von Laufzeitfehlern in Visual Basic
1.) Behandlung von Laufzeitfehlern in Visual Basic Laufzeitfehler sind Fehler, die während der Programmausführung (Laufzeit) auftritt. Laufzeitfehler werden in der Regel nicht direkt durch den Programmcode,
MehrAlgorithmen 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
MehrSTACK Mathematische Aufgaben mit ILIAS testen (Ein Frage-Typ im ILIAS-Objekt Test)
STACK Mathematische Aufgaben mit ILIAS testen (Ein Frage-Typ im ILIAS-Objekt Test) Inhalt: Einleitung Vorteile von STACK-Fragen Beispielaufgabe Generierung einer Zufallsfrage 1. Einleitung Der elektronische
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.23 Sequentielle Textdateien Erstellt am 12.02.2012 Beschreibung In Textdateien lassen sich schnell Informationen speichern und auch
MehrExcel VBA Fehler im Programm
Excel VBA Fehler im Programm Fehler (Bugs) Syntaxfehler entstehen beim Schreiben des Programmcodes. Logische Fehler können durch Denkfehler bei der Umsetzung der Aufgabe in ein Programm erzeugt werden.
Mehr1. Auswählen der mit Blattschutz versehenen Datei
1. Auswählen der mit Blattschutz versehenen Datei 2. Screenshot der mit 7-z geöffneten ExcelDatei mit Ordnerstruktur 3. Der markierte Ordner xl 4. Im Ordner xl geht es weiter zum Ordner workbooks 5. Nach
MehrAccess Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P
Access 2013 Ricardo Hernández García 1. Ausgabe, November 2013 Programmierung ACC2013P Die VBA-Entwicklungsumgebung 5 Weitere Eingabehilfen Im Menü Bearbeiten finden Sie noch weitere Hilfen, die Ihnen
Mehr12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?
Wo kann eigene Programmierung in ArcGIS verwendet werden? 12. ArcView-Anwendertreffen 2010 Workshop Programmierung in ArcGIS Daniel Fuchs 1) Makros für die Automatisierung einzelner Arbeitsschritte im
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Objektbindungen und Verweise HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.20 Objektbindungen und Verweise Erstellt am 01.12.2011 Beschreibung Den eigentlichen Funktionsumfang erhält Excel durch seine Objektbibliotheken.
MehrVBA Programmierung Einführung
Tabellen_Formulare_Schaltflächen_VBA.odt Autor: Version:1.0 VBA Programmierung Einführung Modulname: Pizzaformular Stand: 8. Dez 2016 Christine Janischek Berufliches Schulzentrum Wangen Seite
MehrKlausur SS 2013 EDV Anwendungen im Bauwesen. Name: Vorname: Matr.-Nr:
Name: Vorname: Matr.-Nr: Punkte: 1 2 3 4 : / 40 Aufgabe 1: (10 Punkte) Das unten angegebene VBA-Programm zur Prüfung von Eingabewerten ist logisch richtig programmiert, enthält aber einige syntaktische
Mehr4 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
MehrErweiterung 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
MehrEinführung in die Programmierung für NF MI. Übung 04
Einführung in die Programmierung für NF MI Übung 04 Inhalt Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 04 2 Arrays Arrays repräsentieren Reihungen von Objekten, z.b. Variablen
MehrSkriptum Bauinformatik SS 2013 (Vorlesung IV)
Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...
MehrVerteilung des Korrelationskoeffizienten r. für zwei unabhängige normalverteilte Merkmale. Studie
für zwei unabhängige normalverteilte Merkmale Studie Autor: Helmut Vetter Ort, Datum: Arlesheim, 23.07.2017 Diese Arbeit wurde mit TexLive erstellt. Als Berechnungstool wurde Excel und VBA-Basic verwendet.
MehrProgrammieren in Anwendungen
Programmieren in Anwendungen Annette Bieniusa Technische Universität Kaiserslautern bieniusa@cs.uni-kl.de 07.05.2015 1 / 29 Überblick Aufwärmübung Arbeit mit dem Dateisystem Ereignisorientierte Programmierung
MehrInhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog
Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Windows Form einfügen... 2 Steuerelemente einfügen... 2 Steuerelemente Titel und Name... 3 Dialog Laden
MehrVariablen und Konstanten
Variablen und Konstanten Variablen und Konstanten werden benötigt, um sich in Prozeduren Werte zu merken oder zu übergeben. Es gibt numerische Werte (1 / 10,9) und es gibt alphanumerische Zeichenfolgen
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Namen in VBA nutzen HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.8 Namen in VBA nutzen Erstellt am 15.10.2011 Beschreibung Eine der großen Stärken von Excel ist die Vergabe von Namen für Zellen
MehrÜberschrift/Caption. Eigenschaftenfenster
UsserrForrm errssttel llen Dass Codeffensstterr 22000044 NNi iikkoo BBeecckkeerr Öffnen Sie EXCEL und wechseln Sie mit der Tastenkombination Alt + F11 in den Visual Basic-Editor. Alternativ können Sie
MehrMicrosoft Visio 2007-Programmierung
René Martin Microsoft Visio 2007-Programmierung ISBN-10: 3-446-41084-8 ISBN-13: 978-3-446-41084-8 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41084-8 sowie im
MehrWerte zu Kombinationsfeldern hinzufügen
Kombinationsfelder bieten meist Daten aus Lookup-Tabellen zur Auswahl an. Das bedeutet, dass Sie damit etwa die Anrede oder den Titel einer Person festlegen können, wobei Anreden und Titel in separaten
Mehr1 Visual Basic for Application mit Excel (VBA)
Informatikfreikurs WS 2008/2009 1 1 Visual Basic for Application mit Excel (VBA) 1.1 Mosaik Puzzle Das untenstehende Zahlenschema ist ein sogenanntes Mosaik Puzzle. Jede Zahl zeigt an, wie viele der (höchstens
MehrVorbemerkungen. Die Programmieroberfläche des ClassPad
Vorbemerkungen Erfahrungen zeigen, dass die Programmiermöglichkeiten des ClassPad im Unterricht kaum genutzt werden. Dabei bieten aus unserer Sicht viele Situationen die Gelegenheit, die Programmieroberfläche
MehrVerteilte Datenbanken
Verteilte Datenbanken André Minhorst, Duisburg Kleinere Datenbankanwendungen mit wenigen Inhalt Benutzern und nicht allzu großem Datenverkehr 1 Gründe für verteilte Anwendungen... 1 können auch im Netzwerk
MehrEinfü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
MehrWhite Paper Wählen-Buttons in Excel
White Paper Wählen-Buttons in Excel Seite 2 White Paper... 1 Wählen-Buttons in Excel... 1 Wählen-Button in einer Tabelle... 3 Schritt 1: Excel-Datei öffnen... 3 Schritt 2: Button einbauen... 3 Schritt
MehrEinführung in die Informatik - Teil 6a -
Eckart Modrow Felder mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6a - Felder mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Eine eigene Klasse Feldverwalter 3. Den Feldverwalter
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrIntegration des VBA-Codes in Excel-Tabellen, Zugriff auf Datenbanken. Bernd Blümel
Integration des VBA-Codes in Excel-Tabellen, Zugriff auf Datenbanken Bernd Blümel Version: 25. Mai 2004 Inhaltsverzeichnis 1 Integration des VBA-Codes in Excel 2 1.1 Benutzerdefinierte Tabellenfunktionen.........................
MehrAccess-Benutzeroberfläche
Mit Access 2007 hat Microsoft das Ribbon eingeführt und Access seiner Werkzeuge beraubt, Menüleisten und über die Benutzeroberfläche zu erstellen. Nun gut: Menüleisten gibt es nicht mehr, aber können in
MehrAccess 2010 Programmierung Import und Export nach Excel
Access 2010 Programmierung Import und Export nach Excel Excel... ist das Tabellenkalkulationsprogramm von Microsoft Office. wird genutzt, um numerische Daten in Tabellenform zu erfassen. kann Daten automatisch
MehrVisual Basic Express Fehlerermittlung
Inhalt Dokument Beschreibung... 1 Fehlermeldungen anzeigen... 1 Fehlerkorrektur mit Fehlerliste... 2 Laufzeitfehler... 3 Arbeiten mit Haltepunkten... 4 Dokument Beschreibung Bei der Programmierung können
Mehrint i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
MehrSeminar Finanzmathematik
Seminar Finanzmathematik Simulationen zur Black-Scholes Formel von Christian Schmitz Übersicht Zufallszahlen am Computer Optionspreis als Erwartungswert Aktienkurse simulieren Black-Scholes Formel Theorie
Mehr15.4 Mit dem Printer -Objekt drucken
636 Weiterführende VBA-Themen Abhilfe kann die Eigenschaft MoveWhenInTheWay sorgen. Durch das Setzen dieser Eigenschaft auf True wird der Assistent automatisch verschoben. Eine genaue Positionierung des
MehrAccess 2003 Programmierung mit Visual Basic
Access 2003 Programmierung mit Visual Basic Autor: Andreas Klein 3. Auflage: 2005 Merkwerk Alle Rechte vorbehalten. Kein Teil des Werkes darf in irgendeiner Form ohne Genehmigung der Firma Merkwerk reproduziert
MehrFelder (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
MehrAccess [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
MehrVisual 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
MehrUnpaarige Anfü hrüngszeichen ünd Klammern interaktiv korrigieren
Unpaarige Anfü hrüngszeichen ünd Klammern interaktiv korrigieren Inhalt 1 Aufgabe... 1 2 Benutzerformular... 1 2.1 Steuerelemente... 1 2.2 Befehlsschaltflächen... 3 2.3 Bezeichnungsfelder... 3 2.4 Ereignisprozeduren...
MehrVariablen und Datentypen
Programmieren mit Java Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Bremsweg-Berechnung 3 1.1 Einführung.................................. 3 1.2 Aufgabenstellung und Programmanforderungen..............
MehrAccess 2010 Programmierung Schleifen
Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze
MehrEinführung in die Programmierung für NF MI. Übung 07
Einführung in die Programmierung für NF MI Übung 07 Inhalt Wiederholung Kommentare Wiederholung Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 07 2 Wiederholung Kommentare Kommentare
MehrObjekte haben eine eigene Notation, also Schreibweise, beim Aufruf:
JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Filter in VBA nutzen HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.11 Filter in VBA nutzen Erstellt am 15.10.2011 Beschreibung Der Autofilter auf einer Excel-Tabelle bietet eine einfache Möglichkeit,
MehrBilderverwaltung mit Access
Bilderverwaltung mit Access (1) Tabelle anlegen Der große Nachteil beim Speichern von Bilddateien in Datenbanken ist, dass sie nicht in dem herkömmlichen Format, sondern in einem Windows-internen Format
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
MehrSeminar Finanzmathematik
Seminar Finanzmathematik Simulationen zur Black-Scholes Formel Seite 1 von 24 Zufallszahlen am Computer 3 Gleichverteilte Zufallszahlen 3 Weitere Verteilungen 3 Quadratische Verteilung 4 Normalverteilung
MehrVBA mit Office 97 lernen
Rene Martin 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. VBA mit Office 97 lernen Einstieg in die Welt der Makro-Programmierung
MehrCode des Objektes frmdatenvisualisierung
Code des Objektes frmdatenvisualisierung Option Explicit 'Alle Variablen müssen deklariert sein Dim Zeit As String 'Für die Umwandlung der Datei Erstellungszeit Dim DateiName As String 'Name der zu speichernden
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Kommentare mit VBA verwalten HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.16 Kommentare mit VBA verwalten Erstellt am 15.10.2011 Beschreibung Excel stellt für jede Zelle einen Kommentarbereich zur Verfügung.
Mehr10 Berechnungen aus der Elektrotechnik
Eingabe R 0 T = -100, 100, 600 1 10 Berechnungen aus der Elektrotechnik 10.1 Temperaturverhalten metallischer Widerstände Der elektrische Widerstand aller Materialien ist mehr oder weniger stark von seiner
MehrDie Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar
7.5.0 Collection Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar bestehen. Die Schlüssel sind generell vom Typ String und die assoziierten Werte
MehrEine Seite formatieren. Folien formatieren Arbeitsbereich Ausführen. Folien auswählen. Folien einfügen. Autopilot. Folienübergänge und Animationen
Autopilot Folien einfügen Folien auswählen Eine Seite formatieren Folien formatieren Arbeitsbereich Ausführen Eine neue Präsentation erstellen Autopilot Folien einfügen Folien auswählen Eine Seite formatieren
MehrEinstieg in die Programmierung mit Visual Basic.NET
Einstieg in die Programmierung mit Visual Basic.NET Agenda - Methoden mit Argumenten - Überladen von Methoden - Eigenschaftenprozeduren - Eigenschaftenprozeduren automatisch generieren - Konstruktoren
MehrExcel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Balloons in VBA nutzen HARALD NAHRSTEDT. Erstellt am
HARALD NAHRSTEDT Excel + VBA Ergänzungen Kapitel 1 Einführung in VBA 1.5.12 Balloons in VBA nutzen Erstellt am 15.10.2011 Beschreibung Balloons sind die kleinen lustigen Sprechblasen mit Animation des
Mehr15 Fehler finden und behandeln
15 Fehler finden und behandeln»a chi ha fortuna il bue gli porta un vitello. Wer Glück hat, dem macht der Ochse ein Kalb.«Und wer Pech hat, macht einen Fehler! Damit Sie durch kleine Fehler nicht in's
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.
MehrVisual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach
Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Übungsaufgaben zum Kapitel 1 1. Aufgabe In einer EXCEL Tabelle stehen folgende Zahlen: Definiere einen CommandButton, der diese
MehrKlassen. 3.1 Was Sie in diesem Kapitel erwartet. 3.2 Allgemeines
3 Klassen 3.1 Was Sie in diesem Kapitel erwartet In diesem Kapitel erfahren Sie, was Klassen sind und warum man diese überhaupt einsetzen sollte. Es soll gleichzeitig etwas Werbung für das Konzept der
MehrMiniPPS - Systembeschreibung
MiniPPS - Systembeschreibung Hans-Christian Walter Beuth Hochschule für Technik Einführungsbeispiel für Access Version 04.11.2012 Inhalt 1. Access einrichten 2 2. Tabellen 5 3. Abfrage 9 4. Formulare 10
Mehr