Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Таснифли услубиётнинг асосий тамойиллари


Download 1.74 Mb.
bet94/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   88   89   90   91   92   93   94   95   96
Bog'liq
Turbo Pascal назария

Таснифли услубиётнинг асосий тамойиллари
1. Мавћумлик тамойили.
Мавћумлик дастурчига талаб ќилинаётган муаммони шу даќиќада кўп томонларини ћисобга олмасдан туриб фикрлашга имкон беради. Бу тамойилдан фойдаланиб туриб дастурчи дастурни поѓоналар бўйича ќараб чиќа олади. Юќори поѓона катта мавћумликни кўрсатиб, лойићага ќарашни соддалаштирса, шу ваќтнинг ўзида ќуйи поѓона дастурни амалга оширишнинг кичик бўлакларини кўрсатади.
2. Расмийлик тамойили.
«Расмийлик» сўзи ќатъий услубий ёндошишни назарда тутади.
Расмийликнинг ќандайдир жараёнга (техник ёки нотехник) киритиш, ижодни бўѓади, деган ќаршиликларга олиб келади. Лекин таснифли ёндошиш расмийликдан ижодий жараёнга маълум интизом, ќатъийликни бериш учун фойдаланади. Бу эса ечим ќабул ќилишни тезлаштиради ва кўп хатолардан четлаб ўтишга имкон беради.
3. «Бўл ва ћукмронлик ќил» тамойили.
Бу тамойил дастурни бошќариш учун оддий ва мустаќил яхшилаш, ћамда тестдан ўтказиш имконига эга бўлган алоћида бўлакларга (модулларга) бўлишни билдиради. У дастурчига, бутун тизимни эгалловчи улкан миќдордаги бўлаклар ћаќида ўйламасдан туриб, тизимнинг алоћида ќисмлари билан иш олиб бориш имконини беради.
4. Поѓонали бошќариш тамойили.
Бу тамойил «Бўл ва ћукмронлик ќил»тамойили билан чамбарчас боѓлиќ.
Бу тамойил дастур мажмуасидаги модуллар ўртасидаги ўзаро алоќа боѓлиќликларини, юќорида кўриб ўтилган структурали дастурлаш маќсадларига эришишни енгиллаштирувчи, поѓонали таснифлаш талабини илгари суради.

14.2. Модулли дастурлаш


Модулли дастурлашнинг асосий тамойили «Бўл ва ћукмронлик ќил». Модулли дастурлаш дастурни модул деб аталувчи, таркиби ва ишлатилиши маълум ќоидаларга бўйсунувчи, ўзаро боѓлиќ бўлмаган, каттамас бўлакларга бўлиб ћосил ќилишни билдиради.
«Модул» сўзи ќайси ваќтда дастурлаш тилларининг синтаксис конструкцияси (Турбо Паскалда unit) сифатида ва ќайси ваќтда катта дастурни алоћида бўлакларга бўлиш бирлиги (процедура ёки функциялар кўринишида амалга ошириш назарда тутилаяпти) сифатида ишлатилаётганлигини фарќлай билиш керак.
Модулли дастурлашдан фойдаланиш дастурни тестдан ўтказиш ва хатоларни топишни енгиллаштиради.

14.3. Таснифли ва дастурлаш стандартлари



  1. Дастур модуллар деб аталувчи, мустаќил ќисмларга бўлиниши керак.

  2. Модул – мустаќил бўлак, унинг коди физик ва мантиќий нуќтаи назардан бошќа модуллар кодларидан фарќ ќилади.

  3. Модул фаќат битта мантиќий ишни бажаради.

  4. Модул ўлчами 100 та оператордан ошмаслиги керак.

  5. Модул битта кирувчи ва битта чиќувчи нуќтага эга.

  6. Модуллар ўртасидаги ўзаро боѓлиќлик поѓонали тасниф орќали амалга оширилади.

  7. Ћар бир модул, модулнинг ишлатилиши, ундаги ўзгарувчиларнинг унга узатиладиган ва ундан чиќадиган модулларга ва уни чаќирувчи модулларга тушунтириш берувчи изоћлар билан бошланиши керак.

  8. Кераксиз нишонлардан иложи борича фойдаланмаслик ва GOTO операторидан фаќат модулнинг бошланѓич ёки охирги нуќтасига ўтишда фойдаланиш, ёки умуман фойдаланмаслик керак.

  9. Ћамма ўзгарувчилар ва модулларнинг номлари (идентификаторлари) маъноли бўлиши керак.

  10. Идентификаторларнинг ќариндош гурућлари бир хил префикс билан бошланиши керак.

  11. Фаќат стандарт бошќарувчи конструкциялардан (танлов, цикл, чиќиш, блок) фойдаланиш керак.

  12. Битта сатрда биттадан ортиќ оператор ёзмаслик керак. Агар битта сатрни ёзиш учун биттадан ортиќ сатр керак бўлса, кейинги сатрлар жой ташлаш билан ёзилади.

  13. if операторларининг 3дан ортиќ ичма-ич ишлатилишига йўл ќўймаслик керак.

  14. Ѓайри-табиий семантиќ тил конструкцияларидан фойдаланишдан ќочиш керак.

14.4. Объектга йўналтирилган дастурлаш услубиёти


