Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД инф Иняз.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.04 Mб
Скачать

Дәріс №8 есептеудің алгоритмдік шешімі, алгоритмдік күрделілікті талдау

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

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

Жоспары:

  1. Алгоритмдер концепциялары мен қасиеттері

  2. Есепті шешудің стратегиялары

3 Алгоритмдерді өңдеу стратегиясы

4 Блок-схема алгоритмнің графикалық өңделуі

1 Алгоритмдер концепциялары мен қасиеттері

«Алгоритм» сөзі атақты араб математигі Әбу Жафар Мухаммед ибн Мұса әл-Хорезми (763—850 жж.) есімінің латындық транскрипциясы болып табылады. Ол санаудың ондық санау жүйесінде көп орынды сандар мен арифметикалық амалдардың орындалу ережесін ұсынған. Алгоритм дегеніміз – бастапқы мәліметтерді пайдаланып іздеген нәтижеге жеткізетін әрекеттер тізбегі. Ондағы әрбір әрекет оның қадамы, қандай да бір әрекетті аяқтау туралы нұсқау алгоритм командасы, ал атқарушы жүзеге асыра алатын командалар жиынтығы атқарушының командалар жүйесі деп аталады.

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

Анықтылығы – алгоритмнің нұсқаулары және олардың орындалу реті бір мағыналық, бір мәндік түсінік беруге тиіс. Орындалу үрдісінде алгоритм еркіндікке жол бермеуі керек.

Жаппайлығы (бірдейлігі) – типі берілген қандай да бір есептер тобын шешуге қолдану мүмкіндігі қарастырылған және берілген аралықта бастапқы деректердің мәндері өзгергенде алгоритмнің дұрыс жұмыс жасауы.

Нәтижелілігі (шектілігі)– саны шектеулі реттелген нұсқауларды орындап аяқтағанда тиянақты бір нәтижеге жеткізуге тиіс.

Дискреттілігі – қарастырылып отырған ақпаратты өңдеу үрдісі ретімен жазылған тізбекті жеке-жеке қадамдарға бөлінуге тиіс. Әр қадам ол анық бірінен-бірі бөлек нұсқау (команда).

Түсініктілігі – орындаушы (адам, ЭЕМ) нұсқаулар жүйесі арқылы жазылған алгоритмді түсініп, орындай алатындығы.

2 Есепті шешудің стратегиялары

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

ЭЕМ–де ақпаратты өңдеу үрдісінде тек алгоритм құруды ғана емес, ақпараттың мазмұнын зерттеуден бастап, оның өңдеу қорытындысын тапқанға дейін өтетін барлық кезеңдерді барынша қадағалап, бір кезеңде қате кетсе, оны дұрыстап отыру керек. Бұл кезеңдер:

    1. Есептің қойылымы, яғни есептің мазмұнын зерттеу: не берілген – бастапқы деректерді тізбелеу; не керек – нәтижелерді тізбелеу.

2. Шығарылатын есептің математикалық моделін (үлгісін) құру. Әдетте математикалық модель – есепті жуықтап сипаттайтын, теңдеулер, формулалар, таңдау шарттары және шектеулер жиыны.

3. Математикалық моделі бойынша алгоритмді құру.

4. Құрылған алгоритмді қандай да бір программалау тілінде жазу.

5. Программаны өңдеу және тестілеу.

6. ЭЕМ-да есепті шығару және шыққан нәтижелерді талдау.

Мысалы: Квадрат теңдеудің түбірлерін табу алгоритімін құру керек.

Бірінші кезең: теңдеудің ax2 + bx + c = 0 формуласын жазамыз, мүндағы a, b, с – алғашқы деректер теңдеудің коэффициенттері, кез келген сандар және a ≠ 0. Нәтиже: теңдеудің түбірлерінің мәндері – x1 және x2 деп белгілейік.

Екінші кезең: Квадрат теңдеулерді шешу алгоритмі барлық жағдайды ескеруге тиіс.

Дискриминантты есептеуден бастайық: D = b2- 4ас. Енді квадрат теңдеудің түбірлерінің саны дискриминанттың таңбасына байланысты болғандықтан екі жағдайды қарастыру қажет:

Егер D<0 болса, онда нақты түбірлері жоқ.

Егер D ≥ 0 болса, онда екі нақты түбірлері болады, оларды есеп теу формулалары:

Х1 = Х2 =

Бұл кезеңде, D=0 болған жағдайында түбірлері тең болатыны онша маңызды емес.

Үшінші кезең: ауызша есептеу алгоритімін құрайық:

1. Нақты a, b, с мәндерін енгізу;

2. D –дискриминанттың мәнін D = b2 - 4ас формуласы бойынша есептеу;

3. Егер D<0 болса, онда онда түбірлері жоқ. Бітіру;

4. Егер D ≥ 0 болса, онда түбірлердің мәнін формулалар бойынша есептеу.

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

Бесінші кезең: программада болатын синтаксисті (мәтіндегі қателерді) және алгоритмдік қателерді іздеу үрдісін өңдеу, жөндеу (орысша отладка) делінеді. Мәтіндегі қателер – ең тез түзетілетін қателер. Алгоритмдік қателерді табу қиындау.

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

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