Басылым №1 18. 09. 2013ж беттің і



бет1/6
Дата14.06.2016
өлшемі1.39 Mb.
#135140
  1   2   3   4   5   6

ПОӘК 042-18-12.1.97/03-2013

Басылым № 1

18.09.2013ж.

беттің і




ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

СЕМЕЙ ҚАЛАСЫНЫҢ ШӘКӘРІМ АТЫНДАҒЫ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ




3 деңгейлі СМК құжаты

ПОӘК

ПОӘК

042-18-12.1.97/03-2013




«Программалау технологиясы»

пәнінің оқу материалдары



Баспа №1 18.09.2013ж


«Программалау технологиясы»
Пәнінің оқу-әдістемелік кешені
5В070300- «Ақпараттық жүйелер», 5В070400 – «Есептеу техникасы және программалық қамсыздандыру», 5В070200 «Автоматтандыру және басқару» мамандығының студенттеріне арналған
ОҚУ - ӘДІСТЕМЕЛІК МАТЕРИАЛДАР

Семей - 2013

Мазмұны



  1. Глоссарий

  2. Дәрістер

  1. Тәжірибелік сабақтар

  1. Зертханалық сабақтар

  1. Студенттің өздік жұмысы




  1. глоссарий


Программалау тілі деп деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз.

Процедулалы – бағдарланған тілдер есепті шешу алгоритмін сипаттауға арналған, сондықтан да оларды кейде алгоритмдік тілдер деп те атайды.

Проблемалы – бағдарланған тілдер есептерді сипаттау үшін қызмет атқарады.

Тестілеу (test ағылшын сөзі сынау деген мағына береді) дегеніміз программаның немесе оның жеке бөліктерінің дұрыс жұмыс істейтіндігін сынау, тексеру.

Тест дегеніміз-алғашқы деректердің кейбір жиыны және осы деректерге сәйкес келетін программа жұмысы кезінде алынуға тиісіті барлық нәтижелерінің дәл сипаттамасы.

Алгоритм – арнайы іс-әрекеттің белгілі бір кезекпен орналасқан тәртібі. Ол алгоритмді атқарушы ЭЕМ-ге жұмыс тәртібін түсіндіретін ережелер мен нұсқаулар тізбегінен тұрады. Сонымен, алға қойылған мақсатқа жету үшін немесе берілген есепті шешу барысында орындаушыға біртіндеп қандай әрекеттер жасау керектігін түсінікті әрі дәл көрсететін нұсқау алгоритм деп аталады

Цикл қайталап орындалатын есептеу процесінің белгілі бір бөліктерін атайды

Қызметші сөз деп – Паскаль тілінде белгілі бір міндет атқаратын сөзді айтамыз. Қызметші сөздер program, var, begin, end болады.

Атау – қандай да бір объектіні белгілеу үшін қолданады. Паскаль тілінде атаудың екі түрі бар, олар: стандартты және ЭЕМ-ді қолданушы енгізетін атау.

Стандартты атау – ол стандартты объектілерді белгілеу үшін тілдің өзіне бекітілген атау болады. Стандартты атауларға input, output атаулары да жатады.

Тілдің символы дегеніміз – кез келген мәтінді құруда қолданылатын элементар таңбалар. Осындай символдар жиынтығы тілдің алфавиті деп аталады.

Идентификатор – міндетті түрде әріптен басталатын сандар мен әріптердің тізбегі.

Массив дегеніміз – бір атаумен белгіленіп бір өлшеммен өлшенетін айнымалылардың реттелген тізбегі. Массив элементтерінің барлығы да бір типте болуы тиіс.

Тұрақты деп программаның орындалу барысында мәндері өзгеріссіз қалатын шамаларды айтады.

Өрнек деп арифметикалық амалдардың таңбаларымен біріктірілген айнымалылардың, функциялардың, тұрақтылардың жиынын айтады.

Бүтін типтегі мәндер. Мәндердің барлық типтерін жай және күрделі деп екіге бөлуге болады.

Жай типтер дегеніміз – мәндерінің стандартты және айнымалы типтері. Стандартты мәндер типтеріне жататындар: бүтін integer, нақты real, логикалық boolean, символдық char.

Күрделі тип – бұл жай типтердің әр түрлі комбинацияларынан құралады.

Бүтін типтегі тұрақты дегеніміз – нүктесіз жазылған кез келген ондық сан. Бүтін тұрақты санды нақты түрле береді. Өзінің мәні ретінде бүтін типтегі тұрақтыны қабылдайтын айнымалы да бүтін типке жатады.



  1. Дәрістер


Дәріс №1. Кіріспе


  • Кiрiспе. Пәннің мақсаты және міндеті.

  • ДК Программалық қамсыздандыру (по) туралы түсінік. по түрлері.

  • Программалау тілдері. Программалау тілдерінің деңгейлері. Трансляция. Трансляторлар.

  • Программалау жүйесі.

  • Программа құру кезеңдері.

Кiрiспе. Пәннің мақсаты және міндеті.

«Бағдарламалау технологиясы» пәнінен студенттер Си программалау тілінде программаларды құру тәсілдерін үйренеді.

Қазіргі алгоритмдік тілдер ішінде Си программалық тілі өте көп ерекшеліктерге ие кең тараған тілдердің бірі есептеледі. Бұл тіл жүйелік программалық жасақ мәселелерін (трансляторларды өңдеу, операциялық жүйе , экрандық интерфейс, аспаптық құралдар т.б.) шешуде қолданылатын тиімді универсал алгоритимдік тіл.

Си тілінің ерекшеліктерінің бірі әр түрлі операциялардан жүйелер аралық, компьютерлер аралық программаларды жоғары деңгейде орындай алады.

Си тілінде жазылған программаның архитиктуралары әр түрлі компьютерлердің бірінен бірін ауыстыруға бір операциялық системаның екінші операторлық системаға ауыстыруға жеңіл. Сонымен қатар Си тіліндегі программалардың орындалу жылдамдығы ассемблер тіліндегі программалардан кем емес. Си тілінің компиляторы қазіргі кездегі барлық операциялық жүйеде жұмыс істей береді. Unix, MSDOS, WINDOWS.

ДК Программалық қамсыздандыру (ПҚ) туралы түсінік. ПҚ түрлері.

Программа дегеніміз машина тіліне аударылған сіздің есеп-бұйрығыңыз, өйткені әзірше машина кәдімгі адам тілін түсіне алмайды.

Программа клавишті пульт перфокарта, магнитті дискілер арқылы компьютерге енгізеді. Компьютер программада көрсетілген іс-әрекеттерді орындайды. Программа қатесіз жасалу керек, белгілі ережелер сақталмаса, машина ондай програм маны орындамайды.

Программа- арнайы текст арқылы комспьютерге тапсырманың алгоритмін хабарлайды. Алгоритм –арнайы іс-әрекеттердің белгілі кезекте орналасқан тәртібі, алогритм арқылы машина тапсырманы орындайды.



ПҚ- компьютерге арналған программалар жиыны

Ол 3 топқа бөлінеді:



  1. жүйелік(базалық) ПҚ

  2. қолданбалы ПҚ

  3. аспаптық ПҚ

Жүйелік программалар аппаратттық құралдармен тығыз байланысты болғаны соншалық, оны кейде компьютердің бір бөлігі деп те санайды.

Олар:


  • операциялық жүйелер;

  • сервисті программалар;

  • техникалық қызмет көрсету программалары.

Қолданбалы ПҚ– қолданушының белгілі бір есептерін шешуге арналған программалар.

Олар:


  • тексттік редакторлер мен процессорлер;

  • графикалық редаторлер

  • электронды кестелік процессорлер;

  • деректер базасын басқару жүйесі;

және т.б.

Аспаптық (Программалау жүйесі) – бұл компьютерге арналған программаларды құруға арналған программалар. Оларға жатады:

  • Basic;

  • Pascal:

  • C

  • Fortran

  • Және т.б.


Программалау тілдері
Программаларды жасауда қазіргі заманғы компьютерлерде әр түрлі деңгейдегі программалау тілдері пайдаланылады.

Жалпы жағдайда тіл деп информацияның жазылыуын және оның түрленуін белгілі ережелер бойынша формальдыетіп беруші құралдарды түсінеміз.

Тілдің құрамында информацияның негізгі элементтерін құрудың құралдары және осы элементтерден әр түрлі мазмұнды құрылымдар құруға арналған ережелер жүйесі бар.

Программалау тілі деп деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз.

Програмалаудың әр түрлі тілдерін пайдалану.

Әр түрлі белгілер бойынша жіктеуге болатын бірнеше жүздеген программалау тілдері бар. Ең жалпысы тілдің машинаға жақындық дәрежесі бойынша жіктеу болып табылады. Осы белгісі бойынша программалау тілдері екі үлкен топқа бөлінеді:



Машинаға тәуелді тілдер өз кезегінде былай бөлінеді:

  • машина тілі;

  • машинаға бағдарланған тілдер;

Машинаға бағдарланған тілдер кейде автокодтар деп те аталады. Машинаға бағдарланған тілдердің екі деңгейі бар:

  • символдық кодтау тілдері, басқаша айтқанда мнемокодтар;

  • макротілдер.

Макротілдер машина тілінің командаларына тікелей ұқсастығы жоқ макрокомандаларды пайдалануға рұхсат етеді. Макрокомандаларды пайдалану программаны қысқартады әрі тілді жасау құралдарының жиынын кеңейте отырып программалаушының еңбегінің өнімділігін арттырады.

Машинаға тәуелсіз тілдер программаларды бөлшектеу дәрежесіне қарай екі топқа бөлінеді:

  • процедулалы- бағдарланған тілдер;

  • проблемалы – бағдарланған тілдер.

Процедулалы – бағдарланған тілдер есепті шешу алгоритмін сипаттауға арналған, сондықтан да оларды кейде алгоритмдік тілдер деп те атайды. Алгоритмдік тіл деген ұғым программалау тілі деген ұғыммен сәйкес елмейді. Егер алгоритмдік тілде жазылған алгоритмдік жазу компьютерге ендіруге тікелей жарамды және дайын жұмысшы программаға түрленетін болса, онда мұндай алгоритмдік тіл программалау тілі де бола алады. Кейбір алгоритмдік тілдер тек оларға кейбір құралдарды қосқаннан кейін ғана программалау тілі болады.

Проблемалы – бағдарланған тілдер есептерді сипаттау үшін қызмет атқарады.

Бірақ алгоритмдік тілдер өздігінен барлық проблеманы, тіптен программаны да шеше алмайды. Мұндай тілде жазылған программа компьютерде тікелей орындалмайды, ол орындалу үшін алдын ала сол компьютердің машина тіліне аудару жеткілікті қиын мәселе болып табылады.

Алгоритмдік тілден программаны машина тіліне аудару жұмысын компьютердің әмбебаптығын пайдаланып, оның өзіне жүктеуге болады. Бұл үшін әрбір алгоритмдік тілден машина тіліне формальды аударуға яғни аударудың ережесін алгоритм түрінде тұжырымдауға мүмкіндік беретіндей болуы керек. Егер, осы алгоритмді бір рет машиналық программа түріне келтіріп алсақ, онда одан кейін осы программаның көмегімен компьютердің өзі берілген алгоритмдік тілде жазылған кез келген программаны нақтылы компьютердің машина тіліне аударып бере алады. Мұндай арнайы аудармашы-программа жоғарыда айтқанымыздай транслятор деп аталады.
Программалау жүйесі
Программалау жүйесі компьютердің программалық қамсыздандыруының құрамына жатады және ол программаларды жасау және оларды жөндеу жұмыстарын автоматтандыруды қамтамасыз ететін құралдардың жиыны болып табылады. Программалау жүйесінің құрамы 5-суретте бейнеленген.

Программалау процесі үш кезеңге бөлінеді:



  • есепті шешудің алгоритмін құру;

  • программа құру;

  • жасалған программаны тексеру.

Екінші кезеңдегі, яғни программа қрудағы қиындық адамның тек машина тілінде ғана программа жасауына байланысты болады. Компьютерді пайдаланудың алғашқы жылдарында әрқайсының әр түрлі компьютерлердің пайда болуы бұл қиындықты тереңдетіп жібереді. Сондықтан нәтижесінде бір компьютерге арнап жасаған программаны басқа компьютерге пайдалануға болмайтын болды. Бұл бір алгоритмнің өзін әр түрлі компьютерлерде орындау үшін әрқайсына жеке-жеке программа құруға мәжбүр етіп жұмысты қиындатып жіберді.

Әрбір компьютер үшін жасалған программаның дұрыс және ұтымды жасалғандығын тексеру қажет. Қателік кеткендігі және басқа да кемістіктері бар екендігі анықталса, онда ол программаға түзетулер мен өзгерістер ендіріледі. Программалаудың осы аталған кезеңдерінің арнайы ерекшеліктері және қиыншылықтары бар.

Барлық осы аталған қиыншылықтар программалар жасаудағы атқарылатын жұмыстарды мейлінше ықшамдап қысқарту мәселесін күн тәртібіне қояды. Бұл мәселені шешу программалау процесін автоматттандыруды, яғни компьютердің өзін программалар жасауға немесе программалауға байланысты таза техникалық жұмыстар атқаруға пайдалануды талап етеді.

Сурет 1 Программалау жүйесінің құрамы



Программа құру кезеңдері

Есепті компьютерде шығару- біраз бөлігі компьютерсіз жүзеге асырылатын мынадай негізгі кезеңдерден тұрады:

Есептің қойылуы:


  • есеп туралы ақпараттарды жинау;

  • есептің шартын тұжырымдау;

  • есепті шығарудың ақтық мақсатын анықтау;

  • деректерді сипаттау ( олардың түрін, шамалардың ауқымын, құрлымын т.с.с. )

Есепті, моделдерді талдау және зерттеу:

  • есептің бар ұқсастарын талдау;

  • техникалық және программалық құралдарды талдау;

  • математикалық модельді жасақтау;

  • деректер құрлымын жасақтау.

Алгоритмді жасақтау:

  • алгоритмді жобалау тәсілдерін таңдау;

  • алгоритмді жазу пішінін ( блок-схема, алгоритмдік тіл т.б. ) таңдау;

  • тестерді және тестілеу тәсілдерін таңдау;

  • алгоритмді жобалау.

Программалау:

  • программалау тілін таңдау;

  • деректерді ұйымдастыру тәсілдерін айқындау;

  • алгоритмді таңдалынып алынған программалау тілінде жазу.

Тестілеу және жөндеу:

  • синтаксистік жөндеу;

  • семантикалық және логикалық құрлымын жөндеу;

  • тестілік есептеулер және тестілеу нәтижелерін талдау;

  • программаны жетілдіру.

Есептің шешілу нәтижесін талдау:

Қажет болатын болса 2-5 кезеңдерді қайтадан орындай отырып математикалық модельді айқындай түсу.

Программаны даярлау:


  • нақтылы есепті шығару үшін программаны жетілдіру;

  • есепті шешуге, математикалық модельге, алгоритмге, программаға, тестілер жиынына, программаны пайдалану үшін құжаттар жасау.

