summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog1/PG1Klaus.htm
blob: 38229c28c9809e931b2ee69f057b33783d59ae3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Praktikum 6</title>
</head>

<body>

<table BORDER CELLSPACING=0 WIDTH="100%" >
<caption>&nbsp;</caption>

<tr>
<td WIDTH="25%" BGCOLOR="#EFEFDE">FH Darmstadt&nbsp;
<br>FB Informatik&nbsp;
<br>Prof.Dr. H.P.Weber</td>

<td>
<center><font size="+3">Programmieren I&nbsp;</font>
<br><font size="+3">Klausur</font></center>
</td>

<td WIDTH="25%" BGCOLOR="#EFEFDE">
<center>
<p><font size="6">20.01.04</font></p>
</center>
</td>
</tr>
</table>

<br>
<table BORDER COLS=3 WIDTH="100%" HEIGHT="60" >
<tr>
<td WIDTH="50%">Name:<p>&nbsp;</td>

<td WIDTH="30%">MatNr.:<p>&nbsp;</td>

<td WIDTH="20%">USER:<p>&nbsp;</td>
</tr>
</table>

<br>
<table BORDER="1" CELLSPACING=0 WIDTH="100%" >
<tr>
<td COLSPAN = "3" height="60" width="1151">
<h3 ALIGN = "left">
Lottozahlen</h3>

Definieren Sie eine Klasse <font face="Courier New"> <b>LottoGenerator</b></font> wie im folgenden 
Klassendiagramm beschrieben:</td>
</tr>

<tr>
<td WIDTH="579" height="269">
<table BORDER COLS=3 BGCOLOR="#EFEFDE" ALIGN="center">
<tr>
<td>
<center><b>LottoGenerator</b></center>
</td>
</tr>

<tr>
<td>- ARRAY_SIZE : const int <i><br>
</i>- sixNumbers : int*<br>- seventhNumber : int
<br>- numberOf Draws : long</td>
</tr>

<tr>
<td><i>Constructor</i>( )&nbsp;
<br><i>Destructor</i>( )
<br>+ drawAllNumbers( ) : void <br>
+ printAllNumbers( ) : void <br>
+ sortSixNumbers( ) : void&nbsp;
<br>+ getAllNumbers( int* ) : int<br>+ getNumberOfDraws( ) : long</td>
</tr>
</table>
</td>

</tr>

<td COLSPAN = "2" height="267" width="1151">
<br>
Besonderheiten der Methoden sind:
<ul>
<li>
Der Konstruktor soll ein int-Array f�r die sechs Gewinnzahlen dynamisch 
erzeugen, das dann �ber das Attribut <b><font face="Courier New">sixNumbers</font></b> 
angesprochen wird. Dieses Array und die restlichen Attribute sollen sinnvoll 
initialisiert werden. Die Konstante <b><font face="Courier New">ARRAY_SIZE</font></b> 
gibt die Anzahl der Elemente des dynamischen int-Arrays an.</li>
<li>
Durch <b><font face="Courier New">drawAllNumbers</font></b> 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.)</li>
<li>
Im Attribut <b><font face="Courier New">numberOfDraws</font></b> soll �ber die 
Zahl der Ziehungen (d.h. die Zahl der Aufrufe von&nbsp; <b>
<font face="Courier New">drawAllNumbers</font></b>) seit der Erzeugung eines <b>
LottoGenerator</b>-Objekts Buch gef�hrt werden.</li>

<li>
<b><font face="Courier New">printAllNumbers</font></b> soll die Nummer der 
Ziehung, die sechs gezogenen 
Zahlen und die Zusatzzahl in einer geeigneten Formatierung auf dem Bildschirm 
ausgeben.</li>

<li>
<b><font face="Courier New">sortSixNumbers</font></b> soll die sechs 
Gewinnzahlen im Array sixNumbers aufsteigend sortieren: Nach Aufruf von <b>
<font face="Courier New">sortSixNumbers</font></b> steht die kleinste Zahl im 
ersten Platz des Arrays, die gr��te im sechsten. Sie k�nnen ein Sortierverfahren 
Ihrer Wahl benutzen. </li>

<li>
<b><font face="Courier New">getAllNumbers</font></b> 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.</li>

<li>
Der Destruktor soll (neben seiner Hauptaufgabe!) <b><font face="Courier New">numberOfDraws</font></b> am Bildschirm
ausgeben.<br>
<br>
<br>
<br>
&nbsp;</li>
  </ul>
<p>Das <b>Anwendungsprogramm (<font face="Courier New">main</font>)</b> soll ein
<font face="Courier New"> <b>LottoGenerator</b></font>-Objekt 
erzeugen und dann folgende Aktivit�ten durchf�hren:
<ul>
<li>
Durchf�hrung von 10 Ziehungen und Ausgabe der Ziehungsergebnisse (einschlie�lich 
Zusatzzahl), wobei die sechs Gewinnzahlen aufsteigend sortiert sein sollen.&nbsp;
</li>

<li>
Durchf�hrung von einer Million Ziehungen und Ermitteln, wie oft eine einstellige 
Zusatzzahl auftrat.</li>

<li>
F�hren Sie eine Million Ziehungen durch und �bergeben Sie jeweils die sechs 
Gewinnzahlen an eine (globale) Funktion <b><font face="Courier New">average</font></b>. 
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 <b><font face="Courier New">main</font></b> 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!)</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table border="1" cellpadding="0" cellspacing="0"  bordercolor="#111111" width="50%" id="AutoNumber1">
  <tr>
    <td width="33%"><b>Bewertung (Punkte):</b></td>
    <td width="33%"><b>maximal</b></td>
    <td width="34%"><b>erreicht</b></td>
  </tr>
  <tr>
    <td width="33%">Klassendeklaration</td>
    <td width="33%">12</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">Konstruktor</td>
    <td width="33%">8</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">drawAllNumbers</td>
    <td width="33%">12</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">printAllNumbers</td>
    <td width="33%">8</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">sortSixNumbers</td>
    <td width="33%">8</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">getAllNumbers</td>
    <td width="33%">8</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">getNumberOfDraws</td>
    <td width="33%">2</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">Destruktor</td>
    <td width="33%">5</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">main</td>
    <td width="33%">27</td>
    <td width="34%">&nbsp;</td>
  </tr>
  <tr>
    <td width="33%">average</td>
    <td width="33%">10</td>
    <td width="34%">&nbsp;</td>
  </tr>
  </table>
<p><br>
<b>Gesamtpunkte: </b></p>
<p>&nbsp;</p>
<p><b>Note:</b><br>
&nbsp;</p>
&nbsp;</td>

</table>


</body>
</html>