Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki.

Podobne prezentacje


Prezentacja na temat: "Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki."— Zapis prezentacji:

1 Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki.
Programowanie w VBA Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki.

2 Budowa programu sub nazwa() ’komentarze pomijane przez VBA
’dokumentują sens fragmentów programu instrukcje – zestaw poleceń end sub Moduł może zawierać wiele programów i funkcji

3 Elementy programu VB Słowa kluczowe Identyfikatory – nazwy Komentarze
polecenia sterujące wykonywaniem programu – słowa (if), skróty (mid) i zbitki skrótów (rmid) z języka angielskiego. Identyfikatory – nazwy zmiennych stałych obiektów programów/podprogramów/funkcji Komentarze

4 Nazwy zmiennych/stałych
ciągi liter i cyfr nie powinny zawierać znaków narodowych nie mogą zawierać znaków specjalnych: <spacja>, (), :, ;, itp. (dopuszczalny znak podkreślenia _) mogą mieć dowolną długość wielkie i małe litery NIE są rozróżniane nazwa MUSI rozpoczynać się literą wskazane jest nadawanie nazw znaczących Zmienne i stałe nazywamy najlepiej za pomocą małych liter, bez polskich znaków

5 Przechowywanie danych w pamięci
Podstawową jednostką informacji jest bit. Bit może przyjąć jeden z dwóch stanów: zapalony 1 zgaszony 0 Osiem uporządkowanych bitów to bajt. Bajt może przyjąć jeden z 256 (28) stanów 0-255 X X X X X X X X

6 X X X X X X X X = 0 = 255 = 45

7 System binarny/dwójkowy nie określa znaku liczby (z założenia wszystkie są dodatnie) i precyzji – wszystkie są całkowite. Do określenia znaku liczby wykorzystuje się najmłodszy bit ciągu. Obliczenia precyzyjne wykonywane są w trybie zmiennoprzecinkowym.

8 Aby przechowywać dane trzeba wydzielić dla nich odpowiedni obszar pamięci zależny od ich wielkości.
Aby operować zmiennymi/stałymi trzeba określić ich typ – przeznaczyć dla nich odpowiednią ilość pamięci Typ Zakres wartości Liczba bajtów Byte 0-255 (28 -1) 1 Integer ÷ (- 215 ÷ ) 2 Long ÷ (- 231 ÷ ) 4 Single ±(1,5E-45 ÷ 3,4E38) Double ±(5E-324 ÷ 1,7E308) 8

9 Maksymalna liczba znaków w zmiennej typu String to 216 – 65536.
Do zapamiętywania łańcuchów danych (tekstu itp.) służą zmienne typu String. Maksymalna liczba znaków w zmiennej typu String to 216 – Znaki w pamięci przechowywane są w postaci binarnej – wartości od 1 do 255 przypisane są określonym znakom w standardzie ASCII 1 ÷ 31 – znaki sterujące, niewyświetlane 32 ÷ 127 – kod podstawowy 128 ÷ 255 – kod rozszerzony

10 Dla operacji logicznych zarezerwowana jest zmienna typu Boolean – przyjmuje ona wartości TRUE (1) i FALSE (0) Daty przechowywane są w zmiennych typu Date Kwoty przechowywane są w zmiennych typu Currency

11 Operuje się: liczbami całkowitymi liczbami zmiennoprzecinkowymi ciągami znaków wartościami logicznymi datami kwotami Niezależnie od ustawień regionalnych separatorem dziesiętnym w VB jest <kropka>

12 Jeśli nie zadeklarowany jest typ zmiennej zostanie ona przypisana do typu Variant, który może przechowywać dowolne wartości. Aby wymusić deklarowanie zmiennych w programie na początku programu umieszcza się polecenie: Option Explicit

13 Deklaracje zmiennych Dim nazwa_zmiennej As typ_zmiennej
np.: Dim delta As double Długość łańcucha znaków przechowywanego w zmiennej typu String można ograniczać: Dim tekscik As String * 25 Definiuje zmienną tekscik typu String o długości do 25 znaków

14 Dim wektor (indeks_1_el to indeks_ost_el) As typ_elementu
Tablice Złożone operacje na dużej ilości zmiennych tego samego typu mogą spowalniać wykonywanie programu. W celu przyspieszenia oraz wygody można definiować tablice będące zbiorem wartości tego samego typu. Tablice VBA mogą mieć dowolny wymiar jednak głównie używa się: 1-wymiarowych – wektorów 2-wymiarowych – macierze Tablice definiuje się: Dim wektor (indeks_1_el to indeks_ost_el) As typ_elementu Dim macierz (i_1_el_1 to i_ost_el_1, i_1_el_2 to i_ost_el_2) As typ_elementu

15 Po co definiować zmienne?
oszczędność pamięci porządek dla programisty – łatwiejsze zmiany i poprawki przyspieszenie wykonywania programu prawidłowe przechowywanie i operacje na danych

16 Zadania Zadeklaruj możliwie oszczędnie zmienne do przechowywania następujących danych: Liczba studentów w Twojej grupie; Nazwisko studenta z Twojej grupy; Masa cząstki elementarnej; Ilość włosów na głowie ( ); Adres studenta z Twojej grupy.

17 Błędy przy deklaracjach
Rodzaje błędów: Błąd przepełnienia zmiennej; Błąd niezgodności typów; Błędy sygnalizowane i niesygnalizowane; Przepełnienie to również zaokrąglanie w górę wartości ułamkowych dla zmiennych typu Byte; Przepełnienie/niezgodność typów: np. Byte+Byte=Integer (ale suma Byte wyższa niż 255);

18 Zmienne Zmienna "String * <liczba>" wypełniona ilością znaków mniejszą niż <liczba> powoduje że pozostałe znaki są spacjami! Dim a As String * 6 a = "abc" -> a nie jest równe "abc", tylko "abc " Początkowo każda zmienna liczbowa domyślnie jest równa 0. Zmienne, które istnieją po zadeklarowaniu w procedurze i istnieją aż przestanie się wykonywać jakikolwiek inny kod (nawet po zakończeniu działania tej jednej procedury) deklarujemy za pomocą słowa kluczowego "Static" (zamiast Dim)

19 Deklaracje i używanie stałych
Stała to pewna wartość (niekoniecznie liczbowa) przypisana określonej nazwie. Deklaruje się ją podobnie do zmiennej z tą różnicą, że oprócz deklaracji typu nadaje się jej od razu wartość: Const nazwa As typ = wartość Const Rconst As Single = Const Uczelnia As String = „Politechnika Warszawska”

20 Po co definiować stałe? porządek dla programisty – łatwiejsze zmiany i poprawki skrócenie kodu mniejsza szansa na błędy

21 Wyrażenia i operatory Wyrażenie – operacja wykonywana w celu uzyskania wartości; Składowe wyrażenia: zmienne, stałe, funkcje, wartości (tekstowe, liczbowe, logiczne), operatory; Operatory: +, -, *, / (dzielenie), ^ (potęgowanie), = (przypisanie), \ (dzielenie całkowite), Mod (reszta z dzielenia całkowitego) Sqr (funkcja obliczająca pierwiastek argumentu);

22 Operatory - kolejność Kolejność wykonywania operatorów: zmiana znaku, tożsamość, potęgowanie, mnożenie (*,/,\,mod), dodawanie (+/-), przypisanie (=); Nawiasy – kolejność wykonywania od najgłębiej zagnieżdżonego – nie ma ograniczeń w zagnieżdżeniu! Warto używać nawiasów dla pewności, że operacje będą wykonywane w żądanej kolejności; Np.: x = (((x^(x-4*(3+2)))/(x mod 4))\3)

23 Operacje na tekstach Konkatenacja – łączenie tekstów: + lub & Np.:
"Jan" + "Kowalski" => "JanKowalski„ "Jan" & Chr(32) & "Kowalski" => „Jan Kowalski” "A" & Chr(98) & "c" => „Abc” ALE 1 + 2 = "3" 1 & 2 = "12" (gdzie liczby mogą być też w postaci zmiennych typu string/variant) Uwaga, operator + może być używany tylko do zmiennych tego samego typu (liczbowy/tekstowy), na potrzeby konkatenacji Variant liczy się jak string, o ile dodawany jest do stringa.

24 Operacje logiczne Operacje logiczne mają wynik
PRAWDA (true, 1) lub FAŁSZ (false, 0); Operacje mogą być prowadzone na zmiennych typu Boolean lub liczbach całkowitych (czyli porównywanie ciągów reprezentacji binarnych tych liczb); Operatory logiczne: not (negacja - nie) and (koniunkcja - i) or (alternatywa - lub) xor (alternatywa symetryczna – suma mod 2) eqv (równoważność) imp (implikacja – jeśli... to...);

25 Tablica prawdy x y Not x Not y x And y x Or y x Xor y x Eqv y x Imp y
1

26 Relacje Relacje to porównanie dwóch argumentów – wynik w formie wartości logicznej (0/1); arg1 vs arg2 operatory: =, <>, <, >, <=, >=;

27 Zgodność typów UWAGA! Do większości porównań (relacji) można używać różnych typów liczbowych, ale do przypisań muszą być one kompatybilne!

28 Instrukcje warunkowe Służą do kierowania programem zależnie od wartości wyrażenia logicznego (wyniku operacji logicznej); Jeśli wyrażenie jest fałszywe, to program wykonuje instrukcje od komendy Else; Blok instrukcji może być pusty; Po zakończeniu wykonywania instrukcji z danego bloku program wykonuje instrukcje dalej już po komendzie End If; Można zagnieżdżać warunki bez ograniczeń;