У, ёки бу дастурлаш тили асосида тегишли дастурлар хусусиятига сезиларли таъсир этувчи ќандайдир раћбар ѓоя ётади.
Дастурларни процедурали таснифлаш ѓояси тарихан биринчи шундай ѓоя бўлди, унга кўра дастурчи ўз дастурига ќандай процедураларни киритишни ћал ќилиши ва шундан кейин бу процедураларни ћал ќилиш учун энг яхши алгоритмларни танлаб олиши керак эди. Бу ѓоянинг пайдо бўлиши ћисоблаш жараёнларининг алгоритмик томонларини етарли даражада ўрганмаслик натижаси бўлди. Ѓоя камчиликлари – ќирќинчи-эллигинчи йилларда ишлаб чиќилган дастлабки дастур маћсулотларига хос. Процедурали-йўналтирилган тилга фортран мисол бўла олади (бу тил биринчи ва ћали ћам энг кенг тарќалган дастурлаш тилларидан бири). Дастурларни процедурали таснифлаш ѓоясининг кейинги ишлатилишлари, дастур «биноси» ни ќуришда гишт вазифасини ўтовчи, нисбатан катта бўлмаган процедуралар тўпламига эга бўлган кенг дастурлаш кутубхонасини яратишга олиб келди.
Ћисоблаш математикаси соћасидаги ютуќлар натижасида, урѓу дастурлашда процедуралардан маълумотларни ташкил ќилишга берила бошланди. Мураккаб дастурларни самарали ишлаб чиќиш маълумотларни тўѓри ишлатишнинг назорат усулларига мућтож эканлиги маълум бўлди. Назорат компиляция босќичида ћам, дастурни ўтказиш босќичида ћам ўтказилиши керак, акс ћолда, амалиётда исбот ќилингани каби, йирик дастур лойићаларини яратишда ќийинчиликлар кескин ошади. Бу муаммонинг ойдинлашуви маълумот турларининг озми-кўпми ривожланган таснифига эга бўлган Алгол 60, кейинчалик Паскал, Модула, Си ва бошќа кўплаб дастурлаш тилларнинг яратилишига олиб келди. Маълумотларни ва процедураларни модул ичига «яшириш»га интилиш билан структурали дастурлар ишлаб чиќишга модулли ёндошиш, бу йўналиш ривожланишининг мантиќий натижаси бўлди.
Симула-67 тилидан бошлаб, дастурлашда объект-йўналтирилган дастурлаш деб аталувчи янги ёндашиш сезила бошланди. Ундаги раћбар ѓоя, маълумотларни, уларни ишлаб чиќувчи процедуралар билан бир бутунга – объектга – келтиришга интилишдир. Объектларнинг эътиборли томони маълумотларни ва уларни ишлаб чиќувчи алгоритмларни бирлаштириш (инкапсуляция)дир, бунинг натижасида маълумотлар ва процедуралар кўп томондан ўзларининг мустаќил маъноларини йўќотадилар. Аслида объект-йўналтирилган дастурлашга, процедура ва маълумотларни тасодифий ва механик бирлаштириш ўрнига, уларнинг маъноли боѓланишига эътибор бераётган янги поѓонадаги модулли дастурлаш деб ќараш мумкин.
Объект-йўналтирилган дастурлашнинг ќандай ќудратли воситаларга эга эканлигини Турбо Паскал мажмуасига кирувчи Turbo Vision кутубхонаси кўргазмали намойиш этади.
Объект-йўналтирилган дастурлашнинг тўла маънодаги афзалликлари етарли даражада мураккаб бўлган дастурлар ишлаб чиќишда намоён бўлишини айтиб ўтиш керак. Бундан ташќари инкапсуляция объектларга ўзига хос «мустаќиллик», дастур бошќа ќисмларига максимал даражада боѓлиќ бўлмаслик хусусиятини беради. Тўѓри ташкил этилган объект, ундан талаб этилган ишларни муваффаќиятли амалга ошириш учун, барча зарурий маълумотлар ва уларни ќайта ишлаш процедураларига эга бўлади. Объектга йўналтирилган дастурлашни тайёр формулалар бўйича ћисоб ишлари билан боѓлиќ бўлган мураккаб бўлмаган алгоритмларни дастурлашга ќўллашга ўрнаш, кўп ћолларда, сунъий равишда кераксиз тил конструкциялари билан дастурни тўлдиришга олиб келади. Бундай дастурлар одатда алгоритмни бир ќатор бир-бири билан нисбатан боѓлиќ бўлмаган ќисмларга бўлиб ташлашга мућтож эмас, уларни Паскалнинг анъанавий усуллар билан ишлаб чиќиш осонроќ. Мураккаб мулоќот дастурларини ишлаб чиќишда дастурчи дастурни таснифлаши керак. Чунки фаќат шу ћолдагина у муваффаќиятга умид ќилиши мумкин: таснифланмаган дастурларнинг «мезон салмоги» - 1000-1200 сатрли бошланѓич матн ћажмидадир - катта ћажмли жараёнда, одатда, катта ќийинчиликларга дуч келинади. Таснифли дастурлар, дастурлашнинг хусусий кутубхонасини ишлаб чиќишга олиб келади. Мана шу ваќтда объектга йўналтирилган дастурнинг янги воситалари ёрдамга келади.
Объектга йўналтирилган дастур объектларга яхши хосса берувчи учта мућим тамойилга асосланади. Бу тамойилларга инкапсуляция, мерос олиш ва полиморфизм киради.

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   88   89   90   91   92   93   94   95   96




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