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