summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog1/PG1Klaus.htm
diff options
context:
space:
mode:
Diffstat (limited to 'Bachelor/Prog1/PG1Klaus.htm')
-rw-r--r--Bachelor/Prog1/PG1Klaus.htm227
1 files changed, 227 insertions, 0 deletions
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 @@
+<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> \ No newline at end of file