Programowanie modułowe

Transkrypt

Programowanie modułowe
(C)2005 RoG@j
2005-04-07
Programowanie
modułowe
Prosty przykład
Szkielet strukturalny
Słownictwo…
Po co to wszystko?
Najprostszy przykład
!
!
!
!
!
VBA 25
Wczytaj dane z arkusza do wektora a.
Wyznacz najmniejszy wyraz w wektorze a.
Utwórz z wektora a wektor b w ten sposób,
że każdy wyraz mniejszy od 5*Min
zastępujemy wartością Min
Wyznacz średnią wektora b
Wpisz wektor b do arkusza
Programowanie strukturalne
!
!
!
Podstawowy mechanizm programowania
strukturalnego to wywołanie procedur
W programowaniu strukturalnym opóźniamy
kodowanie szczegółów tak długo, jak to jest
możliwe
Staramy się zadanie dzielić na małe części,
gdyż są one łatwiejsze do kontrolowania.
Podpowiedź
!
Zadanie jest zapisane tak, że poszczególne
punkty odpowiadają poszczególnym
fragmentom kodu
!
!
!
!
!
Wczytanie danych do wektora a
Wyznaczenie minimum w a
Utworzenie wektora b
Wyznaczenie średniej w b
Wypisanie b
Szkielet strukturalny kodu
Kwestie słownictwa
Sub Wektory()
‘ Deklaracje
Call Czytaj
Call Minimum
Call Nowy
Call Srednia
Call Wyniki
End Sub
!
Co mówi angielskojęzyczny Help…
!
!
!
!
Calling Sub and Function Procedures
A statement in a Sub or Function procedure
Tak więc, czy to się nam podoba czy nie są
dwa typy procedur (procedures) Sub i
Function…
Mam pełną świadomość, że jest to całkiem
inaczej niż w Turbo Pascalu, ale świat się
zmienia…
!
Niekoniecznie na lepsze!!!
1
(C)2005 RoG@j
Nazewnictwo VBA kontra
reszta świata
!
W terminologii VBA są więc procedury
!
!
!
Typu Function – funkcje
Typu Sub, czyli… Sub procedure … i jak to
spolszczyć? Procedury Sub? Niektórzy tłumaczą
to jako podprogramy…
Gdyby zastosować terminologię Pascal’a…
byłyby podprogramy, dzielące się na
!
!
!
!
Jeśli procedura napotka instrukcję Call
zawiesza swoje działanie, a pracę
rozpoczyna procedura wywołana.
Gdy wywołana procedura zakończy swoje
działanie (End Sub lub Exit) sterowanie
przekazane jest do procedury wywołującej
Podobny mechanizm występuje przy
wywoływaniu wbudowanych funkcji
Insert " Procedure
!
Wybieramy typ procedury (podprogramu)
!
!
!
!
!
VBA 25
Sub
Function
Property
Wybieramy zasięg
!
Inna typologia procedur
!
!
!
Public
Private
Procedura wywoływana (called procedure) to
procedura wywoływana przez inną procedurę
Procedura wywołująca (calling procedure), to
procedura, która wywołuje inna procedurę
Słowo kluczowe Call jest opcjonalne
!
Function czyli funkcje
Sub czyli procedury
Magia Call
!
2005-04-07
Jeśli wywołujemy procedury z parametrami musi
ono wystąpić!
Po co modularyzacja i
programowanie strukturalne?
!
!
!
W przypadku tworzenia dużej aplikacji lub jej
rozbudowy konieczne jest wykorzystanie
mechanizmów programowania strukturalnego
Dzięki temu aplikacja będzie łatwiejsza do
zarządzania, modyfikacji i konserwacji
Proces ten można „zautomatyzować”
Prawie gotowy szkielet…
Sub Wektory()
‘ Deklaracje
Call Czytaj
Call Minimum
Call Nowy
Call Srednia
Call Wyniki
End Sub
Public Sub Czytaj()
‘ kod…
End Sub
Public Sub Minimum()
‘ kod…
End Sub
Public Sub Nowy()
‘ kod…
End Sub
Public Sub Srednia()
‘ kod…
End Sub
Public Sub Wyniki()
‘ kod…
End Sub
2