29 Instrukcje warunkowe If <wyr1> Then
<instrukcje jeśli wyrażenie1=prawda> ElseIf <wyr2> Then <instrukcje jeśli wyr1=fałsz a wyr2=prawda> Else <instrukcje jeśli wyr1=fałsz i wyr2=fałsz> End If

30 <instrukcje1 jeśli wyrażenie1=prawda> ElseIf <wyr2> Then
TAK wyr2 NIE TAK instrukcje1 instrukcje3 instrukcje2 If <wyr1> Then <instrukcje1 jeśli wyrażenie1=prawda> ElseIf <wyr2> Then <instrukcje2 jeśli wyr1=fałsz a wyr2=prawda> Else <instrukcje3 jeśli wyr1=fałsz i wyr2=fałsz> End If

31 Intrukcje warunkowe Istnieje wersja skrócona bloku If w przypadku jednolinijkowego bloku dla spełnionego warunku i braku komend w przypadku niespełnionego warunku: If <warunek> then <polecenie> W tym przypadku (jako jedynym) nie pisze się ani słowa „Else” ani „End If”, jest to zamknięta konstrukcja jednolinijkowa.

32 Instrukcje wyboru Select Case zmienna
Case zakres1_w_stosunku_do_zmiennej Blok instrukcji_1 Case zakres2_w_stosunku_do_zmiennej Blok instrukcji_2 Case Else Blok instrukcji_3 End Select

33 Case Is < 0 (jakieś wyrażenie nr1) Blok instrukcji_1
CASE else CASE2 instrukcje1 instrukcje2 instrukcje3 Select Case zmienna Case Is < 0 (jakieś wyrażenie nr1) Blok instrukcji_1 Case 1,3,4 (jakieś wyrażenie nr 2) Blok instrukcji_2 ( Case 6 To 10 Blok instrukcji_3 ) Case Else Blok instrukcji_4 End Select

34 Komunikacja z użytkownikiem (w procedurach)
MsgBox(<tekst>,<przyciski>, <tytul>) – wyświetla komunikat <tekst> w okienku dialogowym o tytule <tytul>, do wyboru <przyciski> dają możliwość ustalenia przycisków i/lub symbolu pojawiającego się obok <tekstu>; <przyciski> wpisuje się „sumując” teksty oznaczające klawisze i symbole, domyślnie jest tylko klawisz Ok i brak ikonki. Do wyboru jest, między innymi: vbOkOnly – klawisz Ok; vbOkCancel – klawisze Ok i Cancel; vbYesNo – klawisze Yes i No; vbCritical – ikonka krytyczna; vbQuestion – ikonka pytania; vbExclamation – ikonka wykrzyknika; vbInformation – ikonka informacji; wpisanie np.: vbOkCancel + vbQuestion da dwa przyciski (Ok i Cancel) i ikonke znaku zapytania

35 MsgBox MsgBox ("Pierwiastek równania x = " & x1)
st = MsgBox("Czy liczymy dalej?", vbYesNoCancel + vbQuestion, "Decyzja") If st = vbNo Then Exit Sub

36 Prośba do użytkownika InputBox – uruchomienie formularza wpisania danych (dowolnych, także zakresu komórek), których można użyć dalej w programie, funkcja zwraca wartość wpisaną przez użytkownika; InputBox(<tekst>, <ew. tytuł formularza>, <ew. domyślny tekst wpisany w formularz>) Dim dana As Variant dana = InputBox(„Proszę wpisać dane”, „Potrzebne dane”, „Tu wpisz dane”).

37 Przykład Sub delta Dim a As Double Dim b As Double Dim c As Double
Dim delta As Double a = InputBox(”Podaj a”) b = InputBox(”Podaj b”) c = InputBox(”Podaj c”) If a <> 0 Then delta = b^2 – 4*a*c MsgBox (”Delta równania kwadratowego wynosi: ” & delta) Else MsgBox (”Wspolczynnik a musi być rozny od 0!”) End If End Sub

38 Zadania (do dokończenia w domu, np. na kartce)
Posortowanie 3 danych liczb a, b, c w porządku malejącym; Zamiana liczby punktów uzyskanych w czasie semestru na oceny; Rozwiązanie równania kwadratowego z wykorzystaniem procedury rozwiązania równania liniowego w przypadku a = 0; Testujemy na własnych przykładach: wymyślonych odpowiednio do zadania – zarówno takich, żeby działało, jak i żeby nie działało – sprawdzenie, czy zostanie podany komunikat o błędzie.

39 Korzystamy z pomocy (Help)!


Pobierz ppt "Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki."

Podobne prezentacje


Reklamy Google