Байланысты: аза стан Республикасыны Білім ж не ылым министрлігі аза мем
2-мысал. Формула бойынша есептеу алгоритмі. Есептің қойылысы:
Х=с(а- b) - мәнін есептеңіз.
Енді осы алгоритмнің сөзбен жаызлуын келтірейік.
Аргументтер: a, b, с.
Нәтиже: х
Аралық шамалар: Q, P.
Басы
Q:= aҺb
Р:= a-b
Р:=РҺс
Х:=Р- Q
Соңы
3-мысал. Сандардың қосындысын есептеу. Есептің қойылысы: сандар берілген, олардың қосындысын табу қажет.
Алдымен белгілеулер енгіземіз: n - сандар мөлшері, x1, x2,…,xn – берілген сандар, S – нәтиже.
Сандардың қосындысын есептеу үшін сызықтық алгоритмді пайдалануға болар еді.
1. Басы
2. S:=x1 3. S:=S+x2 …
N S:=S+xn 4. Соңы
Бірақ мұндай алгоритмдегі қадамдар саны өте көп. Егер n=1000 болса, 1002 команда жазуға тура келеді. Мұндай келеңсіздіктен құтылу үшін циклдық алгоритм құрамыз. Ол үшін циклдың қайталану шартын қосылған сандар мөлшерінің есептегішімен байланыстырамыз және қосылатын сандар индексін –көрсеткішін енгіземіз. Индекстің мәні айнымалының реттік нөмірі болып табылады, индекс үшін і айнымалысын енгіземіз. Нәтиже S айнымалысына меншіктеледі, яғни нәтижеге әрбір кезекті сан қосылып отырады. Нәтиже сақталатын S айнымалысының бастапқы мәні 0-ге, ал і қайталану параметрінің бастапқы мәнін 1-ге тең деп аламыз. і:=і+1 индекстің өзгерісімен, і n-нен артқанша алгоритмдегі негізгі операция S:=S+xі орындала береді. Бұл жағдайда і индексі қосылған сандар мөлшерін есептейтін есептегіштің ролін атқарып тұр. Есептегіштің мәні артып отыр, сондықтан ол тура есептегіш деп аталады.
Сонымен қатар, сандарды қосуды кері есептегішпен де жүргізуге болады, бұл жағдайда алдымен і= n деп аламыз да, әрбір қайталануда і-дің мәнін 1-ге азайтып отырамыз: і:=і-1. Бұл жағдайда қайталану і>0 болғанша қайталана береді.
А) Берілген n санның қосындысын тура есептегіш бойынша есептеу алгоритмі.
Аргументтер: n, x1, x2,…,xn Нәтиже: S
Аралық шама: і
1. Басы
2. S:=0
3. і: = 1
4. S:=S+xі 5. і:=і+1
6. Егер і<=n болса, онда 4-ке көшу
7. Соңы
ә) Берілген n санның қосындысын кері есептегіш бойынша есептеу алгоритмі.
Аргументтер: n, x1, x2,…,xn Нәтиже: S
Аралық шама: і
1. Басы
2. S:=0
3. і: = n
4. S:=S+xі 5. і:=і-1
6. Егер і>n болса, онда 4-ке көшу
7. Соңы
4-мысал. Берілген n санның ішінен ең үлкенін табу алгоритмі. Есептің қойылысы n саны берілген. Олардың ішіндегі ең үлкенін және оның реттік нөмірін анықтаңдар.
Алгоритмнің сөзбен жазылуы:
Аргументтер: n, x1, x2,…,xn Нәтижелер: R - сандардың ең үлкен мәні, m - ең үлкен санның реттік нөмірі
Аралық шама: і
1. Басы
2. R:=x1; m:=1
3. і: =2
4. егер xі<=R, онда 6-ға көшу
5. R:=xі; m: =і
6. і: =і+1
7. Егер і <= n , онда 4-ке көшу
8. Соңы
Алгоритм циклдік болып табылады, тура есептегішпен басқарылады және R-ге x1-ді, ал m-ге 1-ді меншіктеуден басталады. Циклдің есептегіші екінші мәннен басталады, бірінші мән барлық сандар жиынының ішіндегі үлкені деп есептелінеді. Бұл алгоритм n<=2 болған жағдайда дұрыс жұмыс істейді. Мұнда шарт n>=2 болған жағдайда орындалды деп есептелінеді.
Сонымен, алгоритм құрылымы бойынша үш типке бөлінеді: сызықтық, тармақталған және қайталану.
Алгоритмді орындаудағы негізгі мақсат – қандай да бір нәтиже алу. Нәтижесі болмайтын есепті шешу алгоритмін құру мүмкін емес. Сондықтан әрбір алгоритмді орындағанда міндетті түрде қандай да бір нәтиже алынуы тиіс. Сонымен, алгоритмнің бірінші қасиеті – оның нәтижелілігі болып табылады.
Алгоритмдегі аргументтердің мәнін өзгерте отырып, әртүрлі нәтижелер алуға болады. Бұдан құрылған алгоритмді бір типті есептер жиынтығы үшін пайдалануға болатынын көреміз. Бұл алгоритмнің жалпылық қасиеті деп аталады.
Алгоритмді орындау үшін алгоритмдегі аргументтер мен нәтижелер, құрылымы, нұсқаулар мазмұны орындаушыға түсінікті болуы тиіс. Бұл алгоритмнің түсініктілік қасиеті болып табылады.
Кез келген алгоритм шектеулі қадамдар тізбегі түрінде қарастырылады. Оның орындалуы жеке қадамдардың орындалуымен қамтамасыз етіледі, кезекте тұрған қадам алдындағы қадам орындалып біткеннен кейін орындалады. Осылайша алгоритмдегі барлық қадамдар орындалады. Бұл алгоритмнің қадамының жинақы, үздік болатынын көрсетеді және бұл оның дискреттілік қасиеті болып саналады.
Алгоритмнің ықшамдылығы деп оның қысқалылығын, қадамдар санының аздығын түсінеміз. Алгоритмнің ықшамдылығына n саннның қосындысын табу алгоримі мысал болады. Бұл мысалда циклды қолдану арқылы алгоритм қадамы қысқарды. Алгоритмнің тиімділігі оның ықшамдылығымен, алгоритмде міндетті түрде жалпылық қасиетін сақтай отырып, есептеу мөлшерін барынша азайтумен анықталады.