Алгоритмнің күрделілігін есептеуге қолдалынатын тәсілдер



Жоспар

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3

І.Алгоритмдеу негіздері.
1.1 Алгоритмді жазу тәсілдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
1.2Алгоритмнің әр пункті геометриялық фигура блоктың
ішінде бейнелену ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..8

ІІ.Алгоритмнің күрделілігін есептеуге қолдалынатын тәсілдер.
2.1 Алгоритм есепті шешу және практикада колдану тәсілі ... ... ... ... ... ...14
2.2Есептеуге қолданылатын тәсілдер. ... ... ... ... ... ... ... ... ... ... ... 16

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .24

Әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26
Кіріспе.
Алгоритм - информатика пәнінің негізгі ұғымдарының бірі. Компьютерді қоғам өмірінің қай саласында болмасын пайдалаыа білу үшін алгоритм ұғымын меңгеру керек.
«Алгоритм» сөзі мағынасы жағынан нұскау, жарлық, рецепт; ереже, тәртіп, заң, жоба сөздеріне синоним болып келеді. Алгоритм сөзі Орта Азияның ортағасырлық ұлы ғалымы - Мұхамед ибн Мұса әл-Хорезмидің атымен байланысты шыкқан. Ол өзінің «Арифметикалық трактат» деген еңбегінде арифметикалық амалдарды орындау тәртібін ұсынған. Сөйтіп, арифметикалық амалдарды орындау ережесі, геометриялық фигураларды салу ережесі, сөздердің жазылуының грамматикалық ережесі т.с. сияқтылар алгоритм деп аталып кеткен.
А н ы қ т а м а. Алгоритм деп алдын-ала анықгалған мақсатқа жету үшін, есептің шешімін табу ушін орьшдаушыға (адамға, компьютерге және т.б.) берілген түсінікті нұсқаулардың тізбегін айтады.
Алгоритмді кез келген басқа жазулардан мына мағыналық қасиеттері арқылы ажыратамыз. Олар алгоритмнің түсініктілігі, дискреттігі (жалғыздығы), анықтығы, нәтижелігі, жалпыға бірдейлігі Берілген орындаушы үшін алгоритмнің түсініктілігі деп,орындаушының жарлықтарының жүйесіне, құрамына енетін іс-әрекеттерді орындау, тексеру туралы жазбалар мазмұнын айтады, Алгоритм ЭЕМ кабылдайтын және сол бойынша кажетті амалдарды орындай алатын нұсқаулар түрінде берілуі керек.
Д и с к р е т т і л і г і - деп алгоритм жарлықтарының тізбектелген ретпен орындалуын айтады. Оның бір жарлығының орындалуының соңы мен келесі жарлықтың басына сілтеме дәл, нақты анықталады. Алгоритм, әрқайсысы ЭЕМ-ді белгілі бір қадам, әрекет жасататын нұсқаулардың тізбегінен тұрады. Әрбір жарлықты орындағанда алгоритмнің орындалуы аяқталды ма, не келесі қандай жарлық орындалады, сол туралы дәл мәлімет болуы шарт, яғни алгоритмде нұсқаулардың орындалу реті анықталған болуы керек. Себебі, ЭЕМ үшін әрбір нұсқауды орындағаннан кейін келесі қай жарлықты орындау (не істеу керектігі) анық көрсетілуі қажет.
Алгоритм шектеулі қадаларды орындап болған соң нәтижеге алып келеді. Нәтижеде, алгоритм орындалған соң есептің шешуінің аяқталуы, не кандай да бір себептерге байланысты есепті шешуді жалғастыру мүмкін еместігі туралы мәлімет болуы мүмкін. Алгоритмнің ж а л п ы л ы ғ ы деп оны бірдей типтегі (түрдегі) есептерді шешу үшін қолдануға болатындығын айтады.
ӘДЕБИЕТТЕР