Дәріс №1.Өзін-өзі тексеру сұрақтары


  1. Программалық қамсыздандыру неше топқа бөлінеді?

  2. Программа дегеніміз не?

  3. Программа құру кезеңдерін атаңыз.

  4. Қандай программалау тілдерін білесіз?

Дәріс №2. Программаны жасақтаудың негізгі кезеңдері


  1. Программалауды автоматтау әдістері.

  2. Программаны жасақтау процесі

  3. Программаны жөндеу және тестілеу

  4. Тестілеу процесінің кезеңдері

  5. Программалауда кездесетін қателіктер

  6. Транслятор таба алмайтын қателіктер

&&&

$$$002-002-001$3.2.2.1 Программалауды автоматтау әдістері.


Автоматтандыру программа жасаушы мамандардың жұмысын жеңілдетуді, оны жасауда кететін қателіктердің санын азайтуды, ең соңында есептің қойылуынан бастап нәтиже алғанға дейін кететін уақытты қысқартуды көздейді.

Программалауды автоматттандырудың ең көп тараған негізгі тәсілдеріне мыналар жатады:



  • қолмен программалауды жеке жұмыстарын автоматтандыру тәсілдері;

  • бағыныңқы программалар кітапханасын құру;

  • программалаудың әр түрлі тілдерін пайдалану.

Қолмен программалаудың жеке жұмыстарын автоматтандыру тәсілдері. Қолмен программалаудағы жұмыстарды автоматтандыруда жұмыс программаларын түзетуді негізгі назарда ұстау керек.

Қазіргі кезде программаның дұрыстығын тексеру үшін жоғарыда айтқандай тест тәсілі кеңінен қолданылады. Тест тәсілі бойынша жауаптарды алдын ала белгілі есептердің бірнеше нұсқасы компьютерде құрылған программаны пайдаланып шығарылады. Алынған нәтижелер алдын ала белгілі жауаптармен салыстырылады. Ол жауаптар біріне – бірі сәйкес келмесе, онда программада қателіка кеткен болып шығады.

Программаны жөндеу процесі бірнеше әмбебеп жөндеуші программаларды жасау және компьютердің өзін пайдалану арқылы автоматтандырылады. Бұл программалар командалардың қалай орындалып жатқандығы туралы информацияны баспаға бере отырып жөнделіп жатқан программаның кез келген бөлігінің жұмысын қадағалап бақылауға мүмкіндік береді. Программаны автоматты түрде жөндеуде программалаушыны қызықтыратын барлық информация құжатқа жазылады, соның арқасында ол компьютерді пайдаланбай-ақ есептің компьютерде шншілу процесінің дұрыстығын бақылай алады.
Программаны жасақтау процесі
мынадай формуламен өрнектеуге болады:

Программаны жасақтау→даярлау+тексеру және жөндеу

Жаңадан ғана жасалған программада қателіктің болуы-бұл қалыпты және заңды құбылыс. Іс-жүзінде нақты және жеткілікті дәрежеде күрделі програманы қателіксіз құру мүмкін емес.

Программаны компьютердің қабылдауына және оның нәтижесін беруіне қарап оны дұрыс құрылған деген қорытынды жасауға болмайды. Өйткені берілген жағдайда дұрыс болмаса да қандай да бір нәтиже алуға қолымыз жетті. Осының өзінде программада көптеген логикалық қателіктердің болуы мүмкін. Кеткен қателіктерді анықтау үшін программаны компьютерге ендіріп, іске қосқанға дейін былай тексереміз.

Программа мәтінін «қолмен» қарап шығу, тексеру және айналдыру арқылы тексеруге болады.

Программа мәтінін қарап шығу. Программа мәтінін жазуда кеткен қателіктерді және программаның алгоритмнен алшақтығын анықтау үшін қарап шығады. Атап айтқанда итерация санын беуші операторлардың дұрыстығына көз жеткізу үшін барлық циклдердің ұйымдастырылуын қарап шығу өте маңызды. Шартты операторлардағы шарттарды, бағыныңқы программаларға қатынас жасаудағы аргументтерді тексеріп шығу пайдалы.

Программаны тексеру. Программалаушы программаны тексергенде оның мәтіні бойынша программа анықтайтын есептелу процесін ойша қалпына келтіруге тырысады, осыдан кейін оны талап етілетін процеспен салыстырады.

Тексеру кезінде программаның не істейтіндігін ұмыту және ол туралы тексеру барысында білу керек. Тек программаны тексеру аяқталғаннан кейін ғана оның не істейтіндігін еске түсіруге және программаның нақты әрекетін талап етілетін әрекеттермен салыстыруға болады.



Программаны айналдыру. Айналдырудың мәні программаның компьютерде орындалуын программалаушының ойша орындауы болып табылады.

Айналдыруды орындау үшін кейбір алғашқы деректерді беріп және олармен қажетті есептеулерді жүргізу қажет.

Айналдыру- бұл еңбекті көп талап ететін қиын процесс, сондықтан оны тек программаның логикалық күрделі бөліктеріне қолданған жөн.

Алғашқы деректерді программаны айналдыру кезінде программа-ның зерттелетін көптеген тармақтары қамтылатындай етіп таңдап алу керек.


Программаны жөндеу және тестілеу
Программаны жөндеу (debugging- жөндеу ағылшын сөзі сөзбе- сөз аударғанда қоңыздарды аулау деген мағына береді.) дегеніміз программаны компьютерден өткізудің нәтижесі бойынша ондағы қателіктерді іздеу және жою процесі.

Тестілеу (test ағылшын сөзі сынау деген мағына береді) дегеніміз программаның немесе оның жеке бөліктерінің дұрыс жұмыс істейтіндігін сынау, тексеру.

Жөндеу және тестілеу бұлар бірінен бірі айқын ажыратылған және біріне- бірі ұқсамайтын екі кезең:



  • жөндеу кезінде синтаксистік қателіктердің және кодтаудың айқын қателіктерін төңіректеу және жою орындалады.

  • тестілеу процесі кезінде айқын қателіктері жоқ программаның жұмыс істеу қабілеттілігі тексеріледі.

Тестілеу қателіктің бар екендігін тағайындайды, ал жөндеу программаның дұрыс жұмыс істемеу себептерін анықтайды.

Қазіргі заманғы программалауды жөндеу жұмысы жөндеуші деп аталатын арнайы программалық құралды пайдалану жолымен жүзеге асырылады. Бұл құралдар программаның ішкі жұмысын зерттеуге мүмкіндік береді.

Жөндеу программасы әдетте мына төмендегідей мүмкіндіктер береді:


  • әрбір командадан соң, тоқтай отырып, программаны қадамдап орындау;

  • кез-келген айнымалының ағымдағы мәнін қарау немесе кез-келген өрнектің, оның ішінде стандартты функцияларды пайдаланып мәнін табу қажеттілігіне қарай айнымалының жаңа мәнін пайдаланып орындау;

  • программада «тексеру нұктелерін» орнату, яғни аралық нәтижелерді бағалау үшін программа уақытша өз жұмысын тоқтататын нүктелерді тағайындау т.б.

Программаны жөндеуде мыналарды есте сақтау маңызды;

  • жөндеу процесінің басында қарапайым тестілік деректерді пайдалану;

  • пайда болатын қиындықтарды айқын ажыратып және қатаң түрде кезегімен жою;

  • қателіктің есебі компьютерде деп есептемеу керек.

Тест дегеніміз-алғашқы деректердің кейбір жиыны және осы деректерге сәйкес келетін программа жұмысы кезінде алынуға тиісіті барлық нәтижелерінің дәл сипаттамасы.

Программа қаншалықты өте мұқият жөнделсе де оның жұмысқа жарамдылығын тағайындаудың шешуші кезеңі программаның тестер жүйесінде тікелей орындалуын тексеру болып табылады.

Егер программа таңдалынып алынған тестілік деректер жүйесінен өткенде барлық жағдайда дұрыс нәтижелер беретін болса, онда программаны шартты түрде дұрыс деп есептеуге болады.

Тестілеу тәсілін жүзеге асыру үшін тестердің эталондық нәтижелері алдын-ала даярланған немесе белгілі болуы тиіс.

Эталондық нәтижелерді программаның компьютерде орындалу нәтижесін алғаннан кейін емес, керісінше алғанға дейін есептеп шығарып қою керек.

Тестілік деректер қателіктердің пайда болуының барлық мүмкін болатын шарттарын тексеруді қамтамасыз ететін болуы тиіс, атап айтқанда:



  • алгоритмнің әрбір тармағының сыннан өтуі;

  • кезектегі тестіден өткізу алдыңғы өткізудегі тексерілмегендердің тексерілуі;

  • программаның жалпы жұмыс істейтіндігін тексеру үшін бірінші тестің мүмкіндігінше қарапайым болуы;

  • есептеу көлемін қысқарту үшін тестідегі арифметикалық операциялардың шегіне дейін ықшамдалуы;

  • тізбектер элементі санының, итерациялық есептеулер үшін алынған дәлдіктің, тестілік мысалдар цикліндегі интерация санының есептеулер көлемін қысқарту тұрғысынан берілуі;

  • есептеулерді азайтудың тексеру сенімділігін төмендетпеуі;

  • тестілік деректер жиынын кездейсоқ таңдау күткен нәтижелерді қолмен орындау тәсілімен анықтауда қиындықтарға алып келетіндіктен және көптеген жағдайлар тексерілмей қалатындықтан тестілеудің белгілі мақсатқа бағытталған және жүйеленген болуы;

  • тестілік деректерді күрделендіруде түсудің біртіндеп жүргізілуі.


Тестілеу процесінің кезеңдері

Тестілеу процесін үш кезеңге бөлуге болады.

1.Қалыпты жағдайда тексеру. Программалардың жұмыс істеуінің нақты жағдайына тән алғашқы деректер негізінде тестілеу болжанады.

