Erzeuge im vorhandenen Form eine breite Textbox mit dem Namen Ausgabe. Sperre die Eingabemöglichkeit für diese Textbox. Erzeuge darunter in einer Ebene drei gleichgroße Textboxen mit den Namen Eingabe1, Eingabe2 und Eingabe3. Der Defaulttext dieser Elemente ist false. Erzeuge darunter in einer Ebene drei gleichgroße Commandbuttons mit den Namen AND, OR und XOR. Erzeuge darunter in einer Ebene drei gleichgroße Commandbuttons mit den Namen GAMBLE, FOR-GAMBLE und WHILE-GAMBLE.
Wenn der Button AND gedrückt
wird, sollen die Eingaben1 bis Eingaben3
mit einer UND-Verknüpfung logisch
ausgewertet werden. Wenn diese Auswertung den Wert true
ergibt, soll der Text AND-JACKPOT im Ausgabefenster
Ausgabe dargestellt werden, andernfalls soll der
Text YOU HAVE LOST ausgegeben werden. Wenn der
Button OR gedrückt wird, sollen die Eingaben1
bis Eingaben3 mit einer OR-Verknüpfung
logisch ausgewertet werden. Wenn diese Auswertung den Wert true
ergibt, soll der Text OR-JACKPOT im Ausgabefenster
Ausgabe dargestellt werden, andernfalls soll der
Text YOU HAVE LOST ausgegeben werden. Wenn der
Button XOR gedrückt wird, sollen die Eingaben1
bis Eingaben3 mit einer XOR-Verknüpfung
logisch ausgewertet werden. Wenn diese Auswertung den Wert true
ergibt, soll der Text XOR-JACKPOT im Ausgabefenster
Ausgabe dargestellt werden, andernfalls soll der
Text YOU HAVE LOST ausgegeben werden.Für
diesen Zweck definiere eine gemeinsam zu nutzende Funktion
auswertung(), welche über den
Parameter die Information mitbekommt, ob eine AND, OR oder
XOR-Verknüpfung abgefragt werden soll. D.h:
Private
Sub auswertung(sOperator As String)
<<<Definiere die
Variable bWert1 vom Datentyp Boolean, welche am Ende der Funktion
zerstört wird >>>
<<<Definiere die
Variable bWert2 vom Datentyp Boolean, welche am Ende der Funktion
zerstört wird >>>
<<<Definiere die
Variable bWert3 vom Datentyp Boolean, welche am Ende der Funktion
zerstört wird >>>
bWert1 = CBool(<<< der
im Objekt Eingabe1 vorhandene Text>>>)
bWert2 =
CBool(<<< der im Objekt Eingabe2 vorhandene Text>>>)
bWert3
= CBool(<<< der im Objekt Eingabe3 vorhandene Text>>>)
<<<
(Beginn von "Select Case)Im Fall, dass die Variable sOperator
nachfolgende Werte besitzt >>>
Case "AND"
'sOperator besitzt den Wert "AND"
<<< Wenn die
Variablenvergleiche bWert1=True, bWert2=True und bWert3=True, alle
mit AND verknüpft, den Wert True liefert, dann ...>>>
<<<
Setze den Text des Objektes Ausgabe auf den Wert
"AND-JACKPOT">>>
<<< ...andernfalls
...>>>
<<< Setze den Text des Objektes Ausgabe
auf den Wert "YOU HAVE LOST">>>
<<<...Ende
von wenn>>>
Case "OR" 'sOperator besitzt den
Wert "OR"
<<< Wenn die Variablenvergleiche
bWert1=True, bWert2=True und bWert3=True, alle mit OR verknüpft,
den Wert True liefert, dann ...>>>
<<< Setze
den Text des Objektes Ausgabe auf den Wert "OR-JACKPOT">>>
<<<
...andernfalls ...>>>
<<< Setze den Text des
Objektes Ausgabe auf den Wert "YOU HAVE LOST">>>
<<<...Ende
von wenn>>>
Case "XOR" 'sOperator besitzt den
Wert "XOR"
<<< Wenn die Variablenvergleiche
bWert1=True, bWert2=True und bWert3=True, alle mit XOR verknüpft,
den Wert True liefert, dann ...>>>
<<< Setze
den Text des Objektes Ausgabe auf den Wert "XOR-JACKPOT">>>
<<<
...andernfalls ...>>>
<<< Setze den Text des
Objektes Ausgabe auf den Wert "YOU HAVE LOST">>>
<<<
...Ende von wenn>>>
<<< Ende von "Select
Case" >>>
End Sub
Diese
Funktion wird in den Funktionen and_click(), or_click() und
xor_click() mit dem entsprechenden Parameter aufgerufen.
Wenn der Button GAMBLE
gedrückt wird, soll für jedes der Elemente
Eingabe1, Eingabe2 und Eingabe3 eine Zufallszahl
zwischen 0 und 9 ermittelt werden. Diese drei ermittelten Zahlen
sollen in der Ausgabe dargestellt werden. Ist die
erste Zahl größer gleich 0 und kleiner als 4 so wird im
Element Eingabe1 der Text True
ausgegeben, andernfalls der Text False. Analog ist
dies für die Elemente Eingabe2 und Eingabe3
durchzuführen. Schreibe dafür eine eigene Funktion
mygamble(), welche von der Funktion gamble_click()
aufgerufen wird. D.h.
Private
Sub mygamble()
<<< Definiere die Variable iWert vom
Datentyp Integer, welche am Ende der Funktion zerstört wird
>>>
<<< Definiere die Variable i vom Datentyp
Integer, welche am Ende der Funktion zerstört wird >>>
<<<
Definiere die Variable sAussage vom Datentyp String, welche am Ende
der Funktion zerstört wird >>>
<<< Setze
den Text des Objektes Ausgabe auf einen Leerstring">>>
<<<
Beginn der For-Schleife, welche in der Variablen i die Werte von 1
bis 3 durchläuft>>>
Randomize
iWert = Int(9 *
Rnd + 1)
<<< Füge dem Element Ausgabe den Text
CStr(iWert) hinzu >>>
<<< Wenn der Wert der
Variablen iWert größer gleich 0 und kleiner gleich 4 ist,
dann ...>>>
<<< Setze den Wert der Variable
sAussage auf "True">>>
<<<...andernfalls...>>>
<<<
Setze den Wert der Variablen sAussage auf "False">>>
<<<
Ende von wenn>>>
<<< (Beginn von "Select
Case") Im Fall, dass" die Variable i nachfolgende Werte
besitzt >>>
Case 1 'i besitzt den Wert 1
<<<
Setze den Text des Objektes Eingabe1 auf den Wert der Variablen
sAussage>>>
Case 2 'i besitzt den Wert 2
<<<
Setze den Text des Objektes Eingabe2 auf den Wert der Variablen
sAussage>>>
Case 3 'i besitzt den Wert 3
<<<
Setze den Text des Objektes Eingabe3 auf den Wert der Variablen
sAussage>>>
<<< Ende von "Select Case
>>>
<<<...Ende der For-Schleife>>>
End
Sub
Wenn der Button FOR-GAMBLE gedrückt
wird, soll gleichartiges wie in der Funktion gamble_click()
durchgeführt werden. Unterschiedlich ist nur, daß
mittels einer FOR-NEXT-Schleife 66-mal
die drei Zahlenwerte berechnet werden und erst anschließend
die Elemente Eingabe1, Eingabe2 und Eingabe3
mit entsprechenden True oder False
versorgt werden sollen. Die Anzahl der Läufe soll zusätzlich
im Element Ausgabe angezeigt werden. D.h.:
Private
Sub forgamble_Click()
<<<Definiere die Variable j vom
Datentyp Integer, welche am Ende der Funktion zerstört wird
>>>
<<<Für die Werte 0 bis 66 der
Variablen j soll folgendes durchgeführt werden ...">>>
mygamble
'Funktionsaufruf der Funktion mygamble()
<<<...Ende der
"Für"-Schleife>>>
Ausgabe.Text =
Ausgabe.Text + " (after " + CStr(j - 1) + "
runs)"
End Sub
Wenn der Button WHILE-GAMBLE gedrückt
wird, soll gleichartiges wie in der Funktion gamble_click()
durchgeführt werden. Unterschiedlich ist nur, daß
mittels einer WHILE-WEND-Schleife 13-mal
die drei Zahlenwerte berechnet werden und erst anschließend
die Elemente Eingabe1, Eingabe2 und Eingabe3
mit entsprechenden True oder False
versorgt werden sollen. Die Anzahl der Läufe soll zusätzlich
im Element Ausgabe angezeigt werden. D.h..:
Private
Sub whilegamble_Click()
<<< Definiere die Variable j vom
Datentyp Integer, welche am Ende der Funktion zerstört wird
>>>
<<< Setze den Wert der Variablen j auf den
Wert 0 >>>
<<< Solange der Wert der Variablen j
kleiner gleich 13 ist ...>>>
<<< rufe die
Funktion mygamble() auf>>>
<<< Erhöhe den
Wert der Variablen j um den Wert 1 >>>
<<<
...Ende von "Solange">>>
Ausgabe.Text =
Ausgabe.Text + " (after " + CStr(j - 1) + "
runs)"
End Sub