Nazwy zmiennych w VBA.
Typy danych.
Deklaracje zmiennych, stałych, zasięg
deklaracji.
2
Instrukcje przypisania.
Tablice.
Wyrażenia i operatory.
Materiały
do wykładu
Operacje na tekstach.
Operacje na tekstach.
na prawach
na prawach
rękopisu
Operacje logiczne.
Relacje.
Struktury sterujÄ…ce: instrukcje
warunkowe, instrukcje cyklu (pętle),
instrukcje wyboru.
Wbudowane funkcje: komunikacja z
użytkownikiem, konwersja typów danych.
1
Obsługa błędów.
W
YKAAD
2009/2010
2009-10-22
Programowanie
Programowanie
NAZWY ZMIENNYCH/STAAYCH
ciÄ…gi liter i cyfr
nie powinny zawierać znaków narodowych
nie mogą zawierać znaków specjalnych:
,
(), :, ;, itp. (dopuszczalny znak podkreślenia _)
mogą mieć dowolną długość
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
2
2009-10-22
Programowanie
Programowanie
DEKLAROWANIE ZMIENNYCH
Zmienna jest nazwanym obszarem
przechowywania danych w pamięci komputera
Zmienne deklaruje siÄ™ za pomocÄ… instrukcji Dim
umieszczanych na początku każdej procedury Sub
lub Function
lub Function
Dim nazwaZmiennej
Przykład:
Dim wiekDrzewa, wiekLasu
Styl wielbłądzi
3
nadawania nazw
zmiennym
2009-10-22
Programowanie
Programowanie
DEFINIOWANIE TYPÓW DANYCH
Typ danych określa, w jakiej postaci dane
zapisywane są w pamięci (liczby całkowite,
rzeczywiste, łańcuchy itp.)
Należy posłużyć się typem danych, który zajmuje
najmniejszą liczbę bajtów i obsługuje wszystkie
najmniejszą liczbę bajtów i obsługuje wszystkie
dane, które zostaną z nim powiązane szybkość
działania interpretera VBA zależy m. in. od liczby
bajtów użytych przez dane.
Jawne deklarowanie zmiennych jako używających
określonego typu danych umożliwia interpreterowi
4
VBA dodatkową walidację błędów
2009-10-22
Programowanie
Programowanie
TYPY DANYCH
Logiczny: Boolean
Daty: Date
Znakowy: String ($)
Liczbowy:
Obiektowy: Object
Byte
Tablicowy: Array
Integer (%)
Znakowy lub liczbowy:
Long (&)
Variant
Single (!)
Double (#)
Currency (@)
Decimal
2009-10-22
5
Programowanie
Programowanie
TYPY DANYCH
Typ Zakres wartości Liczba
bajtów
Byte 0-255 (28 -1) 1
Integer -32,768 ÷ 32,767 (- 215 ÷ 215 -1) 2
Boolean True, False 2
Long - 2,147,483,648 ÷ 2,147,483,647 (- 231 ÷ 231 -1) 4
Single Ä…(1,5E-45 ÷ 3,4E38) 4
Double Ä…(5E-324 ÷ 1,7E308) 8
Currency -922,337,203,685,477.5808 ÷ 8
922,337,203,685,477.5807
+/- 79,228,162,514,264,337,593,543,950,335
Decimal 14
(bez części dziesiętnej
6
+/- 7.9228162514264337593543950335
( z 28 miejscami po przecinku)
2009-10-22
Programowanie
Programowanie
TYPY DANYCH
Typ Zakres wartości Liczba
bajtów
Date 1 stycznia 0100 ÷ 31 grudnia 9999 8
Object Dowolne odwołanie do obiektu 4
String 0 ÷ ok. 2mld (zmienna dÅ‚g.) 10 bajtów
String 0 ÷ ok. 2mld (zmienna dÅ‚g.) 10 bajtów
+ długość
0 ÷ ok. 65,400 (staÅ‚a dÅ‚g.)
łańcucha
Dowolna wartość numeryczna mniejsza od
Variant 16
maksymalnej wartości zakresu typu danych
Double
Currency -922,337,203,685,477.5808 ÷ 10 bajty
922,337,203,685,477.5807 + długość
7
łańcucha
2009-10-22
Programowanie
Programowanie
DEKLAROWANIE TYPU ZMIENNYCH/STAAYCH
Typ danych ustala się przez uwzględnienie słowa
kluczowego As w instrukcji Dim / Const
Dim nazwaZmiennej As TypDanych
Const nazwaStałej As TypDanych = wartość
Przykład:
Przykład:
Dim wiekDrzewa As Integer
Const wiekLasu As Integer = 150
Jeśli przy deklarowaniu zmiennej nie określi się typu
danych, interpreter VBA przypisze jej typ Variant
Aby wymusić deklarowanie wszystkich używanych
zmiennych, w module VBA w pierwszym wierszu
8
należy zastosować instrukcję Option Explicit
2009-10-22
Programowanie
Programowanie
DEKLAROWANIE TYPU ZMIENNYCH
Typ danych dla argumentu procedury z listy
argumentów ustala się przez uwzględnienie słowa
kluczowego As w instrukcji Function:
Function WynikFinansowy( przychody As Currency,
wydatki As Currency)
wydatki As Currency)
Typ danych dla wartości zwracanej przez procedurę
Function ustala się przez uwzględnienie słowa
kluczowego As w instrukcji Function:
Function WynikFinansowy( przychody, wydatki ) As
Currency
9
2009-10-22
Programowanie
Programowanie
ZASIG ZMIENNYCH
Zasięgiem zmiennej określa się moduły i procedury, w
których można je zastosować
Zasięg zmiennych/stałych:
Zmienna lokalna Dim
widoczna tylko w danej procedurze
Zmienna prywatna Dim lub Private przed pierwszÄ…
Zmienna prywatna Dim lub Private przed pierwszÄ…
procedurą w module widoczna w całym module
Zmienna publiczna (globalna) Public przed
pierwszą procedurą w module widoczna w różnych
modułach
Zmienne statyczne Static - nie tracą wartości po
wyjściu z procedury, lecz nadal mają wartość, którą
miały w chwili zakończenia procedury (chyba że
10
procedura zostanie zakończona instrukcją End)
2009-10-22
Programowanie
Programowanie
ZMIENNE OBIEKTOWE
Deklaracja:
Dim nazwa As Object
Zmienne odwołują się do lokalizacji danych,
a nie do ich wartości
Zmiennej należy przypisać konkretny obiekt:
Zmiennej należy przypisać konkretny obiekt:
Set nazwa = wartość_wskazywana
Przykład:
Dim vObiekt As Range
Set vObiekt = Worksheets( Arkusz1 ).Range("A1:C2")
Anulowanie zmiennej obiektowej:
Set zmienna = Nothing
11
2009-10-22
Programowanie
Programowanie
ODWOAYWANIE SI DO OBIEKTÓW
Specyfikacja ścieżki dostępu do obiektu, jego
metod i właściwości
Zachowanie kolejności odwołania zgodnie z
hierarchią występowania obiektów np.
skoroszyt.arkusz.zakres
skoroszyt.arkusz.zakres
Instrukcja With w odwoływaniu się do obiektów:
With obiekt
działania_na_obiekcie
End With
12
2009-10-22
Programowanie
Programowanie
INSTRUKCJA WITH
WITH Workbooks(1).Activesheet
.Range( A1:A2 ).Select
.Range( A1:A2 ).Value = 10
END WITH
WITH Workbooks(1).Worksheets("Arkusz1").Activate
END WITH
WITH Workbooks(1).Worksheets("Arkusz1").Rows
.Font.Bold = True
.Select
END WITH
13
2009-10-22
Programowanie
Programowanie
TYPY DANYCH UŻYTKOWNIKA
Typ danych użytkownika służy do przechowywania
w jednej strukturze danych podobnego rodzaju
Instrukcje między Type i End Type określają
elementy nowego typu danych
Type CarInfo
Type CarInfo
name As String
model As String
rokProdukcji As Integer
cena As Currency
End Type
Dim myCar As CarInfo
14
myCar.name = Fiat
myCar.model = Brava
2009-10-22
Programowanie
Programowanie
INSTRUKCJA PRZYPISANIA
Instrukcja przypisania jest instrukcjÄ… VBA
wykonujÄ…cÄ… obliczenia i przypisujÄ…cÄ… wynik
zmiennej lub obiektowi
W języku VBA funkcję operatora przypisania
spełnia znak równości
spełnia znak równości
x = 1
x = x + 1
FileOpen = True
Range("Rok").Value = 2009
15
2009-10-22
Programowanie
Programowanie
TABLICE
Tablica jest grupą elementów tego samego typu
posiadających wspólną nazwę
W celu odwołania się do określonego elementu tablicy
należy użyć jej nazwy i numeru indeksu
Aby w przypadku
Dim mojaTablica(0 To 100) As Integer
wszystkich tablic, dla
Dim mojaTablica(100) As Integer
których deklarowany
mojaTablica(0) = 123
jest tylko górny
indeks, interpreter
Dim mojaTablica(1 To 10, 1 To 10 ) As Integer
VBA stosował dolny
Tablica dynamiczna
indeks równy 1, przed
Dim mojaTablica() As Integer
pierwszÄ… procedurÄ…
modułu należy
Redim Informuje interpreter VBA o liczbie
wstawić instrukcję:
elementów tablicy
16
Option Base = 1
2009-10-22
Programowanie
Programowanie
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:
Operatory:
+, -, *, / (dzielenie), ^ (potęgowanie),
= (przypisanie), \ (dzielenie całkowite),
Mod (reszta z dzielenia całkowitego);
17
2009-10-22
Programowanie
Programowanie
OPERATORY - KOLEJNOŚĆ
Kolejność wykonywania operatorów:
zmiana znaku,
tożsamość,
potęgowanie,
mnożenie (*,/,\,mod),
mnożenie (*,/,\,mod),
dodawanie (+/-),
przypisanie (=);
Nawiasy kolejność wykonywania od najgłębiej
zagnieżdżonego nie ma ograniczeń w
zagnieżdżeniu!
18
2009-10-22
Programowanie
Programowanie
OPERACJE NA TEKSTACH
Konkatenacja łączenie tekstów: + lub &
"Jan" + "Kowalski" => "JanKowalski"
"Jan" & Chr(32) & "Kowalski" => "Jan Kowalski"
"A" & Chr(98) & "c" => Abc
Uwaga:
1 + 2 = "3"
1 & 2 = "12"
Uwaga: operator + może być używany tylko do
zmiennych tego samego typu (liczbowy/tekstowy)
19
2009-10-22
Programowanie
Programowanie
OPERACJE LOGICZNE
Operacje logiczne majÄ… wynik
PRAWDA (True, 1) lub FAASZ (False, 0);
Operacje mogą być prowadzone na zmiennych
typu Boolean lub liczbach całkowitych (czyli
porównywanie ciągów reprezentacji binarnych tych
liczb);
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...); 20
2009-10-22
Programowanie
Programowanie
RELACJE
Relacje to porównanie dwóch argumentów wynik
w formie wartości logicznej (0/1);
arg1 vs arg2
operatory: =, <>, <, >, <=, >=;
x y Not x Not y x And y x Or x Xor x Eqv y x Imp
y y y
0 0 1 1 0 0 0 1 1
0 1 1 0 0 1 1 0 1
1 0 0 1 0 1 1 0 0
21
1 1 0 0 1 1 0 1 1
2009-10-22
Programowanie
Programowanie
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;
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ń;
22
2009-10-22
Programowanie
Programowanie
INSTRUKCJE WARUNKOWE
If warunek Then instrukcja
If warunek Then
instrukcja_1
instrukcja_2
...
...
End If
If warunek Then
instrukcje_1
Else
instrukcje_2
23
End If
2009-10-22
Programowanie
Programowanie
NIE TAK
Warunek_1
NIE TAK
Instrukcje_1
Warunek_2
Instrukcje_3 Instrukcje_2
If warunek_1 Then
instrukcje_1
Elseif warunek_2 Then
instrukcje_2
Else
24
instrukcje_3
End If
2009-10-22
Programowanie
Programowanie
INSTRUKCJE WYBORU
Select Case sprawdzane_wyrażenie
Case lista_wyrażeń_1
Blok instrukcji_1
Case lista_wyrażeń_2
Case lista_wyrażeń_2
Blok instrukcji_2
Case Else
Blok instrukcji_3
End Select
25
2009-10-22
Programowanie
Programowanie
INSTRUKCJE WYBORU
Select Case WeekDay(Now)
Case 2, 3, 4, 5, 6
Debug.Print To nie Weekend
Case Else
Case Else
Debug.Print Weekend !
End Select
26
2009-10-22
Programowanie
Programowanie
INSTRUKCJE PTLI
Instrukcja Do ... Loop
Instrukcja Do Until warunek ... Loop
Instrukcja Do warunek ... Loop Until
Instrukcja Do While warunek ... Loop
Instrukcja Do ... Loop While warunek
Instrukcja For ... Next
Instrukcja For Each
Instrukcja While warunek ... Wend
27
2009-10-22
Programowanie
Programowanie
INSTRUKCJE PTLI (C.D.)
DO DO WHILE warunek
instrukcje instrukcje
LOOP LOOP
DO UNTIL warunek
DO
DO
instrukcje
instrukcje
LOOP
LOOP WHILE warunek
DO
instrukcje
LOOP UNTIL warunek
28
2009-10-22
Programowanie
Programowanie
INSTRUKCJE PTLI (C.D.)
FOR licznik = start TO koniec
instrukcje
NEXT licznik
FOR EACH element IN kolekcja
instrukcje
NEXT element
FOR licznik = start TO koniec STEP
instrukcje
29
NEXT licznik
2009-10-22
Programowanie
Programowanie
OPUSZCZENIE PTLI
DO
instrukcja_1
IF warunek THEN EXIT DO
LOOP
LOOP
FOR licznik = start TO koniec
instrukcja_1
IF warunek THEN EXIT FOR
LOOP
30
2009-10-22
Programowanie
Programowanie
PRZYKAADY 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
31
Inne funkcje
2009-10-22
Programowanie
Programowanie
FUNKCJE ZNAKOWE
UCase(ciąg) zamiana na duże litery
LCase(ciąg) zamiana na małe litery
LTrim(ciąg) ciąg znaków bez spacji początkowych
RTrim(ciąg) ciąg znaków bez spacji końcowych
Trim(ciąg) ciąg znaków bez spacji początkowych i
końcowych
Left(ciąg, n) ekstrakcja n początkowych znaków
Right(ciąg, n) ekstrakcja n końcowych znaków
Mid(ciąg, start, n) ekstrakcja n znaków od pozycji
start
32
Len(ciąg) długość ciągu znaków
2009-10-22
Programowanie
Programowanie
FUNKCJE MATEMATYCZNE
Abs(n) wartość bezwzględna
Int(n) część całkowita liczby (zaokrąglenie, dla
ujemnych zwraca najbliższą liczbę mniejszą od n)
Fix(n) część całkowita liczby (odrzucenie części
ułamkowej)
ułamkowej)
Sqrt(n) pierwiastek z n
Rnd liczba losowa typu Single
33
2009-10-22
Programowanie
Programowanie
FUNKCJE DATY
Time czas systemowy komputera
Date data systemowa
Day(data) numer dnia miesiÄ…ca
WeekDay(data [, pdt]) numer dnia tygodnia
Month(data)- numer miesiÄ…ca
MonthName(data) nazwa miesiÄ…ca
Year(data) rok z podanej daty
FormatDateTime(data, format) podaje datÄ™/czas
w określonym formacie
34
2009-10-22
Programowanie
Programowanie
FUNKCJE KONWERSJI
Konwersja ... Ò! liczba Konwersja ... Ò! tekst
CByte CStr
CCur CVar
CDbl
CDbl
Konwersja ... Ò! data:
Konwersja ... Ò! data:
CDec
CDate
CInt
Konwersja ... Ò! boolean:
CLng
CBool
CSng
Cvar
35
2009-10-22
Programowanie
Programowanie
FUNKCJA MSGBOX
Funkcja MsgBox wyświetla okno dialogowe z
komunikatem i czeka na wciśnięcie przycisku przez
użytkownika, po czym zwraca wartość typu Integer
określającą przyciśnięty prz użytkownika przycisk
Składnia:
Składnia:
MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp,
HelpContext])
Podobnie do wszystkich funkcji VBA, funkcja
MsgBox wymaga umieszczenia jej argumentów w
nawiasach , gdy używa się wartości zwracanych
przez funkcjÄ™
36
2009-10-22
Programowanie
Programowanie
FUNKCJA MSGBOX
Argument Opis
Komunikat (Wymagany) Wyrażenie łańcuchowe wyświetlane jako
wiadomość w oknie dialogowym (Maks. 1024 znaki). Jeżeli
łańcuch ten zawiera więcej niż jedną linię, można oddzielać
je używając znaków powrotu karetki (carriage return
je używając znaków powrotu karetki (carriage return
Chr(13)) i podziału linii (linefeed Chr(10)), lub połączenia
(Chr(10) & Chr(13)), pomiędzy poszczególnymi liniami.
Przyciski (Opcjonalny) Wyrażenie numeryczne określające numer i
typ przycisków, które mają być wyświetlane. Domyślna
wartość 0.
Tytuł (Opcjonalny) Wyrażenie łańcuchowe wyświetlane na pasku
tytułowym okna dialogowego. Jeżeli zostanie pominięty, na
37
pasku tytułowym zostanie wyświetlona nazwa aplikacji.
2009-10-22
Programowanie
Programowanie
FUNKCJA MSGBOX
Argument Opis
PlikHelp
(Opcjonalny) Wyrażenie łańcuchowe określające
niestandardowy plik pomocy (Help), który ma być użyty do
przeszukiwania pomocy kontekstowej dla okna
dialogowego.
dialogowego.
HelpContext(Opcjonalny). Wyrażenie numeryczne określające numer
kontekstowy skojarzony z tematem pomocy przez autora
pomocy.
Stałe VB: vbOkOnly klawisz Ok;
vbOkCancel klawisze Ok i Cancel;
vbYesNo klawisze Yes i No;
vbCritical ikonka krytyczna;
vbQuestion ikonka pytania;
38
vbExclamation ikonka wykrzyknika;
vbInformation ikonka informacji;
2009-10-22
Programowanie
Programowanie
WARTOÅšCI I STAAE ZWRACANE PRZEZ
FUNKCJ MSGBOX
W przypadku okna dialogowego z wieloma
przyciskami, wartość zwrócona przez funkcje
MsgBox zapisuje siÄ™ w zmiennej.
Stała Wartość Opis
Stała Wartość Opis
vbOK 1 OK
vbCancel 2 Cancel(Anuluj)
vbAbort 3 Abort(Przerwij)
vbRetry 4 Retry(Ponów próbę)
vbIgnore 5 Ignore(Zignoruj)
vbYes 6 Yes(Tak)
vbNo 7 No(Nie)
39
2009-10-22
Programowanie
Programowanie
PRZYKAAD
Arkusz programu
Microsoft Office Excel z
40
2009-10-22
Programowanie
Programowanie
FUNKCJA INPUTBOX
Funkcja InputBox wyświetla okno dialogowe i
czeka, aż użytkownik wprowadzi tekst lub wciśnie
przycisk oraz zwraca wartość typu String
zawierającą tekst wprowadzony przez użytkownika.
Składnia:
Składnia:
InputBox(Pytanie [, Tytuł] [, DomyślnyTekst]
[, XPos] [, YPos] [,PlikHelp, HelpContext])
41
2009-10-22
Programowanie
Programowanie
ARGUMENTY FUNKCJI INPUTBOX
Argument Opis
Pytanie (Wymagany) Wyrażenie łańcuchowe wyświetlane
jako wiadomość w oknie dialogowym (Maks.1024
znaki). Jeżeli łańcuch ten zawiera więcej niż jedną
linię, można oddzielać je używając znaków powrotu
karetki (carriage return Chr(13)) i podziału linii
karetki (carriage return Chr(13)) i podziału linii
(linefeed Chr(10)), lub połączenia (Chr(10) &
Chr(13)), pomiędzy poszczególnymi liniami.
Tytuł (Opcjonalny) Wyrażenie łańcuchowe wyświetlane
na pasku tytułowym okna dialogowego. Jeżeli
zostanie pominięty, na pasku tytułowym zostanie
wyświetlona nazwa aplikacji.
42
2009-10-22
Programowanie
Programowanie
ARGUMENTY FUNKCJI INPUTBOX
Argument Opis
Domyślny (Opcjonalny) Wyrażenie łańcuchowe wyświetlane w
Tekst oknie wprowadzania danych jako domyślna odpowiedz,
jeżeli nie zostanie wprowadzony inny tekst.
XPos (Opcjonalny) Wyrażenie numeryczne określające, w
punktach (1 cal=72 punkty), poziomą odległość między
punktach (1 cal=72 punkty), poziomą odległość między
lewym brzegiem okna dialogowego a lewym brzegiem
ekranu. Jeżeli zostanie pominięty, okno dialogowe
zostaje wycentrowane poziomo.
YPos (Opcjonalny) Wyrażenie numeryczne określające, w
twipsach, pionową odległość między górnym brzegiem
okna dialogowego a górą ekranu. Jeżeli zostanie
43
pominięty, okno dialogowe zostaje umieszczone na 1/3
wysokości.
2009-10-22
Programowanie
Programowanie
PRZYKAADY
Arkusz programu
Microsoft Office Excel z
44
2009-10-22
Programowanie
Programowanie
WYCHWYTYWANIE BADÓW
Zawsze należy zakładać, że jeśli użytkownik może
w interakcji z programem wprowadzić dane, które
spowodują wystąpienie błędu wykonywania kodu i
w konsekwencji przerwanie działania programu
Podstawowa strategia wychwytywania błedów
Podstawowa strategia wychwytywania błedów
składa się z czterech kroków:
Ustawienie pułapki wychwytującej błędy
Tworzenie kodu procedury obsługującej błędy
Wznowienie wykonywania programu
Wyłączenie pułapki
45
2009-10-22
Programowanie
Programowanie
USTAWIENIE PUAAPKI WYCHWYTUJCEJ BADY
ON ERROR GOTO etykieta
instrukcję należy umieścić w miejscu poprzedzającym
wystąpienie błędu
przy wystąpieniu błędu nastąpi przejście do linii
z podanÄ… etykietÄ…
ON ERROR RESUME Next
w przypadku wystąpienia błędu następuje przejście do
następnej instrukcji po tej, która spowodowała błąd
ON ERROR GOTO 0 wyłączenie obsługi błędów
w bieżącej procedurze
46
2009-10-22
Programowanie
Programowanie
PRZYKAAD
Arkusz programu
Microsoft Office Excel z
47
2009-10-22
Programowanie
Programowanie
Wyszukiwarka
Podobne podstrony:
I P ZiIP Niestacjonarne SL 09 Wyklad 1 cz 1
ZJ SL 09 wyklad 1 dod A
09 wykład ped
11 12 09 wyklad algebraid337
09 wykladid?98
A 09 Wykład 3 antagoznim
A 09 Wykład 1 Bakterie?rmentacji Mlekowej
Wyklad 09 USG
wyklad 10 09 06 2 komorka chem
wyklad 7 emocje stres niestacjonarne WSEiP 16 2008
Wyklad 09 Podstawy Genetyki AI
wyklad6 09
więcej podobnych podstron