Wirtschaftsinformatik 1
Prof. Dr. Thomas Off P
(Bitte wenden)
Seite 1 von 2 beuth_wi1_test1_p_v1-2.docx
Test Nr. 1
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: / 55 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 – Benzinkosten berechnen ___ / 25 Punkte Schreiben Sie ein Programm zur Berechnung der Benzinkosten für eine gefahrene Strecke.
Deklarieren Sie vier Variablen, eine für die gefahrene Stecke in km, eine für den Verbrauch in Liter je 100 km, eine für den Benzinpreis pro Liter und eine für die Gesamtkosten. Wählen Sie selbst geeignete Bezeichner und Datentypen. Initialisieren Sie die Variable für den Verbrauch und den Benzinpreis mit selbst gewählten Werten. Initialisieren Sie die Variablen für die gefahrene Strecke, indem der Benutzer in einem Dialog den entsprechenden Wert eingibt. Berechnen Sie die Kosten entsprechend der nachfolgenden Formel. Weisen Sie das Ergebnis der Berechnung der Variable zu, die Sie für die Gesamtkosten deklariert hatten.
Geben Sie anschließend im Direktbereich den Wert dieser Variablen aus. Hinweis: Die Kosten K werden aus gefahrener Strecke g, dem Verbrauch je 100 km l und dem Preis pro Liter p nach folgender Formel berechnet: • •
Option Compare Database Option Explicit
' P
' Sub 0.5P, Bezeichner 1P, Klammern 0.5P Sub berechneBenzinkosten()
' Deklaration Für alle Variablen: Dim 0.5P, Bezeichner 1P, AS 0.5P ' genau passender Datentyp? Ja: 6P, teilweise passend: 2P
Dim sngVerbrauchJe100km As Single Dim sngGefahreneStrecke As Single Dim curPreisJeLiter As Currency Dim curKosten As Currency
' Initialisierung
' Für alle Initialisierungen: Let 0.5P, Bezeichner 0.5P ' Zuweisungsoperator 0.5P
Let sngVerbrauchJe100km = 7.5 Let curPreisJeLiter = 1.35
' Zusätzlich Val 1P, InputBox 2P, Text in Klammern und Anführungszeichen 0.5P Let sngGefahreneStrecke = Val(InputBox("Gefahrene Km:"))
' Zusätzlich Formel als Ausdruck 3P
Let curKosten = sngGefahreneStrecke * (sngVerbrauchJe100km / 100) * curPreisJeLiter
' Debug.Print 1P, Variable 1,5P (wenn in Anführungszeichen 0.5P) Debug.Print curKosten
End Sub ' 0.5P
' Ist der Algorithmus erkennbar? Ja,weitgehend: 4P; Teilweise: 1P;
' Nein (z.B. unzusammenhängende Sammlung von Anweisungen: 0P)
Wirtschaftsinformatik 1
Prof. Dr. Thomas Off P
Seite 2 von 2 beuth_wi1_test1_p_v1-2.docx
Aufgabe 2 – Geschwindigkeitsübertretung ___ / 30 Punkte Schreiben Sie ein Programm, das zu einer Geschwindigkeitsübertretung das Bußgeld ermittelt (z.B. wenn Sie 15,3 km/h zu schnell waren, sind es 30 EUR). Deklarieren Sie zuerst zwei Variablen. Einer Variablen soll man die Geschwindigkeitsübertretung zuweisen können. Der anderen Variablen das zu zahlende Bußgeld. Wählen Sie selbst geeignete Bezeichner und Datentypen. Initialisieren Sie die Variable für das Bußgeld mit 0. Initialisieren Sie die Variable für die Geschwindigkeitsübertretung, indem der Benutzer sie in einem Dialog eingibt. Prüfen Sie anschließend, ob es weniger oder gleich 3 km/h waren. Wenn ja, dann weisen Sie der Variable für das Bußgeld 0 EUR zu. Andernfalls prüfen Sie, ob es mehr als 3 und weniger oder gleich 10 km/h waren. Wenn ja, dann weisen Sie der Variable für das Bußgeld 15 EUR zu. Andernfalls prüfen Sie, ob es mehr als 10 und weniger oder gleich als 20 km/h waren. Wenn ja, dann weisen Sie der Variable für das Bußgeld 30 EUR zu. In allen anderen Fällen weisen Sie der Variablen für das Bußgeld 100 EUR zu. Geben Sie nach der Verzweigung das Bußgeld in einem Meldungsfenster aus. Nutzen Sie nicht Select Case , sondern die andere Ihnen bekannte Form der Verzweigung!
Option Compare Database Option Explicit
' P
' Sub 0.5P, Bezeichner 1P, Klammern 0.5P Sub Geschwindigkeitsübertretung()
' Für Deklaration aller Variablen
' Dim 0.5P, Bezeichner (sprechend, Konvention eingehalten) 1P ' As 0.5P, Datentyp (passend) 6P
Dim sngGeschwindigkeit As Single Dim curBussgeld As Currency
' Initialisierung aller Variablen
' Let 0.5P, Bezeichner 0.5P, Zuweisungsoperator 0.5P Let curBussgeld = 0 ' Wert 0.5
Let sngGeschwindigkeit = Val(InputBox("Wie viel zu schnell:")) ' Zusätzlich: Val 1P, InputBox 2P, Text 0.5P
' Verzweigung
' If 1P, Für alle Ausdruck 1.5P, Then 1P If sngGeschwindigkeit <= 3 Then
Let curBussgeld = 0 ' richtiger Wert 0.5P ' Zusätzlich für alle ElseIf 2P
ElseIf sngGeschwindigkeit > 3 And sngGeschwindigkeit <= 10 Then Let curBussgeld = 10 ' richtiger Wert 0.5P
ElseIf sngGeschwindigkeit > 10 And sngGeschwindigkeit <= 20 Then Let curBussgeld = 30 ' richtiger Wert 0.5P
Else ' 1P
Let curBussgeld = 100 ' richtiger Wert 0.5P End If ' 0.5P
' MsgBox 1P, Variable 1,5P (wenn in Anführungszeichen 0.5P) MsgBox curBussgeld
End Sub ' 0.5P
' Ist der Algorithmus erkennbar?
' Ja,weitgehend: 2P;
' Teilweise: 0.5P;
' Nein (z.B. unzusammenhängende Sammlung von Anweisungen: 0P)