Wirtschaftsinformatik 1
Prof. Dr. Thomas Off N
(Bitte wenden)
Seite 1 von 2 beuth_wi1_test3_n_v1-1.docx
Test Nr. 3
Anrede Frau Herr _______ Datum:
01.01.2001Name, Vorname
Mustermann,MichaelMatrikelNr:
12345Ich möchte das Ergebnis meines Tests per E-Mail an nachfolgende Adresse erhalten:
E-Mailadresse:
m.mustermann@gmx.de(Schreiben Sie deutlich. Lassen Sie die Angabe leer, wenn Sie keine Mail von Prof. Off wollen.)
Summe: / 45 Punkte
Halten Sie Ihren Studierendenausweis bereit. Es sind keine Hilfsmittel zulässig. Abschreiben oder Abgucken sind nicht gestattet - auch der Versuch führt zum Ausschluss vom Test.
Aufgabe 1 ___ / 17,5 Punkte
Deklarieren im Modul mdlBestellungen auf Ebene des Moduls eine private Konstante für die MwSt, die Sie in der folgenden Berechnung nutzen. Schreiben Sie im Modul eine öffentliche Funktion berechneGesamt, die als Parameter eine Stückzahl und einen Einzelpreis übergeben bekommt. Die Funktion soll die den Gesamtbruttopreis ermitteln, der sich aus dem Nettoeinzelpreis, der Stückzahl und der MwSt ergibt und diesen als Ergebnis der Funktion zurückliefern. Das Modul
mdlBestellungen beginnt hier:
Option Compare Database Option Explicit
'1P Private, 2P im Modul, 1P Const+Bezeichner+Datentyp+Initialisierung Private Const MWST As Single = 1.19 ' Mehrwertsteuer
'1P Public, 1P Function, 0.5 Bezeichner
'2P alle Parameterbezeichner, 2P alle As+Datentyp, 2P Rückgabewert
Public Function berechneGesamt(pcurEinzelpreis As Currency, pbytStueckzahl As Byte)As Currency
Dim curGesamtpreis As Currency ' 0.5P
' 0.5P Zuweisung, 0.5P Ausdruck, 2P Parameterverwendung im Ausdruck
Let curGesamtpreis = pcurGrpcurEinzelpreisundgehalt * pbytStueckzahl * MWST
'1P Rückgabe des Ergebnisses
Let berechneGesamt = curGesamtpreis
End Function '0.5P
Wirtschaftsinformatik 1
Prof. Dr. Thomas Off N
Seite 2 von 2 beuth_wi1_test3_n_v1-1.docx
Aufgabe 2 ___ / 27,5 Punkte
Gegeben ist das folgende Formular. Die Namen der Oberflächenelemente sind angegeben. Schreiben Sie zwei Ereignisprozeduren. Als erstes eine Ereignisprozedur, die aufgerufen wird, wenn das Formular geladen wird. Die Felder Artikel, Einzelpreis und Gesamt deaktivieren. Die zweite
Ereignisprozedur soll aufgerufen werden, sobald der Benutzer in die Radioknopfgruppe „Stückzahl“
klickt. Ermitteln Sie innerhalb der Prozedur den Wert aus dem Feld „Einzelpreis“. (Gehen Sie davon aus, dass dort immer ein Text eingegeben wurde.) Ermitteln Sie dann den Wert des ausgewählten Radioknopfes. Rufen
Sie die Funktion im Modul mdlBestel- lungen (aus Aufgabe 1) auf und übergeben Sie diese Werte als Parameter. Stellen Sie das Ergebnis der Funktion im Feld
„Gesamt“ dar. Hier beginnt das zum
Formular gehörige Klassenobjekt:
Option Compare Database Option Explicit
' N
' 1P Private, 0.5P Sub, 2P Bezeichner, 2P Ereignis Private Sub Form_Load()
'0.5P Me, 1P Bezeichner, 0.5P Enabled, 0.5P Let+Bezeichner+Zuweisung Let Me.txtGesamt.Enabled = False
Let Me.txtArtikel.Enabled = False Let Me.txtEPreis.Enabled = False End Sub '0.5P
' 1P Private, 0.5P Sub, 2P Bezeichner, 2P Ereignis Private Sub grpStueck_Click()
' 0.5P alle Deklarationen inkl. passender Datentypen Dim curEinzelpreis As Currency
Dim bytStueck As Byte Dim curGesamt As Currency
' Für alle: 0.5P Let+Bezeichner+Zuweisung, 0.5P Me, 1P Bezeichner, 0.5P Value Let curEinzelpreis = CCur(Me.txtEPreis.Value) ' Zusätzlich: 0.5P
Val/Typumwandlung
Let bytStueck = Me.grpStueck.Value ' Hinweis: Keine Typumwandlung nötig
'2P Let+Bezeichner+Zuweisung, 1P Modul, 2P Bezeichner, '2P Parameterüberabe für alle Parameter
Let curGesamt = mdlBestellungen.berechneGesamt(curEinzelpreis, bytStueck)
' 0.5P Let+Bezeichner+Zuweisung ' 0.5P Me, 1P Bezeichner, 0.5P Value Let Me.txtGesamt.Value = curGesamt End Sub ' 0.5P