Алгоритм және оның қасиеттері. 3
Алгоритм және оның қасиеттері
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорианың объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.
Алгоритм деп берілген есепті шешудегі жасалатын әректтерді дәл және қарапайым етіп жазуды айтамыз. Басқаша айтқанда алға қойылған мақсатқа жетуде немесе берілген есепті шешуде орындаушыға біртіндеп қандай әректтер жасау керектігін дәл көрсететін нұсқауларды немесе іздеп отырған нәтижені алу мақсатында деректермен атқарылатын әрекеттерін орындалу реттілігін анықтайтын жарлықты алгоритм дейміз. Алгоритм белгілі бір реттіліепен бірінен соң бірі орындалатын бірнеше қадамдардан тұрады. Алгоритмнің әрбір қадамы бір немесе бірнеше қарапайым операцияларды қамтиды. Алгоритм ұғымның мәнін аша түсетін оның мынадай қасиеттері бар:
1. Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.
2. Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді. Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді. Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.
3. Бір алгоритмнің
өзін бірнеше есептің шешімін
табу үшін пайдалану
Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.
4. Әрбір алгоритм
белгілі бір бастапқы
Осы айтылғандардан алгоритім бастапқы деректерді пайдаланып іздеген нәтижеге қол жеткізетін реттелген әрекеттер тізбегі деген қлрытынды жасруға болады. Мұндай әректтер тізбегінің орындалуы алгоритмдік процесс, ал әрбір әрекет оның қадамы, әрбір нұсқау алгоритмнің қалыптасуы болып табылады.
Алгоритмнің
ең маңызды қасиеті жоғарыда
анықталғандық қасиетінде
Сонымен алгоритм
туралы мына төмендегідей
- алгоритмдер әртүрлі есептерді шешу үшін пайдаланылады;
- алгоритмді атқарушыдан аз білім талап етілетіндіктен есеп шығаруды айтарлықтай оңайлатады;
- әрбір алгоритм толық аяқталған әрекеттерді орындайтын атқарушыға арналған командалардан тұрады;
- атқарушы орындайтын командалардың жиынын атқарушының командалар жүйесі д.а.
- алгоритмдегі командалар атқарушының командалар жүйесінен алынады;
- алгоритмдегі командалар тізбегінің орындалуы алгоритмдік процесс д.а;
- алгоритмдегі әрбір команда оның қадамы д.а;
- санаулы әрекеттен кейін ғана алгоритмде іздеген нәтижеге қол жетеді;
- алгоритмдегі әрбір әрекет атқарушыға түсінікті және нақты болуы керек;
- бірнеше есептің шешімін табу үшін бір ғана алгоритмді пайдалануға болады;
- құрылған алгоритмді атқару есептің мазмұнына ой жүгіртіп оны талдауды қажет етпейді, тек командаларды формальді орындай береді;
- алгоритм әрбір атқарушыға арналып құрылады;
- алгоритмнің командалары атқарушыға түсінікті және орындалатын болуы тиіс;
- алгоритмді атқаруды тек адамға емес компьютерге де жүктеуге болатындығы есептеу процесін автоматтандыруға мүмкүндік береді;
Алгоритмнің
құрамы дараланып және оның
әрекеттері анықталғаннан
Алгоритмдік
тілді падалану оны құрушының
өзіне ғана түсінікті
Алгоритмді
жазудың бірнеше тәсілдері бар.
Алгоритмді бейнелеу
әдістерінің ішінен біз блок –
схема мен мектептік
Блок-схема
Блок схема компьютерге программалар жасау практикасында кеңінен қолданылатын алгоритмдерді жазудың графикалық тәсілі, басқаша айтқанда, алгоритмнің логикалық құрылымын график түрінде бейнелейтін тіл десек болады. Есепті шешу алгоритімінің блок схемасын құрған кезде есепті шығару процесі кезең дерге бөлініді. Әрбір кезең есептелетін операцияның сипатына байланысты белгілі конфигурациясы бар бір геометриялық фигурамен (блокпен) белгіленеді. Мысалы, жұмыр (сопақ), параллелограмм, тіктөртбұрыш, ромб т.с.с.
Блок деп
аталатын мұндай фигуралардың
ішіне кезеңдердің мазмұны
Төмендегі 1-кестеде стандартты блок – схема тілінің алфавиті берілген. Әрбір блок схеманың басы және соңы деп аталатын блоктары болады.
Басы, соңы
блоктарынан басқа әрбір
Атқаратын
қызметі жағынан блоктар
Блоктардың
анықтайтын әрекеттері, яғни түсініктер
блокты бейнелейтін
Деректерді
енгізу блогы есептеу
Деректерді
өңдеу блогы қандай да бір
формула бойынша айнымалының
мәнін есептеу процесін
Бұл блокта формуланың сол жағында тұрған айнымалылар оның жағына да қатыса алады, бұл дегеніміз айнымалының жаңа мәнін бұрын есептелген ескі мәнінен шығарып алудың қажеттігін көрсетеді.
Шартты тексеру
блогы есептелу процесінің
Аталуы Бейнеленуі Мазмұны
Жұмыр
Параллеограм
Тіктөртбұрыш
Жоғары жағы
жиектелген
тіктөртбұрыш
Екі шеті
жиектелген
тіктөртбұрыш
Магниттік диск
Ия Жоқ
Ромб
Жұмыр
Түйін
Байланыссыз
екі сызықтың
қиылысуы
Сызықтар ағыны
Сызықтар
ағынының бағытын
өзгерту
Түсініктеме
--------
Сызықтық алгоритм
Егер алгоритмнің N қадамы болса және олардың барлығы басынан аяғына дейін бірінен соң бірі тізбектеле орындалатын болса, онда ондай алгоритмді сызықтық алгоритм деп атаймыз. Сызықтық алгоритмнің блок – схемасы мына суретте бейнеленген.
Алгоритмнің басы
Мәліметтерді енгізу
Осы алгритмнің барлық N қадамы жоғары-
дан төмен қарай тізбектеле орындалады.
Нәтижелерді шығару
Алгоритмнің соңы
Мысалы, табаны В, биіктігі Н үшбұрышьң ауданын табатын алгоритмді келтірейік.
Тармақталушы алгоритм
Егер алгоритм қадамдарының тізбектеле орындалуы қандай да бір шартқа тәуелді өзгеретін болса, онда ондай алгоритмді тармақталушы алгоритм дейміз.
Алгоритм орындалғанда "иә" немесе " жоқ " деген мәндердің бірі қабылждай алатын логикалық өрнекті шарт деп атаймыз.
Кез келген шарт мынадай үш бөлімнен тұрады:
- сол жақ бөлігі;
- салыстыру таңбасы;
- оң жақ бөлігі.
Мысалдар келтірейік: А > 0, Х < А+С, К = 6
Мына төменде алгоритмнің
тармақталушының бөлігінің
егер < шарт >
онда "иә" тармағы
әйтпесе " жоқ " тармағы
бітті
Мұнда егер, онда, әйтпесе, бітті – қызметші сөздер, егер команданың басын, ал бітті команданың аяқталуын білдіреді.
↓
иә жоқ
↓
Тармақталу командасы мына тшөмендегідей қысқаша түрде пайдаланылады:
егер < шарт >
онда
"иә" тармағы
бітті
↓
жоқ иә
↓
Шартты тексеру блогын сіздер блок – схемада ромбымен таңбалаймыз. Егер шарт дұрыс болса, онда есепті шешу үшін "иә" тармағы пайдаланылады, ал оған кері жағдайда - "жоқ" тармағы пайдаланылады.
Мысал үшін ах + вх + с = 0 квадрат теңдеуінің нақты түбірлерін табуға және нақты түбірлері болмаған жағдайда оған сәйкес хабарды баспаға шығаратын тармақталу алгоритмнің блок – схемасын келтірейік.
↓
↓
↓
↓
иә жоқ
↓
↓
Қайталанушы алгоритм
Егер берілген шамаға тәуелді алгоритмнің белгілі бір тізбектелген қадамдарды бірнеше рет орындалатын болса, онда ондай алгоритмді қайталанушы (циклдік) алгоритм дейміз. Бұл берілген шама цикл параметрі деп аталады.
Кез келген қайталанушы алгогритмде ол аяқталу үшін параметр болуы тиіс. Параметр белгілі бір мәнге ие болған кезде цикл аяқталатын болады.
Мына төменде циклдің басында параметр үшін қойылған шартты тесеруге арналған қайталаушы алгоритмнің алгоритмдік тілде жазылуы және блок – схемасмының жалпы түрі берілген.
Әзір < шарт >
ЦБ
команадалар тізбегі
ЦС
Мұнда әзір, ЦБ (циклдің басы), ЦС (циклдің соңы) – қызметші сөздер, ЦБ және ЦС әзірше шарт орындалғанға дейін орындалатын командалар тізбегін таңбалайды.
↓
↓
жоқ
↓
↓
Ал мына суретте циклдің соңында параметр үшін қойылған шартты тексеруге арналған қайталанушы алгоритмнің блок – схемасының жалпы түрі бейнеленген.
↓
↓
↓
↓
↓
жоқ
↓
↓
Осы соңғы циклге мысал келтірейік.
S = К К- қосындысын есептейік және оның нәтижесін баспаға шығаратын қайталанушы алгоритмнің блок – схемасы мына суреттегідей болады.
↓
↓
↓
↓
↓
↓
↓
Алгоритмдерді құрылымын негізге
ала отырып құрастыру
Компьютер есеп шығару үшін алгоритм құру арнайы дағдыны талап ететін жұмыс. Бұл жағдайда әсіресе бөтен алгоритмдерді оқуда алгоритм мынандай талаптарды қанағаттандыруы тиіс:
- Түсінікті әрі өте жеңіл қабылданатын болуы;
- Алгоритмнің жеңіл тексерлетін болуы;
- Құрылымын түгел өзгерпей-ақ өзін модификациялауға мүмкіндік беруі.
Осы аталғандарға
қол жеткізу үшін
Ілесу, тармақталу және қайталану негізге алынады, яғни кез келген күрделі алгоритм осы құрылымдардан құрастырылады. Мысал ретінде үш санның ішінен үлкенін іздеу алгоритмін қарастырайық.
Блок-схемадан көрініп тұрғанындай бұл алгоритм екі тармақталудың ілесуі болып табылады. Бірінші ілесуде (тармақталу командасының толық үлгіде жазылуы) а және в сандарының үлкені ізделінеді және олардың үлкені у-ке меншіктеледі.
Екінші ілесуде
(тармақталу командасының

- Алгоритм және оның қасиеттері
- Алгоритм және оның қасиеттері
- Алгоритм және оның қасиеттері
- Алгоритм және оның қасиеттері
- Алгоритм және оның қасиеттері
- Алгоритм және оның қасиеттері. Программалау және программа туралы түсінік
- Алгоритм және оның түрлері
- Алгоритм диагностического поиска и тактика врача при заболеваниях с лихорадочным синдромом
- Алгоритм Диффи-Хеллмана
- «Алгоритмдік модель» блогы
- Алгоритм доказывания организации азартных игр под видом стимулирующих лотерей
- Алгоритм дослідження морозива
- Алгоритм, его свойства. Виды алгоритмов. Формы записи алгоритмов
- Алгоритм және оның қасиеттері