1.Макарова Н.В. и др. Информатика: Учебник. М., 2001.
2.Каймин В.А. Информатика: Учебник. М., 2001.
3.Конюхоеский П.В., Колесова Д.Н. идр. Экономическая информатика: Учеб-
ник. М.;СПб.,2001.
4.Острейковский В.А. Информатика. М., 2000.
5.АлексеевА.П. Информатика-2002. М., 2002.
6.Балапанов Е.Қ., Бөрібаев Б., Дәулетқулов А. Информатикадан 30 сабақ.
Алматы, 1998.
7.Балапанов Е.Қ., Бөрібаев Б., Дәулетқулов А. Новые информационные тех-
нологии. 30 уроков по информатике. Алматы, 2002.
8.ЕржковК, ҚараевЖ., СтифутжаН. Информатика, 7-сыиып. Алматы, 2001.
9.Камардинов О. Еселтеуіш техника және программалау. Алматы: РБК, 1997.
10.Камардинов О. Информатика. Бірінші бөлім. Шымкент, 2000.
11.Камардинов О. Информатика. Екінші бөлім. Шымкент, 2000.

Жоспар

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... 3 І.Алгеритмдеу негіздері.

1.1 Алгоритмді жазу
тәсілдері ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
5

1.2Алгоритмнің әр пункті геометриялық фигура блоктың

ішінде
бейнелену ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...8

ІІ.Алгаритмнің күрделілігін есептеуге қолдалынатын тәсілдер.

2.1 Алгоритм есепті шешу және практикада колдану
тәсілі ... ... ... ... ... ...14

2.2Есептеуге қолданылатын тәсілдер.
... ... ... ... ... ... ... ... ... ... ... .16

Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ...24

Әдебиеттер
тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ..26

Кіріспе.

Алгоритм - информатика пәнінің негізгі ұғымдарының бірі. Компьютерді
қоғам өмірінің қай саласында болмасын пайдалаыа білу үшін алгоритм ұғымын
меңгеру керек.
Алгоритм сөзі мағынасы жағынан нұскау, жарлық, рецепт; ереже, тәртіп,
заң, жоба сөздеріне синоним болып келеді. Алгоритм сөзі Орта Азияның
ортағасырлық ұлы ғалымы - Мұхамед ибн Мұса әл-Хорезмидің атымен байланысты
шыкқан. Ол өзінің Арифметикалық трактат деген еңбегінде арифметикалық
амалдарды орындау тәртібін ұсынған. Сөйтіп, арифметикалық амалдарды орындау
ережесі, геометриялық фигураларды салу ережесі, сөздердің жазылуының
грамматикалық ережесі т.с. сияқтылар алгоритм деп аталып кеткен.
А н ы қ т а м а. Алгоритм деп алдын-ала анықгалған мақсатқа жету үшін,
есептің шешімін табу ушін орьшдаушыға (адамға, компьютерге және т.б.)
берілген түсінікті нұсқаулардың тізбегін айтады.
Алгоритмді кез келген басқа жазулардан мына мағыналық қасиеттері арқылы
ажыратамыз. Олар алгоритмнің түсініктілігі, дискреттігі (жалғыздығы),
анықтығы, нәтижелігі, жалпыға бірдейлігі Берілген орындаушы үшін
алгоритмнің түсініктілігі деп,орындаушының жарлықтарының жүйесіне, құрамына
енетін іс-әрекеттерді орындау, тексеру туралы жазбалар мазмұнын айтады,
Алгоритм ЭЕМ кабылдайтын және сол бойынша кажетті амалдарды орындай алатын
нұсқаулар түрінде берілуі керек.
Д и с к р е т т і л і г і - деп алгоритм жарлықтарының тізбектелген
ретпен орындалуын айтады. Оның бір жарлығының орындалуының соңы мен келесі
жарлықтың басына сілтеме дәл, нақты анықталады. Алгоритм, әрқайсысы ЭЕМ-ді
белгілі бір қадам, әрекет жасататын нұсқаулардың тізбегінен тұрады. Әрбір
жарлықты орындағанда алгоритмнің орындалуы аяқталды ма, не келесі қандай
жарлық орындалады, сол туралы дәл мәлімет болуы шарт, яғни алгоритмде
нұсқаулардың орындалу реті анықталған болуы керек. Себебі, ЭЕМ үшін әрбір
нұсқауды орындағаннан кейін келесі қай жарлықты орындау (не істеу
керектігі) анық көрсетілуі қажет.
Алгоритм шектеулі қадаларды орындап болған соң нәтижеге алып келеді.
Нәтижеде, алгоритм орындалған соң есептің шешуінің аяқталуы, не кандай да
бір себептерге байланысты есепті шешуді жалғастыру мүмкін еместігі туралы
мәлімет болуы мүмкін. Алгоритмнің ж а л п ы л ы ғ ы деп оны бірдей типтегі
(түрдегі) есептерді шешу үшін қолдануға болатындығын айтады.

