Сайфиев ж. Ф. С++ тилига кириш услубий қўлланма


Download 3.45 Mb.
bet3/79
Sana18.10.2023
Hajmi3.45 Mb.
#1707139
1   2   3   4   5   6   7   8   9   ...   79
Bog'liq
cpp buxoro


Дастурлар


Дастур сўзи ҳам командаларнинг алоҳида блокини (берилган кодини) аниқловчи сўз, ҳам яхлит ҳолдаги бажарилувчи дастурий маҳсулотни белгиловчи сўз сифатида ишлатилади.


Бу икки хиллилик ўқувчини чалғитиши мумкин. Шунинг учун унга аниқлик киритамиз. Демак дастурни ё дастурчи томонидан ёзиладиган командалар тўплами, ёки амаллар бажарадиган компьютер маҳсулоти сифатида тушинамиз.


Дастурчилар олдида турган масалалар


Вақт ўтиши билан дастурчилар олдига қуйилган масалалар ўзгариб боряпти. Бундан йигирма йил олдин дастурлар катта ҳажмдаги маълумотларни қайта ишлаш учун тузилар эди. Бунда дастурни ёзувчи ҳам, унинг фойдаланувчиси ҳам компьютер соҳасидаги билимлар бўйича профессионал бўлиши талаб этиларди. Ҳозирда эса кўпгина ўзгаришлар рўй берди. Компьютер билан кўпроқ унинг аппарат ва дастурий таъминоти ҳақида тушунчаларга эга бўлмаган кишилар ишлашяпти. Компьютер одамлар томонидан уни чуқур ўрганиш воситаси эмас, кўпроқ ўзларининг олдиларига қўйилган, ўзларининг ишларига тегишли бўлган муаммоларини ечиш инструменти бўлиб қолди.


Фойдаланувчиларнинг ушбу янги авлодини дастурлар билан ишлашларини осонлаштирилиши билан бу дастурларнинг ўзини мураккаблиги даражаси ошади. Замонавий дастурлар - фойдаланувчи билан дўстона муносабатни юқори даражада ташкил қиладиган кўп сондаги ойналар, меню, мулоқот ойналари ва визуал графикавий муҳитлардан таркиб топган интерфейсга эга бўлиши лозим.
Дастурлашга талабни ўзгариши нафақат тилларнинг ўзгаришига балки уни ёзиш технологиясини ҳам ўзгаришига олиб келди. Дастурлаш эволюцияси тарихида кўпгина босқичлар бўлишига қарамай биз бу курсимизда процедурали дастурлашдан объектларга мўлжалланган дастурлашга ўтишни қараймиз.


Процедуравий, структуравий ва объектларга мўлжалланган дастурлаш


Шу вақтгача дастурлар берилган маълумотлар устида бирор бир амал бажарувчи процедуралар кетма-кетлигидан иборат эди. Процедура ёки функция ҳам ўзида аниқланган кетма-кет бажарилувчи командалар тўпламидан иборатдир. Бунда берилган маълумотларга мурожаатлар процедураларга ажратилган ҳолда амалга оширилади.


Структуравий дастурлашнинг асосий ғояси «бўлакла ва ҳукмронлик қил» принципига бутунлай мос келади. Компьютер дастурини масалалар тўпламидан иборат деб қараймиз. Оддий тавсифлаш учун мураккаб бўлган ихтиёрий масалани бир нечта нисбатан кичикроқ бўлган таркибий масалаларга ажратамиз ва бўлинишни токи масалалар тушуниш учун етарли даражада оддий бўлгунча давом эттирамиз.
Мисол сифатида компания хизматчиларининг ўртача иш ҳақини ҳисоблашни оламиз. Бу масала содда эмас. Уни қатор қисм масалаларга бўламиз:

  1. Ҳар бир хизматчининг ойлик маоши қанчалигини аниқлаймиз.

  2. Компаниянинг ходимлари сонини аниқлаймиз.

  3. Барча иш ҳақларини йиғамиз.

  4. Ҳосил бўлган йиғиндини компания ходимлари сонига бўламиз.

Ходимларнинг ойлик маошлари йиғиндисини ҳисоблаш жараёнини ҳам бир неча босқичларга ажратиш мумкин.

  1. Ҳар бир ходим ҳақидаги ёзувни ўқиймиз.

  2. Иш хақи тўғрисидаги маълумотни оламиз.

  3. Иш ҳақи қийматини йиғиндига қўшамиз.

  4. Кейинги ходим ҳақидаги ёзувни ўқиймиз.

Ўз навбатида, ҳар бир ходим ҳақидаги ёзувни ўқиш жараёнини ҳам нисбатан кичикроқ қисм операцияларга ажратиш мумкин:

  1. Хизматчи файлини очамиз.

  2. Керакли ёзувга ўтамиз.

  3. Маълумотларни дискдан ўқиймиз.

Структуравий дастурлаш мураккаб масалаларни ечишда етарлича мувофаққиятли услуб бўлиб қолди. Лекин, 1980 – йиллар охирларида Структуравий дастурлашнинг ҳам айрим камчиликлари кўзга ташланди.
Биринчидан, берилган маълумотлар (масалан, ходимлар ҳақидаги ёзув) ва улар устидаги амаллар (излаш, таҳрирлаш) бажарилишини бир бутун тарзда ташкил этилишидек табиий жараён реализация қилинмаган эди. Аксинча, процедуравий дастурлаш берилганлар структурасини бу маълумотлар устида амаллар бажарадиган функцияларга ажратган эди.
Иккинчидан, дастурчилар доимий тарзда эски муаммоларнинг янги ечимларини ихтиро қилар эдилар. Бу ситуация кўпинча велосипедни қайтам ихтиро қилиш ҳам деб айтилади. Кўплаб дастурларда такрорланувчи блокларни кўп марталаб қўллаш имкониятига бўлган ҳоҳиш табиийдир. Буни радио ишлаб чиқарувчи томонидан приёмникни йиғишга ўхшатиш мумкин. Конструктор ҳар сафар диод ва транзисторни ихтиро қилмайди. У оддийгина – олдин тайёрланган радио деталларидан фойдаланади холос. Дастурий таъминотни ишлаб чиқувчилар учун эса бундай имконият кўп йиллар мобайнида йўқ эди.
Амалиётга дўстона фойдаланувчи интерфейслари, рамкали ойна, меню ва экранларни тадбиқ этилиши дастурлашда янги услубни келтириб чиқарди. Дастурларни кетма-кет бошидан охиригача эмас, балки унинг алоҳида блоклари бажарилиши талаб қилинадиган бўлди. Бирор бир аниқланган ҳодиса юз берганда дастур унга мос шаклда таъсир кўрсатиши лозим. Масалан, бир кнопка босилганда фақатгина унга бириктирилган амаллар бажарилади. Бундай услубда дастурлар анча интерактив бўлиши лозим. Буни уларни ишлаб чиқишда ҳисобга олиш лозим.
Объектга мўлжалланган дастурлаш бу талабларга тўла жавоб беради. Бунда дастурий компонентларни кўп марталаб қўллаш ва берилганларни манипуляция қилувчи методлар билан бирлаштириш имконияти мавжуд.
Объектга мўлжалланган дастурлашнинг асосий мақсади берилганлар ва улар устида амал бажарувчи процедураларни ягона объект деб қарашдан иборатдир.



Download 3.45 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling