ээСабақтың тақырыбы: Құрылымдық бағдарламалау
Көлемі жағынан орташа бағдарламаларды құруда құрылымдық бағдарламалау қолданылады. Оныңнегізгіидеясы, оны шешу алгоритмы ағымдағымәтінгеанықкөрінуіүшіншешілетінтапсырманыңқұрылымынбағдарламақұрылымыкөрсетуітиіс. Олүшінжайүшоператордыңкөмегіменқұрылатынбағдарламақұралдарығанаемес, соныменқатаралгоритмніңқұрылымыннақтыбейнелейтінқұралдарқажет. Осы мақсатпенбағдарламалаудаішкібағдарламаұғымыеңгізілген. Ішкібағдарламақажеттіәрекеттіорындаушыжәнеағымдағыкодтыңбасқабөліктерінетәуелдіемесоператорларжиынтығы. Бағдарламабірнешекішкенеішкібағдарламаларғабөлінеді, олардыңәрқайсысыағымдағытапсырмаменқарастырылғанәрекеттердіңбірінорындайды. Құрылымдықбағдарламалауидеясы 70 жылдары IBM компаниясындапайдаболды, оны әзірлеудеатақтығалымдар Э. Дейкстра, Х. Милс, Э. Кнут, С. Хоорқатысты. Құрылымдықбағдарламалаубағдарламалықөнімніңмодульдыққұрылымынажәнеәртүрлібағдарламалықмодульдердіңмәліметтерінөңдеуалгоритмдерініңтиптікбасқаруқұрылымдарынанегізделген. Құрылымдыбасқарутиптері:
реттілік;
альтернатива (таңдаушарты);
цикл.
Құрылымдықбағдарламалауғажататынбағдарламаәзірлеудіңекіәдістемесікеңтаралған:
«жоғарыдантөменге» бағдарламалау;
«төменненжоғарыға» бағдарламалау.
«Жоғарыдантөменге» бағдарламалаубағдарламаныәзірлеудіңбұләдістемесіндеәзірлеумәселенішешумақсатынанықтауданбасталып, оданкейіннақтыбағдарламаменаяқталады. Еңалдыменеңауқымдытапсырмалардышешетінбірнешеішкібағдарламаларерекшеленеді, оданкейін осы модульдердіңәрқайсысыөзкезегіндебасқабірнешебасқаішкібағдарламаларғабөлініпбарлықтапсырмажүзегеасқаншадейінжалғасабереді. Бұлжағдайдабағдарламажоғарыдантөменгеқарайқұрастырылады, бастыбағдарламаданеңтөменгіішкібағдарламаларғадейін, сондайақәрбірдеңгейде тек қарапайыминструкциялар, циклдаржәнешарттытармақталуларқолданылады. «Төменненжоғарыға» бағдарламалау, бұлжалпысызбаныңжұмысыаяқталмайжатып, ішкібағдарламаларды (процедуралар, функциялар) әзірлеуденбастайтынбағдарламаәзірлеудіңәдістемесі. Бұләдістемеалдыңғыәдістемегеқарағандатиімсізболыпсаналады, өйткеніжиіқолайсызнәтижелерге, қайтажөндеулергежәнеәзірлеудіңуақытынсозуғаәкеліпсоғады. Ішкібағдаламалардыңеңмаңыздымінездемесіолардықайтақолданумүмкіндігі. Ішкібағдаламалардыңекітүрі бар процедураларжәнефункциялар. Олардыңайырмашылығы, процедура операторлартобынжайорындайды, ал функция соныменбіргеқандай да бірмәндіесептейдіжәне оны бастыбағдарламағақайтаданжібереді (мәндіқайтарады). Олмәнніңарнайытипіболады. Ішкібағдарламаныңжұмысымағыналы болу үшін, оғансыртқыбағдарламаларданмәліметтералукерек. Мәліметтерішкібағдарламадапараметрлернемесеаргументтертүріндежіберіледі, оларәдеттеайнымалыларсияқтыоныңбастапқыбөлігіндесипатталады. Ішкібағдарламаларқажеттіпараметрлерменолардыңжайатауынжазуарқылышақырылады. Ішкібағдарламаларолардышақырукезіндеғанабелсендіболады. Ішкібағдарламаныңішіндегіоператорлар, егероларнақтышақырылсағанаорындалады. Кейбірбағдарламалаутілдеріндеішкібағдарламалардыөзініңішіненшақыртуғаболады. Мұндайтәсіл рекурсия депаталады. Олбағдарламаныңбірорындатұрыпқалуынаәкелуімүмкін. Құрылымдықбағдарламалаудыңартықшылықтары:
Бағдарламалардыңсенімділігіартады (жақсықұрылымдаужәнежобалауарқылыбағдарламатестілеугежеңілболадыжәнеіскеқосудақиындықтартуғызбайды);
Бағдарламаныңтиімділігіартады (бағдарламанықұрылымдауқателерді тез табуғажәнетүзетугемүмкіндікбереді, ал жекеішкібағдарламалардыбасқаларынақарамастанөзгертугеболады);
Бағдарламаәзірлеудіңуақытыжәнебағасыазаяды;
Бағдарламаныоқужақсарады.
Сонымен, құрылымдықбағдарламалаубағдарламалықкешендердіәзірлеудекелесіпринциптергенегізделеді:
Бағдарламалаужоғарыдантөменгежүзегеасуытиіс;
Барлықжобаішкібағдарламаларғабөлінуітиіс;
Ішкібағдарламаүшнегізгіқұрылымнантұруытиіс, олретпенорындау, тармақталу (if, case) жәнеқайталау (for, while, repeat);
Бағдарламаныңкезкелгеннүктесінекөшу операторы қолданылмайды (goto);
Құжаттамабағдарламалауменбіргебағдарламағакоментарийлерменбіргебіруақыттақұрылуытиіс.
Құрылымдықбағдарламалауалгоритмдікмінездемесі бар математикалықесептердішығарудатиімдіқолданылады. Программалаупроцесінжақсартатынжәнекеңқолданылатынәдістердіңбірі – құрылымдықпрограммалау. Құрылымдықпрограммалаудың 3 бөлігі (құраушысы) бар:
Достарыңызбен бөлісу: |