- •Программаны өңдеу принциптері: жиілік, модульдік, функционалдық іріктеуін көрсетіңіз.
- •Программалау тілдерінің негізгі түсініктері; синтаксис, семантика, программалау тілдерін сипаттаудың формальды тәсілдеріне сипаттама беріңіз.
- •3. Есептерді эем-де шешудің негізгі кезеңдері; программаның сапа критерийі; программаның өмірлік циклы; есептің қойылымы және программа спецификациясы; жоғарғы деңгейлі тілдегі программаға анықтаңыз.
- •Өрнекті жазу тәсілдері, модельдеу механизмдері және деректер құрылымын басқару: массивтер, құрылымдарын ашып жазыңыз.
- •Программаны құрудың технологиялық тәсілі (подход). «Кодтау және жөндеу» тәсілдеріне мысал келтіріңіз.
- •Программаны құрудың каскадты тәсіліне мысал (подход).
- •Құрылымдық программалау. Объектіге-бағытталған программалаудың негізгі принциптерін сипаттаңыз.
- •Динамикалық программалауға анықтама.
3. Есептерді эем-де шешудің негізгі кезеңдері; программаның сапа критерийі; программаның өмірлік циклы; есептің қойылымы және программа спецификациясы; жоғарғы деңгейлі тілдегі программаға анықтаңыз.
Компьютерде есепті шешу процесі - бұл адам және ЭЕМ арасындағы біріктірілген сала. Бұл процесті бірнеше тізбектелген этаптар түрінде көрсетуге болады. Адамға тиісті этаптар, шығармашылық саламен байланыстысы - қойылуы, алгоритмизациясы, есепті программа және нәтижелерді талдау, ал компьютерге тиістісі - өңделген алгоритммен сәйкес келетін ақпаратты өңдеу этаптары. Бұл этаптарды келесі мысалдарда қарастырамыз: екі бүтін санның сомасын есептеу және видеомонитордың экранына нәтижесін шығару. Бірінші этап – есептердің қойылымы. Бұл этапта есепті қолданатын жұмыс саласын жақсы білетін адам қатысады, ол есептің мақсатын нақты анықтауы керек, есептің мазмұнына сөздік түсінік беруі және оның шешімімен жалпы жақындық ұсынуы керек. Мысалы, екі бүтін санның сомасын есептеу үшін сандар қалай қосылатын білетін адам, есепті келесі әдіспен түсіндіре алады: екі бүтін санды енгізу, оларды бір - біріне қосу және есептің нәтижесі ретінде сомасын шығару. Екінші этап – математикалық немесе ақпараттық моделдеу. Бұл этаптың мақсаты – есеп компьютерде шешілуі үшін, есептің математикалық моделін құру. Көптеген есептердің математикалық моделінде тек қана формулалар мен логикалық шарттар келтіріледі. Бұл этап бірінші этаппен тығыз байланыста және оны бөлек қарастырмаса да болады, бірақ құрылған модель үшін бірнеше шешу әдістері танымал болуы мүмкін және олардың ішінен ең ыңғайлысын таңда керек болады. Жоғарыда түсіндірілген есеп үшін екінші этап келесідей болады: компьютерге енгізілген сандарды А және В атауымен жадыда сақтаймыз, содан соң бұл сандардың сомасының мағынасын А + В формуласы бойынша есептейміз және нәтижесін жадыда Summa атауымен сақтаймыз. Үшінші этап – есептің алгоритмі. Математикалық түсіндіру негізінде шешу алгоритмін құрастыру керек. Алгоритм дегеніміз – қойылған есептің шешуге бағытталған әрекеттер тобын іске асыру үшін атқарушыға түсінікті әрі дәл нұсқаулар жиынтығы. Алгоритмдерді орындайтындар адамдар, роботтар, компьютерлер болуы мүмкін. Төртінші этап – программалау. Программа – бұл орындаушы(компьютер) орындайтын әрекеттердің жоспары. Үшінші этапта құрылған алгоритм бойынша программа алгоритмдік тілде жазылады. Бесінші этап – жазылған программаны компьютерге программалау жүйесінде енгізіледі. Алтыншы этап – тестлеу және программаны жөндеу. Бұл қадамда ЭЕМ көмегімен алгоритм орындалады, қателер ізделінеді және олар жойылады. Программаны жөндеу – бұл күрделі және стандартты емес процесс. Күрделі программалар бөлек фрагменттермен тексеріледі. Жетінші этап - жөнделген программаның орындалуы және нәтижені талдау. Бұл қадамда программа жұмысқа қосылып, алғашқы керекті мәндер беріліп. программа нәтижесі алынады. Шыққан нәтижелер талданып, нәтижелерге сай шешімдер, ұсыныстар, шығарулар дағдыланады. Талдау шешімі бойынша есептің құрылған жолдары қайтадан қарастырылып, есептің бірінші қадамына қайтып оралып, есеп жаңадан шешілуі мүмкін
Программаның сапа критерийі
Дұрыстылық – Программа дұрыс жұмыс жасамаса, оны жазудың қажеті жоқ.
Сенімділік – Программа қатып қалмауы керек немесе кез-келген шығыс мәліметтеріне ілініп қалмау керек.
Тиімділік – Программа мүмкіндігінше минималды ресурс санын жады (қазіргі таңда бұл маңызды болып табылады) секілді және уақытпен (үлкен массивтерді өңдеуде және тапсырманы шешуде, яғни кіріс мәліметтерінің көлеміне экспоненциалды өңделуіне тәуелді және маңызды болып келеді) пайдалауны керек.
Эргономикалық –Қолданушыға ыңғайлы. Бағдарламаңыздың бірінші қолданушысы өзіңіз болып табыласыз.
Оқылымды –Программист үшін бұл ыңғайлы. Алайда уақыт өте келе бағдарламалар ұмытылады және сіздің жазған бағдарламаңызды кітап секілді қайт оқи алмайды, сол себебті қайтадан дұрыс шешім қабылдауға тура келеді. Сондықтан қосымша қиындықтар нашар құрылғанды және нашар оқылатын текстті құрудың қажеті жоқ. Бұл қиындықтарды шешетін бағдарлама текстінің жазылу принциптер қатары:
Ұзақ жолдар жазудың қажеті жоқ – олар экранның ұзындығынан асып кетеді, және де тым қысқа жолдар жасауға болмайды, олар барлық бағдарламаның ұзындағын ұзартып қоймай, сонымен қатар әр бір жеке блок үшін де оның қалай жазылып жатқанын түсіну қиын.
Енгізілген блокты оң жаққа орналастыра отырып жазу керек.
Мұқият баған керек жердің барлығына қолданылады.
Орын тастаңыз – «а + b» .
Оперативті жақшаларды ұмытпаңыз (begin … end Паскалде, {…} С- да)- жолдың аяғында, ондай болмаса басның қалай басталып, қалай аяқталғанын ьілу қиынға түседі.
Төзімділік –Бағдарлама сіз компьютеріңізде жұмыс істеп қоймай, басқа копьтерлерде де жұмыс жасай алуы керек.
Электрондық-есептеуіш машиналар алғаш қолданыла бастаған кезеңнен бастап қазіргі уақытқа дейін оларға арналған программалар жазу негізгі мәселелердің бірі болып саналады. Программалық жабдықтың өмірлік циклы деп, оны құру туралы идея пайда болған кезден бастап, оны жасаған фирманың программалық жабдықты әрі қарай қолдап жетілдіруі тоқтатылғанға дейінгі уақытты айтады.
Программаның өмірлік циклының құрылымы ISO IEC 12207: 1995 Information Technologe - Software Life Cycle Processes (Информационные технологии - Процессы жизненного цикла программного обеспечения) халықаралық стандартымен анықталған, мұндағы ISO – International Organization for Standardization (Международная организация по стандартизации) және ІЕС - International Electrotechnical Commission (Международная комиссия по электротехнике).
Жоғары деңгейлі тілдер көптеген алгоритмдерді үйреншікті математикалық амалдардың жазылуына жақын ыңғайлы түрде жазып түсіндіруге мүмкіндік береді. Бұл тілдерді пайдалану программалаудағы кездесетін қиындықтарды азайтады. Жоғары деңгейлі тілдерді программа жасауда пайдалану 60-шы жылдары басталды. Содан бері бүгінгі күнде дейін белгілі есептерді шешуге арналған әмбебап, сандай-ақ бағдарланған көптеген әртүрлі тілдер жасалып пайдаланылып келеді. Әрбр программалау тілінің өзінің аты бар.Көптеген программалау тілінің аты олар алғаш жасалғаннан бастап тіркелген.Содан бері программалау тілдерінде қолданылатын ережелер өзгергенімен тілдер аты сол бұрынғы күйінде өзгеріссіз қалуда. Қазіргі кезде жоғары деңгейлі программалау тілдері былай бөлінеді:
процедуралы (көптеген классикалық программалау тілдері, мысалы, FORTAN, PASCAL, BASIC, C);
• логикалық (ЛИСПЫ, ПРОЛОГ т.б.);
• объектік-бағдарланған (С++, Java т.б.).
Спецификация (specify-дәл анықтау- точно определять, spesisication- детальдары- детали, specific- ерекше сипаттамалары- особый отличительный характер) – бұл жасалатын программалық жабдықтардың және оған қойылатын шектеулердің формалды түрдегі дәл сипаттамалары. Сонымен, программалық жабдықтардың спецификациясы, бұл программалық жабдық туралы дәл және толық сипаттама. Спецификация негізгі екі бөлімнен тұрады:
функционалдық бөлім, программалық жабдықтардың орындайтын функцияларын сипаттайды;
эксплуатациялық бөлім, техникалық құрал-жабдықтарға, ақпараттық қауіпсіздікті сақтауға қойылатын талаптарды анықтайды.
Спецификацияның толықтығы, мұнда болашақ жасалатын программалық жабдықтарға қатысты барлық нәрселер ескерілуі керек, яғни программалық жабдықтарды жасаушы үшін (разработчик) ешқандай кедергі, қосымша мәселе болмауы керек.