2.Экстремальды жағдайда тексеру. Бұл жерде тестілік деректер дегеніміз алғашқы деректер жиынының шекаралық мәндері. Бұл жиын программа дұрыс жұмыс істеуге тиісті алғашқы деректерден тұрады. Өте кіші немесе өте үлкен сандар және деректердің болмауы мұндай деректердің типтік мысалдары болып табылады.

Барлық программалар қандайда бір шектеулі алғашқы деректер жиынын өңдеуде есептеліп жасақталатындығы белгілі. Сондықтан мына төмендегі сұрақтарға жауап алу маңызды:


    1. Айнымалының теріс және нолдік мәндерін өңдеуге арналмаған программаға қандай да бір кеткен қателіктің себептерінен дәл сол мәндерді өңдеуге тура келсе не болар еді?

    2. Егер массив элементтері оны хабарлауда көрсетілген саннан асып кетсе, онда массивтермен жұмыс істеп жатқан программа өзін қалай ұстар еді?

    3. Егер өңделіп жатқан сан өте кіші немесе өте үлкен болса, онда не болар еді?

Программа дұрыс емес деректерді дұрыс деректер ретінде қабылдап, дұрыс нәтижеге ұқсас, бірақ дұрыс емес нәтиже беретін жағдайлар ең жаман жағдайлар болып есептеледі.

Программа өзі дұрыс өңдей алмайтын кез келген деректерді теріске шығаратын болу тиіс.



Программалауда кездесетін қателіктер

Компьютерде есеп шығарудың барлық кезеңдерінде, атап айтқанда, есептің қойылуына бастап, оның құжаттарын даярлағанға дейін қателіктің кетуі мүмкін.

Мысалы есептің дұрыс қойылмауы, есепті шығару үшін құрылған алгоритмнің дұрыс болмауы, логикалық қателіктер кететін жағдайларды дұрыс есепке алмау, семантикалық және синтаксистік қателер, операцияларды орындау кезінде кететін қателіктер, деректерді беруде жіберілетін қателіктер, ендіру-шығару кезінде кететін қателіктер.

Әдетте синтаксистік қателіктер трансляциялау кезінде байқалады. Көптеген басқа да қателіктерді программалаушының не ойлағандығын білмегендіктен транслятор таба алмайды.

Сондықтан компьютердің синтакасистік қателіктер туралы хабарының жоқ болуы программаның дұрыстығының жеткілікті щарты болып табылмайды.

Синтаксистік қателіктердің мысалдары:



  • тыныс белгілерінің қалып кетуі;

  • жақшалардың сәйкес келмеуі;

  • оператордың дұрыс жазылмауы;

  • қызметші сөздің дұрыс жазылмауы;

  • айнымалы атының дұрыс жазылмауы;

  • циклдің аяқталу шартының жоқ болуы;

  • массив сипаттамасының жоқ болуы т.с.с.


Транслятор таба алмайтын қателіктер
Программада пайдаланылатын операторлар дұрыс жазылғанымен транслятор таба алмайтын көптеген қателіктер болады.

Осындай қателіктердің мысалдарын келтірейік.



Логикалық қателіктер:

  • кейбір шартты тексергенмен кейін алгоритмнің қай тармағын орындауға өтуді дұрыс көрсетпеу;

  • мүмкін болатын шарттарды толық есептемеу;

  • программада алгоритм блоктарын орындау үшін қажет болатын бір немесе бірнеше шамаларды қалдырып кету.

Циклдерде кездесетін қателіктер:

  • циклдің басын дұрыс көрсетпеу;

  • циклдің аяқталу шарттарын дұрыс көрсетпеу;

  • итерация санын дұрыс көрсетпеу;

  • шексіз цикл.

Ендіру-шығару қателіктері; деректермен жұмыс істеудегі қателіктер:

  • деректердің түрін дұрыс бермеу;

  • талап етілген аз немесе көп деректерді оқуды ұйымдастыру;

  • деректерді дұрыс түзетпеу;

Айнымалыларды пайдалануда кететін қателіктер:

  • айнымалыларды олардың бастапқы мәндерін көрсетпей пайдалану;

  • бір айнымалыны басқа айнымалының орнына қате көрсету.

Массивтермен жұмыс істеуде кететін қателіктер:

  • алдын ала нолге келтірілмеген массивтер;

  • дұрыс сипатталмаған массивтер;

  • индекстерінің берілу реттілігі дұрыс емес массивтер.

Арифметикалық операцияларды орындауда кететін қателіктер:

  • айнымалының түрін дұрыс көрсетпеу (мысалы, нақты айнымалының орнына бүтін айнымалыны көрсету);

  • әрекеттер ретін дұрыс анықтамау;

  • нөлге бөлу;

  • теріс санның квадрат түбірін табу;

  • санның мәнді разрядын жоғалту.

Осы қателіктердің бәрін тестілеудің көмегімен табуға болады.
Дәріс №2.Өзін-өзі тексеру сұрақтары


        1. Арифметикалық амалдарды орындауда кететін қателіктер қандай?

        2. Тестілеу процесінің кезеңдерін ата