І.Алгеритмдеу негіздері.

1.1 Алгоритмді жазу тәсілдері.

Алгоритмдегі жарлықтардың, құраулардың бергілеу түріне қарай алгоритмді
жазу әдістерін ажыратуға болады. Орындаушының өзіне тән біліміне байланысты
арнайы таңбалар, сөздер, іс-қимылдар, схемалар арқылы алгоритмдерді жазудың
тәсілдерін ұйымдастыруға болады.
Мысалы, цирктегі құстар мен жануарларға алгоритмдер арнайы дауыстар, іс-
қимылдар арқылы, автокөлікті жүргізу алгоритмі, телевизор, магнитофонды
жұмыс істету алгоритмі арнайы пернелфді басу, бұрау арқылы жүзеге
асырылады; тек. әртүрлі таңбалармен, белгілермен берілген алгоритмдер көп
кездеседі.
Орындаушы - адам болатын жағдайда алгоритм көбінесе сөзбен жазылады.
Сөзбен жазылған алгоритмдер, ретпен орналасқан сөйлемдерден (нұсқаулардан)
тұрады. Сонымен бірге алгоритмдер арнайы таңбалар, блок-схемалар,
формулалар, кесте түрінде, ноталар (сазгерлер үшін) арқылы жазылады.
Енді сөзбен жазылған алгоритмге мысалдар қарастырайық.
1-есеп. Екі бүтін санның ең үлкен ортақ бөлгішті (ЕҮОБ) табу керек. Бұл
есепті шешу, үлкен санды кішісінен бөлу арқылы, сонан соң кіші санды
калдыққа бөлу, бірінші калдықты екінші калдыққа бөлу және Т.С.С. қалдық нөл
болғанша тізбектей бөлу арқылы жүзеге асырылады. Саны бойынша ең соңғы
белгіш нәтиже болып табылады.
Бастапқы берілген екі бүтін санды М және N деп белгілейік.

Бөлуді кайталанып отыратын азайту амалымен алмастырайық. Онда алгоритмді
келесі түрде ұйымдастыруға болады:

алгоритмі. Ол үшін бізге кез келген п нақты саннан тұратын шекті тізбек а1
а2,а3,а4 берілсін. Сандардың саны аз болған жағдайда максимум мен минимумды
оңай көрсетуге болады. Ал егер п үлкен болса, онда есеп қиындайды. Бірнеше
жүздеген көп разрядты сандардың ішінен максимум мен минимумын табудың
киындығы жоғары болады. Сондықтан, бір анықталған (тәртіпке) жүйеге сүйену
қажет. Мысалы, алғашқы мән ретінде максимум үшін де, минимум үшін де
алғашқы тұрған санды алайық. Ары қарай ретімен әрбір санды максимумның
мәнімен салыстырамыз. Егер келесі сан максимумнан үлкен болса, онда оны
максимумның жада мәні ретінде қабылдаймыз (алғашқы мән "ұмытылып" отырады),
онан соң келесі тұрған санға өтеміз. Егер қарастырылып отырған сан
максимумнан үлкен болмаса, онда оны минимум ретінде алынған санмен
салыстырамыз. Егер осы сан минимумнан кіші болса, оны минимумның жаңа мәні
ретінде кабылдаймыз; егер бұл сан минимумнан кіші болмаса, келесі санды
таңдауға өтеміз. Осындай эдіспен сандардың бәрін салыстыру арқылы максимум
мен минимумның соңғы мәнін табамыз. Осы айтылған ережені сөзбен жазу
тәсілімен былай жазуға болады:

1.2Алгоритмнің әр пункті геометриялық фигура блоктың ішінде бейнелену.

