[ Pobierz całość w formacie PDF ]
.zapamiętywania kolorów ekranu w celu ich pózniejszego odtwo-rzenia, inicjalizacji drukarki, automatycznego ładowania plików konfiguracyjnych).Całość modułu rozpoczyna się nagłówkiem o postaci unit nazwa (ang.unit moduł) i kończy słowem kluczowym end (z kropką).Tu uwaga: treść modułu (kodzródłowy i wynikowy) zapamiętywana jest w oddzielnych plikach, których nazwymuszą być takie same, jak nazwa użyta w nagłówku (w naszym przypadku tekstzródłowy modułu należy umieścić w pliku TEST.PAS, zaś kod wynikowy zostaniezapisany do pliku TEST.TPU).Wymienione wyżej sekcje powinny występować w takiejkolejności, w jakiej zostały opisane, chociaż każdą z nich można pominąć.Pospolitymzjawiskiem jest pominięcie części inicjalizacyjnej (w chwili uruchomienia programumoduł nie wykonuje żadnych operacji).Pominięcie części prywatnej spotykane jestgłównie w modułach deklarujących wyłącznie stałe, zmienne i typy.Brak częścipublicznej automatycznie uniemożliwia komunikację z modułem, toteż sytuacja takaspotykana jest niezwykle rzadko.Wróćmy do naszego przykładu.Moduł Test zawiera w części publicznej deklaracjędwóch funkcji: Pow, podnoszącej liczbę rzeczywistą do potęgi rzeczywistej, oraz(znacznie mniej użytecznej) IleWywolan, zwracającej liczbę wywołań funkcji Pow.Sekcja publiczna zawiera również definicję prostego typu zmiennoprzecinkowegofloat.Sekcja prywatna zawiera oczywiście definicje funkcji zapowiedzianych w sekcji pub-licznej, jak również deklarację prywatnej zmiennej Licznik.Zmienna ta przechowujeliczbę wywołań funkcji Pow.Ponieważ Licznik jest niedostępny z zewnątrz(spróbuj!), jego wartość zwracana jest przez funkcję IleWywolan.Warto tuwspomnieć, że wszelkie globalne zmienne prywatne modułu są statyczne, tj.przechowują swoją wartość przez cały czas wykonywania programu.Część inicjalizacyjna zawiera jedną instrukcję, inicjalizującą wartość zmiennej Licz-nik na zero.O sensowności tego rozwiązania nie trzeba chyba nikogo przekonywać.Do sprawdzenia działania naszego modułu wykorzystamy krótki programTestModulu.Program ten jest na tyle banalny, że nie wymaga komentarza.program TestModulu;usesTest;varx : float; { wykorzystanie zdefiniowanego typu }beginwriteln('2 do potegi 8 = ', Pow(2,8):8:4);x := 1.5;writeln('Pi do potegi 1.5 = ', Pow(Pi, x):8:4);writeln('Funkcje Pow wywolano ', IleWywolan, ' razy.');end. 130 Turbo Pascal  programowanieJak widać, wykorzystanie własnego modułu odbywa się dokładnie tak samo, jak stan-dardowego modułu bibliotecznego.Jeśli przyjrzysz się uważnie raportowi z kompilacjizauważysz, że przed skompilowaniem samego programu Turbo Pascal wyświetliinformację o kompilacji modułu.Po skompilowaniu programu na dysku powinienpojawić się plik o nazwie TEST.TPU, zawierający skompilowany kod wynikowy modułu.Odpowiednie fragmenty kodu są pobierane z pliku i dołączane do kodu wynikowegoprogramu w procesie konsolidacji.Po utworzeniu pliku.TPU moduł nie będzie kompilo-wany ponownie, o ile nie wprowadzisz zmian do kodu zródłowego lub nie wydaszpolecenia Build, wymuszającego bezwarunkowe skompilowanie wszystkich elementówskładowych programu.Jak powiedzieliśmy na początku tego rozdziału, zagadnienie modułów jest raczej przyszłościowe , toteż nie będziemy się nim szerzej zajmować.Od samej stronytechnicznej (której opis możesz znalezć w literaturze) ważniejsza wydaje się ideaprogramowania (i projektowania) modułowego, pozwalająca na szybkie i skutecznetworzenie efektownych, efektywnych i bezbłędnych programów.Zapamiętaj" Zasada modularności jest jedną z podstawowych zasad dobrego programowania.Stosowana jest ona przede wszystkim podczas realizacji bardziej złożonychzadań." Realizację tej zasady umożliwiają w Turbo Pascalu moduły." Moduł zawiera definicje i deklaracje obiektów zawarte w trzech sekcjach.Sekcjapubliczna (interface) określa, które obiekty będą widoczne na zewnątrz, sek-cja prywatna (implementation) definiuje ich treść (a także definiuje obiektyprywatne modułu), natomiast sekcja inicjalizacyjna przeznaczona jest do auto-matycznego wykonywania zadanych czynności w chwili rozpoczęcia programu." Obiekty zdefiniowane w sekcji prywatnej są niewidoczne na zewnątrz modułu,o ile nie zostaną zadeklarowane w sekcji publicznej." Skompilowana treść modułów jest przechowywana w plikach o rozszerzeniu.TPU i dołączana do właściwego programu w procesie konsolidacji." Podział programu na moduły oraz grupowanie funkcji, procedur i struktur da-nych w biblioteki gotowych elementów umożliwia szybkie i skuteczne tworzenieefektywnych i bezbłędnych programów. [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • angela90.opx.pl