Дәріс №3. Программалау технологиялары
1. Программалау технологиялары
Программалау технологиялары
Программаларды жобалаудың негізгі екі тәсілі «жоғарыдан төмен» және«төменнен жоғары» бар. «Төменнен жоғары» технологиясының мағынасы: алдымен етене таныс және түсінікті (сұрыптау алгоритмдері жүзеге асыру, жолдарды өңдеу, мәліметтерді енгізу) мәселелер орындалады да сосын барып үлкен, күрделі прорамманы дайын бөлшектерден құрастыру жасалады.

«Жоғарыдан төмен» тенологиясының мағынасы: алдымен программа скелеті дайындалып (процедуралар мен олардың арасындағы байланысы) алынады да содан кейін жеке бөлшектерін жазуға кіріседі. Көбінесе программа аталған екі технологияны аралас қолдану арқылы құрылады.

Программалар жиі нашар құрылымдарға ие болады немесе оларда мәліметтер көрінісі орындалатын жұмысқа сәйкес болмағандықтан, олармен жұмыс істеу қиын. Мәліметтердің жақсартылған құрылымын таңдау, үйрене алмайтын өзінің тегіндегі көркемөнері болып табылады. Шешімдер процесі жеңілірек болу үшін және мәліметтер құрылымында қандай өзгерістер басқаруды қысқартуға көмектесетінін анықтау үшін алдын-ала программаның алғашқы жазылған түрін жиі жазып отыруға тура келеді. Көптеген программалар, оларды түгелдей қабылдау үшін өте қолайсыз болып келеді. Жеке-жеке меңгеру үшін, оларды бөліктерге

бөлу қажет. Бұл программаның сеніділігін арттырудың жалғыз жолы, сондай-ақ оқу мен түсінудің жалғыз тәсілі.

Функция мен процедуралар үлкен программалаудың «модульдері» немесе құрылыстық блоктары болып табылады. Көптеген тілдерде ол жеке түрде трансляциялануы және бір-бірінен тәуелсіз пайдалануы мүмкін. Үлкен модульдер, егер олар өте көп санды немесе тым әртүрлі функцияларды орындайтын болса кең түрде қолдану үшін өте мамандандырылған болады және пайдалану қиын.

Қайда және не орындалу керектігін анықтайтын, программаны ұйымдастыру жеткіліксіз мәліметтерді енгізу және шығару форматтары мен есепті талдау салдары болып табылады.

Үлкен көлемдегі есептерді кіші көлемді есептерге бөлу процесі «құрылымдық жобалау» деп аталады. Осы пәннің шеңберінде: Жазу мен үлкен программаларды сүйемелдеудің жалғыз тәсілі – оларды модуль түрінде ұйымдасқан біраз функциялардың жиынтығы ретінде көрсету;

- Модульде ақпарат, ол өзінің есебін қалай шешетіндей жұмыс істемеуі керек;

- Әр модуль өзінің тікелей көршілерінің шағын тобымен ғана өзара әрекеттесуі қажет;

- Программаның құрамында өнделген мәліметтердің бейнесі табылуы керек.


Дәріс №3.Өзін-өзі тексеру сұрақтары

1.«Жоғарыдан төмен технологиясының» мағыгасын айт?


Дәріс №4. СИ тілінің жалпы характеристикасы. Си программалау жүйесіне кіріспе.


  • Жалпы мәліметтер

  • Си программалау тілі элементтері

  • Негізгі түсініктер: алфавит, идентификаторлар, айнымалылар, константалар, деректер типтері. Стандартты типтегі айнымалыларды сипаттау.

  • Препроцессор директивалары.

  • СИ тіліндегі программаның құрылымы.

Жалпы мәліметтер
Қазіргі алгоритмдік тілдер ішінде Си программалық тілі өте көп ерекшеліктерге ие кең тараған тілдердің бірі есептеледі. Бұл тіл жүйелік программалық жасақ мәселелерін (трансляторларды өңдеу, операциялық жүйе , экрандық интерфейс, аспаптық құралдар т.б.) шешуде қолданылатын тиімді универсал алгоритимдік тіл.

Си тілінің ерекшеліктерінің бірі әр түрлі операциялардан жүйелер аралық, компьютерлер аралық программаларды жоғары деңгейде орындай алады.

Си тілінде жазылған программаның архитиктуралары әр түрлі компьютерлердің бірінен бірін ауыстыруға бір операциялық системаның екінші операторлық системаға ауыстыруға жеңіл. Сонымен қатар Си тіліндегі программалардың орындалу жылдамдығы ассемблер тіліндегі программалардан кем емес. Си тілінің компиляторы қазіргі кездегі барлық операциялық жүйеде жұмыс істей береді. Unix, MSDOS, WINDOWS.

Бұл тіл жүйелік программалардың жасақшылары үшін ассемблер тілін ауыстырған тиімді.

Си тілінің кейбір ерекшеліктеріне тоқталайық.


  • Си тілі кейбір төменгі деңгейлік операцияларды (сонымен қатар биттер үстінде операцияларды) іске асырады. Бұл операциялардың кейбіреулері тікелей машина командасының талабына сай келеді.

  • Си тілі айнымалы және функциялық көрсеткіш механизмдерін сүеді. Көрсеткіштер кейбір айнымалы немесе функциялардың (1) машина жадысыдағы адрестеріне (сақталған) арналған айнымалы. Бұл программист үшін машина жад адрестерімен тікелей жұмыс істеу мүмкіндіктерін береді.

  • Си тілі енгізу–шығару операторлары, жадты динамикалық бөлу процессорды басқару операторларын, операциялық жүйелерге арналған программаларды басқару мүмкіндіктерін береді.

