АЛГОРИТМДЕР КӨРСЕТІМІНІҢ ӘДІСТЕРІ



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 39 бет
Таңдаулыға:   
1-БӨЛІМ

АЛГОРИТМДЕУ ЖӘНЕ ПРОГРАММАЛАУ

Қазіргі заманда адам көп істі компьютерді пайдалану арқылы атқарады. Кез
келген міндетті орындау алгоритмнің болуын, яғни нәтиже алуға жеткізетін
әрекетттердің алдын ала жазылып қоюын қажет теді. Алгоритмнің негізінде
программма түзіледі, яғни есеп шешуінің алгортимі оны компьютерде
орындауға жарамды түрде жазылады. Осыдан барып комьютердің көмегімен есепті
шешу процесінің мәні алгоритмді құру екені көрінеді. Алгоритмдік алдын ала
жазбалардықұрастыру процесі алгоритмдеу деп аталады. Қазіргі қоғам
өміріндегі алгоритмдеудің ролі оны пайдаланудың техникалық аспектілерімен
ғана айқындалмайды. Алгоритмдік қатынас адамдардың күнделікті өмірінен,
олардың әдеттегі жұмысынан айырғысыз. Басым көп жағдайларда адам қызметінің
нәтижесі оның өз әрекеттерінің алгоритмдік мәнін қаншалықты дәл
білетіндігіне тәуелді: әр мезетте, қандай ретте не істеу керек; әрекеттер
қорытындысы қандай болу керек. Бұл белгілі дәрежеде алгоритмдерді
құрастыру мен пайдалана білуге қатысты.
“Алгоритм” сөзі X ғасырдағы Орта Азияның ұлы математигі әл-Хорезми атының
латынша жазылу- algorithmi- қалпынан шыққан.

1.1-ТАҚЫРЫП.

АЛГОРИТМ ЖӘНЕ ОНЫҢ ҚАСИЕТТЕРІ

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

1. Барлық ашық тұрған қосымша терезелерін жабу.
2. Пуск батырмасын шерту.
3. Басты менюден Выключить компьютер пунктін таңдау.
4. Диалог терезесінде Компьютерді өшіру пунктін таңдау.
5. Да батырмасын шерту.

Орындаушының белгіленген мақсатқа жетуіне бағытталған түсінікті де дәл
ұйғарым алгоритм деп аталады.
Алгоритм орындаушысы дегеніміз- құрастырылған алгоритммен басқарылуға
тиісті объект немесе субъект.
Алгоритмдерді құрастырғанда келесі талаптар ескерілуі керек:
1. Алгоритм айқын, аяқталған әрекеттер болып табылатын жеке қадамдарға
бөлінуі керек. Орындаушының келесі қадамға өтуі алдыңғысын аяқтағаннан
кейін ғана мүмкін. Алгортимнің жеке қадамдардан құрыла алатын қасиетті
дискреттігі деп аталады.
2. Алгоритмнің әр ұйғарымы немесе командасы орындаушыға түсінікті болуға
тиіс, яғни олар бір мағынада түсініліп, қайталанатын алғашқы деректер
бойынша бірыңғай нәтижелерге әкелуге тиіс. Алгортитмнің бұл қасиеті
анықтығы деп аталады.
3. Алгоритмнің нақты бір мәселені ғана емес, бүкіл бір типті мәселелерді
шеше алатын мүмкіндігі бар. Мысалы, квадрат теңдеуін шешетін алгоритм
оның түбірін кез келген коэффициент мәндерінде табуға мүмкіндік береді,
ал жол жүру ережелері баршаға ортақ. Алгоритмнің бұл қасиеті көпшілікке
бірдейлігі деп аталады.
4. Нәтижелілігі. Айқын белгіленген әрекеттер тізімінің әрқайсысы нәтижеге
жеткізе бермейді. Мысалы шахматта 10120 жүрістен тұратын ұтылыссыз ойын
стратегиясы бар, бірақ оны түгел орындауға адам баласының ғұмыры
жетпейді. Орындаушы үшін ол орындап отырған әрекеттер тізімі, егер олар
мәселені қолайлы мерзімде шешуге жеткізсе, алгортим болып есептеледі.
Осылайша алгоритм мынадай қасиеттерге ие: дискреттік,анықтық,көпшілікке
бірдейлік, нәтижелілік.
Алгортимнің орындалуының формальдылығы орындаушы ретінде машиналарды,
техникалық құрылғыларды пайдалануға мүмкіндік береді.
Алгоритм-информатиканың іргелі түсініктерінің бірі.
Егер алгоритмдердің жасалу құрылымын қарасақ, олардың жасалуының үш негізгі
түрін атап көрсетуге болады: сызықты, тармақталған, циклдік.
Егер орындаушы командаларды бірінен соң бірін ілесу тәртібімен орындайтын
болса, алгоритм сызықты деп аталады.
Орындаушының әрекеттері кейбір шарттарды тексеру нәтижелерімен белгіленетін
болса, ол алгоритм тармақталған болып саналады.
Жеке командалар немесе команда топтары көп рет қайталанатын болса, алгоритм
циклдік деп саналады.
Іс жүзінде алгоритмдердің көбінде үш құрылым да болады.
Компьютер, біз білетіндей, сандық, мәтіндік, графикалық, дыбыстық
деректерді өңдей алады.
Программалау тілінің командаларымен өңделетін деректер шамалар деп
аталады.Шамалар сандық(бүтін, заттық), символдық және логикалық болады.
Шама атымен, түрімен (типімен) және мағынасымен сипатталады.

