Fragment notatki:
2010-10-06
Programowanie – pojęcia
podstawowe
Programowanie – pojęcia
podstawowe
• Algorytm - skończony zbiór ściśle
sformułowanych zasad rozwiązania pewnej klasy
zadań.
• Dane – uporządkowana para (nazwa danej,
wartość danej), obiekt ulegający przetwarzaniu.
Schemat graficzny algorytmu wg PN
Start
Koniec
Skrzynka wejścia
Skrzynka wyjścia
– Dane wejściowe
– Dane wyjściowe
Skrzynka operacji
ALGORYTM + STRUKTURA DANYCH = PROGRAM
Skrzynka decyzji
KOMPUTEROWY
Przepływ danych
Programowanie – pojęcia podstawowe
Programowanie – pojęcia podstawowe
Typy algorytmów
Typy algorytmów
Algorytm prosty
Start
Start
a,b
Algorytm z pętlą
Algorytm rozgałęziony
a
suma = a + b
suma
Koniec
Start
n
TAK
an
TAK
sum
Koniec
Drzewo genealogiczne języków programowania
• Kod źródłowy – program zapisany w języku programowania.
• Kod maszynowy – sekwencja elementarnych operacji
gotowych do bezpośredniego przetworzenia przez procesor
komputera.
• Kompilacja – proces tłumaczenia kodu źródłowego na kod
maszynowy
• Interpretacja - kod źródłowy jest na bieżąco tłumaczony i
wykonywany przez dodatkowy program zwany interpreterem.
• Język programowania – zbiór zasad określających kiedy ciąg
symboli stanowi program. Jest to program do tworzenia kodu
źródłowego, charakteryzujący się odpowiednią semantyką i
składnią.
– Języki niskopoziomowe
– Języki wysokopoziomowe
1
2010-10-06
Ewolucja języków programowania
proceduralne
strukturalne
obiektowe
A0
ALGOL
PASCAL
C, C++
DELPHI
VB
JAVA
wykorzystujące interface aplikacji
VBA
Programowanie strukturalne
• Postawiony problem dzieli się na fragmenty i
sprawdza, czy można je możliwie prosto
oprogramować.
• Jeśli nie, fragmenty te dzieli się ponownie i ponownie
sprawdza się możliwość ich zakodowania w języku
programowania.
• Kod źródłowy uzyskanych w ten sposób elementów
problemu zapisuje się w formie funkcji lub procedur,
do których odwołuje się poprzez ich nazwy.
• Uzyskane funkcje i procedury łączy się za pomocą
prostego programu głównego.
• Stosowanie instrukcji skoku jest niewskazane.
• Napisany w ten sposób program jest czytelny i łatwy
do testowania i konserwacji.
Programowanie proceduralne
• Kod źródłowy przygotowuje się od razu dla
całego problemu.
• Program może zawierać podprogramy w
formie procedur, do których odwołuje się
poprzez ich nazwy.
• W celu przeniesienia wykonania programu do
innej części kodu stosuje się instrukcję skoku
bezwzględnego GoTo.
• Kod takiego programu jest na ogół
skomplikowany i trudny do konserwacji.
Programowanie obiektowe
• Obiekt – abstrakcja programistyczna, posiadająca
niezmienną w czasie wykonywania programu
tożsamość, łącząca w sobie stan (czyli dane, tu:
właściwości) i zachowanie (czyli procedury, tu:
metody).
• Programowanie obiektowe (ang. object-oriented
programming) to metodologia tworzenia programów
komputerowych, która definiuje programy za pomocą
obiektów.
• Obiektowy program komputerowy wyrażony jest jako
zbiór takich obiektów, komunikujących się pomiędzy
sobą w celu wykonywania zadań.
• Programowanie obiektowe ma ułatwić pisanie,
konserwację i wielokrotne użycie programów lub ich
fragmentów.
Visual Basic for Applications (VBA)
• Visual – wizualny sposób tworzenia programu
(jak w czasie tworzenia grafiki)
• BASIC - Beginner's All-Purpose Symbolic
Instruction Code
• Applications – interface użytkownika jest
dostarczany przez aplikację (program)
• Programy pakietu MS Office są w powszechnym użyciu.
• Warto poznać pakiet MS Office obszarze arkusza
Policz wiersze w zaznaczonym nie tylko w zakresie
edycji tekstu i tabel, ale także na poziomie tworzenia
Selection.Rows.Count
własnych narzędzi.
• VBA umożliwia programowanie bez pisania własnych
Zamaluj wnętrze komórki A1 na czerwono
kodów źródłowych – napisze je za nas rejestrator makr.
Range(„A1”).Interior.Color = vbRed
• Język VBA jest bardzo podobny do języka naturalnego
(angielski!).
• Narzędzie to Zakończ pracę z programem
zadowoli zarówno początkującego jak i
Application.Quit
wytrawnego użytkownika komputera, tym bardziej, że
w moduł VBA wyposażane są również specjalistyczne
aplikacje (AutoCAD, STATISTICA, Corel Draw itd.).
2
2010-10-06
Pozwól VBA tworzyć kody źródłowe
• MAKRA - proste programy, które przechowują
serię poleceń zarejestrowanych przez użytkownika
za pomocą rejestratora makr lub wpisanych
ręcznie
– Warto wiedzieć, że Excel 5.0 był I-szą aplikacją,
w której wprowadzono język makropoleceń –
VBA. Obecnie wbudowany jest on we
wszystkich aplikacjach MS Office
Adresowanie bezwzględne
• Jeśli chcemy, aby makro zawsze wykonywało
czynność w tej samej komórce, niezależnie od
tego, która komórka jest wybrana w chwili
odtwarzania makra
• Odwołanie bezwzględne ma postać: $A$3
Adresowanie względne
• Jeśli chcemy, aby makro zawsze wykonywało
czynność w dowolnej komórce arkusza
• Odwołanie względne ma postać: A3
•
TYPY PROGRAMÓW
Procedury – ciąg instrukcji realizujących określone
Planowanie makra
• Co chcemy zautomatyzować?
– Jaki jest cel procedury?
– Jakich wymaga kroków?
• Zaplanowanie wykonywanych czynności
– Nie można pominąć żadnego kroku
– Najprostszy sposób to wykonanie manualne
czynności i zapisanie ich kolejno na kartce
Odtwarzanie makra
Istnieją różne sposoby odtwarzania
makra.
Można:
– korzystać z menu aplikacji MS Excel
– przypisać makro do przycisku na pasku
narzędziowym
– przypisać makro jako nowe polecenie w menu
– uruchamiać poprzez kombinację klawiszy na
klawiaturze
– uruchamiać procedurę z okna Visual Basic-a
Środowisko Okna Edytora VBA
zadanie
Sub nazwa()
deklaracje
instrukcje
End Sub
• Funkcje – ciąg instrukcji realizujących określone
zadanie zwracających wartość
Function nazwa(zmienne i ich typy) As typ_wartości
deklaracje
instrukcje
nazwa = ….
End Function
W celu przejścia do Okna Edytora VBA można:
1) Wybrać menu Narzędzia|Makro|Makra;
zaznaczyć określone makro i wybrać przycisk
Edycja
2) lub wybrać kombinację klawiszy ALT+F11
3) lub menu podręczne bieżącego arkusza
– polecenie Wyświetl kod programu
3
2010-10-06
Edytowanie makra
Linie komentarza
Sub WhatsInACell()
'
' WhatsInACell Makro
' Makro zarejestrowane 2009-02-11, autor piotrw
'
Linie
komentarza
Selection.SpecialCells(xlCellTypeConstants, 2).Select
Selection.Font.ColorIndex = 7
Selection.Font.Bold = True
Range("A6").Select
• standardowo komentarze wyświetlane są w kolorze
zielonym
treść
procedury
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Selection.Font.ColorIndex = 11
Selection.Font.Bold = True
Range("B7").Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
Range("E9").Select
Słowa kluczowe
End Sub
W jaki sposób czytać instrukcje?
Wybierz (zaznacz)
Range(„A1:A3”).Select
Selection.EntireRow.Insert
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.Pattern.ColorIndex = 5
End With
• każda linia rozpoczynająca się znakiem apostrofu jest
komentarzem
komórki A1:A3
Wstaw nowy wiersz w
wybranym obszarze
ten blok czytamy jako:
kolor wnętrza
zaznaczonego obszaru ma
być czerwony, deseń ma
być pełen, a kolor desenia
niebieski
Okno eksploratora projektów
• wyświetla hierachiczną listę aktualnie
otwartych projektów oraz zawartych w
nich elementów.
• elementami projektu VBA są:
– arkusze
– wykresy
– ten skoroszyt (ThisWorkbook) –
odwołanie do skoroszytu, w którym jest
przechowywany dany projekt
– moduły
– klasy – specjalne rodzaje modułów,
które pozwalają na definiowanie
własnych obiektów
– formularze
– odwołania do innych projektów
• kolor komentarza można zmienić w menu
Narzędzia|Opcje|Edytor Format|
• komentarz można również dodać na końcu linii kodu np.:
.ColorIndex = 11 ‘ustawia kolor czcionki na fioletowy
• linie komentarza nie wykonują innego zadania poza
informowaniem użytkownika o tym jakie zadanie spełnia
dana procedura
Okno Edytora VBA
Korzystając z narzędzi okna edytora
możemy:
– pisać własne procedury VBA
– projektować własne formularze
– przeglądać i modyfikować właściwości
obiektów
– testować procedury i wyszukiwać błędy
Okno eksploratora projektów
• służy do zarządzania projektami i
poruszania się pomiędzy nimi
• okno EP można uruchomić na trzy sposoby:
– z menu WIDOK|Eksplorator Projektu
– kombinacja klawiszy: CTRL+R
– przycisk na pasku narzędziowym
ProjectExplorer:
4
2010-10-06
Okno właściwości
• Każdy obiekt posiada zbiór charakterystycznych dla
siebie cech nazywanych właściwościami.
• Właściwość obiektu można ustawić lub czytać, niektóre
właściwości są tylko do odczytu
pozwala wybrać obiekt na
aktywnym formularzu
ustawia nazwy Właściwości
wg kategorii
ustawia nazwy Właściwości w
porządku alfabetycznym
Okno Kod Programu
• służy do wpisywania kodu programu, jego
przeglądania lub edycji
• Okno można uruchomić:
– z okna Eksploratora Projektów – przycisk
Pokaż kod
– z menu WIDOK|Kod programu
– z klawiatury – klawisz F7
pole z nazwą właściwości
wartość danej właściwości
Pierwsze kroki w VBA –
podstawowe elementy języka
pole listy –
Procedury/Zdarzenia
Pole obiekt
linia podziału
zmiana widoku
• Moduły – miejsce przechowywanie
zarejestrowanych makr (procedur)
• Procedury – zbiór instrukcji realizujących
określone zadanie
• Obiekty – elementy kontrolowane przez VBA np.
skoroszyt, arkusz, pasek menu, okno
• Kolekcja obiektów – zbiór podobnych obiektów
np. kolekcja arkuszy, wierszy, kolumn, itp.
• Metody – czynności jakie potrafi wykonać obiekt
• Właściwości – cechy charakterystyczne obiektu
Pierwsze kroki w VBA –
podstawowe elementy języka
Przykłady obiektów i kolekcji w MS Excel
•
•
•
•
•
•
•
•
•
Application – aplikacja MS Excel
Chart – pojedynczy wykres
Charts - kolekcja wykresów
Range – zakres komórek
Sheets – kolekcja arkuszy
Worksheet – pojedynczy arkusz
Workbook – pojedynczy skoroszyt
Workbooks – kolekcja skoroszytów
WorksheetFunction – kolekcja funkcji
wbudowanych
• Słowa kluczowe
• Identyfikatory
– nazwy stałych, zmiennych, programów,
procedur, funkcji
•
•
•
•
Operatory
Funkcje wbudowane
Komentarze
Instrukcje
5
2010-10-06
Zmienne
Typy danych
• zmienna jest nazwą jaką nadajemy pewnemu
obszarowi pamięci komputera, w którym
przechowywane są dane określonego typu
• nazwy zmiennych mogą składać się z liter, cyfr i
niektórych znaków przestankowych z wyjątkiem:
–,#$%&@!
• nazwa zmiennej nie może zaczynać się od cyfry i
nie może być w niej odstępów (spacji)
• VB nie rozróżnia małych i dużych liter
• nie używamy jako nazw zmiennych słów
kluczowych VB
• nazwy powinny się łatwo kojarzyć z ich rolą
Termin TYP DANYCH określa sposób
przechowywania danych w pamięci
Np. dane mogą być przechowywane w
postaci: cyfr, napisów, dat, obiektów itp.
Jeżeli zapomnimy poinformować VB jaki typ
danych zamierzamy przechowywać, VB
przypisze tym danym typ o nazwie Variant.
Typy danych
Typ
Przyrostek
Wielkość
w bajtach
Typ
Charakterystyka (zakres)
Boolean
1
wartość logiczna True ("Tak„) lub False ("Nie")
Byte
1
Mała liczba całkowita od 0 do 255
Integer
%
2
&
4
liczba całkowita (całkowita długa) (miliardy)
od -2 147 483 648 do 2 147 483 647
Single
!
4
Liczba rzeczywista (może mieć część ułamkową)
od -3,402823E38 do +1,401298E-45
Wielkość
w bajtach
Charakterystyka (zakres)
Date
8
Od 1 stycznia 100r. do 31 grudnia 9999r.
Object
4
Dowolne odesłanie do wartości typu Object
liczba całkowita z zakresu 32 768 do 32 767
Long
Przyrostek
Double
#
Currency
Decimal
8
Liczba rzeczywista dwukrotnie większa od Single
od -1,797 693 134 862 32E308 do
-4,94065645841247E-324 dla wartości
ujemnych; od 4,94065645841247E-324 do
1,79769313486232E308 dla wartości dodatnich
8
od -922 337 203 685 477,5808 to 922 337 203
685 477,5807
14
@
+/-79 228 162 514 264 337 593 543 950 335 bez
przecinka dziesiętnego; +/7,9228162514264337593543950335 z 28
miejscami po przecinku; najmniejsza liczba
niezerowa jest
+/-0,0000000000000000000000000001
Deklarowanie zmiennych
Sposób deklaracji zmiennych:
Dim zmienna As typ
gdzie zmienna jest nazwą zmiennej, a typ określa
typ danych przechowywany przez zmienną
Uwaga: Pominięcie słowa kluczowego As i typu
zmiennej spowoduje, że zmienna będzie typu Variant (ze
względów łatwiejszego diagnozowania błędów w
pisanych programach należy unikać tego typu deklaracji
zmiennej).
Długość
ciągu
Od 1 do około 65 400 znaków (64 kB)
Variant
(z liczbami)
16 bajtów
Każda wartość numeryczna w zakresie typu
Double
Variant
(ze znakami)
22 bajty +
Długość
ciągu
Taki sam zakres co dla zmiennej typu String
zmiennej długości
Definiowany
przez
użytkownika
(przy użyciu
Type)
Liczba
wymagana
przez
elementy
Zakres każdego elementu jest taki sam jak
zakres typu danych tego elementu
Tablice (Array)
zależna od
wielkości i
typu pól
20 bajtów pamięci + 4 bajty na każdy wymiar
tablicy + liczba bajtów potrzebnych na jej dane
(każdy wymiar * liczba bajtów dla danego typu
danych w wymiarze)
String
$
Operatory
służą do tworzenia wyrażeń
• Arytmetyczne
– przypisanie wartości
– suma
– różnica
– iloczyn
– iloraz
– dzielenie z wynikiem całkowitym
– reszta z dzielenia
– potęgowanie
=
+
*
/
\
Mod
^
6
2010-10-06
• Logiczne
Operatory, cd.
Operatory, cd.
– negacja
Not
• Prawdziwa, gdy negowane zdanie jest fałszywe
– koniunkcja
And
• Prawdziwa, gdy oba zdania ją tworzące są prawdziwe
– alternatywa
• Łańcuchowe
– łączenia tekstów
– porównywania tekstów
&
Like
Or
• Fałszywa, gdy oba zdania ją tworzące są fałszywe
– implikacja
Imp
• Fałszywa, gdy z prawdy wynika fałsz
– równoważność
Eqv
• Prawdziwa, gdy zdania po obu stronach operatora mają taką
samą wartość logiczną
– różnica antysymetryczna
Xor
• Prawdziwa, gdy zdania po obu stronach operatora mają różną
wartość logiczną
• Relacje
– równy
– większy, większy lub równy
– mniejszy, mniejszy lub równy
– różny
Przykłady funkcji wbudowanych
• Funkcje wprowadzania danych:
– MsgBox – wyświetlanie i wprowadzanie danych
– InputBox – wprowadzanie danych
• Funkcje znakowe – działania na ciągach znaków
(rezultat jest również ciągiem znaków)
• Funkcje liczbowe – działania na liczbach (rezultat
jest liczbą)
• Funkcje daty – działania na datach
• Konwersja danych:
– Konwersja liczba tekst
– Konwersja tekst liczba
– Konwersja ... data, .. boolean
Instrukcje
służą do kodowania operacji wykonywanych na danych
=
, =
Funkcje liczbowe
•
•
•
•
•
•
•
•
•
•
•
•
Abs(x) – zwraca wartość bezwzględną liczby x
Atn(x) – zwraca arctangens liczby x
Cos(x) - zwraca cosinus liczby x
Exp(x) - zwraca wartość ex
Fix(x) – zwraca część całkowitą liczby x, Fix(-5.2) = -5
Int(x) - zwraca część całkowitą liczby x, Int(-5.2) = -6
Log(x) – zwraca logarytm naturalny liczby x
Rnd - zwraca liczbę losową z przedziału 0
Sin(x) - zwraca sinus liczby x
Sqr(x) – zwraca pierwiastek kwadratowy liczby x
Tan(x) - zwraca tangens liczby x
Instrukcje, c.d.
• wyboru – zastępuje złożone instrukcje warunkowe
• przypisania wartości:
A=3
x=2* t– 4
• warunkowe – sterowanie przebiegiem programu:
– Prosta
If warunek Then działanie
– Blok instrukcji warunkowych
If warunek Then
Działanie_1
Else
Działanie_2
End If
Select Case zmienna
Case lista_1_wartości_zmiennej
Blok instrukcji_1
Case lista_2_wartości_zmiennej
Blok instrukcji_2
Case Else
Blok instrukcji_3
End Select
7
2010-10-06
Instrukcje, c.d.
• skoku – przeniesienie wykonania programu do linii
kodu źródłowego, wskazanej przez etykietę:
GoTo etykieta
– Po nazwie etykiety umieszcza się dwukropek, np.:
koniec:
– W VBA etykiet nie deklaruje się w sekcji deklaracji
Instrukcje, c.d.
• iteracyjne – służą do wielokrotnego wykonania
sekwencji instrukcji
pętla For
For licznik = początek To koniec Step krok
Instrukcje wykonywane w pętli
Next
albo
For Each element In zakres
Instrukcje dla elementów zakresu
Next
Instrukcje, c.d.
Instrukcje, c.d.
Do … Loop
While … Wend
Wykonywanie pętli trwa, gdy spełniony jest
warunek
While warunek
Instrukcja wykonywana w pętli
Wend
Do While warunek
`wykonuj pętlę gdy spełniony jest warunek
Instrukcje wykonywane w pętli
Loop
Do Until warunek
`wykonuj pętlę do czasu, gdy zostanie spełniony warunek
Instrukcje wykonywane w pętli
Loop
Instrukcje, c.d.
Do … Loop
Do
Instrukcje wykonywane w pętli
Loop While warunek `wykonuj pętlę gdy spełniony jest
warunek
Do
Instrukcje wykonywane w pętli
Loop Until warunek `wykonuj pętlę do czasu, gdy
zostanie spełniony warunek
8
... zobacz całą notatkę
Komentarze użytkowników (0)