Przejdź do zawartości

Microsoft Small Basic - poradnik programowania: Różnice pomiędzy wersjami

brak opisu edycji
Nie podano opisu zmian
Linia 845: Linia 845:


Żeby zakończyć działanie programu, należy nacisnąć "X" w prawym-górnym rogu okna.
Żeby zakończyć działanie programu, należy nacisnąć "X" w prawym-górnym rogu okna.
== Pętla For ==
=== Pętla For dodająca 1 ===
Wróćmy do naszego przykładu wyświetlającego liczby od 1 do 6.
<code>
<poem>
i = 1
'''start:'''
TextWindow.WriteLine(i)
i = i + 1
If (i < 6) Then
  '''Goto start'''
EndIf
</poem>
</code>
Wielokrotne dodawanie ''1'' jest w programowaniu bardzo powszechnie stosowaną praktyką, dlatego w celu uproszczenia kodu wprowadzono polecenie <code>''For''</code>, które umożliwia zapisanie tego samego w znacznie krótszej formie.
<code>
<poem>
For i = 1 To 6
  TextWindow.WriteLine(i)
EndFor
</poem>
</code><br>
http://i.imgur.com/IsSGQ5l.png
W pierwszej linii po <code>For</code> definiujemy początkową wartość zmiennej, której wartość ma rosnąć o 1. W naszym przypadku to <code>i = 1</code>. Po wyrazie <code>To</code> podajemy wartość końcową. W naszym przypadku - <code>6</code>.
Strukturę <code>'''For''' ''kod'' '''EndFor'''</code> nazywamy <u>pętlą</u>. Pozwala ona na samodzielne zwiększanie wartości zmiennej programowi i ponowne wykonywanie tych samych czynności.
Program wykonuje tyle razy kod w pętli, aż wartość zmiennej (u nas <code>i</code>) dojdzie do danej wartości (u nas <code>6</code>).
=== Dodawanie innych wartości ===
Najczęściej stosuje się dodawanie 1, ale można też wybrać inne wartości, dopisując do początku pętli <code>''Step''</code>.
<code>
<poem>
For i = 1 To 6 '''Step 2'''
  TextWindow.WriteLine(i)
EndFor
</poem>
</code>
http://i.imgur.com/iOoG1nu.png
=== Zmniejszanie wartości ===
Po <code>Step</code> możemy wpisać dowolną liczbę. Także ujemną. Wtedy wartość zmiennej będzie maleć, zamiast rosnąć.
<code>
<poem>
For i = 6 To 1 Step '''-1'''
  TextWindow.WriteLine(i)
EndFor
</poem>
</code>
http://i.imgur.com/37rNrhU.png
=== PRZYKŁAD: Kolorowe okno tekstowe ===
Pętlę <code>For</code> i poznane wcześniej ''wykonywanie warunkowe'' można wykorzystać do fajnej zabawy oknem tekstowym. Każdy programista musi się czasem rozerwać! :-D
<code>
<poem>
For i = 1 To 666
  If TextWindow.BackgroundColor = "Blue" Then
    TextWindow.BackgroundColor = "Magenta"
  Else
    TextWindow.BackgroundColor = "Blue"
  EndIf
  TextWindow.Write("  ")
EndFor
</poem>
</code>
http://i.imgur.com/KhLdREj.png
Program powtarza [[666]] razy podaną czynność:
* Jeśli kolor tła = ''"Blue"'' wtedy zmień kolor tła na ''"Magenta"''
* Jeśli nie, wtedy zmień kolor tła na ''"Blue"''
Następnie dodaje do okna tekst o treści " ", czyli po prostu pustą spację.