Блок-схема - арнайы геометриалык фигуралар, нұскамалар арқылы орындалатын
әрекеттер мен олардың орындалуы ретін көрсегетін графиктік схемалармен
берілетін алгоритм. Алгоритмнің әр пункті геометриялық фигура блоктың
ішінде бейнеленеді. Орындалатын іс-әрекеттердің түріне қарай оларға әртүрлі
геометриялық фигуралар сәйкес келеді. Геометриялык фигуралар арасындағы
байланыс жолдары нұсқама арқылы көрсетіледі.
Алгоритмді блок-схема түрінде жазғанда арнайы қабылданған мем-лекеттік
үлгі бойынша мына блоктарды пайдаланады: алгоритмнің басы мен соңын элиппс
(алгоритмнің аргументтері мен нәтижелерін), алгоритмде мәліметтерді енгізу
мен шығаруды параллелограмм, акпаратты өңдеуді (есептеулерді) тіктөрт
бұрыш, шарттарды тексеру ромб фигураларының ішіне жазылады (1- кесте).
Блоктардың аткаратын қызметіне байланысты олардың ішіне және жанына
түсініктеме сөздер жазылады. Олар оқуға ыңғайлы болуы керек.
Блок-схема алгоритмді сипаттаудың графикалық тәсілі. Блок-схема деп,
бағыталған байланыс нұсқамалармен геометриялық фигуралар формасында
алгоритмді графикалык түрде жазуды айтады. Ал әрбір фигура алгоритмнің бір
әрекетін бейнелейді олардың арасындағы нұсқамалар фигурадан фиғураға
алмасуды білдіреді. Блок-схемада алго-ритмді басқару көрнекілігін анық
көруге болады.
Блок-схема пайдаланатын геометриялық фигуралар блоктың -таңбалар, ал,
байланыс - нұсқамалар ағын сызығы деи аталады. Ағығн сызығы фигурадан
фигураға өту жольш көрсету, яғни ақпараттарды және мәліметтерді өңдеудің
ретін көрсету ушін пайдаланылады.
Әрбір блок-схеманың басы және соңы болады. Барлық блокта: ағыны
сызықтармен байланысады. Әрбір блокта, басы , соңы қызметші блоктардан
баскасында, ақпарат ағынының бір кіру және бір немесе екі шығу сызықтары
болады.
Енді жоғарыда келтірілген есептердің алгоритмдерін блок -схема түрінде
жазайық.

2-есеп. Шекті сандық тізбектің максимумы мен минимумын табу
алгоритімінің блок-схемасы 2 — суреттте келтірілді.
Сонымен, блок-схема алгоритмді бейнелеудің, жазудың ыңғайлы әрі көрнекі
тэсілі болып табылады. Мұвда алгоритмді бейнелеуде неғұрлым анық болу үшін
бөліктерге қадамдарға бөлуге ешқандай шектеу койылмайды.

ІІ.Алгаритмнің күрделілігін есептеуге қолдалынатын тәсілдер.

2.1 Алгоритм есепті шешу және практикада колдану тәсілі.

