16 164
edycje
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ę. |