No history yet

Алгоритм қасиеттері

Алгоритмнің сиқырлы қасиеттері

Кез келген нұсқаулықты алгоритм деп атай алмаймыз. Нағыз алгоритм болуы үшін оның бірнеше маңызды қасиеті болуы керек. Бұл қасиеттер оның дұрыс, тиімді және кез келген жағдайда жұмыс істеуіне кепілдік береді. Енді осы қасиеттермен жеке-жеке танысайық.

Дискреттілік: бәрін қадамға бөл

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

Түсініктілік пен Анықтылық

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

Сонымен қатар, әрбір қадам нақты және екіұшты мағынасыз болуы тиіс. Бұл қасиет немесе детерминділік деп аталады. Мысалы, «сәл-пәл тұз қос» деген нұсқау анық емес. Ал «5 грамм тұз қос» деген нұсқау — нақты. Анық алгоритмде бірдей бастапқы деректермен орындалған әрекеттер әрқашан бірдей нәтиже беруі керек.

Анық емес нұсқауАнық нұсқау
Теледидарды қаттырақ қос.Теледидар дыбысын 5 бірлікке көтер.
Біраз уақыт күт.10 минут күт.
Шайға қант сал.Шайға 2 шай қасық қант сал.
Есікті қаттырақ жап.Есікті ілгегі сарт еткенше жап.

Нәтижелілік пен Жалпылық

Нәтижелілік қасиеті алгоритмнің белгілі бір қадамдар санынан кейін аяқталып, нақты нәтиже беруі тиіс екенін білдіреді. Егер нұсқаулар тізбегі ешқашан бітпейтін циклге кіріп кетсе, ол алгоритм болып саналмайды. Мысалы, квадрат теңдеуді шешу алгоритмі әрқашан нақты сандар (түбірлер) немесе «түбірі жоқ» деген жауаппен аяқталуы керек.

Соңғы маңызды қасиет — жалпылық. Жақсы алгоритм тек бір ғана жеке мәселені емес, сол типтес барлық есептерді шеше алуы тиіс. Мысалы, 2x+4=102x + 4 = 10 теңдеуін шешу алгоритмі тек осы теңдеу үшін ғана емес, кез келген ax+b=cax + b = c түріндегі сызықтық теңдеуді шешуге жарамды болуы керек. Бұл оның қолдану аясын кеңейтеді.

Lesson image

Осы бес қасиет — дискреттілік, түсініктілік, анықтылық, нәтижелілік және жалпылық — кез келген нұсқауды қуатты және сенімді алгоритмге айналдырады.

Алған біліміңізді тексеріп көрейік.

Quiz Questions 1/5

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

Quiz Questions 2/5

Төмендегі нұсқаулардың қайсысы алгоритмнің "анықтылық" қасиетін бұзады?

Керемет! Енді сіз алгоритмнің негізгі қасиеттерін білесіз және оларды кез келген нұсқаулықтан ажырата аласыз.