Ptle instrukcje powtrze Ptle zbir instrukcji ktre naley
Pętle – instrukcje powtórzeń Pętle - zbiór instrukcji, które należy wykonać wielokrotnie. Program dyktuje: - ile razy pętla ta wykona zawarty w niej blok ile razy instrukcji - jakie mają być warunki zakończenia jej warunki zakończenia działania.
Rodzaje instrukcji pętli w VBA W Visual Basic istnieje kilka rodzajów pętli. § Do While … Loop § Do … Loop While § Do Until … Loop § Do … Loop Until § For … Do … Next Do przerwania działania pętli służą instrukcje: § Exit Do § Exit For
Rodzaje instrukcji pętli w VBA Pętla typu Do While wykonuje zawarty w niej blok instrukcji dopóki wyrażenie porównania jest wyrażenie porównania prawdziwe Pętla typu Do Until kontynuuje swoje działanie tak długo, jak długo podany warunek jest fałszywy. warunek fałszywy Pętla For wykonuje swoje działanie dopóki zmienna o podanej wartości początkowej nie osiągnie wartości początkowej podanej wartości końcowej Ta pętla jest najczęściej wykorzystywana, gdy znana jest wymagana liczba powtórzeń
pętle o znanej liczbie znanej powtórzeń For o nieznanej liczbie nieznanej powtórzeń Do While Do Until
Pętla typu Do While Wymaga zastosowania wyrażenia porównania. Wykorzystuje do tego celu operatory porównania. Jest ograniczona słowami kluczowymi Do i Loop. W ciele pętli może znajdować się jedna instrukcja lub cały blok instrukcji VB. Blok ten jest wykonywany tak długo jak długo podany warunek jest prawdziwy
Pętla typu Do While Ważne: w ciele pętli muszą znaleźć się instrukcje, które sprawią, że podany warunek kiedyś stanie się fałszywy! W przeciwnym razie pętla się nie zakończy! Składnia instrukcji Do While: Do While (Warunek) Blok instrukcji VB wykonywany gdy Warunek jest prawdziwy Loop
Pętla typu Do While Jeżeli warunek jest fałszywy już na samym początku przed wykonaniem pętli, to blok instrukcji w ciele pętli nie zostanie wykonany ani razu. Nieco inaczej działa pętla Do. . . Loop While, której ciało jest zawsze wykonywane przynajmniej jeden raz. Najczęściej w Warunku pętli wykorzystywana jest jakaś zmienna. Wartość tej zmiennej w ciele pętli musi się zmieniać, aby doprowadzić do fałszywości Warunku i zakończyć działanie pętli.
Przykład 1: Fragment programu żąda wczytania danych z określonego zakresu Sub blokowanie_danych() liczba = 0 Do While liczba < 1 Or liczba > 100 ‘podczas, gdy liczba wczytywana jest spoza żądanego przedziału liczba = Input. Box("Podaj liczbę z przedziału 1. . 100") Loop End Sub Uwaga! Taki fragment umieszcza się często na początku programu, żeby wymusić wczytanie odpowiednich danych
Pętla typu Do Until Pętla Do Until wykonuje zawarty w niej blok rozkazów tak długo, jak długo podany warunek jest fałszywy. Wymaga ona zastosowania wyrażenia porównania. Wykorzystuje do tego celu operatory porównania. Pętla te jest ograniczona słowami kluczowymi Do i Loop. W ciele pętli może znajdować się jedna instrukcja lub cały blok instrukcji VB.
Pętla typu Do Until Ważne: w ciele pętli muszą znaleźć się instrukcje, które doprowadzą do tego, że podany warunek kiedyś stanie się prawdziwy. W przeciwnym razie pętla się nie zakończy! Składnia instrukcji Do Until: Do Until (Warunek) Blok instrukcji VB wykonywany gdy Warunek jest fałszywy Loop
Pętla typu Do Until Ø Jeżeli warunek jest prawdziwy już na samym początku przed wykonaniem pętli, to blok instrukcji w ciele pętli nie zostanie wykonany ani razu. Ø Nieco inaczej działa pętla Do. . . Loop Until, której ciało jest zawsze wykonywane przynajmniej jeden raz. Ø Najczęściej w Warunku pętli wykorzystywana jest jakaś zmienna. Ø Należy zadbać, aby w ciele pętli wartość tej zmiennej zmieniała się, aby doprowadzić do prawdziwości Warunku i zakończyć działanie pętli.
Przykład 1: wymuszanie poprawnych danych Sub wymuszanie_danych() Do liczba = Input. Box("Podaj liczbę z przedziału 1. . 100") Loop Until liczba >= 1 And liczba <= 100 ‘tu warunek odwrotny do warunku z przykładu z instrukcją While, napisany zgodnie z logicznymi prawami de Morgana End Sub
Instrukcja Exit Do – instrukcja pozwalająca na przerwanie działania pętli. Powoduje natychmiastowe przerwanie działania pętli, bez względu na prawdziwość podanego warunku. Składnia instrukcji Exit Do: Exit Do Instrukcja Exit Do przeważnie poprzedzona jest instrukcją warunkową (najczęściej If) i powoduje przejście do rozkazu znajdującego się bezpośrednio za pętlą.
Instrukcja Exit Do Przykład użycia instrukcji Exit Do: Do int. Liczba=Input. Box("Podaj liczbę całkowitą„) if (int. Liczba=int. Stala) Then Exit Do End If Wynik=1/(int. Stala-int. Liczba) int. Wiadomosc=Msg. Box(Wynik) Loop While (int. Liczba>0)
Instrukcja pętli For … Do … Next q. Pozwala na wielokrotne powtarzanie bloku kodu. q. W przeciwieństwie do pętli typu Do wykonuje to ściśle określoną ilość razy. q. Powtórzenia pętli zwane są iteracjami pętli.
Instrukcja pętli For … Do … Next Składnia instrukcji For: For Zmienna. Licznik = WartośćPoczątkowa To WartośćKońcowa [Step WartośćKroku] Blok instrukcji VB wykonywany gdy Zmienna. Licznik <= WartośćKońcowa (jeżeli WartośćKroku jest dodatnia), lub gdy Zmienna. Licznik>= WartośćKońcowa (gdy WartośćKroku jest ujemna) Next [Zmienna. Licznik]
Instrukcja pętli For … Do … Next Ø Wyrażenia w nawiasach [] są opcjonalne, tzn. 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 Zmiennej. Licznik za słowem Next nie jest konieczne, jednak poprawia czytelność i analizę zapisu, szczególnie przy zagnieżdżonych instrukcjach For.
Instrukcja pętli For … Do … Next Przykład użycia instrukcji For: Co robi ten kawałek programu? int. Suma=0 For int. Licznik=2 To 100 Step 2 int. Suma=int. Suma+int. Licznik Next int. Licznik Nie należy zmieniać wartości Zmiennej. Licznik wewnątrz bloku rozkazów pętli For. Może to doprowadzić do powstania pętli nieskończonej ("zapętlenia" się programu), gdyż Zmienna. Licznik nigdy nie osiągnie Wartości. Końcowej. Przykład powstania pętli nieskończonej: For int. Licznik=2 To 100 Step 2 int. Licznik=6 Next int. Licznik
Instrukcja Exit For – umożliwia opuszczenie pętli przed zakończeniem jej działania. Powoduje natychmiastowe przerwanie działania pętli, bez względu na to ile iteracji zostało wykonane i ile pozostało do wykonania. Przykład użycia instrukcji Exit For: For int. Licznik=1 To 10 if (int. Liczba=int. Licznik) Then Exit For End If sng. Wynik=1/(int. Licznik-int. Liczba) int. Wiadomosc=Msg. Box(sng. Wynik) Next int. Licznik
Przykład 2: program szuka największego i najmniejszego elementu w ciągu n liczb, wygenerowanych funkcją losowania Sub Max_Min() Dim n As Byte n = Input. Box("Ile wyrazów ma zawierać ciąg? ") Max = 0 min = 100 'Generowanie losowe liczb rzeczywistych z przedziału 0. . 100 For i = 1 To n liczba = Rnd * 100 If liczba > Max Then Max = liczba Else. If liczba < min Then min = liczba End If Next i Msg. Box "Max=" & Max & " min=" & min End Sub
- Slides: 20