Назорат саволлари
Нима учун кўрсатгичлар билан ишлашни хотирани динамик тақсимлаш дейилади.
Кўрсатгич туридаги ўзгарувчига ажратиладиган хотира ўлчами у кўрсатаётган объект ўлчамига боғлиқми?
Кўрсатгич туридаги ўзгарувчининг nil қиймати нимани англатади?
Кўрсатгич орқали аниқланган объектлар учун ажратилган хотирани Турбо паскал муҳитидан қандай бошқариш мумкин?
Қандай ўзгартириш орқали “занжир” объектдан “бинар дарахтини” ҳосил қилиш мумкин?
§ 3.20. Турбо-Паскалда модуллар.
ТПдаги модуллар тадбиқий программалар кутубхонасини яратиш ва модулли программалаштириш учун кучли воситадир. Модуллар компиляция қилингандан кейин ишловчи программа (файллар) ҳосил бўлмайди балки уларни бошқа программалар таркибига қўшиш мумкин. Биламизки ТП ёрдамида компилятори программа коди 64 Кбайтдан ошмайдиган программаларни яратиши мумкин. Модулларнинг муҳим хусусиятлари шундан иборатки, ТП компилятори модулларнинг программа кодларини ҳар бир модул учун ажратилган сегмент 64 Кбайтдан катта бўлмаса ҳам алоҳида сегментларга жойлаштиради. Бу модулларни ўзига бириктирган (ишлатувчи) программа ўлчами 64 Кбайтдан катта бўлиб, фақат оператив хотира ўлчами билан чегараланиши мумкин. Бу ҳол ўз навбатида жуда ҳам катта программаларни яратиш имкониятини беради.
Модуллар тузилиши. Модуллар қуйидаги тузилишга эга:
UNIT < ном >;
INTERFACE < интерфейс бўлими >
IMPLEMENTATION < бажарилувчи қисм >
[BEGIN < инициализация килувчи қисм >]
END.
Бу ерда UNIT–калит сўз ( инглизча модул ) бўлиб, модулнинг бошланиш қисмини билдиради;
< ном > - модул номи (идентификатор). Бу ном модул файлининг дискдаги номи билан устма-уст тушиши керак.
INTERFACE - калит сўзи, модул интерфейс қисмининг бошланишини билдиради.
IMPLEMENTATION–калит сўз ( бажариш ) ; бажарилувчи қисм боши.
BEGIN - инициализация қисмининг бошланиши (бу бўлим бўлиши шарт эмас).
END - модул охири белгиси.
Демак, модул - модул бошланиши ва ихтиерий биттаси бўш бўлиши мумкин бўлган таркибий қисмлардан иборат экан.
Юқорида айтганимиздек модул номи, шу модул матнини ўз ичига олган диск файл номи билан устма-уст тушиши керак. Мисол учун UNIT GLOBAL, бунга мос диск файли GLOBAL. PAS.
Модул номи шу модулни бошқа модуллар ва асосий программа билан боғлаш учун хизмат қилади. Бу боғланиш махсус ифода билан ўрнатилади:
USES <модуллар рўйхати> ;
бу ерда USES-калит сўз(фойдаланиш), <модуллар рўйхати> - боғланувчи модуллар руйхати.
Мисол учун,
USES CRT, GRAPH, GLOBAL;
Бу ерда модулларнинг кетма-кетлигини аҳамияти бор, ҳар хил модулларда бир турдаги ва бир хил номдаги объектлар (ўзгарувчилар, процедура ва функциялар) аниқланган бўлса охирги модулдаги объектлар амал қилади.
Do'stlaringiz bilan baham: |