Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PętlePętle – instrukcje powtórzeń Pętle Pętle - zbiór instrukcji, które należy wykonać wielokrotnie. Program dyktuje: ile razy - ile razy pętla ta wykona.

Podobne prezentacje


Prezentacja na temat: "PętlePętle – instrukcje powtórzeń Pętle Pętle - zbiór instrukcji, które należy wykonać wielokrotnie. Program dyktuje: ile razy - ile razy pętla ta wykona."— Zapis prezentacji:

1 PętlePętle – instrukcje powtórzeń Pętle Pętle - zbiór instrukcji, które należy wykonać wielokrotnie. Program dyktuje: ile razy - ile razy pętla ta wykona zawarty w niej blok instrukcji warunki zakończenia - jakie mają być warunki zakończenia jej działania.

2 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 Pętle typu Do wymagają zastosowania wyrażenia porównania. Wykorzystują do tego operatory porównania.Do operatory porównania

3 Rodzaje instrukcji pętli w VBA wyrażenie porównania prawdziwe Pętla typu Do While wykonuje zawarty w niej blok instrukcji dopóki wyrażenie porównania jest prawdziwe.Do While warunekfałszywy Pętla typu Do Until kontynuuje swoje działanie tak długo, jak długo podany warunek jest fałszywy.Do Until wartości początkowej wartości końcowej Pętla For wykonuje swoje działanie dopóki zmienna o podanej wartości początkowej nie osiągnie podanej wartości końcowej.For znana liczba powtórzeń Ta pętla jest najczęściej wykorzystywana, gdy znana jest wymagana liczba powtórzeń.

4 pętle znanej o znanej liczbie powtórzeń nieznanej o nieznanej liczbie powtórzeń For Do While Do Until

5 Pętla typu Do While operatory porównaniaoperatory porównania. Wymaga zastosowania wyrażenia porównania. Wykorzystuje do tego celu operatory porównania.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. warunek jest prawdziwy Blok ten jest wykonywany tak długo jak długo podany warunek jest prawdziwy.

6 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

7 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.Do...Loop While Najczęściej w Warunku pętli wykorzystywana jest jakaś zmienna.zmienna fałszywości Warunku Wartość tej zmiennej w ciele pętli musi się zmieniać, aby doprowadzić do fałszywości Warunku i zakończyć działanie pętli.

8 Przykład 1: Fragment programu żąda wczytania danych z określonego zakresu Sub blokowanie_danych() liczba = 0 Do While liczba 100 ‘podczas, gdy liczba wczytywana jest spoza żądanego przedziału liczba = InputBox("Podaj liczbę z przedziału ") Loop End Sub Uwaga! Taki fragment umieszcza się często na początku programu, żeby wymusić wczytanie odpowiednich danych

9 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.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.

10 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

11  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.Do...Loop Until  Najczęściej w Warunku pętli wykorzystywana jest jakaś zmienna.zmienna prawdziwości Warunku  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.

12 Przykład 1: wymuszanie poprawnych danych Sub wymuszanie_danych() Do liczba = InputBox("Podaj liczbę z przedziału ") 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

13 Instrukcja Exit Do 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ą.If

14 Instrukcja Exit Do Przykład użycia instrukcji Exit Do: Do intLiczba=InputBox("Podaj liczbę całkowitą„) if (intLiczba=intStala) Then Exit Do End If Wynik=1/(intStala-intLiczba) intWiadomosc=MsgBox(Wynik) Loop While (intLiczba>0)

15 Instrukcja pętli For … Do … Next  Pozwala na wielokrotne powtarzanie bloku kodu.  W przeciwieństwie do pętli typu Do wykonuje to ściśle określoną ilość razy.Do  Powtórzenia pętli zwane są iteracjami pętli.

16 Instrukcja pętli For … Do … Next 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]

17 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 ZmiennejLicznik za słowem Next nie jest konieczne, jednak poprawia czytelność i analizę zapisu, szczególnie przy zagnieżdżonych instrukcjach For.

18 Instrukcja pętli For … Do … Next Przykład użycia instrukcji For: Co robi ten kawałek programu? intSuma=0 For intLicznik=2 To 100 Step 2 intSuma=intSuma+intLicznik Next intLicznik Nie należy 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

19 Instrukcja Exit For 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 intLicznik=1 To 10 if (intLiczba=intLicznik) Then Exit For End If sngWynik=1/(intLicznik-intLiczba) intWiadomosc=MsgBox(sngWynik) Next intLicznik

20 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 = InputBox("Ile wyrazów ma zawierać ciąg?") Max = 0 min = 100 'Generowanie losowe liczb rzeczywistych z przedziału For i = 1 To n liczba = Rnd * 100 If liczba > Max Then Max = liczba ElseIf liczba < min Then min = liczba End If Next i MsgBox "Max=" & Max & " min=" & min End Sub


Pobierz ppt "PętlePętle – instrukcje powtórzeń Pętle Pętle - zbiór instrukcji, które należy wykonać wielokrotnie. Program dyktuje: ile razy - ile razy pętla ta wykona."

Podobne prezentacje


Reklamy Google