Microsoft® Small Basic
Verzweigungen und Unterprogramme
Geschätzte Zeit für den Abschluss dieser Lektion:
1 Stunde
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.
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.
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.
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.
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.
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“).
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.
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

1.5 codeverzweigungen und unterprogramme

  • 1.
    Microsoft® Small Basic Verzweigungenund Unterprogramme Geschätzte Zeit für den Abschluss dieser Lektion: 1 Stunde
  • 2.
    Codeverzweigungen und Unterprogramme Indieser 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 SmallBasic-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 SmallBasic-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 SmallBasic-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 SmallBasic-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… HerzlichenGlückwunsch! Sie haben Folgendes gelernt: Erstellen einer Verzweigung mit einer Goto-Anweisung. Erstellen eines Unterprogramms mit einer Sub..EndSub-Anweisung.
  • 9.
    Zeigen Sie, wasSie 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

Hinweis der Redaktion

  • #4 Code:j = 1lineQ:TextWindow.WriteLine(j)j = j + 1If j < 30 ThenGotolineQEndIf
  • #5 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
  • #10 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