From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Bachelor/Prog1/PG1Klaus.htm | 227 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 Bachelor/Prog1/PG1Klaus.htm (limited to 'Bachelor/Prog1/PG1Klaus.htm') diff --git a/Bachelor/Prog1/PG1Klaus.htm b/Bachelor/Prog1/PG1Klaus.htm new file mode 100644 index 0000000..38229c2 --- /dev/null +++ b/Bachelor/Prog1/PG1Klaus.htm @@ -0,0 +1,227 @@ + + + + + + +Praktikum 6 + + + + + + + + + + + + + + +
 
FH Darmstadt  +
FB Informatik  +
Prof.Dr. H.P.Weber
+
Programmieren I  +
Klausur
+
+
+

20.01.04

+
+
+ +
+ + + + + + + + +
Name:

 

MatNr.:

 

USER:

 

+ +
+ + + + + + + + + + + + +
+

+Lottozahlen

+ +Definieren Sie eine Klasse LottoGenerator wie im folgenden +Klassendiagramm beschrieben:
+ + + + + + + + + + + + +
+
LottoGenerator
+
- ARRAY_SIZE : const int
+
- sixNumbers : int*
- seventhNumber : int +
- numberOf Draws : long
Constructor( )  +
Destructor( ) +
+ drawAllNumbers( ) : void
++ printAllNumbers( ) : void
++ sortSixNumbers( ) : void  +
+ getAllNumbers( int* ) : int
+ getNumberOfDraws( ) : long
+
+
+Besonderheiten der Methoden sind: +
    +
  • +Der Konstruktor soll ein int-Array für die sechs Gewinnzahlen dynamisch +erzeugen, das dann über das Attribut sixNumbers +angesprochen wird. Dieses Array und die restlichen Attribute sollen sinnvoll +initialisiert werden. Die Konstante ARRAY_SIZE +gibt die Anzahl der Elemente des dynamischen int-Arrays an.
  • +
  • +Durch drawAllNumbers sollen sechs +zufällig gezogene Zahlen im int-Array sixNumbers und eine siebte zufällige Zahl +(die Zusatzzahl) im Attribut seventhNumber abgelegt werden. Es gelten die +üblichen Lottoregeln: Die Zahlen sind aus dem Bereich 1 bis 49 und natürlich +alle verschieden. (Die 'Superzahl' soll nicht berücksichtigt werden.)
  • +
  • +Im Attribut numberOfDraws soll über die +Zahl der Ziehungen (d.h. die Zahl der Aufrufe von  +drawAllNumbers) seit der Erzeugung eines +LottoGenerator-Objekts Buch geführt werden.
  • + +
  • +printAllNumbers soll die Nummer der +Ziehung, die sechs gezogenen +Zahlen und die Zusatzzahl in einer geeigneten Formatierung auf dem Bildschirm +ausgeben.
  • + +
  • +sortSixNumbers soll die sechs +Gewinnzahlen im Array sixNumbers aufsteigend sortieren: Nach Aufruf von +sortSixNumbers steht die kleinste Zahl im +ersten Platz des Arrays, die größte im sechsten. Sie können ein Sortierverfahren +Ihrer Wahl benutzen.
  • + +
  • +getAllNumbers soll alle sieben gezogenen +Zahlen in das Anwendungsprogramm (main) für eine Weiterverarbeitung übergeben: +Die Zusatzzahl als Rückgabewert und die sechs Gewinnzahlen in ein vom +Anwendungsprogramm zur Verfügung gestelltes int-Array.
  • + +
  • +Der Destruktor soll (neben seiner Hauptaufgabe!) numberOfDraws am Bildschirm +ausgeben.
    +
    +
    +
  • +
+

Das Anwendungsprogramm (main) soll ein + LottoGenerator-Objekt +erzeugen und dann folgende Aktivitäten durchführen: +

    +
  • +Durchführung von 10 Ziehungen und Ausgabe der Ziehungsergebnisse (einschließlich +Zusatzzahl), wobei die sechs Gewinnzahlen aufsteigend sortiert sein sollen.  +
  • + +
  • +Durchführung von einer Million Ziehungen und Ermitteln, wie oft eine einstellige +Zusatzzahl auftrat.
  • + +
  • +Führen Sie eine Million Ziehungen durch und übergeben Sie jeweils die sechs +Gewinnzahlen an eine (globale) Funktion average. +Diese Funktion soll den ganzzahligen (also auf- bzw. abgerundeten) Mittelwert +der übergebenen Gewinnzahlen berechnen und zurückgeben. Für die zurückgegebenen +Mittelwerte soll in main eine +Häufigkeitsverteilung erstellt werden. Auf den Bildschirm auszugeben sind dann +alle vorkommenden Mittelwerte zusammen mit ihrer Häufigkeit. (Die absoluten +Zahlenwerte genügen, keine graphische Darstellung!)
  • +
+

 

+

 

+

 

+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Bewertung (Punkte):maximalerreicht
Klassendeklaration12 
Konstruktor8 
drawAllNumbers12 
printAllNumbers8 
sortSixNumbers8 
getAllNumbers8 
getNumberOfDraws2 
Destruktor5 
main27 
average10 
+


+Gesamtpunkte:

+

 

+

Note:

+ + + + \ No newline at end of file -- cgit v1.2.3