VB - Übung 4a
"Logischer Gambler"
Pseudocode, Eigene Funktion

  1. 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.

  2. 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.

  3. 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

  4. 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

  5. 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