Есепті шешу алгоритмі деп жазбаша жарлықтардың тізімі аталады, яғни оны
орындау барысында есептің шешімін, не берілген мәндерде есептің шешімі жоқ
екендігі туралы жауап алуға болады. Жалпы жағдайда есептер әр түрде бола
алады. Мысалы, мектепке бару және үйге кайту, жолайрығындағы бағдаршамнан
өту, шәй қайнату, тамақ пісіру және тх.с. есептер өмірде көптеген түрде
кездеседі. Мұндай есептерді шешу алгоритмдерін тұрмыстың алгоритмдер дел
атауға болады. Адамзат кызметінде көптеген өмірлік тәжірибеден туындайтын
әрекеттер, қоғам заңдары әртүрлі алгоритмдер жиынтығынан тұрады.
Алгоритм түсінігі есепті шешу әдісі түсінігімен тығыз байланысты. Әдіс
деп катаң негізделген есепті шешу тәсілі мен оны қолдануға болатын берілген
мәліметтер бойынша есептер тобыи анықтау максатында құрылған тәсілді
зерттеуді айтады.
Ал, алгоритм есепті шешу және практикада колдану әдісін сипаттау болып
табылады. Ол әдісті зерттеу нәтижесі бойынша құрылады, Алгоритм есепті шешу
үшін орындалатын әрекеттердің катад жазбаларының реттелғен тізбегі болып
табылады. Бұл әрекеттер шешу әдісінен туындайды.
Алгоритмнің қасиетті сапаларының бірі - орындаушыдан шешу әдісін, яғни
жазылған әрекеттерді не үшін орындау қажеттігін түсінуді талап етпейді.
Орындаушыдан жазылған әрекеттерді орындай алуды және кағидаларды түсінуді
талап етеді.
Орындаушы алгоритмді қағида-жарлықтардың ізімен "механикалық" түрде
орындайды. ЭЕМ-ді, алгоритмді орындау құралы ретінде пайдалану мүмкіндігі
осыған негізделген.
Алгоритм әрқашанда орындаушы үшін жазылады. Ол адам, ЭЕМ және т.б.
құрылғы болуы мүмкін. Алгоритмді сипаттау, орындаушыға жазылған эрекеттер
түсінікті болуы үшін соның тілінде жүзеге асырылады.
Қосымша толықтырушы түсінік енгізейік. Жеке жазбаларды (сөйлемдерді) -
алгоритм жарлығын жарлық деп атайык. Алгоритм жарлықтар тізбеғі болып
табылады. Орындаушы түсінетін және орындай алатын барлық жарлықтар жиынын
орындаушының ж а р л ы қ т а р жүйесі деп атайық. Сонымен, орындаушының
барлық іс-әрекетін сипаттайтын жарлықтар жүйесі орындаушының тілі болып
табылады.
Мысалы, ЭЕМ үшін жарлықтар жүйесі - қосу, азайту. көбейту, белу және
сандарды салыстыру (дәрежелеу).
Сондықтан, алгоритм әр кезде де орындаушының жарлықтар жүйесінің
мүмкіндігіне байланысты жазылады.
Алгоритмнің мынадай түрлері белгілі - есептеу алгоритмдері, диа-логтык
алгоритмдер, графикалық алгоритмдер, мәліметтерді өндеу ал-горитмдері,
роботтарды басқару алгоритмдері, және т.б.
Алгоритмді жазудың бірнеше тәсілдері қалыптасқан: формула, кесте, сөз.
графикалық, алгоритмдік программалау тілінде сызықты түрде және т.б. Біз
жоғарыда алгоритмді сөз түрінде, блок-схема түрінде сипаттауға
тоқталғанбыз. Сол графикалык сипаттауды алгоритмнің блок-схемасы деп
атайды. Алгоритмді программалау тілінде жазуды программа деп атаймыз.
Программапау тілі деп, орындаушы ЭЕМ үшін жазылған алгоритмді сипаттайтын
тілді айтамыз. Ал бағдарламалау деп алгоритмді бағдарламалау тілінде жазу
процесін айтады.
Программалардың мынадай түрлері бар: ЭЕМ-ге арналған програм-малар,
станокты, роботтарды және баска кұрылғыларды басқаруға ар-налған
программалар.
Келесі параграфтарда бірнеше есептерді шешу алгоритмдерін сөз жүзінде
және блок-схема тілінде жазып көрсетуге тоқталамыз.
Алгоритмді сөз жүзінде сипаттағанда, жазғанда, әрбір жарлықты нөмірлеп
отырамыз, себебі, ол алгоритмді орындау барысында кайда көшу, өту
керектігін көрсетіп отыру ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Стандартты хэштеу алгоритмдері
Алгоритмнің тиімділігі мен күрделілігі. Тьюринг, Пост абстрактілі машиналарымен жұмыс
Алгоритмдер теориясының негізгі ұғымдары
Екілік-ондық сандарды қосындылау (Д1 кодында)
Алгоритмдер теориясы. Анықтамасы. Қасиеттері. Түрлері. Алгоритмді жазу әдістері. Алгоритм модельдері
Алгоритмдердің күрделілігі
АЛГОРИТМДЕР ТЕОРИЯСЫН ИНТЕЛЛЕКТУАЛДЫ ЖҮЙЕЛЕРДЕ ҚОЛДАНЫЛУЫНА ҚАТЫСТЫ ТЕРМИНДЕРГЕ ШОЛУ
Сандық қатарлар
Симметриялық кілтпен шифрлау
Алгоритмдер теориясы
Пәндер