ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 38
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Жоспары:
-
Алгоритм -
Алгоритм қасиеттері -
Алгоритмді талдау -
Алгоритм түрлері
Алгоритм, алгорифм (ағылш.: algorіthm, algorіsmus — Әл-Хорезмидің атынан шыққан) — бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.) тәсілдерінің дәл сипаттамасы. Алгоритм — математика мен кибернетиканың негізгі ұғымдарының бірі. Алгоритмді орындау алгоритмдік үрдіс деп аталады.Жалпы Алгоритм деп алдын ала не істеу керек екені дәл көрсетілген есептеу үрдісін айтады. Есептеу үрдісі қандай болса да алғашқы мәндерден бастап, сол арқылы толық анықталған қорытынды шыққанша жүргізіледі. Алгоритм ұғымының алғышартына алгоритмдік үрдіспен қатар мүмкін болатын алғашқы деректер жиынтығының нұсқауы және қорытынды алуға байланысты жүргізілген үрдістің аяқталғандығын көрсететін ереже енеді. Белгілі бір бастапқы деректердің жиынына қолданылған Алгоритм тиянақты қорытындыға келмеуі немесе есептеу барысы аяқталмай тоқталуы мүмкін. Егер есептеу үрдісі белгілі бір қорытынды алумен аяқталса (не аяқталмай қалса), онда Алгоритм мүмкін болатын бастапқы деректерге қолданылады (не қолдануға болмайды) деп ұйғарылады.
Алгоритм — қазіргі математикада, оның ішінде электронды есептеуіш машинада қолданылатын негізгі ұғымдардың бірі. Белгілі бір теңдеу түбірінің жуық мәнін кез келген дәлдікпен табу оған арналған Алгоритммен есептеледі. Компьютердің кең қолданылуына байланысты Алгоритм жаңа мағынаға ие болды. Берілген есепті шешу барысында орындаушыға біртіндеп қандай әрекеттер жасау керектігін түсінікті әрі дәл көрсететін нұсқау да Алгоритм деп аталады. Алгоритмді орындаушы — адам, Компьютер немесе робот. Әрбір нұсқау — бұйрық. Ал орындаушының жүзеге асыра алатын бұйрықтар жиыны бұйрықтар жүйесі деп аталады. Мысалы, у = (ax + b) (cx – d) функциясын есептеу ЭЕМ-да мынадай әрекеттерден құралады:
-
А-ны x-ке көбейту R1 деп, -
Оған b-ны қосу нәтижесі R2 деп, -
С-ны х-ке көбейту R3 деп, -
Сх-тан d-ны алу R4 деп, -
R2-ні R4-ке көбейту у деп белгіленеді.
Алгоритмнің бұйрықтары бірінен кейін бірі кезекпен орындалады. Бағдарлама Алгоритм тілінде жазу, бейнелеу мағынасын береді. Компьютерде Алгоритмнің сызықты, тармақты, циклді, логикалық, модельдік, параллельдік, тізбекті т.б. түрлері қолданылады.
Алгоритм ұғымның мәнін аша түсетін оның мынадай қасиеттері бар:
Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.
Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді. Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді. Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.
Бір алгоритмнің өзін бірнеше есептің шешімін табу үшін пайдалану мүмкіндігі, яғни бастапқы деректер мәндерінің жиынына пайдаланылу мүмкіндігі бар. Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.
Әрбір алгоритм белгілі бір бастапқы деректердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Мысалы, екі санды қосу алгоритмнде қосылғыштар бастапқы деректерге, ал қосынды нәтижеге жатады. Осылайша, алгоритмдегі әрекеттердің белгілі бір санның орындалуынан кейін қажетті нәтиже алу мүмкіндігі алгоритімнің нәтижелілігі деп аталады.Алгоритмдерді талдаудың негізгі әдістері:
-
Сөздік-формулалық (табиғи тілдерде); -
Құрылымды немесе блок-схемалар; -
Арнайы алгоритмдік тілдерді қолдану;
Граф-схемалар көмегімен (граф – әр сызық екі нүктені қосатын, нүктелер мен сызықтар жиынтығы). Нүктелер шыңдар деп аталады, сызықтар – қабырғалар;
Петри торының көмегімен.
Бағдарламаны жасау алдында көбінесе сөздік-формулалық және блок-схемалық әдістер қолданылады. Кейде ассемблер сияқты төменгі деңгейдегі тілдерде бағдарламаны жасау алдында, бағдарлама алгоритмін кейбір жоғарғы деңгейдегі бағдарламалау тілінің конструкцияларын қолдана отырып жазады. Күрделі бағдарламалық жүйелер алгоритмдерінің бағдарламалық сипаттамаларын қолдану ыңғайлы. Мысалы, ОЖ жұмыс істеу принциптерін сипаттау үшін Алголға ұқсас жоғарғы деңгейдегі бағдарламалау тілі қолданылды.
Сөздік-формулалық әдісте алгоритм әрекеттер тізбегін анықтайтын, құрамында формулалары бар мәтіндік түрде жазылады. Мысалы, келесі өрнектің мәнін анықтау қажет болсын: у=2а-(х+6).Сөздік-формулалық әдістпен бұл есептің алгоритмі келесі түрде жазылуы мүмкін:
-
А және х мәндерін енгізіңіз. -
Х және 6-ны қосу. -
А на 2-ге көбейту. -
2а –дан (х+6) қосындысын азайту. -
Өрнектің есептелген нәтижесі ретінде у-ті шығару.
Блок-схемада бағдарламадағы барлық тармақтар, циклдар және ішкі бағдарламалар болуы қажет.
Сызықтық алгоритм — белгілі бір мақсатқа жету үшін амалдардың бірінен соң бірі тізбектеле орындалуы.
Тармақталған алгоритм — алгоритм қадамдарының тізбектеле орындалуы қандай да бір шартқа тәуелді өзгеретін алгоритм.
Циклдік алгоритм — белгілі бір шартқа байланысты әрекеттер тізбегінің бірнеше рет қайталануы нәтижесіне тәуелді алгоритм.
Алгоритмнің орындалуы
Күнделікті тұрмыстан алгоритмге бір мысал келтірейік. Студент болу үшін алгоритм мынадай қадамдарын орындау керек:
1. Мектепті тәмамдау.
2. Бірыңғай ұлттық тестілеуден өту.
3. Керекті құжаттарды, аттестаттың түпнұсқасын емтихан қорытыдысымен белгілі бір мамандықты көрсетіп, конкурсқа тапсыру.
4. Конкурстан өту.
5. Таңдаған мамандығы бойынша оқитын жоғары оқу орнын анықтау.
Алгоритм қасиеттері
Алгоритмнің айқын, дәл өрнектелу қасиеті. Алгоритмде келтірілген барлық әрекеттердің мағынасы айқын, нықты анықталған болу керек. Онда қандай қадам көрсетілсе тек солар ғана орындалуы қажет. Есеп шығаруға керектің бәрі анықталуы және орындаушыға түсінікті әрі нақты болуы тиіс.
1. Алгоритмнің үзіктілік қасиеті. Алгоритмнің үзік модульдерге бөлінуі, яғни алгоритмді бірнеше кішкене алгоритмдерге жіктеу мүмкін болу керек. Бұл қасиеті бойынша алгоритм аралық нәтиже беретіндей бірнеше ықшам бөліктерге, ал олар одан кіші қадамдарға бөлінеді, яғни мәселені шешу процесінің тізбегі жеке-жеке әрекеттер жіктеледі. Сондықтан алгоритмді, екі-үш бқлікке бөліп, оларды жеке қабылдай алатын дәрежеде жұмыс істелінуі қажет.
2. Алгоритмнің нәтижелік қасиеті. Кез-келген алгоритмнің нәтижесі болу керек. Әрекеттердің шектеулі санынан кейін белгілі бір уақытта қорытынды нәтиже алуымыз қажет.
3. Алгоритмнің жалпылық немесе ортақтық қасиеті. Алгоритм құрғанда белгілі бір жеке проблемаға қарсы ғана арналмай, осы тәріздес мәселелер шешуін толық қамтуға мүмкіндік беретіндей етіп құрылуы қажет.
4. Алгоритмнің формальды орындалуы. Алгоритмді орындағанда орындаушы оныәр командасының мағынасын түсінуі де, түсінбеуі де мүмкін. Бірақ алгоритмнің әр командасы орындаушының нақты бір әрекетті орындауын талап етеді.
Алгоритм жазу жолдары
Алгоритмді компьютерде орындау үшін оларды алдын-ала жазып алу керек. Жалпы жағдайда, алгоритм жазудың келесі түрлері қабылданған:
1) табиғи тілдегі жазылуы;
2) белгілі бір түйінді сөздер – терминдер арқылы қысқаша тізбекті түрде жазу;
3) графиктік жолмен жазу;
4) программалау тілдеріндегі жазылуы.
Бірақ табиғи тілде жазылған алгоритм компьютерде орындалмайды, өйткені бұл жағдайда дәлдік, нақтылық сақталмайды. Алгоритмдерді графиктік жолмен жазу, кейіннен осы программалау тіліндегі программаға айналдыру жұмысы мемлекеттік стандартпен бекітіліп, ақпарат өндеу жұмысында кеңінен қолданылады.
Алгоритмнің графиктік түрде кескінделуі
Алгоритмнің графиктік түрде кескінделуі – кең таралған әдіс. Бұл – жазудың түсінікті, анық, көрнекі түрі болып табылады. Алгоритмдерді графиктік жолмен жазудың мемлекеттік стандарты анықталған. Онда кез-келген амал белгілі бір геометриялық фигурамен өрнектеледі. Олар фигуралар немесе блоктар, амалдар немесе операциялар символы деп те аталады. Блоктар бағытталған сызықтармен байланысып, бірінен соң бірі ретімен орналысады. Ақпарат өңдеудің әрбір буыны немесе орындалатын операциялар реті алгоритм схемасымен айқындалады. Алгоритм схемасын оның блок схемасы деп аталады.Алгоритм блоктарының ішінде орындалатын іс-әрекеттің мазмұны жазылады. Блок схемада пайдаланатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады.
Алгоритмдік тіл және программалау тілі ұғымы
Алгоритмдік тіл деп – орындалатын әрекеттерді, амалдарды бірыңғай және дәл жазуға арналған, өз тіліміздің кейбір сөздерімен пайдаланатын белгілер мен ережелер жүйесін айтады. Алгоритмдік тіл бір жағынан табиғи тілге жақын, сондықтан оны қарапайым мәтін түрінде жазады және оқиды. Алгоритмдік тіл – математикалық белгілер сандар, шамалар мен функция атаулары, арифметикалық белгілері, жақша және басқа да символдармен қатар белгілі бір қызмет атқаратын терминдер қамтиды. Алгоритмдік тілде мәтін құруға пайдаланылатын қарапайым белгілер – тілдің символдары деп, ал ондай символдар жиынын – оның алфавиті деп атайды.
Алгоритмдерді жәні алгоритмдік тілде құрылған амалдар тізбегін компьютерге түсінікті командалар мәтіні түрінде жазуға арналған жасанды тілдерді программалау тілдері деп атайды. Паскаль, Си, Дельфи, Бейсик, Фортран тәрізді программалау тілдері – ағылшын тіліндегі кейбір сөздерді алгоритм құруда кеңінен пайдаланады. Ол сөздердің саны онша көп емес, оларды түйінді сөздер деп атайды. Әр компьютердің өзінің машиналық тілі болады, ол командалар тілі немесе кодтар тілі деп аталады. Алгоритмдік тілде және программалау тілінде программа жазу – ыңғайлы болып табылады. Оларды белгілі бір машинада орындау үшін сол программалау тілін машина тіліне автоматты түрде аударатын түрлендіргіш программалар болуы керек, оларды транслятор деп атайды. Трансляторлар үш түрге бөлінеді: интерпретатор, компилятор және ассемблер.
Интерпретатор – берілген прогамманың әрбір жолын (командасын) жеке-жеке аударып отырып орындайтын транслятор түрі.
Компилятор – бірден барлық программа мәтінін толық аударып машина тіліндегі бір модуль түріне келтіреді де, сонан соң сол модульді компьютер жадына қайта жазып алып, оны кейін тек біздің алауымыз бойынша орындайды.
Пайдаланылған әдебиеттер
Орысша-қазақша түсіндірме сөздік: Механика / Жалпы редакциясын басқарған э.ғ.д., профессор Е. Арын — Павлодар : «ЭКО»ҒӨФ. 2007 жыл.