АЛГОРИТМДЕР КӨРСЕТІМІНІҢ ӘДІСТЕРІ

Алгоритмдер сипаттамасының, көрсетімінің әдістері көп. Біз төртеуіне
тоқталамыз: табиғи тіл, грфикалық тіл, алгоритмдік тіл және прогрммалау
тілі. Көрсетімінің әр түрі алгоритмдерді сипаттаудың өз орындаушысына
бағытталған өзіндік құралдары бар:
• Табиғи тіл(орындаушы -адам)-орыс, қазақ, ағылшын тілдерінің сөздері;
- графикалық тіл (орындаушы -адам)- әрекеттер сипаттамасы бар графикалық
схемалар (блок-схемалар);
- алгоритмдік тіл (орындаушы -адам)-әрекет немесе орындаушыға арналған
командалар мағынасы берілетін табиғи тілдің белгілі сөздері;
- программалау тілі (орындаушы -компьютер)-программалау тілінің
командалары.
Алгоритмдердің құрылымын, құру әдістерін үйрену үш көрсетімде бірден
жүреді: блок-схемалар түрінде, алгоритмдік тілде, прграммалау тілінде.
Көрсетім әдістерінің әрқайсысының алгоритмдерін сипаттайтын құралдардың
элементтері қажеттігіне қарай енгізіліп отырады.

Сұрақтар мен тапсырмалар

1. Алгоритмдер көрсетімінің әдістерін табыңыз.
2. Табиғи тілдегі алгоритмдердің мысалдарын келтіріңіз.

1.2-ТАҚЫРЫП.
БЛОК-СХЕМАЛАР ТҮРІНДЕГІ АЛГОРИТМДЕР КӨРСЕТІМІ

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

Сызықтық құрылым алгоритмнің блок-схемасы мынадай түрде болады:
X1,Y1,X2,Y2,X3,Y3 сүйір ұштары координаттарымен берілген H биіктігін ,M
медианасын, S ұшбұрыш ауданын анықтайтын алгоритм құру мысалын қарайық.
Есепті шешу үшін формулаларды пайдаланмыз:
;
; ;

Мұнда A,B,S-үшбұрыштың тараптары мына формулалармен айқындалады:

; ; ;

Ал жартылай периметр .
Іздеудегі шамаларды табу алгоритмі блок-схемалар түрінде мынадай болады:

1.3-ТАҚЫРЫП.
АЛГОРИТМДЕРДІ АЛГОРИТМ ТІЛІНДЕ КӨРСЕТУ

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

Алгоритм командалары рет-ретімен жазылады. Бір жолда бірнеше команда
жазылуы мүмкін. Мұндай жағдайда олар нүктелі үтірмен “;”
бөлінеді(ажыратылады).

3-мысал. Y мәнін Y=(AX-B)(CX+D) формуласы бойынша X-тің кез келген мәне
үшін есептеп шығару.
Бұл есепті шешу үшін төмендегі алгоритмде тұжырымдалған әреккеттерді
ретімен орындау жеткілікті:
Алг есептеу
Басы
A*X көбейту; нәтижені R1 белгілеу
R1-B азайту; нәтижені R2 белгілеу
C* X көбейту; нәтижені R3 белгілеу
R3+D қосу; нәтижені R4 белгілеу
R2* R4 көбейту; нәтижені Y мәні деп есептеу.
Соңы
Енгізілген меншіктеу командасын ескеріп, осы алгоритмді былай жазуға
болады:
Алг есептеп шығару
Басы
R1:=A*X;
R2:=R1-B;
R3:=C*X;
R4:=R3+D;
Y:=R2*R4;
Соңы

Сұрақтар мен тапсырмалар
1. Алгоритм тілінің қызметі қандай
2. Қызмет етуші алг, нач, кон сөздерінің ролі қандай
3. Қандай алгоритмдер сызықты деп атлады
4. Алгоритмлерді құрастыру:
a) сөздіктен сөз іздеу;
в) шәй демдеу.
5. Y мәнін есептеп шығару алгоритмін мынадай формуламен жазыңдар:
A) ; ә) .

1.4-ТАҚЫРЫП.
АЛГОРИТМДЕРДІ QBASIC ПРГОРАММАЛАУ ТІЛІНДЕ КӨРСЕТУ

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

QBASIC тілінде қолданылатын арифметикалық операциялардың символдары:

Сұрақтар мен тапсырмалар
1. QBASIC тілінің алфавитін не құрайды?
2. QBASIC тілінің операторлары дегеніміз не? PRINT операторларын
пайдаланудың мысалын келтіріңіз.
3. Мына төмендегі формулаларды QBASIC тілінде арифметикалық
өрнектерді жазуережелері бойынша жазыңыз:
a) 2,136+; б);
ә) 2,136+; в) .
4. QBASIC тілінде келтірілген арифметикалық өрнектерге сәйкес келетін
формулаларды жазыңыз:
А) 5*A*B^3+(A+B)(2*A);
Ә)(3*X^2+2*Y)(X*Y-7.4)+23Y.

QBASIC ЖҮЙЕСІНДЕ ФАЙЛДАРМЕН ЖҰМЫС ІСТЕУ
Магнитті дискілерде файлдармен жұмыс істеу үшін ALT пернесін басып,
басты менюге шығып, онда Файл (file) бағыныңқы менюін таңдау керек.
Бағыныңқы меню мынадай түрде:
Осы бағыныңқы менюдің көмегімен дискілерде программаларды іздеу және
оларды оперативті жадқа жіктеу, программаларды дискіге жазу,
программаларды жаңа аттармен қайта жазу және программалар мәтіндерін
басуға шығару жүргізіледі.
Новый(New) пунктін таңдау жаңа программаның атын сұратумен экранды
тазартуға апарады .ESC пернесін басып, бұл атты шығарудан бас тартуға
болады.
Жаңадан енгізілген программаларды жазу үшін Файл (file) бағыныңқы
менюіндегі Сохранить(SAVE) пунктін таңдап, ENTER пернесін басу керек.
Нәтижесінде файлды сақтау терезесі шығады.
Бұл терезеде программаның мәтіні жазылатын (қайта жазылатын) файлдың атын
енгізу немесе растау керек.
Алдын ала магнитті дискілерге жазылған программаларды ашу үшін Файл
(file) бағыныңқы менюіндегі Открыть(Open)

ПРОГРАММАЛАР МӘТІНДЕРІН ЕНГІЗУ ЖӘНЕ РЕДАКЦИЯЛАУ

Программаның жаңа мәтінін енгізу негізгі жұмыс терезесін Файл (file)
бағыныңқы менюіндегі Новый(New) режімі арқылы тазалаудан басталады.
Программа мәтінін енгізу жолдар бойынша жүргізіледі. Жолды енгізу
аяқталуының белгісі- ENTER пернесін басу. Енгізілген оператордың
дұрыстығын QBASIC жүйесі автоматты түрде тексеріп береді. Оператордың
жазбасында қателер табылған жағдайда экранда тиісті диагностикалық хабар
пайда болады. Программа мәтінін редакциялау пернелер арқылы жүргізіледі.

Элементар функциялардың көрсетімі QBASIC тілінде төменде келтірілген:

Ескерту:SIN, COS, TAN функциялары аргумент ретінде радианалармен берілген
бұрышты пайдаланады.
Егер аргумент (X1) градустармен берілсе, оны радианаларға аудару қажет
(X1=X1*3.14159180).
Тікелей есептеу режімін қолдануды жалғастырайық. Өрнектердің мәнін
табайық:
A)(8.79-3.94)2; ә) sin 300+cos 600.

Компьютер экранында QBASIC-те сурет салу үшін келесі графикалық
операторлар қажет:

Ақпарат көрсетімінің графикалық пішіні ыңғайлы және көрнекі, ал кейбір
жағдайда сол ғана түсінікті. Дисплей экранында экранның сол жақтағы
жоғарғы нүктесінде басталатын, солдан оңға қарай бағытталған X осімен,
жоғарыдан төмен бағытталған Y осімен координаттардың тікбұрыш жүйесі
бекітіледі. Экрандағы барлық құрылымдарды жазықтықта түрлі бояу түстерін
және сызуларды пайдалана сурет салу деп қарауға болады.
Алгоритмді QBASIC тілінде жүзеге асыру мысалын қарайық. Ол үшін үй салу
алгоритмін программа түрінде қайта көшірейік.
REM үй салу
SCREEN 9
LINE(100,200)-(300,100),5,B
LINE(100,100)-(200,50),5: LINE(200,50)-(300,100),5
LINE(200,150)-(275,200),12,BF
CIRCLE(200,75),20,12
PAINT(200,75),12

Сұрақтар мен тапсырмалар
1. ЭЕМ-да есептеп шығару керек:
A) ; Ә); б) ; в) ;
Г) ; ғ) ; д) ; е) ;
2. Программаның өте қарапайым редакциялауын қалай орындауға болады?
3. SCREEN 9 графикалық режімінде компьютер экранының қандай шешуі болады?

4. Компьютер экранында түрлі графикалық элементтердің кескіні қандай
операторлардың көмегімен жасалады?
5. Программаны компьютерді қолданбай, “қолмен” орындағаннан кейін экранда
қандай сурет пайда болады:
SCREEN 9
CIRCLE (320,130),50,5
PAINT (320,130),5
LINE (278,105)-(362,155),3,BF
6. Компьютер экранында келесі фигураларды шығаратын программа
құрастырыңыз:
а) үшбұрыштың; ғ) алты бұрыштың;
ә) шығыршықтың; д) ақ қаланың;
б) жарты айдың; е) шыршаның;
в) бес жұлдыздың;
г) бес бұрыштың ж) автомобильдің.

1.6-ТАҚЫРЫП.

ШАМАЛАР МЕН ЖҰМЫС ІСТЕУДІҢ АЛГОРИТМДЕРІ

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

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

6-мысал. Үшбұрыш қабырғаларының ұзындығы берілген болса, Геронның
формуласы бойынша үшбұрыштың ауданын есептеп шығару үшін алгоритм
құрастырыңыз.
Шешуі:
Алгоритм аргументтері(алғашқы деректер) –А,В,С қабырғаларының ұзындығы.
Нәтиже- S үшбұрышының ауданы.

Аралық шама –P жартылай периметрі анықталады:

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

Алг ауданын есептеп шығару (арг зат A,B,C, нәт. зат S)

Басы зат P

Енгізу A,B,C

шығару S

соңы

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

Алг ауданын есептеу 10 REM ауданын есептеу
(арг зат A,B,C, нәт. зат S)
басы зат P
енгізу A,B,C 20 INPUT A,B,C
30 P=(A+B+C)2
40 S=SQR(P*(P-A)*(P-B)*(P-C))
шығару S 50 PRINT “S=”;S

соңы 60 END

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

10 REM ауданын есептеу
20 INPUT A,B,C
30 P=(A+B+C)2
40 S=SQR(P*(P-A)*(P-B)*(P-C))
50 PRINT “S=”;S
60 END

Анықтамалар
10 жол. REM операторы ешқандай әрекет жасамайды.
20 жол. Экранда ”?” белгісі пайда болады, шақыруға пайдаланушы
алғашқы деректерді енгізумен жауап беруі керек, олар тиісінше A,B,C
ұяшықтарына жазылады.
30 жол. (A+B+C)2 өрнегінің мәні есептеледі және нәтижесі P ұяшығына
жазылады.
40 жол. SQR(P*(P-A)*(P-B)*(P-C)) өрнегінің мәні есептеледі және
нәтижесі S ұяшығына енгізіледі.
50 жол. Нәтиже S ұяшығынан шығарылып, экранда басылады.
60 жол. Программа соңы.
S ауданын басқа алғашқы деректермен есептеу үшін программаны орындауға
тағы да қосып, ЭЕМ-нің сұратуына жаңа алғашқы деректер енгізу керек.

8-мысал. Аралық шамаларды пайдаланып, өрнекті есептеу алгоритмін жазыңыз:

Аралық шамалар ретінде мәні көп рет қайталанатын әрекеттерді алмастыратын
B,Z айнымалыларды қолданамыз, бұл алгоритмнің нәтижелілігін арттырады.
B=A2; Z=A2+4=B+4
Алг Y есептеу(арг зат A, нәт. зат Y)

Басы зат B,Z
Енгізу A
B:=A2; Z=B+4

шығару Y
соңы

Алгоритм бойынша QBASIC тілінде программа құрастырайық:
REM Y есептеу
INPUT “A мәнін енгізіңіз”;A
B=A^2: Z=B+4
Y=B3+Z6+SQR(Z)4+SQR(Z^3)4
PRINT “Y=”;Y
END

Сұрақтар мен тапсырмалар
1. Қандай шамалар айнымалы, тұрақты деп аталады? Мысалдар келтіріңіз.
2. Қандай шамалар аргументтер, аргументтің нәтижелері деп аталады?
3. Алгоритмнің жалпы түрін жазыңыз.
4. Шамалардың қандай түрлері алгоритмдік тілде қолданылады?
5. Сызықтық программалар құруға қандай операторлар қолданылады?
6. Айнымалы шамалар немен сипатталады?
7. QBASIC-те айнымалылардың қандай аттарын қолдануға болады?
8. M және N айнымалыларға командалар сериясынан кейін қандай мән
беріледі:

А) M:=0; M:=M+2; M:=3*M; M:=M-2; M:=M*M;
Ә) N:=1; N:=N+1; N:=N*N; N:=N2.
9. Үш ыдыста су бар. Бірінші ыдыста V1 л су t1 температурада, екіншіде-
V2л су t2 температурада, үшіншіде- V3 л су t3 температурада. Су бір
ыдысқа құйылды. Осы ыдыстағы судың V мөлшерін және T температурасын
анықтайтын программа құрастырыңыз(температураны есептеуді
жеңілдетілген формуламен жүргізуге болады): T=(t1+t2+t3)3.
10. Үшбұрыштың A,B,C қабырғалары белгіліболғанда, үшбұрышқа іштегі
сызылған шеңбердің радиусын RB және үшбұрышқа сырттай сызылған
шеңбердің радиусы RO есептеу керек.
мұнда S-үшбұрыштың ауданы, P-жартылай периметрі.

1.7-ТАҚЫРЫП.
ТАРМАҚТАЛҒАН АЛГОРИТМДЕР ЖӘНЕ ОЫН ПРОГРАММАЛАУ

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

Егер далада күн суық болса, онда пальто немесе куртка киеміз.
Далаға шыққан соң қараймыз-автобус келе жатыр ма екен?
Егер ол келе қалса, онда оған мінеміз немесе жаяу кетеміз.

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

ТАРМАҚТАЛУ КОМАНДАСЫ

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

Келтірілген конструкцияларда бағыт жолын таңдау шарттың орындалуына
байланысты. Егер шарт бұзылмаса, орындаушы серия 1-ді орындайды, қарсы
жағдайда-серия 2-ні. Тармақталу командасының қысқартылған пішіні
қолданылса, командалар сериясы тек шартты сақтаған жағдайда орындалады.
Шарттарды жазуға қолданылатын қатынас операцияларының белгілерін
енгізейік.
ҚатынасбеQBASIC-те қатынас Қатынас
лгісі белгісінің жазылуы операциясының аты
= = Тең
, Тең емес
Көп
= Көп немесе тең
Аз
= Аз немесе тең


10-мысал. A және B сандары берілген. Екі санның ішіндігі үлкенін табу
алгоритмін құрастыру (ЕСУ)
алг ЕСУ (арг зат A,B, нәт. зат Y)
басы
енгізу A,B
егер AB
онда Y:=A
әйтпесе Y:=B
болды
шығару Y
соңы

11-мысал. Функциясы берілген:
Y=

Алгоритм және оны есептеудің блок-схемасын құрастыру.
Шешуі:
Алг есептеу Y(арг зат X, нәт. зат Y)
Басы
Енгізу X
Егер X
Онда
әйтпесе
болды
шығару Y
соңы
Мысалы: X=-5 ,болғанда Y:=X2 командасы орындалады және Y 25 мәнін
қабылдайды; X=36 болса, шарт орындалмағандықтан, -командасы
орындалады және Y айнымалысының мәні 6-ға тең болады.
Программаны QBASIC тілінде жазайық:
REM есептеу Y
INPUT X
IF X= 0 THEN Y=Y^2 ELSE Y=SQR(X)
PRINT “Y=”;Y
END
Есепті түрлі әдістермен шығарайық.
Программаны жазу үшін бірінші есепті шығарудың блок-схемасын
құрастырайық:

Берілген блок-схема бойынша программа құрастыру үшін IF бір меңгеруші
түзілсін басқа бірінің ішіне орналастырайық:
REM формула бойынша есептеу
INPUT ”X=;X”
IF X-1 THEN
A=X+SIN(X)
ELSE
IF X5 THEN
A=3*SQR(X+1)
ELSE A=1
END IF
END IF
PRINT “A=”;A
END

13-мысал. “Угадайка” ойын программасын құрастыру.
Есепті шешудің жоспары:
1. Кездейсоқ сандардың бергішінің көмегімен ЭЕМ 1-ден 100-ге дейінгі
интервалда Y бүтін санын ойлауы керек.
RND функциясы 0-ден 1-ге дейінгі нақты сандарды генерация жасайтындықтан,
Y қажетті санды шығару үшін генерация жасалған санды 100-ге көбейтіп, INT
функциясын пайдаланып бөлшектік жағын алып тастау керек:
Y=INT(RND*100)+1.

Сұрақтар мен тапсырмалар
1. Тармақталу командасы толық пішінінде қалай орындалады?
Қысқартылған пішінінде ше?
2. Алгоритмдерде шамалар арасындағы қандай қатынас белгілері
пайдаланылады?
3. Алгоритмдік тілде шамалар арасындағы қатынас белгілері не үшін қызмет
етеді?
4. Толық және қысқартылған пішінде жазылған шартты өту операторы қалай
орындалады?
5. GOTO операторы қандай мақсатқа арналған?
6. Функция мәнін есептейтін блок-схема және программа құрастырыңыз:

7. Үш сан берілген. Кері мәнділерін квадратқа шығару.
8. A,B,C үш саны берілген. Егер ABC теңсіздігі орындалып
жатса,қосындының мәнін немесе сандардың көбейтіндісін басып шығару.
9. Екі сан берілген-X,Y (X;Y). Осылардың кішісін жартылай қосындымен,
үлкенін-осы сандардың еселенген көбейтіндісімен алмастыру.
Программасын құрастыру.
10. Функция мәнін есептеу программасын құрастыру.
11. ЭЕМ-ге енгізілген сан жұп па, соны анықта, программасын құрастыру.
12. Қандай шарт қарапайым болып саналады? Құрамды ше?

ТАҢДАУ КОМАНДАСЫ
Тармақталу командасында әрекеттің екіден аса нұсқасын көрсету керек
болса, онда оны жазу ыңғайсыздық туғызады. Алгоритмдерді көрсету
құралдарында мұндай жағдайларды жүзеге асыру үшін таңдау командасы
болады, ол тармақталу командасына қарағанда алгоритмді қарапайым және
көрнекі көрсетуге мүмкіндік береді.
Таңдауды жүзеге асыру пішіндері төмендегі кестеде көрсетілген.
Орындаушы таңдау командасының барлық шарттарын рет-ретімен тексеріп,
қайсысының шарты сақталғанын байқайды. Осындай шартты тапқан соң,
орындаушы одан кейін тұрған командалар сериясын орындайды. Осымен таңдау
командасын орындау аяқталады. Егер, мысалы, шарт 1 де, шарт 2 де
сақталса, онда орындаушы серияны ғана орындайды.
Шарттардың бірі де сақталмағанда, әйтпесе сөзінен кейін жазылған
командаорындалады. Қысқартылған пішінінде бұл жағдайда ешқандай әрекет
қарастырылмаған.
14-мысал. Айдағы күндер санын табу алгоритмін құрастырыңыз, егер
берілгені мынау болса: ай нөмірі N-1-ден 12-ге дейінгі бүтін сан;
A бүтін саны, 1-ге тең кәбиса жылы үшін және 0-ге тең кері жағдайда.
Шешуі:
Енгізілген таңдау командасының түзілімін пайдаланып, алгоритмді
қысқартылған пішінінде жазайық:

Алг күндер саны(арг бүтін N,A, нәт. бүтін D)
Басы
Енгізу N,A
Таңдау
Егер N=1 немесе N=3 немесе N=5 немесе N=7
Немесе N=8
егер N=10 немесе N=12: D:=31
егер N=2 және A=0: D:=28
егер N=2 және A=1: D:=29
егер N=4 немесе N=6 немесе N=9 немесе
N=11:D:=30
болды
шығару D
соңы
Келтірілген алгоритмдерді таңдау операторын пайдаланып QBASIC тілінде
жазайық.
Қысқартылған пішіні Толық пішіні
REM күндер саны REM күндер саны
INPUT N%, A% INPUT N%, A%
SELECT CASE N% SELECT CASE N%
CASE 1,3,5,7,8,10,12 CASE 1,3,5,7,8,10,12
D%=31 D%=31
CASE IS=2 AND A%=0 CASE IS=2 AND A%=0
D%=28 D%=28
CASE IS=2 AND A%=1 CASE IS=2 AND A%=1
D%=29 D%=29
CASE 4,6,9,11 CASE ELSE
D%=30 D%=30
END SELECT END SELECT
PRINT D% PRINT D%

15-мысал. Айдың нөмірі бойынша тиісті жыл мерзімін анықтаңыз.
Шартты мәндердің ауқымы етіп көрсете отырып, таңдау операторын пайдалану
арқылы программа құрастырамыз.
Айнымалылардың түрін сипаттау үшін түр белгісінің орнына (мысалы,”%”) DIM
операторын пайдалану тиімді.
Оператор Жол пішіні Қызметі
DIM DIM айнымалылар Айнымалылардың типін
Тізімі AS типі. Мысалы: көрсетеді.
DIM N,A AS INTEGER INTEGER-бүтін тип.

Шешуі:
Қысқартылған пішін Толық пішін
REM жыл мерзімі REM күндер саны
DIM N AS INTEGER DIM N AS INTEGER
INPUT ”Ай нөмірін N енгізіңіз” INPUT ”Ай нөмірін енгізіңіз”; N
SELECT CASE N SELECT CASE N
CASE 12,12 CASE 12,12
PRINT “қыс” PRINT “қыс”
CASE 3 TO 5 CASE 3 TO 5
PRINT “көктем” PRINT “көктем”
CASE 6 TO 8 CASE 6 TO 8
PRINT “жаз” PRINT “жаз”
CASE 9 TO 11 CASE 9 TO 11
PRINT “күз” PRINT “күз”
END SELECT END SELECT

Сұрақтар мен тапсырмалар
1. Толық және қысқартылған пішіндерде жазылған таңдау командасы қалай
жазылады және орындалады?
2. Қандай жағдайларда орындаушы таңдау командасында немесе сөзінен кейін
тұратын командалар сериясын орындайды?
3. Қай операторлар көмегімен QBASIC тіліндегі таңдау командасы бар
алгоритм жүзеге асады?
4. QBASIC тіліндегі таңдау операторында шарттар жазылуының
қандай нұсқалары болуы мүмкін?
5. Y-ті есептеп шығаратын программа құрастыру:

