Алгоритмдеу негіздері



Дата04.10.2022
өлшемі22.18 Kb.
#176132
түріПрограмма
Байланысты:
алг
№3 хаттама тәрбие

1. АЛГОРИТМДЕУ НЕГІЗДЕРІ
1.1. Негізгі ұғымдар мен түсініктер
ЭЕМ-ді пайдалану істерін қарастырмас бұрын оның жұмы сымен тығыз байланысты алгоритм, программа ұғымдарын
білуіміз қажет. Əрбір ЭЕМ алдын ала берілген алгоритммен,
яғни жоспармен жұмыс істейді. Алгоритмді заңдылық, реттелген амалдар жиыны, кезекпен орындалатын операциялар тізімі
деп ұғынған жөн. Бұл ұғым қазіргі кезде кеңінен қолданылып
жүр. Оның көптеген анықтамалары да бар. Соның бірін келтіре
кетейік.
Алгоритм – берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру. Кез келген есепті қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алгоритмді
ЭЕМ-де орындау үшін оны программа түрінде жазып шығу керек.
Сонымен, алгоритм оны атқарушы ЭЕМ-ге жұмыс тəртібін
түсіндіретін ережелер мен нұсқаулар тізбегінен тұрады. Алгоритмді атқарушының рөлін негізінен адам немесе автомат тандырылған аспап, яғни ЭЕМ, робот, т.б. атқарады. Мысалы,
y=(ax+b)(cx-d) функциясын есептеу төменгі іс-əрекеттерден
тұрады:
1) а-ны х-ке көбейту, оны R1
деп белгілеу;
2) оған b-ны қосу, нəтижесін R2
деп белгілеу;
3) с-ны х-ке көбейту, оны R3
деп белгілеу;
4) одан d-ны алу, оны R4
деп белгілеу;
5) R2
-ні R4
-ке көбейту, оны y деп белгілеу.
Алгоритмнің орындалу кезінде оны орындаушыға келесі жолы
қандай нұсқау бойынша орындалатыны белгілі болуы қажет. Ал
орындаушының жүзеге асыра алатын командалар жиыны – командалар жүйесін құрайды.
Алгоритм мен программаға байланысты ЭЕМ-нің мынадай
жұмыс ерекшеліктері болады:
1) есепті шығару жолы алгоритм түрінде өрнектелуі қажет;
2) алгоритм программаға айналдырылуы тиіс;
4
3) программа машина жадына енгізіліп, ретімен орындалуы
керек. Алгоритм күнделікті тұрмыста да кеңінен қолданылады.
Мысалы, студент болу үшін алгоритмнің мынадай қадамдарын
орындау керек.
1. Орта мектепті бітіріп, аттестат алу.
2. Керекті құжаттарды аттестаттың түпнұсқасымен бірге
бел гілі бір оқу орнына өткізу.
3. Конкурстан өту.
Бұл көрсетілген пункттердің орнын ауыстыруға болмайды.
Олар көрсетілген ретпен кезектесіп орындалуы тиіс. Сонда ғана
керекті нəтижеге (студент болу) қолымыз жетеді.
Алгоритм информатиканың іргелі ұғымдарының бірі. Квадрат
теңдеудің түбірін табу ережесі, үшбұрыштың ауданын есептеу
жолдары алгоритмдердің мысалдары болып табылады.
Алгоритмдеу – есепті шығару алгоритмін құрастыру процесі, мұның нəтижесінде мəліметтерді өңдеу процесінің кезеңдері айқындалады да, кезеңдер мазмұны формальды (жасанды)
түрде жазылып, солардың орындалу реттілігі анықталады.
Алгоритмдік тіл – алгоритмдерді жазуға арналған символдар мен сол символдардан тұратын конструкцияларды құрастыру жəне түсіндіру ережелерінің жиыны.
Программалау тілі ЭЕМ-дерде программаларды орындау
ісін атқарады.
Программа – алгоритмді машинаға түсінікті нұсқаулар
тізімі ретінде жазу. Программада берілген мəліметтердің сипаттамаларымен бірге оларды өңдейтін командалар болады.
Осы командалар тізбегі орындалу барысында есептің нəтижесі
шығады. Командалар қандай мəліметтер қандай операцияларға
қатынасатынын, олар қандай реттілік пен орындалатынын жəне
нəтиженің қандай түрде шығарылатынын көрсетеді. Бұлар операторлар арқылы жүзеге асырылады.
Əрбір ЭЕМ алдын ала жазылған программамен істейді. Процессор программаның құрамындағы командаларды кезекпен
орындап отырады. Командалар тізбегін программа деп қарасты руға болады. Команда бір ғана қарапайым амалды орындау
үшін берілген бұйрық ретінде беріледі. Командалар: арифметикалық немесе логикалық амал; ақпаратты тасымалдау командасы;
5
берілген сандарды салыстыру командасы; келесі командаларға
көшу тəртібін орындау, т.с.с.
Алгоритм жəне программа ұғымдары ұқсас екені көрініп тұр,
алгоритм есептің шығару жолын қарапайым əрекеттер тізбегімен
өрнектесе, программа сол өрнекті машинаға түсінікті тілмен
жазып береді. Сондықтан программа жазу тəсілдері солардың
қандай ережені пайда ланып, қандай компьютерлерге арналып
жазылғанына байланысты алгоритмдік тілдер немесе программалау тілдері ұғымына келіп тіреледі.
Мəліметтер – белгілі бір процесс көмегімен тасымалдап,
өңдеуге болатын, формальды түрде бейнеленген фактілер мен
идеялар.
Оператор – операциялар мен мəндерді көрсететін немесе
солардың элементтерінің қай жерде орналасқанын білдіретін
символдар жиыны. Мысалы:
А:= В+С; {А, В, С – айнымалы;}
К:= 2; IF T<0 THEN ...
Айнымалы – программа орындалуы барысында өз мəнін
өзгерте алатын объект.
Айнымалы қасиеттері:
1. айнымалы белгілі бір мəнге ие болғанша, анықталмаған
болып саналады. Оған мəн беру мынадай тəсілдермен
орындалады:
• сырттан енгізу арқылы;
• тұрақты мəнді (константаны) меншіктеу арқылы;
• бұрын анықталған айнымалының мəнін беру арқылы;
2. кез келген сəтте айнымалының белгілі бір мəні болады немесе ол анықталмаған болып есептеледі;
3. айнымалыға соңғы берілген мəн оның алдыңғы мəнін жойып (өшіріп) жібереді. Айнымалыны таңдау (оқу) жəне оны
пайдалану айнымалының мəнін өзгертпейді.
Бұл пəннің заттық негізі болып (ЭЕМ-де шығару мақсатында) алгоритмдер мен программаларды құрастыру тəсілдері мен
құралдары саналады. Программалар құру үшін программалау
жүйелері пайдаланылады.
Программалау жүйесі – программалауды автоматтандыру
құралдары. Олар программа лау тілінен, осы тілдің трансляторы-
6
нан, құжаттамаларынан жəне де программаларды дайындау, əрі
орындау құралдарынан тұрады.
Транслятор – бір тілді екінші тілге аудару программасы. Ол
интерпретатор жəне компилятор сияқты екі топқа бөлінеді.
Интерпретатор – бұл командаларды аударып, оларды бірден
орындауға арналған трансляторлық программа.
Компилятор – бұл алгоритмдік тілдің конструкцияларын
толығымен машиналық кодқа түрлендіретін программа. Есептің
нəтижесін алу түшін машиналық кодты орындау керек.
1.2. Алгоритм қасиеттері
Алгоритм ұғымының мəнін ашатын негізгі қасиеттерінен
не месе оған қойылатын талаптардан қысқаша мағлұматтар келтірейік. ЭЕМ-де орын далуға тиіс алгоритмдерге мынадай талаптар қойылады:
1) ол анық əрі дəл өрнектелуі тиіс – детерминділік (анықтылық,
бір мəнділік) қасиеті, яғни алгоритмді басқаша түсінуге жол бермей, тек қана көрсетілген əрекеттерді айқын түрде орындауға
арналған нұсқаулар дəлдігі;
2) алгоритм шектелген уақыттан соң нəтиже беруі тиіс –
нəтижелілік қасиеті, мұнда белгілі бір əрекеттер саны атқарылған
соң, процестің қажетті нəтижесін алып, оны аяқтау мүмкіндігінің болуы немесе есептеу процесін ары қарай жалғастыруға
болмайтындығы жайлы мəлімет алуымыз қажет;
3) бір тектес есептерге жалпы бір ғана алгоритм қолданылуы
тиіс – жал пы лық қасиеті, ол алгоритмнің осы сияқты көптеген
басқа да есептерге қолданылу мүмкіндігінің болуын көрсетеді;
4) алгоритмді кішкене бөліктерге бөлу мүмкіндігі болуы
қажет – модульдік (дискреттілік, бөліктік) қасиет – есептеу
процесін жекеленген қарапайым операцияларға бөлу мүмкіндігінің болуы, яғни күрделі есепті атқарылуына күдік келтіруге
болмайтын шағын бөліктерге жіктеу орындалуы тиіс.
Біріншіден, алгоритм анық, əрі дəл өрнектелуі қажет. Онда
қандай қадамдар көрсетілсе, тек соны ғана орындау керек.
Есеп шығару жолына керектің бəрі біржақты анықталуы жəне
орындаушыға түсінікті, əрі нақты болуы тиіс. Екіншіден, алгоритм нəтижелі болуы керек. Əрекеттердің шектелген санынан
7
кейін белгілі бір уақыт ішінде қорытынды нəтиже алуымыз қа жет.
Əрбір алгоритм біршама бастапқы мəліметтердің болуын талап
етеді жəне іздеген нəтижені алуға жеткізеді. Мысалы, сандарды
қосу алгоритмі үшін бастапқы мəліметтерге қосылғыштар мəні
жатады, ал нəтижесі қосынды болады. Үшіншіден, алгоритмнің
жалпылық қасиеті болады, яғни бастапқы мəліметтер мəнінің
бір жиыны бір ғана нəтиже бе реді. Егер берілген мəліметтер
өзгерсе, нəтиже де өзгереді. Басқаша айтқанда, бір алгоритм бір
типтес есептердің əр түрлі алғашқы мəліметтері үшін əр түрлі
нəтижелер беруі тиіс. Мысалы, квадрат теңдеуді шешу алгоритмі
кез келген а, b, с мəндері үшін оның түбірін дұрыс табуы керек.
Төртіншіден, алгоритмнің үзік-үзік модульдерге бөліну қасиеті
болуы тиіс, яғни үлкен алгоритмді бірнеше кішкене алгоритмдерге жіктеуге əрқашанда мүмкіншілік болуы керек. Сондықтан
алгоритмді екі-үш бөлікке бөліп, оларды өзінше құра алатын
дəрежеде жұмыс істелуі қажет. Олар тек бірінің қорытындысын
келесі жолы керекті мəлімет ретінде қолдануы тиіс.
1.3. Алгоритмдерді бейнелеу жолдары
Алгоритмдерді ЭЕМ-де орындау үшін оларды алдын ала
жазып алу керек, яғни ол белгілі бір заңдылықпен өрнектелуі
тиіс. Жалпы алго ритмді жазып өрнектеу, яғни оларды бейнелеу
түрлеріне төмендегі тəсілдер жатады:
табиғи тіл сөздері арқылы;
• формулалық-сөздік тəсіл арқылы;
• графикалық түрде бейнелейтін блок-схемалар арқылы;
• псевдокодтар арқылы;
• құрылымдық диаграммалар арқылы;
• программалау тілі арқылы.
Алгоритмдерді табиғи тіл сөздері арқылы бейнелеуде –
есептеу кезеңдері мазмұны кез келген түрде табиғи тілде жазылады.
Осы тəсілмен келесі мысалдың алгоритмін жазып шығайық.
Сандар жиымы (массиві) берілген делік. Осы жиым сандарының
көрсетілген аралықта, яғни интервалда толығынан жататынын/
жатпайтынын тексеру керек. Интервал өзінің шекаралық А жəне
В мəндерімен берілген.
8
1. Бірінші санды аламыз.
2. Осы сан интервалға кіретінін салыстыру жолымен тексереміз;
егер жауабы «Иə» болса, онда 3-пунктке көшу, əйтпесе (жауабы – «Жоқ» болса) – 6-пунктке көшу.
3. Жиымның барлық элементтері қарастырылды ма? Егер жауабы «Иə» болса, онда 5-пунктке көшу, жауабы «Жоқ» болса,
– 4-пунктке көшу.
4. Келесі элементті қарастырамыз. 2-пунктке көшу.
5. Мынадай хабарлама шығару: барлық элементтер осы интервалға кіреді. 7-пунктке көшу.
6. Мынадай хабарлама шығару: элементтер интервалға толығынан кірмейді.
7. Соңы.
Бұл тəсілде көрнекілік жоқ, яғни толық формальдау мүмкіндігі жоқ. Жалпы алгоритмді табиғи тілде өрнектеу ЭЕМ-дерде
қолданылмайды, өйт кені онда дəлдік, нақтылық болмайды.
Алгоритмдерді формулалық-сөздік тəсіл арқылы бейнеленуі – тапсырманың математикалық символдар мен өрнектердің жəне сөздердің араласуымен берілуі болып табылады.
Мысалы, үшбұрыш ауданын оның үш қабырғасының ұзындығы арқылы есептеу алгоритмін құру керек болсын делік.
1. – үшбұрыштың жарты периметрін есептеу
p=(a+b+c)/2
2. – үшбұрыштың ауданын есептеу
S = p(p a p b p c − −− )( )
3. – нəтиже ретінде S мəнін шығарып, алгоритм жұмысын аяқтау.
Бұл тəсілді пайдаланғанда, алгоритмді кез келген деңгейде
айқын дап көрсетуге болады, бірақ формальды түрде анық бейнелеу қиын.
Алгоритмді графикалық түрде блок-схемалар арқылы
көр сету – оның логикалық құрылымын графикалық түрде бейнелеу болып саналады. Бұл – алгоритмдерді өрнектеудің ең көп
тара ған түрі. Мұнда мəліметтерді өңдеудің əрбір кезеңі атқа рылатын операцияға сəйкес əр түрлі геомет риялық фигуралар (блоктар) түрінде көрсетіледі.
9
Əр блоктың ішіне орындалатын іс-əрекеттің (амал дың) мазмұны жазылады. Символдардың (блоктардың) бір кіру жəне бір
шығу сызықта ры болуға тиіс.
Графикалық жолмен алгорит мдерді жазу үшін мемлекеттік
стандарт белгіленген, он да кез келген амал белгілі бір геометриялық фигурамен өрнектеледі. Ол фигуралар немесе блоктар
амалдар символы деп те аталады. Блоктар бағытталған сы зықтармен байла нысып, бірінен соң бірі орналасады. Жиі қолданылатын амалдар, яғни мəліметтерді ЭЕМ-ге енгізу, формуламен
есептеу, шарттар дың орындалуын тексеру, нəтижені қағазға басу
символдары 1-кестеде көрсетілген. Осы суреттегі көрсетілген
блок тардан (символдардан) алго ритм схемалары құрастыры лады. Алгоритмдер схемасымен ақпаратты өңдеудің əрбір сатысы
немесе орындалатын операциялар реті анықталады. Кейде алгоритмдер схемасын оның блок-схемасы деп те атайды.
1-кесте
Алгоритмдерді бейнелеу блоктары
Іс-əрекеттің аты Блоктың пішімі Атқаратын
жұмысы
Процесс Математикалық
өрнектерді есептеу
Басы – соңы Алгоритмдерді
бастау, аяқтау
Алдын ала
анықталған процесс
(подпрограмма)
Қосалқы
программаларға
кіру жəне шығу
10
Шешім Есеп шығару
жолын таңдау
Модификация Цикл басы
Құжат Нəтижені баспаға
(қағазға) шығару
Енгізу-шығару Мəліметтерді енгізу
жəне шығару
Түсініктеме Схеманы, формулаларды түсіндіру
Сонымен алгоритм блоктармен немесе геометриялық көп бұрыш тар түріндегі фигуралармен өрнектеледі.
Блок-схемалар дəстүрлі (кəдімгі) жəне құрылымды болып
екіге бөлінеді.
Табиғи тіл сөздері арқылы көрсетілген алгоритмдегі мысалды блок-схемалар арқылы бейнелеу төмендегі суретте көрсетілген. Онда берілген жиым сандарының көрсетілген аралықта,
11
яғни интервалда толығынан жататы нын/жатпайтынын тексеру
керек болатын. Интервал өзінің шекаралық А жəне В мəндерімен
берілген.


,0

Достарыңызбен бөлісу:




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

    Басты бет