VB.Net
description
Transcript of VB.Net
VB.Net
1. ZMIENE I TYPY 2. OPERATORY 3. SELEKCJE 4. TABLICE 5. REPETYCJE
1. STRUKTURY DANYCH:
ZMIENNE I TYPY
VB.Net
• Słowa kluczowe oraz nazwy obiektów i klas rozpoczynaj od dużej litery np. Loop, Dim, FileStream
• Rozpoczynaj nazwę zmiennej od małej litery stosując styl wielbłądzi (camel style) np. dataUrodz lub styl pascalowy np. DataUrodz
• Nazwę zmiennej rozpoczynaj od 2 lub 3-znakowego skrótu typu danych np. dtDataUrodz, cNazwPrac, intPodatekVAT. Są to tzw. prefiksy węgierskie - od nazwiska węgierskiego inżyniera Microsoftu Charles’a Simonyi
Konwencje nazw zmiennych
Wspólny System Typów (Common Type System)
Typ danych Dopuszczalne wartości Zajętość pamięci
Boolean True lub False (Prawda lub Fałsz) 2 bajtyDate Data z przedz: 01.01.0001 do 31.12.9999 8 bajtówByte Liczba bez znaku od 0 do 255 1 bajtShort Liczba od -32768 do +32767 2 bajtyInteger Liczba od -2147483648 4 bajty
do +2147483647Long Liczba od - 9223372036854775808 8 bajtów
do +9223372036854775807Decimal Liczba ze znakiem złożona max 16 bajtów
z 29 cyfr, nie większa niż 79228×1024
Single Liczba od -3.4028235E+38 4 bajtydo +3.4028235E+38
Double Liczba od -1.79769313486231E+308 8 bajtów do +1.79769313486231E+308Char Ciąg znaków Unicode od 0 do 65535 2 bajty
String Ciąg znaków Unicode od 0 do 231-1 zn.Object Dowolny typ danych
Konwencje zapisu zmiennych
Typ zmiennej Prefiks (przedrostek) Przykład
Boolean b bCzyNowyProdDate dt dtDataZatrudn
Byte byt bytMiesiacShort sht shtLicznikInteger i lub int iKotyLong l lub lng lPopulacja
Decimal dec decWynikBadanSingle sng sngCenaDouble d lub dbl dblDochod
Char c cZnakString s lub str sNazwisko
Symbole typów danych
Typ danych Symbol typu Przykład
Boolean - True FalseDate - #23/08/2003#
Byte - 0-255Short S 3456SInteger I lub % 123ILong L lub & 15L
Decimal D lub & 4.56DSingle F lub !4.56FDouble R lub # 4.56R
Char C ”C”CString - ”VB.Net”
Deklaracje zmiennych
Ogólna postać deklaracji zmiennej:
Dim nazwa_zmiennej As typ_zmiennej
np. Dim licznikPowt As Integer
Dim wartProd As Single
Zmiennym podczas deklaracji można przypisać wartości np.
Dim intLiczba As Integer = 456789
Dim odpowiedz = False ‘ lub True
Inne przykłady deklaracji zmiennych
Dim i As Integer = 21
Dim dToday As Date = Today()
Dim dblFloat As Double = 1232.23312
Dim dBirthday As Date = #1/1/1995#
Dim iCalculate As Integer = i * 5
Dim I, J, X As Integer
• Metoda konwersji ToString przypisuje argumentowi łańcuchowemu format danej
• Znaki specjalne użyte są do zdefiniowania formatu
lblGain.Text = mdblGain.ToString("$##,###.##")
zmienna
metoda ToString
argument definiuje sposób formatowania wartości
Formatowanie wartości numerycznych za pomocą metody
Znak
(maska)Opis
0 Format cyfrowy.
# Format cyfrowy.
. Format dziesiętny – określa pozycję dziesiętną
, Separator tysięcy
% Format procentu
- + $ ( ) Znaki wbudowane w łańcuchu znaków
Znaki formatujące (Formatting Placeholders)
Przykłady formatowania
Łańcuch formatu (Maska)
Wartość Wartość po sformatowaniu
000000.000 123.45 000123.450
###,###.00 1234.4 1,234.40
$###,###.00 1234.4 $1,234.40
###% 0.08 8%
##.00% 0.08 8.00%
C 1234.4 $1234.40
F 1234.4 1234.40
VB.Net
2. OPERATORY:
ARYTMETYCZNEZŁOŻENIA (KONKATENACJI)
RELACJILOGICZNE
Priorytety operatorów
Kategoria Operator Symbol
Arytmetyczny Potęgowanie ^Arytmetyczny Negacja (minus) -Arytmetyczny Mnożenie oraz dzielenie zmiennoprzec. * / Arytmetyczny Dzielenie całkowite \Arytmetyczny Reszta z dzielenia ModArytmetyczny Dodawanie i odejmowanie + -
Złożenie (Konkatenacja) &, +
Relacja (Porównanie) =, <>, <, >,<=, >=,Like, Is
Logiczny Nie NOTLogiczny Oraz (Koniunkcja) AND,
AndAlsoLogiczny Lub (Alternatywa) OR, OrElse
3. STRUKTURY STEROWANIA:SELEKCJE
VB.Net
If – Then <wersja z blokiem instrukcji>
Selekcja if dokonuje ona sprawdzenia podanego warunku i jeżeli jest on prawdziwy (ma wartość TRUE) wykonywany jest blok instrukcji. W przypadku gdy warunek jest fałszywy blok ten jest omijany.Składnia:
If Wyrażenie logiczne Then Blok instrukcji VB wykonywany gdy Wyrażenie logiczne jest prawdziweEnd If
Instrukcje warunkowe (If)
If – Then <wersja z uproszczoną składnią instrukcji>
Uproszczona składnia selekcji If:
If Wyrażenie logiczne Then Instrukcja1 [: Instrukcja2 [: ... [: InstrukcjaN ]...]]
Uproszczoną składnię selekcji If można użyć, gdy ma być wykonana tylko jedna instrukcja (lub kilka krótkich instrukcji oddzielonych od siebie dwukropkami), a nie cały blok. Nawiasy [] oznaczają, że wyrażenia te są opcjonalne, tzn., że wymagany jest tylko jedna instrukcja za Then, a pozostałe mogą lecz nie muszą występować.
Przykład użycia selekcji If:
If intZysk > 1200 Then intPodatek = 20 intWiadomosc = MsgBox("Zapłacisz większy podatek")End If
Zapis w postaci uproszczonej:
If intZysk>1200 Then intPodatek = 20 : intWiadomosc = MsgBox("Zapłacisz większy podatek")
Zapisywanie wyrażeń logicznych w nawiasach nie jest konieczne, jednak poprawia czytelność zapisu, szczególnie, jeżeli sprawdzany warunek jest rozbudowany. Zapis uproszczony jest przydatny przy konieczności wykonania małej liczby krótkich instrukcji, jednak dla zachowania przejrzystości programu zaleca się stosowanie pełnej wersji zapisu.
If - Then - Else
W przypadku gdy wyrażenie logiczne ma wartość TRUE wykonuje ona blok rozkazów zawarty między Then i Else, gdy zaś warunek ma wartość FALSE wykonuje blok rozkazów zawarty między Else i End If. Składnia:
If Wyrażenie logiczne Then Blok instrukcji wykonywany gdy Wyr.log. jest prawdąElse Blok instrukcji wykonywany gdy Wyr.log jest fałszemEnd If
Uproszczona składnia instrukcji If..Else:
If Wyrażenie logiczne Then Instrukcja1a [: InstrukcjaA1 [: ... [: InstrukcjaAn ]...]] Else InstrukcjaB1 [: [: ... [: InstrukcjaBm ]...]]
Przykład użycia selekcji If – Then - Else:
If (intZysk>1200) Then intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić większy podatek")Else intPodatek=7 intWiadomosc=MsgBox("Możesz zapłacić mniejszy podatek"")End If
Zapis w formie uproszczonej (nie zaleca się używać !):
If (intZysk>1200) Then intPodatek=20 : intWiadomosc=MsgBox("Zapłacisz większy podatek") Else intPodatek=7 : intWiadomosc=MsgBox("Możesz zapłacić mniejszy podatek")
If – Then – ElseIf
Możliwość zagnieżdżania selekcji If..Else wymusiło powstanie konstrukcji If...ElseIf. Pozwala ona na kolejne sprawdzanie wielu wyrażeń logicznych.Składnia:
If Wyrażenie logiczne1 Then Blok instrukcji wykonywany gdy Wyr.log. jest prawdziweElseIf Wyrażenie logiczne2 Then Blok instrukcji wykonywany gdy Wyr.log1 nie jest prawdą a Wyrażenie logiczne2 jest prawdą ...[ElseIf Wyrażenie logiczneN Then Blok instrukcji wykonywany gdy Wyr.log. od 1 do (N-1) nie są prawdą a Wyr.logiczneN jest prawdą ]...] [Else Blok instrukcji wykonywany gdy żadne z Wyr.log. od 1 do N nie jest prawdą ]End If
Przykład użycia instrukcji If – Then – ElseIf
If (intZysk>1200) Then intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić duży podatek") ElseIf (intZysk>700) Then intPodatek=16 intWiadomosc=MsgBox("Musisz zapłacić 16% podatku") ElseIf (intZysk>400) Then intPodatek=7 intWiadomosc=MsgBox("Musisz zapłacić 7% podatku") ElseIf (intZysk>200) Then intPodatek=4 intWiadomosc=MsgBox("Masz mało ale i tak płać!") ElseIf (blnPracuje=False) Then intWiadomosc=MsgBox("Chyba ktoś Cię utrzymuje")Else intPodatek=0 intWiadomosc=MsgBox("Z czego Ty żyjesz?")End If
Omówienie przykładu:
W pierwszym wyrażeniu logicznym sprawdzana jest wartość zmiennej intZysk. Jeżeli jest ona większa od 1200 to zmiennej intPodatek przypisywana jest wartość 20 i wyświetlane okno z komunikatem. Jeżeli jest mniejsza lub równa 1200 to sprawdzane jest kolejne wyr.logiczne (intZysk>700). Jeżeli wartość intZysk jest większa od 700, czyli znajduje się w przedziale (700,1200>, to zmiennej intPodatek przypisywana jest wartość 16 i wyświetlane jest okno z komunikatem. Jeżeli jest mniejsza lub równa 700 sprawdzany jest kolejne wyrażenie logiczne. Jeżeli po sprawdzeniu kolejnych wyrażeń okaże się że wartość zmiennej intZysk jest mniejsza lub równa 200, sprawdzana jest wartość zmiennej blnPracuje. Jeżeli jej wartością jest False to podane wyrażenie logiczne blnPracuje=False jest prawdziwe i przyjmuje wartość TRUE oraz wyświetlany jest komunikat ("Chyba ktoś Cię utrzymuje") i selekcja kończy działanie. Gdy jednak żaden z wyr.logicznych selekcji nie został spełniony to wykonywany jest blok instrukcji za Else. Zmiennej intPodatek przypisywana jest wartość 0 i wyświetlane jest okno komunikatu.
Selekcja If – Then – ElseIf może sprawdzać wyrażenia logiczne dla różnych zmiennych (dla zmiennej blnPracuje oraz intZysk)
Instrukcja wyboru (Select - Case)
Select Case zmienna
Case wyrażenie_logiczne_1
Ciąg instrukcji 1
Case wyrażenie_logiczne_2
Ciąg instrukcji 2
Case Else
Ciąg instrukcji 3
End Select
Select Case
Jest to selekcja, która zastępuje zagnieżdżone selekcje If - ElseIf, gdy konieczne jest wybieranie pomiędzy wieloma dostępnymi opcjami. Select Case sprawdza wyrażenia i wybiera jeden odpowiedni blok instrukcji.Składnia:
Select Case Wyrażenie Case Wartość1 Blok instrukcji wykonywany gdy Wyrażenie=Wartość1 Case Wartość2 Blok instrukcji wykonywany gdy Wyrażenie=Wartość2 ... [Case WartośćN Blok instrukcji wykonywany gdy Wyrażenie=WartośćN ]...] [Case Else Blok instrukcji wykonywany gdy Wyrażenie jest różne od wszystkich Wartości od 1 do N]End Select
Przykład użycia selekcji Select Case:
Select Case intZysk Case 1200, 1000 intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić olbrzymi podatek") Case 700 intPodatek=16 intWiadomosc=MsgBox("Musisz zapłacić 16% podatku") Case intInnyZysk intPodatek=7 intWiadomosc=MsgBox("Musisz zapłacić 7% podatku") Case (100+100) intPodatek=4 intWiadomosc=MsgBox("Masz mało ale i tak płać!") Case Else intPodatek=0 intWiadomosc=MsgBox("Masz inny zysk")End Select
Select Case Is
Selekcja Select Case Is jako wartości do porównania z wyrażeniem może używać tylko relacji.
Składnia:
Select Case Wyrażenie Case Is Relacja1 Blok instrukcji wykonywany gdy Relacja1 z Wyrażeniem jest TRUE [Case Is Relacja2 Blok instrukcji wykonywany gdy Relacja3 z Wyrażeniem jest TRUE ... [Case Is RelacjaN Blok instrukcji wykonywany gdy Relacja4 z Wyrażeniem jest TRUE ]...] [Case Else Blok instrukcji wykonywany gdy wszystkie podane Relacje z Wyrażeniem jest FALSE]End Select
Przykład użycia selekcji Select Case Is:
Select Case intZysk Case Is>1200 intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić olbrzymi podatek") Case Is>700 intPodatek=16 intWiadomosc=MsgBox("Musisz zapłacić 16% podatku") Case Is>=intInnyZysk, Is>=400 intPodatek=7 intWiadomosc=MsgBox("Musisz zapłacić 7% podatku") Case Is <(100+100) intPodatek=4 intWiadomosc=MsgBox("Z czego Ty żyjesz?!") Case Else intPodatek=0 intWiadomosc=MsgBox("Masz mało ale i tak płać.")End Select
Select Case ToSelekcja Select Case To jako wartości do porównania z wyrażeniem może używać tylko przedziałów.
Składnia:
Select Case Wyrażenie Case Wartość1a To Wartość1b Blok instrukcji wykonywany gdy Wyrażenie <Wartość1a, Wartość1b> Case Wartość2a To Wartość2b Blok instrukcji wykonywany gdy Wyrażenie <Wartość2a, Wartość2b> ... [Case WartośćNa To WartośćNb Blok instrukcji wykonywany gdy Wyrażenie <WartośćNa, WartośćNb> ]...] [Case Else Blok instrukcji wykonywany gdy Wyrażenie nie należy do żadnego podanego przedziału]End Select
Przykład użycia selekcji Select Case To:
Select Case intZysk Case 700 To 1200 intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić duży podatek") Case intInnyZysk To 700 intPodatek=16 intWiadomosc=MsgBox("Musisz zapłacić 16% podatku") Case 0 To (100+100), 250 To 300 intPodatek=0 intWiadomosc=MsgBox("Z czego Ty żyjesz?!") Case Else intPodatek=4 intWiadomosc=MsgBox("Masz mało ale i tak płać.")End Select
Select Case intZysk Case 700 To 1200 intPodatek=20 intWiadomosc=MsgBox("Musisz zapłacić duży podatek") Case intInnyZysk intPodatek=16 intWiadomosc=MsgBox("To chyba nie tak wiele") Case Is<(100+100) intPodatek=0 intWiadomosc=MsgBox("Z czego Ty żyjesz?!") Case Is>2000, 2500 To 3000, 5000 intWiadomosc=MsgBox("Nieźle!") Case Else intPodatek=4 intWiadomosc=MsgBox("Twój zysk jest między 200 a 700 ale nie" & intInnyZysk)End Select
Przykład połączenia Select Case, Select Case Is, Select Case To (1)
Select Case liczbaLat
Case < 1
Opis = ”Niemowlę”
Case 1 To 7
Opis = ”Maluch”
Case 8, 9
Opis = ”Starszy maluch”
Case 10 To 14
Opis = ”Podlotek”
Case Else
Opis = ”Jak go nazwać ?”
End Select
Przykład połączenia Select Case, Select Case Is, Select Case To (2)
4. STRUKTURY DANYCH:
TABLICE
VB.Net
Deklaracja tablic
Ogólna postać deklaracji tablicy:
Dim nazwa_tablicy(wymiary) As typ_zmiennych
np. Dim Prostopadloscian(7,4,9) As Integer
Dim wartoscProdukcji(5) As Single
Tablicom podczas deklaracji można przypisać wartości np.
Dim strRozmiar(1) As String = {”Mały”, ”Duży”}
Pierwszy element tablicy ma zawsze wartość równą zeru.
W VB.Net numer wymiaru tablicy zawsze rozpoczyna się od zera.
Tablice deklaruje się tak samo jak zmienne podając:
1. Nazwę tablicy.
2. Typ danych.
3. Liczbę wymiarów.
Tablice, które zawsze zawierają stałą liczbę elementów w każdym wymiarze nazywa się tablicami o stałej wielkości. Tablice o zmiennej liczbie elementów nazywa się tablicami dynamicznymi.
Składnia tablicy o stałej wielkości:
Dim NazwaTabl(IndWym1, IndWym2, …, IndWymN) As TypDanych
Funkcją UBound(NazwaTabl) sprawdza się górną granicę tablicy, czyli największy indeks.
Przykład:
Deklaracja tablicy postaci: Dim Wyniki(1,7) As Integer spowoduje zarezerwowanie miejsca w pamięci na tą tablicę. Wygląd miejsca po zadeklarowaniu tablicy Wyniki:
90
1
0 1 2 3 4 5 6 7
Polecenie Wyniki(0,4)=9 spowoduje wprowadzenie liczby 9 do elementu stojącego na przecięciu zerowego numeru wiersza i czwartego elementu kolumny.
Tablice można deklarować i inicjować w jednej deklaracji-poleceniu:
Dim Tablica() As Integer = {5,10, 15, 20}
Należy zwrócić uwagę na nawiasy klamrowe(!).
Przykład wykorzystania funkcji UBound:
Dim Temp(6) As SingleDim Napis, Tytul As StringNapis = ”Podaj najwyższą dzienną temperaturę ”Tytul= ”Temperatura”Dim i As ShortFor i=0 To UBound(Temp) Tytul = ”Dzień ” & (i+1) Temp(i) = InputBox(Napis, Tytul)Next
Tablice dynamiczne:
Wielkość tablicy dynamicznej określa użytkownik programu lub algorytm programu wyznacza ją na podstawie pewnych warunków.
W tym celu stosuje się polecenie ReDim.
Przykład:
Dim Temp() As SingleDim Napis, Tytul As StringNapis = ”Podaj najwyższą dzienną temperaturę ”Dim i As ShortDni = InputBox(”Ile dni ?”, ”Utwórz tablicę”)If Dni > 0 Then ReDim Temp(Dni – 1)For i=0 To UBound(Temp) Tytul = ”Dzień ” & (i+1) Temp(i) = InputBox(Napis, Tytul)NextReDim Preserve Temp(10)
5. STRUKTURY STEROWANIA:
REPETYCJE
VB.Net
Repetycja (1): Do - Loop
Do
ciąg instrukcji
Loop
Jest to pętla nieskończona (!)
Wyjście z pętli wykonuje się po wprowadzeniu instrukcji:
Exit Do
Repetycja (2): Do While - Loop
Do While wyrażenie logiczne
ciąg instrukcji
Loop
Ciąg instrukcji może nie zostać wykonany ani razu, jeżeli początkowa wartość wyrażenia logicznego przyjmie wartość logiczną False.
Repetycja (3): While – End While
While wyrażenie logiczne
ciąg instrukcji
End While
Do While ... LoopRepetycja typu Do While najczęściej występuje w VB.Net. Wymaga ona zastosowania wyrażenia logicznego. Wykorzystuje do tego celu operatory relacji. Repetycja ta jest ograniczona słowami kluczowymi Do While i Loop. Blok instrukcji jest wykonywany tak długo jak długo podane wyrażenie logiczne jest prawdziwe. Ważne jest, aby w bloku instrukcji repetycji umieścić instrukcje, które doprowadzą do tego, aby wartość wyrażenia logicznego stała się fałszem. W przeciwnym razie pętla się nie zakończy. Składnia:
Do While (Wyrażenie logiczne) Blok instrukcji jest wykonywany dopóki Wyrażenie logiczne jest prawdąLoop
Jeżeli wyrażenie logiczne jest fałszem już na samym początku przed wykonaniem repetycji, to blok instrukcji nie zostanie wykonany ani razu.
Przykład użycia repetycji Do While:
intLiczba = 0Do While intLiczba < 100 intLiczba = InputBox("Wpisz liczbę:")Loop
Zmiennej intLiczba przypisywana jest wartość 0. Sprawdzany jest warunek repetycji i ponieważ jest on prawdziwy (0<100) wykonywany jest blok instrukcji. W bloku repetycji pobierana jest od użytkownika liczba, która jest podstawiana pod zmienną intLiczba. Repetycja kontynuuje swoje działanie do czasu, kiedy użytkownik wprowadzi liczbę większą lub równą 100. Wtedy wyrażenie logiczne stanie się fałszem i repetycja zakończy swoje działanie.
Repetycja (4): Do - Loop While
Do
ciąg instrukcji
Loop While wyrażenie logiczne
Ciąg instrukcji zostanie wykonany przynajmniej jeden raz
Do...Loop While
Blok instrukcji jest wykonywany tak długo jak długo wyrażenie logiczne jest prawdą. Ważne jest, aby w bloku instrukcji repetycji umieścić instrukcje, które doprowadzą do tego, żeby wartość wyrażenia logicznego stała się fałszem. W przeciwnym razie pętla się nie zakończy. W przeciwieństwie do repetycji Do While Wyrażenie logiczne umieszczone jest na końcu repetycji i jest sprawdzane po wykonaniu bloku instrukcji.Składnia:
Do Blok instrukcji jest wykonywany dopóki Wyrażenie logiczne jest prawdziweLoop While (Wyrażenie logiczne)
Charakterystyczne dla pętli Do While jest to, że Blok instrukcji wykona się na pewno przynajmniej raz.
I. Przykład użycia repetycji Do...Loop While:
Do intLiczba = InputBox("Wpisz liczbę:")Loop While intLiczba<100
W bloku repetycji pobierana jest od użytkownika liczba, która jest podstawiana pod zmienną intLiczba. Repetycja kontynuuje swoje działanie do czasu, kiedy użytkownik wprowadzi liczbę większą lub równą 100. Wtedy wyrażenie logiczne stanie się fałszywe i repetycja zakończy swoje działanie.
II. Przykład użycia repetycji Do...Loop While:
Dim Pierwiastek As Single Dim strLiczba As String Dim Napis1 As String = ”Pierwiastkowanie:" Dim Napis2 As String = ”Twoja liczba:" Do strLiczba = InputBox(Napis2, Napis1) If strLiczba <> "" And IsNumeric(strLiczba) Then Pierwiastek = Sqrt(CSng(strLiczba))
MsgBox(Pierwiastek, ”Wynik:") End If Loop While strLiczba <> ""
Repetycja (5): Do Until - Loop
Do Until wyrażenie logiczne
ciąg instrukcji
Loop
Ciąg instrukcji będzie wykonywany, dopóki wartość wyrażenia logicznego będzie miała wartość logiczną False.
Inaczej mówiąc: ciąg instrukcji będzie wykonywany aż do spełnienia warunku.
Do Until … Loop
Jest repetycją podobną do Do While. Jedyna różnica polega na tym, że repetycja Do While wykonuje zawarty w niej blok rozkazów tak długo, jak długo podane wyrażenie logiczne jest fałszem. Składnia:
Do Until Wyrażenie logiczne Blok instrukcji jest wykonywany gdy Wyrażenie logiczne jest fałszemLoop
Charakterystyczne dla repetycji Do Until, podobnie jak Do While, jest to, że blok instrukcji może nie zostać wykonany ani razu.
Przykład użycia repetycji Do Until … Loop:
intLiczba = 0Do Until intLiczba > 100 intLiczba = InputBox("Wpisz liczbę:")Loop
Repetycja kontynuuje swoje działanie do czasu, kiedy użytkownik wprowadzi liczbę mniejszą lub równą 100. Wtedy wyrażenie logiczne stanie się prawdą i repetycja zakończy swoje działanie.
Repetycja (6): Do - Loop Until
Do
ciąg instrukcji
Loop Until wyrażenie logiczne
Ciąg instrukcji będzie wykonywany, dopóki wartość wyrażenia logicznego będzie miała wartość logiczną False.
Inaczej mówiąc: ciąg instrukcji będzie wykonywany aż do spełnienia warunku.
Do...Loop Until
Jest inną formą repetycji Do Until. Blok instrukcji jest wykonywany tak długo, jak długo podane wyrażenie logiczne jest fałszem. W przeciwieństwie do repetycji Do Until Wyrażenie logiczne umieszczone jest na końcu repetycji i jest ono sprawdzane po wykonaniu bloku instrukcji.Składnia:
Do Blok instrukcji jest wykonywany gdy Wyrażenie logiczne jest fałszemLoop Until Wyrażenie logiczne
Charakterystyczne dla repetycji Do Until jest to, że blok instrukcji wykona się na pewno przynajmniej raz
Przykład użycia repetycji Do...Loop Until:
Do intLiczba = InputBox("Wpisz liczbę:")Loop Until intLiczba < 100
Repetycja kontynuuje swoje działanie do czasu, kiedy użytkownik wprowadzi liczbę mniejszą lub równą 100. Wtedy wyrażenie logiczne stanie się prawdą i repetycja zakończy swoje działanie.
Exit Do
Powoduje przejście do instrukcji znajdującej się bezpośrednio za repetycją. Przykład:
W przypadku gdyby wartości zmiennych intLicznik i intStala były takie same, wygenerowany zostałby błąd dzielenia przez 0. Stąd konieczne jest zabezpieczenie, które kończy działanie pętli, gdy wartości te będą sobie równe.
Do intLiczba = InputBox("Podaj liczbę:") if (intLiczba = intStala) Then Exit Do End If sngWynik = 1/(intStala - intLiczba) intWiadomosc = MsgBox(sngWynik)Loop While intLiczba > 0
Repetycja (7): For - Next
For zmienna = w.pocz To w.końc Step krok
ciąg instrukcji
Next
Dim licznik, suma As Short
Dim Wektor(10) As Short
For licznik = 10 To 0 Step -1
Suma = Suma + Wektor(licznik)
Next
For ... Next
Pozwala ona na wielokrotne powtarzanie bloku instrukcji ściśle określoną ilość razy (w przeciwieństwie do repetycji typu Do). Składnia:
For ZmiennaLicznik = WartośćPoczątkowa To WartośćKońcowa [Step WartośćKroku] Blok instrukcji VB wykonywany jest, 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 repetycji. W przypadku, gdy pominięta zostanie część rozkazu określająca WartośćKroku, VB.Net 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 repetycjach For.
Przykład użycia repetycji For:
intSuma = 0For intLicznik = 2 To 100 Step 2 intSuma = intSuma + intLicznikNext intLicznik
W zmiennej intSuma będzie suma wszystkich liczb parzystych od 0 do 100.
Exit For
Powoduje przejście do instrukcji znajdującej się bezpośrednio za repetycją (za Next [ZmiennaLicznik]). Przykład:
Istota funkcjonowania instrukcji Exit For jest podobna do zasady funkcjonowania instrukcji Exit Do.
For intLicznik = 1 To 10 if (intLiczba = intLicznik) Then Exit For End If sngWynik = 1 / (intLicznik - intLiczba) intWiadomosc = MsgBox(sngWynik)Next intLicznik
Zestawienie rodzajów repetycji w VB.Net
(1) Do ~~ Loop
(2) Do While (wyr.log) ~~ Loop
(3) While (wyr.log) ~~ End While
(4) Do ~~ Loop While (wyr.log)
(5) Do Until (wyr.log) ~~ Loop
(6) Do ~~ Loop Until (wyr.log)
(7) For ~~ Next
Wyjścia z pętli: Exit Do (1,2,4,5,6)Exit While (3)Exit For (7)
Początek
instrukcje
Koniec
warunekT
N
Do While warunek
instrukcje
Loop
While warunek
instrukcje
End While
For zm = w.p To w.k Step krok
instrukcje
Next
Do <True>
instrukcje
Loop
Pętla strukturalna
Początek
instrukcje
Koniec
warunek
T
N
Do
instrukcje
Loop Until warunek
Pętla strukturalna
Początek
instrukcje
Koniec
warunek
N
T
Do
instrukcje
Loop While warunek
Początek
instrukcje
Koniec
warunekN
T
Do Until warunek
instrukcje
Loop