Си программалау тілі ең алғаш Б.Кернига және Д.Ритчи авторлығында 70 жылдар Bell Laboratories фирмасы жәрдемінде АқШ–та жасақталды. Бұл тіл сол кезде UNIX операциялық жүйенің пайдаланушылары үшін қолайлы тіл болды.
Си программалау тілі элементтері
Компьютер пайдаланушы жазған программаның құрылымдық базасын си тілі элементтері арқылы түсінеді.

Си тілі элементі төменгі бөліктерден тұрады.

-алфавит

-константалар

-идентификаторлар

-кілтті сөздер (ключевые слова )

-түсініктер (коментарий)

Си тілі компиляторы мәтіндік қатарлар тізбегі арқылы си тілінде жазған программаларды бастапқы файл ретінде түсінеді. әр бір қатар жаңа қатар басталысыменен аяқталады және ENTER клавишінің басылуы - қатар аяқталғанын білдіреді.

Си тілі компиляторы программаларды қатарлар тізбегі арқылы есептейді және лексема деп аталатын символдық топтар арқылы есептелген қатарларды дамытады. Лексема бұл си тілі компиляторлары үшін өз алдына мәнге ие программа мәтінінің бірлігі. ()операция белгісі константалар, идентификаторлар және кілтті сөздер (бұл бөлімде айтылған )лексемаларға мысал болады. Бөлушілер, мысалы, квадраттық жақша ,фигуралық жақша , шеңберлі жақша ( ), бұрышты жақша және үтір де лексемаға мысал бола алады.

Әріптер мен цифрлар константа, идентификатор және кілтті сөздер құрастыруда қолданылады.

Си тілі компиляторы латын бас және кіші әріптерін әр түрлі символ деп есептейді.

Идентификаторлар. Тілдің ең негізгі түсіністерінің бірі- идентификатор. Ол объектінің атауы ретінде қолданылады. (функцияның, айнымалының, константалардың)

Идентифатор төмендегі ережеге сай таңдалуы қажет:


  1. Олар латын әріптерінің х немесе астын сызу басталуы қажет .

  2. Оның ішінде латын әрпі және астын сызу белгілері қолданылуы мүмкін. Бөтен таңбаларды қолдануға болмайды.

  3. Си тілінде кіші және үлкен латын әріптері өзгеше деп саналады.

  4. Идентификатордың ұзындығы әр программаның жүйесінде әр түрлі ANSI стандарты бойынша 32 таңбадан аспауы керек . Си ++ те шектеуі жоқ.

  5. Объектілердің идентификаторы тілдің, түйінді сөздерінің стандартты функциядан және библиотека аттарынан өзгеше болуы қажет.

Си программалау тілінде түсініктемеге көп көңіл қойылады. Ол программаны теруді жеңілдетеді. Каментарий мына /* және / таңбалармен шектеледі. / *Бұл түсініктеме */ Си++те мынадай тәсілі бар // мына таңбадан кейін тұрған символдың бәрін сол қатер аяғына дейін түсініктеме деп түсінеді.
Си тілінің әліпбиі (алфавит)
С тілінде мына белгілер (символдар) жинағы қолданылады:

1) Латын әліпбиінің бас (A,B,C,…….,Y,Z) және кіші (a,b,c,………,y,z) әріптері;

2) 0-ден 9-ға дейінгі араб цифрлары;

3) Мынадай анайы белгілер:



+ (плюс), - (минус), * (жұлдызша ), / (бөлу сызығы немесе слэш), = (тең), > (үлкен), < ( кіші), ; (нүктелі үтір ), & (амперсэнд ), [ ] (тік жақшалар), { } (фигуралық жақшалар), ( ) (қарапайым жақшалар), _ (астыңғы сызық), (пробел ), . (нүкте), , (үтір), : (қос нүкте), # (нөмір), % (пайыз), ~ (әрбір разряд бойынша терістеу), ? (сұрақ белгісі), ! ( леп белгісі), \ (кері слэш).

Берілгендер классификациясы

С тілінде екі категориялы берілгендер қолданылады: берілгендердің қарапайым (скалярлық) және күрделі (құрамды) типтері. Негізгі (базалық) типтерге бүтін, нақты және символдық типтер жатады. Өз кезегінде, бүтін типті берілгендер қысқа (short), ұзын (long) және таңбасыз (unsigned) болуы мүмкін. Берілгендердің базалық типтерінің өлшемдері мен мүмкін боларлық диапазондарын келтірейік (1-ші кесте):


Типтің аты
Берілгендер типі

Жады көлемі, байт

Мәндер диапазоны

Символдық

char

1

-128…127
Бүтін
int


Достарыңызбен бөлісу:
  1   2   3   4   5   6




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет