ПОӘК 042-18-12 5/03-2013 №1 басылым 18. 09. 2013ж



бет2/12
Дата13.02.2017
өлшемі2,26 Mb.
#9383
1   2   3   4   5   6   7   8   9   ...   12

Іс әрекеттің аты


Блоктың пішімі

Оның атқаратын жұмысы


Процесс

Таңдау


Модификация

Құжат


Енгізу, шығару

Бастау, аяқтау

Қосалқы программа

Түсініктеме


жоқ иә


Математикалық өрнектерді есептеу
Есеп шығару жолын таңдау

Цикл (қайталау) басы

Нәтижені шығару, қағазға басып алу
Мәліметтерді енгізу (шығару)

Алгоритмдерді бастау, аяқтау

Қосалқы программаларға кіру және шығу
Схеманы, формулаларды түсіндіру


1.1-сурет

Сонымен алгоритм блоктармен немесе геометриялық көпбұрыштармен өрнектеледі. Әр блоктың ішінде орындалатын іс-әрекеттің мазмұны жазылады. Символдардың бір кіру және шығу сызықтары болуға тиіс. Мысалы, у=a+b формуласы бойынша есептеу тіктөртбұрыш арқылы кескінделетін есептеу блогы (3-блок) арқылы өрнектеледі. Ал нәтижені қағазға басу үшін көпбұрышты құжат алу блогын (4-блок) пайдаланып, оның ішіне нәтиженің атауларын жазамыз. Жоғарыда көрсетілген у=a+b формуласымен есептеу үшін a және b-ның сандық мәндерін ЭЕМ-ге енгізіп (2-блок), содан кейін қосу амалын орындап, ақарында у-ті қағазға басып шығарып, жұмысты тоқтататыз. Осы алгоритмнің схемасы 1.2-суретте көрсетілген.



1.2-сурет



Мысал:

Сызықтық теңдеуді шешу алгоритмінің блок-схемасын құрайық.



иә жоқ

иә жоқ

ІІІ. Есептеу әдістерінің негізгі түрлері: сызықтық

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



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

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



Мысалы:

Төменде көрсетілген Z функциясының сандық мәнін есептеп шығару алгоритмін жасау керек болсын

Z=ax2+b+cos(ax2+b)- (ax2+b).

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



Мұндағы 2-блок – a, b, x мәндерін пернелерден программаға енгізу блогы, 3-блок t-ның, ал 4-блок Z функциясының мәндерін есептейді. 5-блок x айнымалысының және Z функциясының нәтижесін қағазға басып шығарады.

1.3-сурет



IV. Есептеу әдістерінің негізгі түрлері: тармақталған
Тармақталу алгоритмінің құрылымы қарапайым болып келеді. Мұнда арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен жүзеге асырылады, яғни есепті шығару жолы тармақталып екіге бөлініп кетеді. Тармақталу алгоритмдеріне шартты тексеру блогы міндетті түрде кіреді.

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



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

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

1-мысал. У функциясын төмендегі формула бойынша есептеп шығару керек.

y=x +x, егер х0



x2+1, егер х >0


жоқ иә

1.4-сурет

Мұнда х айнымалысының таңбасына (оң, теріс) байланысты не жоғары, не төменгі формуланы таңдап алып, сол арқылы у функциясының мәнін табамыз. 2-блоктың орындалу барысында х айнымалысына белгілі бір мән беріледі де, ол мән енгізу операторлары арқылы программаға енгізілуі тиіс. Бұдан кейін енгізілген мәннің оң немесе теріс екендігі үшінші шартты тексеру блогы арқылы айқындалады. Шарттың «ақиқат» (иә) немесе «жалған» (жоқ) болуына байланысты тек 4- немесе 5-блоктардың бірі ғана орындалып, «таңдау» жүзеге асырылады. 6-блок енгізілген х айнымалысының және у функциясының сандық мәндерін экранға немесе қағазға басып шығарады.

2-мысал. ax2+bx+c=0 квадрат теңдеуін шешу алгоритмін қарастырайық. Мұнда егер дискриминант оң сан болса, онда теңдеудің нақты түбірлерін (х1, х2) табамыз. Ал, егер дискриминант теріс сан болса, онда теңдеудің комплекс түбірлерін х1,2=i бөлек тармақ арқылы есептеп шығарып,  және  сандарын қағазға, не экранға басып алуымыз қажет. Сонымен, алгоритмді құру жолын математикалық түрде төмендегіше жазуға болады:

x1, 2=(-bb2-4ac)/(2a), егер b2-4ac0,



=-b/(2a); =4ac-b2)/(2a), егер b2-4ac<0.

жоқ иә


1.5-сурет

Бұл алгоритмде негізгі тексерілетін шарт – дискриминанттың таңбасы. Енді осы квадрат теңдеуді шешу алгоритмін схема түрінде өрнектейік (1.5-сурет).



3-мысал. Берілген а, в , с сандарының ең кішісін табу қажет болсын




V. Есептеу әдістерінің негізгі түрлері: циклдік

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

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

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




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




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

    Басты бет