Wirtschaftsinformatik 1
Prof. Dr. Thomas Off K
(Bitte wenden)
Seite 1 von 2 beuth_wi1_test1_k_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 – Umfang eines Rechtecks berechnen ___ / 25 Punkte Frage
Schreiben Sie ein Programm zur Berechnung des Umfangs eines Rechtecks. Deklarieren Sie drei Variablen, eine für die Länge, eine für die Breite und eine für den Umfang des Rechtecks.
Wählen Sie selbst geeignete Bezeichner und Datentypen. Initialisieren Sie die Variable für die Länge und die Breite, indem der Benutzer in Dialogen entsprechende Werte eingibt.
Berechnen Sie den Umfang entsprechend der nachfolgenden Formel. Weisen Sie das Ergebnis der Berechnung der Variable zu, die Sie für den Umfang des Rechtecks deklariert hatten.
Geben Sie anschließend im Direktbereich die Werte aller drei Variablen aus.
Hinweis: Umfang U wird aus Länge l und Breite b so berechnet: 2 • Antwort
Option Compare Database Option Explicit
' K
' Sub 0.5P, Bezeichner 1P, Klammern 0.5P Sub berechneUmfangRechteck()
' Für Deklaration aller Variablen
' Dim 0.5P, Bezeichner (sprechend, Konvention eingehalten) 1P ' As 0.5P, Datentyp (passend) 9P
Dim sgnLaenge As Single Dim sgnBreite As Single Dim dblUmfang As Double
' Initialisierung aller Variablen
' Let 0.5P, Bezeichner 0.5P, Zuweisungsoperator 0.5P ' Val 1P, InputBox 2P, Text 0.5P
Let sgnLaenge = Val(InputBox("Länge:")) Let sgnBreite = Val(InputBox("Breite:")) ' Zusätzlich Formel als Ausdruck 2P
Let dblUmfang = 2 * (sgnLaenge + sgnBreite)
' MsgBox 1P, Variable 1,5P
Debug.Print "Länge: " & sgnLaenge Debug.Print "Breite: " & sgnBreite Debug.Print "Umfang: " & dblUmfang
End Sub ' 0.5P
' Ist der Algorithmus erkennbar?
' Ja,weitgehend: 2P;' Teilweise: 0.5P;
'Nein (z.B. unzusammenhängende Sammlung von Anweisungen: 0P)
Wirtschaftsinformatik 1
Prof. Dr. Thomas Off K
Seite 2 von 2 beuth_wi1_test1_k_v1-2.docx
Aufgabe 2 – Energieeffizienzklassen ___ / 30 Punkte Frage
Schreiben Sie ein Programm, das Auskunft über den Stromverbrauch verschiedener
Energieeffizienzklasse gibt. Deklarieren Sie zuerst zwei Variablen. Einer Variable soll man den Namen der Energieeffizienzklasse (A++, A+ oder A ) zuweisen können. Der anderen Variable soll man den Stromverbrauch in Kilowattstunden (kWh) zuweisen können. Wählen Sie selbst geeignete Bezeichner und Datentypen. Initialisieren Sie die Variable für den
Stromverbrauch mit 0. Initialisieren Sie die Variable für die Energieeffizienzklasse, indem der Benutzer in einem Dialog A++, A+ oder A eingibt. Prüfen Sie anschließend, welchen
Energieeffizienzklasse der Benutzer eingegeben hatte. Für den Fall, dass er A++ eingegeben hatte, weisen Sie der Variable für den Stromverbrauch den Wert 37,50 zu. Für den Fall, dass er A+ eingegeben hatte, weisen Sie der Variable für den Stromverbrauch den Wert 49,20 zu.
Für den Fall, dass er A eingegeben hatte, weisen Sie der Variable für den Stromverbrauch den Wert 53,60 zu. Geben Sie nach der Verzweigung den Wert der Variable für den
Stromverbrauch im Direktbereich aus. Nutzen Sie nicht If-Then-Else-ElseIf , sondern die andere Ihnen bekannte Form der Verzweigung!
Antwort
Option Compare Database Option Explicit
' K
' Sub 0.5P, Bezeichner 1P, Klammern 0.5P Sub energieeffizienz()
' Für Deklaration aller Variablen
' Dim 0.5P, Bezeichner (sprechend, Konvention eingehalten) 1P ' As 0.5P, Datentyp (passend) 2x 3P
Dim strEKlasse As String
Dim sglStromVerbrauch As Single
' Initialisierung aller Variablen
' Let 0.5P, Bezeichner 0.5P, Zuweisungsoperator 0.5P Let sglStromVerbrauch = 0 ' Wert 0.5P
' Zusätzlich: InputBox ohne Val 3P (stattdessen mit Val 0,5P), Text 0.5P Let strEKlasse = InputBox("Energieeffizienzklasse (A++, A+, A):")
' Select Case 2P, Variable 1P ' Case 2P, Wert 1P (alle)
' Let 0.5P, Bezeichner 0.5P, Zuw.operator 0.5P, Wert 1P (alle) Select Case strEKlasse
Case "A++"
Let sglStromVerbrauch = 37.5 Case "A+"
Let sglStromVerbrauch = 49.2 Case "A"
Let sglStromVerbrauch = 53.6 End Select '1P
Debug.Print sglStromVerbrauch 'Debug.Print 1.5P, Variable 1.5P
End Sub '0.5P
' Ist der Algorithmus erkennbar?
' Ja,weitgehend: 2P;
' Teilweise: 0.5P;
' Nein (z.B. unzusammenhängende Sammlung von Anweisungen: 0P)