VB.Net 1. ZMIENE I TYPY 2. OPERATORY 3. SELEKCJE 4. TABLICE

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

Język C/C++ Funkcje.
Podstawy informatyki Informatyka Stosowana Zajęcia nr 2
Mgr inż.Marcin Borkowski Podstawy Java Część II
Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki.
Programowanie w języku Visual Basic
Podstawy programowania w VBA
Języki programowania C++
typy całkowite (całkowitoliczbowe)
27/09/ Języki programowania 1 Piotr Górczyński Instrukcje warunkowego wyboru.
Instrukcje warunkowe Zajęcia 5.
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 3: Podstawowe elementy języka.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Komunikacja z arkuszem. Iteracje. Funkcje.
Wykład 2 struktura programu elementy języka typy zmienne
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
PASCAL Dr Anna Kwiatkowska.
PASCAL (2) dr Anna Kwiatkowska.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
PROGRAMOWANIE STRUKTURALNE WYKŁAD 2
Schemat Hornera Mgr inż. Michał Szucki.
Programowanie w języku Fortran 95
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.
Podstawy programowania
Instrukcje sterujące część 1
A ctive S erver P ages Technologia dostępu do danych.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Wyrażenia w Turbo Pascalu.
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
PHP: warunki, pętle, switch, break, continue
INTERNETOWE USŁUGI INFORMACYJNE
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe
Podstawowe elementy języka Turbo Pascal.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
Edytor tesktu i skrypty
Programowanie baz danych
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Podstawy języka Instrukcje - wprowadzenie
Temat 7: Instrukcje warunkowe
Microsoft Visual Basic.NET Michał Kuciapski Uniwersytet Gdański część 1.
VBA w MS Word Źródła: Steven Roman, Word.Makrodefinicje, Helion 2000
Zmienne i typy danych w C#
Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Instrukcje wyboru.
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Pętle – instrukcje powtórzeń
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Wykład 5 Informatyka MPDI 3 semestr Język JavaScript.
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Visual Basic w programie Microsoft Excel
Dane, zmienne, instrukcje
Instrukcja warunkowa if
Zapis prezentacji:

VB.Net 1. ZMIENE I TYPY 2. OPERATORY 3. SELEKCJE 4. TABLICE 5. REPETYCJE

VB.Net STRUKTURY DANYCH: ZMIENNE I TYPY

Konwencje nazw zmiennych 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

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 bajty Date Data z przedz: 01.01.0001 do 31.12.9999 8 bajtów Byte Liczba bez znaku od 0 do 255 1 bajt Short Liczba od -32768 do +32767 2 bajty Integer Liczba od -2147483648 4 bajty do +2147483647 Long Liczba od - 9223372036854775808 8 bajtów do +9223372036854775807 Decimal 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 bajty do +3.4028235E+38 Double Liczba od -1.79769313486231E+308 8 bajtów do +1.79769313486231E+308 Char 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 bCzyNowyProd Date dt dtDataZatrudn Byte byt bytMiesiac Short sht shtLicznik Integer i lub int iKoty Long l lub lng lPopulacja Decimal dec decWynikBadan Single sng sngCena Double d lub dbl dblDochod Char c cZnak String s lub str sNazwisko

Symbole typów danych Typ danych Symbol typu Przykład Boolean  - True False Date - #23/08/2003# Byte - 0-255 Short S 3456S Integer I lub % 123I Long L lub & 15L Decimal D lub & 4.56D Single F lub ! 4.56F Double R lub # 4.56R Char C ”C”C String - ”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

Formatowanie wartości numerycznych za pomocą metody 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

Znaki formatujące (Formatting Placeholders) (maska) Opis Format cyfrowy. # . Format dziesiętny – określa pozycję dziesiętną , Separator tysięcy % Format procentu - + $ ( ) Znaki wbudowane w łańcuchu znaków

Przykłady formatowania Łańcuch formatu (Maska) Wartość Wartość po sformatowaniu 000000.000 123.45 000123.450 ###,###.00 1234.4 1,234.40 $###,###.00 $1,234.40 ###% 0.08 8% ##.00% 8.00% C $1234.40 F 1234.40

ZŁOŻENIA (KONKATENACJI) VB.Net 2. OPERATORY: ARYTMETYCZNE ZŁOŻENIA (KONKATENACJI) RELACJI LOGICZNE

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 Mod Arytmetyczny Dodawanie i odejmowanie + - Złożenie (Konkatenacja) &, + Relacja (Porównanie) =, <>, <, >, <=, >=, Like, Is Logiczny Nie NOT Logiczny Oraz (Koniunkcja) AND, AndAlso Logiczny Lub (Alternatywa) OR, OrElse

3. STRUKTURY STEROWANIA: VB.Net 3. STRUKTURY STEROWANIA: SELEKCJE

Instrukcje warunkowe (If) 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 prawdziwe End 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łszem End 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 prawdziwe ElseIf 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 To Selekcja 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

Przykład połączenia Select Case, Select Case Is, Select Case To (1) 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

Opis = ”Starszy maluch” Case 10 To 14 Opis = ”Podlotek” Case Else Przykład połączenia Select Case, Select Case Is, Select Case To (2) 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

VB.Net 4. STRUKTURY DANYCH: TABLICE

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: Nazwę tablicy. Typ danych. 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: 0 1 2 3 4 5 6 7 9 1 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 Single Dim Napis, Tytul As String Napis = ”Podaj najwyższą dzienną temperaturę ” Tytul= ”Temperatura” Dim i As Short For 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 Single Dim Napis, Tytul As String Napis = ”Podaj najwyższą dzienną temperaturę ” Dim i As Short Dni = 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) Next ReDim Preserve Temp(10)

5. STRUKTURY STEROWANIA: VB.Net 5. STRUKTURY STEROWANIA: REPETYCJE

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 Repetycja (3): While – End While Do While wyrażenie logiczne ciąg instrukcji Loop While wyrażenie logiczne ciąg instrukcji End While Ciąg instrukcji może nie zostać wykonany ani razu, jeżeli początkowa wartość wyrażenia logicznego przyjmie wartość logiczną False.

Do While ... Loop Repetycja 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 = 0 Do 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 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 prawdziwe Loop 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 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łszem Loop 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 = 0 Do 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 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łszem Loop 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 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 = 0 For intLicznik = 2 To 100 Step 2    intSuma = intSuma + intLicznik Next 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)

For zm = w.p To w.k Step krok instrukcje Next Pętla strukturalna Do <True> instrukcje Loop Początek Do While warunek instrukcje Loop warunek T instrukcje N While warunek instrukcje End While Koniec For zm = w.p To w.k Step krok instrukcje Next

Do instrukcje Loop Until warunek Pętla strukturalna Początek Koniec

Do instrukcje Loop While warunek Początek instrukcje T warunek N Koniec

Do Until warunek instrukcje Loop Początek N warunek instrukcje T Koniec