2. Codeverzweigungen und Unterprogramme
In dieser Lektion erhalten Sie
Informationen über:
Verzweigen des Codes mit
Goto-Anweisungen.
Erstellen von Unterprogrammen
mit den Anweisungen Sub und
EndSub.
3. Verzweigung
Wie Sie wissen, führt der Computer ein
Programm aus, indem er die Anweisungen
jeweils einzeln Zeile für Zeile liest und
verarbeitet.
Manchmal möchten Sie, dass
der Computer den Fluss unterbricht
und während der Ausführung eines
Programms zu einer anderen
Codezeile springt.
Sie können den Computer mit
einer Goto-Anweisung anweisen,
eine Codezeile außer der Reihe zu
verarbeiten.
4. Verzweigungen in Small Basic-Programmen
Untersuchen wir die Anweisung Goto
und ihre einzelnen Teile, indem wir ein
Programm schreiben.
In diesem Programm wird
die Anweisung lineQ: als
„Sprungmarke“
bezeichnet, entsprechend
einem Lesezeichen. Sie können
beliebig viele Sprungmarken
mit beliebigen Bezeichnungen
hinzufügen, sofern Sie jeden
Namen nur einmal verwenden.
Die Anweisung Goto
instruiert den Computer,
die Anweisungen nach der
Sprungmarke lineQ: nur
dann erneut
auszuführen, wenn die
Bedingung in der
If-Anweisung erfüllt ist.
5. Verzweigungen in Small Basic-Programmen
Sie können auch mit der Goto-Anweisung dafür sorgen,
dass ein Pogramm unbegrenzt
ausgeführt wird.
Sehen wir jetzt, wie GotoAnweisungen funktionieren,
indem wir einem bekannten
Programm eine solche
Anweisung hinzufügen.
Das Programm wird so
lange ausgeführt, bis
jemand auf die Schaltfläche
„Schließen“ (X) oben rechts
im Textfenster klickt.
6. Unterprogramme in Small Basic-Programmen
Wenn wir Programme schreiben, möchten wir oft, dass der Computer manche
Anweisungen mehr als einmal ausführt. Sie können vermeiden, die gleichen
Anweisungen immer wieder schreiben zu müssen, indem Sie in Ihren
Programmen Unterprogramme verwenden.
Mit einem Unterprogramm
können Sie eine oder mehrere
Anweisungen auf einmal
ausführen. Sie erstellen
ein Unterprogramm mit
dem Schlüsselwort Sub
und geben dann dem
Unterprogramm einen
bestimmten Namen.
Sie beenden das
Unterprogramm mit dem
Schlüsselwort EndSub.
Sehen Sie sich das folgende
Unterprogramm mit dem Namen
PrintHour an, das ein Textfenster
öffnet und die aktuelle Stunde anzeigt.
7. Unterprogramme in Small Basic-Programmen
Schreiben wir nun ein Programm, um
Unterprogramme besser zu verstehen …
In diesem Programm verwenden
wir die Anweisung Divide( ),
um das Unterprogramm Divide
(Teilen) von einer beliebigen
Stelle des Programms aus
auszuführen (oder „aufzurufen“).
8. Fassen wir zusammen…
Herzlichen Glückwunsch! Sie haben
Folgendes gelernt:
Erstellen einer Verzweigung mit einer Goto-Anweisung.
Erstellen eines Unterprogramms mit einer Sub..EndSub-Anweisung.
9. Zeigen Sie, was Sie wissen
Schreiben Sie ein Programm, das ein Textfenster öffnet
und anschließend die folgenden Schritte ausführt:
Fragt den Benutzer nach
Name, Temperatur, Regen- und
Windwetter
von 10 Städten.
Verwendet Verzweigungen und
Unterprogramme zur Bestimmung
und Anzeige der Gesamtzahl von:
Kalten Städten
Kühlen Städten
Warmen Städten
Heißen Städten
Regnerischen Städten
Windigen Städten
In der ersten Zeile dieses Programms erstellen Sie eine Variable mit der Bezeichnung „j“ und setzen ihren Wert auf „1“.Anschließend erstellen Sie eine Sprungmarke mit der Bezeichnung lineQ: mit einem Doppelpunkt (:) am Ende.In der nächsten Zeile weisen Sie den Computer an, den Wert der „j“-Variable auf dem Bildschirm anzuzeigen.Dann erhöhen Sie den Wert der „j“-Variable um 1.In der nächsten Zeile legen Sie fest, ob der Wert der „j“-Variable kleiner als 10 ist.--Wenn dies der Fall ist, weisen Sie den Computer an, die Codezeilen zu wiederholen, die auf „lineQ“ folgen. Mit anderen Worten: Sie weisen den Computer an, den Wert der „j“-Variable anzuzeigen, ihren Wert um 1 zu erhöhen und dann festzustellen, ob dieser Wert kleiner als 10 ist.--Wenn dieser Wert nicht kleiner als 10 ist, weisen Sie den Computer an, bis zum nächsten Teil des Programms fortzufahren (oder das Programm anzuhalten, wenn kein Code mehr vorhanden ist).Code:j = 1lineQ:TextWindow.WriteLine(j)j = j + 1If j < 10 ThenGotolineQEndIf
Lösung:up:If i < 10 thenTextWindow.WriteLine(„“)TextWindow.Write(„Was ist der Name einer Stadt? “)Stadt = TextWindow.Read()TextWindow.Write(„Wie hoch ist die Temperatur in dieser Stadt (in Grad Celsius)? “)temp = TextWindow.Read()TextWindow.Write(„Regnetes (J/N)? “)Regen = TextWindow.Read()TextWindow.Write(„Ist es windig (J/N)? “)Wind = TextWindow.Read()'Aufruf von UnterprogrammensubtempCount()subrainyCount() subwindyCount()i = i + 1 If i = 10 ThensubOutput()EndIf EndIf Goto up Sub subtempCountIf temp <= 5 ThenColdCount = ColdCount + 1ElseIf temp <= 15 ThenCoolCount = CoolCount + 1 ElseIf temp <= 25 ThenWarmCount = WarmCount + 1 ElseHotCount = HotCount + 1 EndIfEndSubSub subRainyCountIf Rainy = „j“ Or Rainy = „J“ ThenRainyCount = RainyCount + 1EndIfEndSub