7 RWE Tablice i zakresy

7_RWE_Tablice i zakresy

Zakres komórek na arkuszu obiekt range

Własności (po kropce !!!)

Liczba wierszy Rows.Count

Liczba kolumn Columns.Count

Komórka arkusza Cells(w, k) (wiersz, kolumna w zakresie)

Tablice = deklaracja Dim(liczba elementow) as typ elementów

Tablica statyczna – liczba elementów stała, znana w momencie deklaracji

Przykłady

Dim wektor(2) as double

Standardowo ma 2 elementy: wektor(0) i wektor(1)

Po wprowadzeniu dyrektywy Option Base 1 ma 2 elementy: wektor(1) i wektor(2)

Dim wekt(1 to 3) as double ma 3 elementy: wekt(1),wekt(2),wekt(3)

Dim macierz(2,2) as double

Standardowo ma 4 elementy: macierz(0,0),macierz(0,1), macierz(1,0), macierz(1,1)

Po wprowadzeniu dyrektywy Option Base 1

macierz(1,1),macierz(1,1), macierz(2,1), macierz(2,2)

Tablica dynamiczna – liczba elementów nieznana lub zmienna określa ją instrukcja ReDim

Przykład

deklarcja tablicy dynamicznej Dim tab() as double

redefinicja wymiaru ReDim tab(1 to 5, 1 to 6)

PRZYKŁAD Algorytm Gaussa i rozwiązanie układu trójkątnego

Option Base 1 ‘ wymuszenie numeracji elementów tablic od 1

Option Explicit ‘ wymuszenie deklaracji wszystkich zmiennych

Function Gauss(tp As Range)

Dim u, m, w, k, i, u1 As Integer

Dim g, p, g1 As Double

Dim res() As Double 'tablica dynamiczna

u = tp.Rows.Count: m = tp.Columns.Count 'wymiary zakresu

ReDim res(u, m) 'dynamiczna rezerwacja

For w = 1 To u 'kopiowanie zakresu do tablicy

For k = 1 To m

res(w, k) = tp.Cells(w, k)

Next k

Next w

u1 = u - 1

For w = 1 To u1

g = res(w, w) 'element główny

If g < 0.0000001 Then Gauss= "zalezna niewiadoma " & w: GoTo KON

For i = w + 1 To u

p = res(i, w) / g

For k = 1 To m

res(i, k) = res(i, k) - res(w, k) * p: ' res(i, w) / res(w,w)

Next k

Next i

Next w

Gauss = res

KON:

End Function

Function zTrojkata(t As Range)

Dim w, k, i, j, i1 As Integer

Dim s As Double

Dim res() As Double

w = t.Rows.Count: k = t.Columns.Count ' wymiary

ReDim res(w) 'rezerwacja

For i = 1 To w

i1 = w + 1 - i

s = t.Cells(i1, k)

If i > 1 Then For j = i1 To w: s = s - t.Cells(i1, j) * res(j): Next

res(i1) = s / t.Cells(i1, i1)

Next i

zTrojkata = res

End Function


Wyszukiwarka

Podobne podstrony:
6 RWE Tablice Geodezja płaska Wcięcia
TABLICZKA MNOŻENIA w zakresie 100, Dla dzieci, Edukacja, mnożenie i dzielenie
Tabliczka mnożenia w zakresie0
Sprawdzian tabliczka mnożenia w zakresie 20
Tabliczka mnożenia w zakresie 30
tablice do analizy konkur
Czynności kontrolno rozpoznawcze w zakresie nadzoru nad przestrzeganiem przepisów
TABLICE
Rozwiązania instytucjonalne w zakresie realizacji i kontroli praw pacjenta
Zakres prawa z patentu Interpretacja zastrzeżeń patentowych2 (uwagi prawnoporównawcze)
Krwawienie z przewodu pokarmowego lub zagrażające powikłania oraz dyskomfort pacjenta w zakresie hig
POJĘCIE I ZAKRES POLITYKI GOSPODARCZEJ
Tablice Trwania ZyciaKonstruowanie
11 Zakres i główne trendy globalizacjiid 12273 ppt
Nowe obowiazki organow prowadzacych w zakresieoceny pracy

więcej podobnych podstron