басқа жағдайларда экранға “шешуі жоқ” деген хабар жіберу.
6. Егер программаның ерекшеленген жолдарын орындарымен ауыстырсақ, Y-тің
мәні өзгере ме?
INPUT X
SELECT CASE X
CASE IS=1
Y=X
CASE IS=0
Y=0
END SELECT
7. Программа фрагментін орындағаннан кейін K мәнін анықтау
(компьютерсіз):

А) Х=-4
SELECT CASE X
CASE IS0
K=5
CASE IS0
K=9
CASE ELSE
K=11
END SELECT
Ә) X=0
SELECT CASE X
CASE IS0
K=3
CASE ELSE
K=7
IF X0 THEN K=6
ELSE K=2
END SELECT
11. Берілген X үшін функцияның мәнін есептеп шығару:

ЦИКЛДІК АЛГОРИТМДЕР
Есептерді шешу барысында біртипті әрекеттерді көп ретқайталау қажеттілігі
жиі кездеседі.Бұл әрекеттерді анықтайтын параметрлердің мәндері әртүрлі
болады.
Осындай әрекеттерді жүзеге асыратын алгоритмдер циклдік, ал
әрекеттердіңкөп тер қайталанатын бірізділігі(циклдің денесі) циклдердеп
аталады.Циклдерді пайдалану ықшам программалар көмегімен есептеулердің
үлкен көлемдерін орындауға мүмкіндік береді.Алдын-ала берілген және
белгісіз сандар қайталауларымен циклдер ажрыатылады.

Қайталану саны белгісіз циклдер.
Циклді қанша рет қайталау керек екені алдын-ала белгісіз болады, бірақ
бір шарт орынды болып тұрғандаол орындалуға тиіс.
Іске асыру пішіндері:

Блок-схема Алгоритмдік тіл
Qbasic
Қайталану командасы: Циклдің шартты
операторы:

Әзірше шарт While шарт
Цикл денесі
Wend
Do while немесе Until
Цикл денесі
Loop
Do
цикл денесі Loop Шарт
While немесе
Until ақиқат болған шақта
цикл орындала береді

Цб
Цикл денесі
Цс

17-мысал.1,2,3,...,15 сандар квадраттарының кестесін құру.
Шешуі:
Егер Х цикл айнымалысының басқарушысын(парметрді) алғашқы мәнінен – 1-
ден ақырғы мәніне – 15-ке дейін, формуласын пайдаланып қадаммен
(2) өзгертіп отырса, сандар квадраттары кестесін құруға болады.
Кестенің бірінші жолын құру үшін мынандай әрекеттерді орындау қажет:
1.Х-ке лағашқы мән беру:
Х:=1
2.Y-ті анықтау:

3.Пайда болған нәтижені шығару.
12-суретте блок-схема көрсетілген.Алгоритмнің одан арғы құрылуы
үшін қайталанпатын әрекеттерді ерекшелеу және егер сондай әрекеттер бар
болса, оларды орындау үшін чикл ұйымдастыру қажет.Берілген есепте
қайталанатын әрекеттерге мыналар жатады:
1. формуласы бойынша есептеу .
2.Нәтижені шығару.
3.Параметрдің келесі мәнін анықтау.
Егер алғашқы мәні X=1 болса, Х-тің алғашқы мәнін қадам шамасына өзгерте
отырып, Х-тің келесі мәндерін меншіктеу командасы арқылы алуға
болады:X:=X+2
13- суреттегі блок-схемада цикл денесіне (параметрдің әртүрлі
мәндерінде ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Алгоритмнің берілу тәсілдері
Компьютердің бағдарламалық құралдары. Бағдарламалауды автоматтандыру әдістері. Алгоритмдік тілдер. Алгоритмдік тілдің қолдануы және оған қойылатын талаптар.
Алгоритм және алгоритмдеу ұғымдары
Дербес компьютердің құрылысы және архитектурасы
Алгоритмдеу негіздері және бағдарламалау
Сканердің түрлері
Алгоритмдер теориясы. Анықтамасы. Қасиеттері. Түрлері. Алгоритмді жазу әдістері. Алгоритм модельдері
Информатика пәнінен лекциялық сабақтардың тезистері
Криптографиялық кілттерді басқару
Алгоритмдер теориясының негізгі ұғымдары
Пәндер