Ќазаќ мемлекеттік ќыздар педагогика институты



бет13/53
Дата06.06.2022
өлшемі1,32 Mb.
#36433
түріСабақ
1   ...   9   10   11   12   13   14   15   16   ...   53
Әдебиеттер
Негізгі әдебиеттер: 6 [99-141], 2 [21-30]
Қосымша әдебиеттер: 2 [36-39] – б, 6 [48-53] – б.
Бақылау сұрақтары

  1. Қайталау (цикл) операторлары қандай міндеттер атқарады?

  2. Цикл операторларында қайталауды жүзеге асыратын өрнектерге немесе шарттарға қандай талаптар қойылады?

  3. Алгоритмдегі бір текті әрекеттердің бірнеше рет орындалуын қандай командамен сипаттаймыз?

  4. Қайталану нешеге бөлінеді?

  5. Цикл құрылымының қандай үлгілерін білесің? Циклдың Әзір, Үшін үлгілерінің құрамы қандай, олар схемада және табиғи тілде қалай белгіленеді? Олардың айырмашылықтары неде?



Дәріс №6. Көмекші алгоритмдерді пайдалану (2с.)

  • Көмекші алгортимді шақыру командасындағы шынайы операндаларды жазу ережесі

  • Алгоритмнің сөзбен жазылуы

  • Рекурсия ұғымы

Біз осы уақытқа дейін алгоритмді аргумент операндасы мен нәтиже операндасы бар жалпыланған операция ретінде анықтадық. Мысалы мұндай тәсілмен натурал сандарды көбейту операциясын төмендегідей алгоритм ретінде қарастырдық:
Алг НАТКӨБ (нат i, j, m)
Арг i, j
Нәтиже m
Басы
Бүтін k
K:=j; m:=0
әзір k>0
цб
m:=m+i; k:=k-1
цс
бітті
Бұл алгоритм әрқайсысы I болып келген j қосылғыштардың қосындысы ретінде анықталатын натурал сандардың көбейтіндісіне сәйкес келеді. J операндасының мәнін сақтау үшін k аралық айнымалы енгіздік. Z:=x*y жазылуының орнына: аргументтері х, у, ал нәтижесі Z болып келген наткөб алгоритмін орындауды жазуға болады.
Бұл тәсілден төмендегідей маңызды салдар шығады: жалпыланған операция ретінде қарастырылған кез келген А алгоритмі, егер бұл жалпыланған операция В алгоритмінің орындалуы үшін қажет болса, онда А алгоритмін басқа кез келген В алгоритмінің орындалуында пайдалануы мүмкін. В алгоритіміне қатысты А алгоритмі көмекші алгоритм деп аталады.
Мысалы, кез келген N санның қосындысын есептеу үшін қосынды алгоритмі болсын. Онда кез келген N санның арифметикалық ортасын есептеу алгоритмінде сандарды қосындылау операциясын - қосынды алгоритмін пайдалануға болады.
Өз кезегінде сандардың арифметикалық ортасын табу алгоритмін басқа алгоритмдерде, мысалы эксперимент жүргізу барысында өлшеу нәтижелерін бағалау алгоритмінде пайдалануға болады.
Негізгі алгоритмде көмекші алгоритмді шақыру - көмекші алгоритмнің атауы бойынша шақырылады. Оның жазылу түрі төмендегідей:
<алгоритм аты> ( <формалді операндалар тізімі>)
Мұндағы <алгоритм аты> - көмекші алгоритмнің атауы;
<формальды операндалар тізімі> - негізгі алгоритмдегі айнымалылар атауы үтір арқылы жазылады және ол операндалар (аргументтер және нәтижелер) көмекші алгоритмге беріледі. Шақыру командасын орындау үшін көмекші алгоритмнің жазылуындағы операндалар атауының орнына шынайы операндалар тізіміндегі атауларды тізім бойынша қою қажет: жазылудағы бірінші операнданың орнына бірінші шынайы операнданы, екіншінің орнына – екінші және т.с.с одан кейін көмекші алгоритмді орындау. Бұл орындау көмекші алгоритмнің шақырылуы деп аталады.
Егер көмекші алгоритм жазылмаса, оны орындау мүмкін емес!
Көмекші алгоритмді шақыру командасы алгоритмді сызықты түрде жазылуында төмендегідей шақырылады: әлі сипатталмаған, бірақ атаулары анықталған операндалар жалпыланған оперцияларымен бірге көмекші алгоритмді шақыруда пайдаланылып, орындалуы тиіс; одан кейін негізгі алгоритмнің жазылуына енгізілген көмекші алгоритмдегі шамаларды сипаттау жазылады. Осы атылғандарды сандардың арифметикалық ортасын есептеу есебі үшін орындайық.
Бұл есепті шығару үшін аралық есеп берілген сандардың қосындысын есептеу мысалы арқылы қарастырайық. Бұл есепті шығару үшін сандардың қосындысын есептеу аралық есебін шешу қажет. Жалпыланған операцияны Қосынды деп белгілейік. Оның операндалары төмендегідей:
(нат N, нақ таб А[1:N, нақ АСР )
Арифметикалық ортаны табу алгоритмін төмендегідей белгілеулер енгізе отырып, былай жазуға болады: N - сандар мөлшері, А – сандар жиыны, АСР – арифметикалық орта.

алг АРИФОРТ (нат N, нақ таб А[1:N, нақ АСР )


арг N,A
нәт ACP
басы
нақ R
Қосынды (N,A [1:N], R)
ACP:=R/N
Соңы
Бұл негізгі алгоритмде қосынды көмекші алгоритмін щақыру командасы пайдаланылды. Енді қосынды алгоритмін жазайық:

алг Қосынды ( нат m, нақ таб X[1:m], нақ S)


арг M,X
нәт S
басы нат і
S:=0; i:=1
әзір I<=m
цб
S:=S+X[i] ;
i:=i+1
Цс
Соңы
Осымен сандардың арифметикалық ортасын табу алгоритмін жазу аяқталады. Әрине бұл алгоритмді көмекші алгоритмсіз де жазуға болады.

алг Қосынды ( нат N, нақ таб A[1:N], нақ R)


арг N,A
нәт R
басы
R:=0; i:=1
әзір I<=N
цб
R:=R+A[i] ;
i:=i+1
Цс
Соңы
Келесі мысал – берілген катеті бойынша гипотенузаның ұзындығын есептейтін функция. Мұнда екі аргумент бар.
алг нақ гипотенуза (нақ А,В)
басы
мән := SQRT(А**2+В**2)
соңы
Аса маңызды жалпылау көмекші алгоритм функцияның құрама командалармен, әсіресе циклмен өрнектелуі:
Алг нақ ЕСҮ (нақ А,В)
Басы
Егер А>В
Онда мән :=А
әйтпесе мән :=В
бітті
Соңы
алг бүт факт (бүт N)
басы бүт І,P
P:=1
цб үшін І бастап 1 дейін N
P:=P*І
цс


Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   ...   53




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

    Басты бет