===== Programm Sitzplan =====
Das Programm soll einen Sitzplan der 6bi-Klasse ausgeben. Der Klassenraum erlaubt die Aufstellung von je 4 Plätzen in 3 Reihen. Das Programm soll folgende Menüpunkte enthalten:
==== (1) Eingabe der Namen ====
Bildschirmgestaltung:
* Reihe 1, Sitz 1:
* ................
* Reihe 1, Sitz 4:
* Reihe 2, Sitz 1:
* ................
==== (2) Ausgabe des Planes auf dem Bildschirm ====
==== (3) Versetzen zweier Schüler (Platztausch) ====
Bei andauerndem Stören des Unterrichts durch einzelne Schüler soll der Lehrer die Möglichkeit haben, computerunterstützt Versetzungen vorzunehmen. Je zwei Schüler sollen Platz tauschen können.
Eingabe: Reihe x, Sitz y tauscht mit Reihe v, Sitz w
==== (4) Tausch zweier Reihen ====
Da während des hochinteressanten Informatikunterrichts die Schüler in den hinteren Bankreihen eindeutig benachteiligt sind, muss aufgrund eines ausschließlichen Schülerwunsches ein Tausch zweier Bankreihen möglich sein.
Eingabe: Reihe x tauscht mit Reihe y, Sitze (Spalten) sollen dabei gleich bleiben.
==== (5) Tausch zweier Spalten ====
Da die Lehrer der 6bi grundsätzlich nur auf jener Tafelseite schreiben, auf der die Tafel für die neben der Tür sitzenden Schüler spiegelt, muss aufgrund eines ausschließlichen Schülerwunsches ein Tausch zweier "Sitzspalten" möglich sein.
Eingabe: Spalte x tausche mit Spalte y, Reihen sollen dabei gleich bleiben.
==== (6) Zufällige Sitzposition ====
Für Schularbeiten soll eine zufällige Sitzposition zugeordnet werden (vor allem schwache Schüler beklagen sich immer wieder, dass sie nie neben guten Schülern während einer Schularbeit sitzen dürfen; dies soll mit diesem Menüpunkt zumindest nicht völlig ausgeschlossen werden.)
Hinweis:
typedef string platz[3][4];
===== Programm Magisches Quadrat =====
Schreibe ein Programm, das ein 3×3-Magisches Quadrat einliest.
Verwende dazu ein mehrdimensionales Array und schreibe Funktionen zur Eingabe und zur Ausgabe.
Ein Magisches Quadrat liegt dann vor, wenn die Summe der einzelnen Zeilen, die Summe der einzelnen Spalten sowie die Summe der Diagonalen gleich sind.
Die Überprüfung soll ebenfalls in einer Funktion erfolgen (diese sollte vom Typ bool sein).
Bsp:
{{:informatik:k6inf:programmierung:magisches_quadrat.jpg}}
Hier: Summe der Spalten, Zeilen, Diagonalen ist jeweils 15.
===== Programm Schifferl versenken ====
* Realisiere das Programm "Schifferl versenken"
* Auf einem Feld (5x5) werden vom Computer 5 Schiffe versteckt. Der Spieler hat 10 Schüsse, um die Schiffe zu treffen.
* Beispielprogramm hier:
{{:informatik:k6inf:programmierung:schifferl_versenken.rar}}
===== Game of Life =====
Schreibe ein Simulationsprogramm für Conways [[http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens|"Game of Life"]]
===== Sommertheater =====
{{:inf:arrays:sommertheater.rar|Ausführbare Sommertheater.exe}}
Für ein (kleineres) Sommertheater soll ein Kartenverkaufssystem programmiert werden.
Das Theater hat 18 Reihen zu je 10 Plätzen.
* Für Reihe 1 - 6 zahlt man 30€.
* Für Reihe 7 - 12 zahlt man 20€.
* Für Reihe 13 - 18 zahlt man 10€.
Das Programm soll folgende Punkte umfassen:
* Button "Neue Vorstellung" (Feld wird neu initialisiert)
* Button "Kartenverkauf" (Nach Eingabe des gewünschten Platzes (Reihe, Sitz) soll dieser gebucht werden. Wenn er schon verkauft ist, soll eine entsprechende Meldung ausgegeben werden.
* Button "Storno" (Nach Eingabe des gewünschten Platzes (Reihe, Sitz) soll der gebuchte Platz wieder storniert werden. Wenn der Platz noch nicht verkauft wurde, soll eine entsprechende Meldung ausgegeben werden.
* Button "Einnahmen" (Die bisherigen Einnahmen sollen berechnet werden.)
Im StringGrid sollen entsprechende Zeichen (z.B. X oder 0 oder ähnliches) für "verkauft" bzw. "frei" eingegeben werden.
Bonus:
* Buchen mit Namen: Im Hintergrund wird der Name des Theaterbesuchers in ein zweidimensionales Array mitabgespeichert. Über einen Button kann mittels Eingabe von Reihe und Sitz der Name herausgefunden werden. Beim Storno wird der Name natürlich wieder gelöscht.
=== Hinweis ===
* Einfügen von Werten mittels zweier for-Schleifen!
StringGrid1->Cells[j][i]=InputBox("Reihe "+IntToStr(i+1)+", Spalte "+IntToStr(j+1),"Zahl eingeben:","");