Übung Fallbeispiel (Gewinnverteilung) ◦ ?

Lernziele

- Implementation einer komplexen Anwendung verstehen
- Entwurf und Verarbeitung eines Formulars nachvollziehen
- Objektkatalog einsetzen

Wiederholungsfragen

Ein Klick auf den roten Hyperlink zeigt die richtige Lösung.

1. Was ist die Funktion eines
   Debuggers?

> 1. Syntaxfehler finden

> 2. logische Fehler entdecken

> 3. Laufzeitfehler verhindern

1. Wie unterscheiden sich Vereinbarungen mit
   Dim und Private?

> 1. Mit Dim deklarierte Variablen sind der gesamten Arbeitsmappe bekannt. Mit Private deklarierte Variablen sind hingegen vor anderen Prozeduren versteckt.

> 2. Dim und Private können synonym verwendet werden.

> 3. Dim wird innerhalb einer Prozedur verwendet und die Variablen sind nur dieser Prozedur bekannt. Private definiert Variablen für das gesamte Modul, ausserhalb dieses Moduls sind die Variablen jedoch unsichtbar.

1. Betrachten Sie den Algorithmus zur Gewinnverteilung nach OR 671 und ergänzen Sie die folgende Gewinnverteilungs-Tabelle. Die Ausgangsdaten seien:

Aufwand | 14000
Ertrag | 24000
Aktienkapital | 100000
Reserve | 5000
Tantiemensatz | 10.5 %

Sollkonto | Habenkonto | Betrag | Bemerkung
ER | GV | ............................ | Reingewinn
GV | Reserve | ............................ | 5% vom Gewinn
GV | Dividende | ............................ | 5% vom ................................
GV | Tantième | ............................ | 10.5% vom Gewinn
GV | Reserve | ............................ | 10% von der Tantième
GV | Dividende | ............................ | ...............................................
GV | Reserve | ............................ | 10% von der Zusatzdividende
GV | Reserve | ............................ | Gewinnrest

Vertiefungsfragen

Laden Sie GewinnverteilungExperimentSkelett.xls. Die Bedeutung neuer Objekte, Methoden und Eigenschaften erfahren Sie, wenn Sie den Cursor auf den entsprechenden Namen setzen und »F1 bzw. »Ctrl/F1 drücken.

1. Welche Module, Subroutinen und Funktionen kommen vor?

2. Welche globalen Variablen werden benutzt?

3. Wann wird welche benutzerdefinierte Prozedur von wo aufgerufen? Gehen Sie dazu die folgenden Eingabeszenarien durch:

   1. Ändern Sie nach dem Drücken der Schaltflächen »Start und »Verbuchen die voreingestellten Werte des Eingabeformulars nicht.

   2. Ändern Sie die Voreinstellungen, indem Sie für den Aufwand eine Zeichenkette statt eine Zahl eingeben.

4. Nennen Sie die Unterprogramme, welche die folgenden Programmelemente manipulieren:

   - Eingabeformular

   - Dialogblatt

   - abgebrochen

   - Ausgabezeile

   - GV.

5. Beantworten Sie die folgenden Fragen:

   - Wozu dient das Zeichen _ am Ende einer Zeile?

   - Weshalb werden die Variablen Ausgabezeile und abgebrochen ausserhalb der Prozeduren vereinbart?
   - Weshalb tragen drei der fünf Prozeduren das Anhängsel (Suffix) _Click?
   - Was bedeutet das Schlüsselwort Private?
   - Was bedeutet die Adresse A4:F11?

6. Wählen Sie in der Programmierumgebung »Ansicht/Symbolleisten/Debuggen. Interpretieren Sie die Prozedur BS:

   - Klicken Sie die Zeile Sub Bs und wählen Sie »Debuggen/Haltepunkt ein/aus (»F9).

   - Markieren Sie die Variable Soll und wählen Sie »Debuggen/Aktuellen Wert anzeigen (»Umschalt/F9) und im erscheinenden Eingabeformular »Hinzufügen.
   - Verfahren Sie mit Haben, GV und Betrag analog.
   - Drücken Sie die Schaltfläche »S tart erneut (Benutzen Sie dabei die ursprünglichen Voreinstellungen).
   - Klicken Sie im geöffneten Testfenster »Überwachen.
   - Gehen Sie die Prozedur im Einzelschrittmodus durch (»F8).

7. Implementieren Sie die folgenden Ergänzungen:

   - Schreiben Sie den Buchungsbetrag fett.

   - Verhindern Sie Formulareingaben von 0.

GewinnverteilungExperiment.xls