VBDN06E Einsendeaufgabe 90 Punkte (Note2)

VBDN06E Einsendeaufgabe 90 Punkte (Note2) Cover - VBDN06E Einsendeaufgabe 90 Punkte (Note2) 1 1 2.00
2,00 €

Einsendeaufgabe VBDN06E

die Enum "Zeiteinheit" sollte eigentlich "andersherum" organisiert sein:

Stunde = 3600
Minute = 60
Sekunde = 1

Dann lässt sich die Sub Addieren nämlich sehr einfach formulieren:

zuZeit(zuSekunden() + Anzahl * Einheit)

Es genügt also eine Zeile: zuerst "holen" wir uns die im Zeit-Objekt gespeicherten Gesamtsekunden über "zuSekunden", addieren darauf Anzahl * Einheit Sekunden auf und rechnen das wieder über "zuZeit" so um, dass in den Zuständen des Objekts wieder eine korrekte Zeit enthalten ist.

Sie haben das dagegen "zu Fuß" umgerechnet, und dann leider auch mit while-Schleifen, die erstens sehr fehleranfällig sind (da Sie hier komplizierte Berechnungen durchführen), und zweitens auch recht ineffizient (die Werte lassen sich auch ohne Schleifen umrechnen).

Sie brauchen ja zuerst die "Gesamtsekunden", also etwa

Dim sek As Integer = zuSekunden()

Wenn Sie auf die Idee mit der Zeiteinheit (siehe oben) so nicht gekommen sind, brauchen Sie trotzdem keine Schleife, sondern addieren auf die Gesamtsekunden dann die jeweiligen Sekunden auf:

Case Zeiteinheit.Sekunde
sek += Anzahl
Case Zeiteinheit.Minute
sek += Anzahl * 60
Case Zeiteinheit.Stunde
sek += Anzahl * 3600
End Select

Schließlich rechnen Sie das wieder in die "korrekten Zeitwerte" um, dafür dient die Funktion "zuZeit":

zuZeit(sek)

Schleifen sind hier echt nicht so toll, da sie erstens wirklich fehleranfällig sind (selbst wenn sie hier korrekt gerechnet haben), und Sie zweitens nicht mit Ihren - hilfreichen - Methoden "zuZeit" und "zuSekunden" gearbeitet haben; stattdessen machen Sie all die Arbeit, die diese beiden Funktionen für Sie erledigen, nochmal ...

Für ein "sehr gut" reicht es deshalb leider nicht, und Sie erhalten von mir die Note 2,0 (90 Punkte)
Diese Lösung enthält 1 Dateien: (doc) ~140 KB
Diese Lösung zu Deinen Favoriten hinzufügen?
Diese Lösung zum Warenkorb hinzufügen?
VBDN05E_XX1.doc ~ 140 KB
Im folgenden Programm definieren Sie eine Enumeration Zeiteinheit und eine Klasse Zeit. Die Klasse Zeit kann:
• bei Erstellung eines Objekts eine Zeitangabe als Argument übernehmen,
• Zeitangaben anzeigen,
• einen Wert in einer gewählten Zeiteinheit zur Zeit addieren.
Die Enumeration Zeiteinheit und die Definition der Klasse Zeit wurden reduziert. Sie bekommen in den anschließenden Aufgaben die Hinweise zur Erstellung dieser Typen.
a) Erstellen Sie eine Enumeration Zeiteinheit mit den Membern Stunde, Minute, Sekunde. Deklarieren Sie mit einem passenden Datentyp. Geben Sie den Membern in passender Reihenfolge die Werte 1, 60, 3600 so, dass Sie die hinterlegten Zahlenwerte später zum Rechnen verwenden können.
b) Definieren Sie eine Klasse Zeit. Sie enthält die privaten Member m_std, m_min, m_sek, die Sie mit einem passenden Datentyp deklarieren.
c) Schreiben Sie einen Konstruktor, mit dem Sie Objekte der Klasse Zeit mitsamt Zeitangabe erstellen können. Sie übergeben die Werte für Stunde, Minute und S-ekunden. Der Aufruf ist in der oben abgedruckten Main()-Prozedur enthalten.
d) Definieren Sie eine Methode Anzeigen(). Beim Aufruf wird die Zeit angezeigt, wie oben abgebildet.
e) Die Klasse enthält die Methode Addieren():
Sub Addieren(Anzahl As Short,
Einheit As Zeiteinheit)
End Sub
Sie geben einen beliebigen Wert als Anzahl ein und als zweites Argument, ob es sich um Stunden, Minuten oder Sekunden handelt.
Zur Verwendung der Prozedur finden Sie im abgedruckten Programm zwei Aufruf-beispiele. Im ersten Beispiel werden 50 Minuten addiert, im zweiten 155 Sekunden.
Zu Ihrer Unterstützung noch einige Hinweise:
Die Methode Addieren() wandelt für interne Berechnung die in den Feldern m_std, m_min, m_sec gespeicherte Zeit in Sekunden um.
Definieren Sie zu diesem Zweck eine Methode zuSekunden(), die als Rückgabewert vom Typ Integer die Anzahl der Sekunden zurückliefert, die der derzeit im Objekt gespeicherten Zeit entspricht.
Nun werden die übergebenen Argumente Anzahl und Einheit verwendet und hinzu-addiert.
Mittels der Methode zuZeit(Sekunden as Integer) wird das Ergebnis wieder in den Datenmembern gespeichert.
Die Methode zuZeit() ist für Sie unten abgebildet:
Sub zuZeit(Sekunden As Integer)
m_Sek = Sekunden Mod 60
m_Min = (Sekunden 60) Mod 60
m_Std = Sekunden 60 * 60
End Sub

Definieren Sie nun die Methode Addieren().
Weitere Information: 08.04.2024 - 04:49:20
  Kategorie: Technik und Informatik
Eingestellt am: 30.06.2017 von kevinator911
Letzte Aktualisierung: 03.01.2018
1 Bewertung
12345
Studium:
Bisher verkauft: 3 mal
Bisher aufgerufen: 1759 mal
Benotung: 2
Bewertungen
3.1.18 - Ananoym:
12345
In diesem Artikel geht es eigentlich um VBDN06E, das Lösungsdok...
Benötigst Du Hilfe?
Solltest du Hilfe benötigen, dann wende dich bitte an unseren Support. Wir helfen dir gerne weiter!
Was ist StudyAid.de?
StudyAid.de ist eine Plattform um selbst erstellte Musterlösungen, Einsendeaufgaben oder Lernhilfen zu verkaufen.

Jeder kann mitmachen. StudyAid.de ist sicher, schnell, komfortabel und 100% kostenlos.
Rechtliches
Für diesen Artikel ist der Verkäufer verantwortlich.

Sollte mal etwas nicht passen, kannst Du gerne hier einen Verstoß melden oder Dich einfach an unseren Support wenden.

Alle Preise verstehen sich inkl. der gesetzlichen MwSt.
Mehr von kevinator911
 
Zahlungsarten
  • Payments
Auf StudyAid.de verkaufen
> 2000
Schrieb uns eine WhatsApp