for


Rozkaz For, Exit For Rozkaz For, Exit For For Exit For Do While Do...Loop While Do Until Do...Loop Until Exit Do For Pętla For nazywana jest również pętlą For-Next. Pozwala ona na wielokrotne powtarzanie bloku kodu. W przeciwieństwie do pętli typu Do wykonuje to ściśle określoną ilość razy. Powtórzenia pętli zwane są również iteracjami pętli. Składnia instrukcji For: For ZmiennaLicznik = WartośćPoczątkowa To WartośćKońcowa [Step WartośćKroku]    Blok instrukcji VB wykonywany gdy ZmiennaLicznik <= WartośćKońcowa (jeżeli WartośćKroku jest dodatnia), lub gdy ZmiennaLicznik>= WartośćKońcowa (gdy WartośćKroku jest ujemna) Next [ZmiennaLicznik] Wyrażenia w nawiasach [] są opcjonalne i nie muszą występować w instrukcji. W przypadku, gdy pominięta zostanie część rozkazu określająca WartośćKroku, Visual Basic przyjmie domyślną WartośćKroku=1. Wpisywanie ZmiennejLicznik za słowem Next nie jest konieczne, jednak poprawia czytelność i analizę zapisu, szczególnie przy zagnieżdżonych instrukcjach For. ZmiennaLicznik musi być zmienną (nie może być np. elementem sterującym). Jest ona wykorzystywana przez pętlę jako licznik powtórzeń. Przypadek gdy WartośćKroku jest dodatnia: Najpierw pętla For przypisuje ZmiennejLicznik wartość która jest podana jako WartośćPoczątkowa (może to być wartość liczbowa, wyrażenie, inna zmienna). Następnie pętla sprawdza czy wartość ZmiennejLicznik jest większa niż wartość podana jako WartośćKońcowa (może to być wartość liczbowa, wyrażenie, inna zmienna). Jeżeli ZmiennaLicznik nie jest większa to wykonywany jest blok rozkazów zawarty wewnątrz instrukcji For (aż do Next [ZmiennaLicznik]). Pętla zwiększa wartość ZmiennejLicznik o wartość podaną jako WartośćKroku. Następnie pętla ponownie sprawdza, czy wartość ZmiennejLicznik jest większa niż WartośćKońcowa. Jeżeli ZmiennaLicznik jest mniejsza lub równa to wykonywany jest blok rozkazów zawarty wewnątrz instrukcji For. Pętla kontynuuje swoje działanie, zwiększając za każdym razem wartość ZmiennejLicznik o WartośćKroku. Gdy wartość ZmiennejLicznik będzie większa niż WartośćKońcowa pętla zakończy swoje działanie i nie wykona już zawartego w niej bloku instrukcji. Przypadek gdy WartośćKroku jest ujemna: Najpierw pętla For przypisuje ZmiennejLicznik wartość która jest podana jako WartośćPoczątkowa (może to być wartość liczbowa, wyrażenie, inna zmienna). Następnie pętla sprawdza czy wartość ZmiennejLicznik jest mniejsza niż wartość podana jako WartośćKońcowa (może to być wartość liczbowa, wyrażenie, inna zmienna). Jeżeli ZmiennaLicznik nie ma mniejszej wartości to wykonywany jest blok rozkazów zawarty wewnątrz instrukcji For (aż do Next [ZmiennaLicznik]). Pętla zmniejsza wartość ZmiennejLicznik o wartość podaną jako WartośćKroku. Następnie pętla ponownie sprawdza, czy wartość ZmiennejLicznik jest mniejsza niż WartośćKońcowa. Jeżeli ZmiennaLicznik nie jest mniejsza to wykonywany jest blok rozkazów zawarty wewnątrz instrukcji For. Pętla kontynuuje swoje działanie, zmniejszając za każdym razem wartość ZmiennejLicznik o WartośćKroku. Gdy wartość ZmiennejLicznik będzie mniejsza niż WartośćKońcowa pętla zakończy swoje działanie i nie wykona już zawartego w niej bloku instrukcji. Przykład użycia instrukcji For: intSuma=0 For intLicznik=2 To 100 Step 2    intSuma=intSuma+intLicznik Next intLicznik (Zmienne, typy zmiennych i funkcja Str() zostały opisane w innych częściach kursu.) Zmiennej inSuma przypisywana jest wartość 0. Pętla For wykorzystuje zmienną intLicznik jako licznik powtórzeń. Najpierw przypisuje jej wartość 2. Sprawdza, czy jest mniejsza niż 100 i wykonuje blok rozkazów: do zmiennej intSuma dodawana jest wartość intLiczba. W wyrażeniu podstawienia najpierw obliczana jest wartość wyrażenia po prawej stronie, a potem przypisywana jest zmiennej po lewej stronie znak "=". Najpierw więc obliczane jest 0+2 (intSuma+intLicznik) a potem wynik przypisywany jest zmiennej intSuma. Następnie pętla zwiększa wartość zmiennej intLicznik o 2 (Step 2). Znowu porównują ją z 100 i wykonuje blok rozkazów. Teraz pod zmienną intSuma podstawia wartość 2+4 (zmieniona w poprzedniej iteracji wartość intSuma + nowa wartość intLicznik). Pętla kontynuuje swoje działanie, aż do momentu, gdy intLicznik będzie miała większą wartość niż 100 (to będzie 102). W ten sposób w zmiennej intSuma będzie suma wszystkich liczb parzystych od 0 do 100. Sposób zmian wartości zmiennych intLicznik i intSuma po każdej iteracji: Nr Iteracji intLicznik intSuma - - 0 1 2 0 + 2 = 2 2 2 + 2 = 4 2 + 4 = 6 3 4 + 2 = 6 6 + 6 = 12 ... ... ... 50 98 + 2 = 100 2450 + 100 = 2550 51 100 + 2 = 102 - Gdy intLicznik przekroczy wartość końcową (100) pętla kończy działanie. Zmienna intLicznik zmienia swoją wartość od 0 do 100 co 2. Tworzy więc ciąg liczb parzystych. Zmienna intSuma (przechowuje sumę wszystkich wcześniej zsumowanych liczb) zmienia swoją wartość za każdym razem o intLicznik. Tworzy więc sumę wszystkich liczb parzystych od 0 do 100. Staraj się nie zmieniać wartości ZmiennejLicznik wewnątrz bloku rozkazów pętli For. Może to doprowadzić do powstania pętli nieskończonej ("zapętlenia" się programu), gdy ZmiennaLicznik nigdy nie osiągnie WartościKońcowej. Przykład powstania pętli nieskończonej: For intLicznik=2 To 100 Step 2    intLicznik=6 Next intLicznik W tym przykładzie zmienna intLicznik nigdy nie osiągnie wartości 100, choć jest za każdym razem zwiększana o 2. Jednak wewnątrz ciała pętli jest jej przypisywana wartość 6. Nawet jeżeli w kolejnej iteracji pętla zwiększy jej wartość do 8, rozkaz podstawienia znowu przypisze jej wartość 6. Wartość zmiennej intLicznik będzie się więc zmieniała pomiędzy 6 i 8 i nigdy nie osiągnie wartości 100. Instrukcja For pozwala na zagnieżdżanie (umieszczanie instrukcji For wewnątrz ciała innej instrukcji For). Należy jednak pamiętać aby każdej z zagnieżdżonych pętli przyporządkować inną zmienną jako ZmiennaLicznik. W przeciwnym przypadku doprowadzi to do powstania błędu (Visual Basic 5 zgłosi, że ta zmienna jest już wykorzystywana w innej działającej pętli). na górę strony... Exit For Może się zdarzyć, że konieczne jest opuszczenie pętli przed zakończeniem jej działania. Może to być potrzebne np. gdy dalsze działanie pętli doprowadzi do błędu. Instrukcją pozwalającą na przerwanie działania pętli jest Exit For. Powoduje ona na natychmiastowe przerwanie działania pętli bez względu na to ile iteracji zostało wykonane i ile pozostało do wykonania. Składnia instrukcji Exit For: Exit For Instrukcja Exit For przeważnie poprzedzona jest instrukcją warunkową (najczęściej If) i powoduje przejście do rozkazu znajdującego się bezpośrednio za pętlą (za Next [ZmiennaLicznik]). Przykład użycia instrukcji Exit For: For intLicznik=1 To 10    if (intLiczba=intLicznik) Then      Exit For    End If    sngWynik=1/(intLicznik-intLiczba)    intWiadomosc=MsgBox(sngWynik) Next intLicznik (Zmienne, typy zmiennych, operatory porównania, instukcja If i funkcja MsgBox() zostały opisane w innych częściach kursu.) Pętla wykorzystuje zmienną intLicznik jako licznik powtórzeń. Podstawia pod nią kolejne wartości od 1 do 10 i oblicza wyrażenie 1/(intLicznik-intLiczba). W przypadku gdyby wartości zmiennych intLicznik i intLiczba były takie same, wygenerowany zostałby błąd dzielenia przez 0. Stąd zabezpieczenie, które kończy działanie pętli, gdy wartości tych zmiennych będą równe. na górę strony... Do While | Do...Loop While | Do Until | Do...Loop Until | Exit Do For | Exti For Poprzednia | Wyżej | Strona główna | Spis treści | Index haseł | Opis VB

Wyszukiwarka

Podobne podstrony:
Brandy Corvin Howling for the Vampire
2007 01 Web Building the Aptana Free Developer Environment for Ajax
CSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)
English for Medical S&D Practical English sentences key
plan for next iteration?CDF5AB
Burn Rate Models for Gun Propellants
Palmer relation between moral reasoning and agression, and implications for practice
62 FOR ostrzega Wprowadzenie klauzuli przeciwko unikaniu opodatkowania może być niezgodne z Konstytu
FOREX Systems Research Practical Fibonacci Methods For Forex Trading 2005
Cooking Homemade Recipes For Many Things
tailor process for projectlFD05E2
prepare environment for project 602A4
for whom the bell tollsD
Hypnotize Yourself For Success
plan for next iteration?855DCD

więcej podobnych podstron