Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмдеу жане багдарламалау негиздери 4 г.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.73 Mб
Скачать

29 Дәріс тақырыбы:

Құрылымды және модульді программалау.

Модуль – бұл суреттеулер бөлімінің кез келген компонентінен тұратын автономды компиляцияланатын программалық бірлік (әдетте, ең алдымен –кіші программалар) және қандай да бір нұсқаулар. Модуль программадан айырмашылығы орындалуға өздігінен жіберілмейді: ол тек қана программаны немесе басқа модульді құруға қатыса алады.

Модульдің тексті бөлек .pas файлға, мысалы, gauss.pas орналастырылады. Модульді компиляциялаудың нәтижесі .tpu (Turbo Pascal Unit), мысалы, gauss.tpu кеңеюі бар екі есе файл болып табылады. Модульді программаға немесе басқа модульге қосу үшін uses сәйкес бөлімінде модульдің атын көрсету қажет.

Модульдің жалпы түрі:

unit Модулдің аты;

interface

Интерфейстік бөлім

implementation

Орындалатын бөлім

begin

Иницияланатын бөлім

end.

Осылайша модуль міндетті тақырыптан және үш бөліктен тұрады. Кез келген бөлік болмауы мүмкін (иницияланатын бөлік болмаған кезде begin негізгі сөзін жіберген дұрыс). Сондықтан ең қысқа модуль былайша көрінеді:

unit Модульдің аты;

interface

implementation

end.

Тақырыптағы модульдің аты модульдің бастапқы текстінен тұратын файлдың атымен сәйкес келуі керек – бұл құрастырушыға модульдерді программамен және өзара байланыстыруға мүмкіндік береді.

Интерфейстік бөлім label бөлімін қоспағанда басты программаның осындай бөлімдеріне ұқсас суреттеулердің барлық бөлімдерінен тұруы мүмкін. Осы бөлімнің кіші программасының орнына тек қана олардың тақырыптары көрсетіледі. Осы кіші программалардың толық анықтамасы келесі орындалатын бөлімде орналастырылады. Кіші программалар жадының арғы моделіне автоматты түрде компиляцияланады. Интерфейстік бөлімде суреттелген объектілердің көрінетін саласы барлық модульге де, басқа модульдер мен басты программаға да өшіріледі. Яғни, бұл объектілер – модульде және одан тыс жерлерде ауқымды.

Орындалатын бөлім басты программаның осындай бөлімдеріне ұқсас сипаттамалардың барлық бөлімдерін қамти алады. Мұнан басқа тақырыбы интерфейстік бөлімде жарияланған кіші программаның толық анықтамасынан тұрады.

Иницияланатын бөлім Турбо Паскал тілінің кез келген нұсқауынан тұруы мүмкін. Осы бөлімнің операторлары басты программаның жұмысы басталғанға дейін орындалады. Әдетте көрсетілген қасиет басты программаның жұмысын дайындау үшін қолданылады: ауқымды айнымалыларды инициализациялау, файлдар ашу, коммуникациялық арналар бойымен басқа компьютерлермен байланыс орнату және т.б.

Көп модульді программаны компиляциялаудың үш түрі бар. Олардың бәрі жинақталған ортаның Compile менюіне беріледі: Compile (Alt+F9) – программаның компиляциясы немесе редактордың осы терезесіндегі модульді; Make (F9) – осы жобаның (комплекстің) барлық модульдері ішінара қайта компилияцияланады; Build – оларғаөзгерістер енгізіліп, енгізілмегеніне қарамастан осы жобаның барлық модульдерін қайта компилияциялайды.

Модульдерді қосу олардың uses бөлімінде тізімделу ретімен жүреді. Келесі модульге өту кезінде ол сілтеме жасайтын барлық модульдер алдын ала іздестіріледі. Осы ретпен программаны орындау кезінде модульдердің иницияланатын бөлігі іске қосылады. Модульдердің бір біріне сілтеме жасауы түбірі негізгі программа болып табылатын ағаш тәрізді құрылым түзейді. Модульдің өзіне анық немесе жанама сілтемелеріне тыйым салынады. Мысалы, келесідей жариялауларға рұқсат етілмейді:

unit A;

interface

uses B;

implementation

end.

unit B;

interface

uses A;

implementation

end.

Егер uses бөлімін модульдің орындалатын бөлігіне «жасырса» бұл шектеулерді айналып өтуге болады.

unit A;

interface

implementation

uses B;

end.

unit B;

interface

implementation

uses A;

end.

Турбо Паскалда ішінара компиляцияланған модульдерге сілтемелерге рұқсат етіледі, яғни компиляция екі кезеңде өтеді: алдымен интерфейстік бөлік, одан кейін барлық қалғаны компиляцияланады.

Турбо Паскалдың кейбір стандартты модульдері turbo.tpl (System, Dos, Crt, Printer, Overlay) кітапханасының құрамына кіреді, ал басқалары жеке .tpu файлдарда (Graph, Strings және т.б.). Бұл ретте System модулі барлық уақытта автоматты қосылады (енгізу/шығару кіші бағдарламасынан, жолдарды өңдеуден, математикалық және басқа да функциялардан тұрады), ал қалғандары қажеттілігіне қарай uses бөлімінде көрсетіледі.