Автор: Пользователь скрыл имя, 19 Февраля 2013 в 20:08, реферат
Алгоритм – есепті шешу үшін орындаушыға біртіндеп рет – ретімен берілетін нұсқаулар жиынтығы.
лгоритм ұғымы қазіргі кезеңде информатиканың негізгі түсініктерінің бірі.
Күнделікті өмірде адам әр түрлі мақсатта қойылған есептермен кездесіп отырады. Ол есептерді математикалық, инженерлік, экономикалық басқару есептері деген аттармен жіктеп топтастыруға болады.
Есептің
шешімін табу бастапқы
Жалпы, алгоритм деп алға қойылған мақсатқа жету немесе берілген есепті шешу бағытында арнайы ережелер бойынша орындаушыға( адамға не компьютерге) жинақы түрде берілген реттелген нұсқаулар тізбегін айтады. Алгоритм сөзі ІХ ғасырда өмір сүрген ұлы өзбек математигі әл- Хорезмидің атымен аталған жазудың латындық формасы. Ол бірінші рет арифметикалық амалдарды орындаудың ережелерін тұжырымдаған ғалым. Кейінірек бұл ұғым алға қойылған мақсатқа жету үшін пайдалана бастады.
Алгоритм – есепті шешу үшін орындаушыға біртіндеп рет – ретімен берілетін нұсқаулар жиынтығы.
лгоритм ұғымы қазіргі кезеңде информатиканың негізгі түсініктерінің бірі.
ЭЕМ бір тактілік уақытта бір ғана қарапайым не логикалық операцияны орындай алатын етп құрылғандықтан, информацияны өңдеу үшін машинаға берілетін командалар(нұсқаулар) осы сияқты нұсқаулар тізбегінен тұрады.
Алгоритмдік
тілдің алфавиті мен пайдаланылатын символдар:
Латын,орыс алфавиттері мен араб цифрлары:
А, B,C,D…a,b,c,d..,А,Б,В,Г..а,б,
*- көбейту,/-бөлу,
** - дәрежеге шығару,:=-меншіктеу,
.-нүкте(нүкте- нақты санның бөлшек бөлігін бүтін бөлігінен ажырату үшін пайдаланылатын белгі).
Мысалы: а=10.3,b=5.4 және h=6 мәндерін пайдаланып,ЭЕМ-де трапеция ауданын есептеу керек болсын( а,b- табандары,һ-биіктігі).
Мұндағы өңделетін информация - трапеция ауданы. Өңдеу алгоритмі - ауданды есептеу формуласы:
B=(a+b)*h/2.
Осы формула бойынша трапеция ауданын есептеуге арналған қарапайым нұсқаулар тізбегін мынадай түрде жазуға болады:
1.10.3-ті a деп,5.4-ті b деп, 6-ны h деп белгілеу(a:=10.3;b:=5.4;h:=6);
2. a- ны b-ға қосып, нәтижені r1 деп белгілеу (r1:=a+b);
3.r1-ді h-қа көбейтіп, нәтижені r2 деп белгілеу (r2:=r1*h);
4. r2-ні 2-ге бөліп, нәтижені В деп белгілеу(В: = r2/2).
Осы сияқты жеке қадамдардан тұратын, формальды түрде жазылған реттелген нұсқаулар тізбегі алгоритм делінеді.
Алгоритмнің қасиеттері және оған қойылатын талаптар:
Алгоритмде пайдаланатын мәліметтер түрлі-түрлі болуы да мүмкін.
Алгоритмдік тіл — алгоритмді жазуға және оны пайдаланып программа құруға арналған тіл. Кез келген тіл cияқты ол символдар жиынтығынан (алфавит), алгоритмдерді жазу ережелерінен (синтаксис) және жазуларды түсіндіру мәтіндерінен (семантика) тұрады.
Алгоритм және программа түсініктері арасындағы айырмашылық дәл ажыратылмаған. Әдетте прогрмма деп нақты орындаушыға бағытталып жасалған есеп шығару алгоритмі құрылады. Нәтижесінде есепті шығарудың алгоритмі құрылатын кезең алгоритмдеу деп аталады. Алгоритмді жазудың бірнеше түрлері кездеседі және олар бір-бірінен көрнекілігімен, жинақтылығымен және т.б. көрсеткіштерімен ерекшеленеді. Көбірек пайдаланылатын түрлері:
Алгоритмнің сөзбен берілуі орындаушы адам бағытталған және оның жазылу түрлері әр түрлі болуы мүмкін. Алгоритмнің графиктік түрде жазылуы оның әр түрлі геометриялық фигуралардың, яғни блоктардың көмегі арқылы берілуі. Жиі пайдаланатын блоктар туралы түсініктер:
Блоктар мен бағыттық сызықтар
Әрбір блок кейбір әрекеттің орындалатыны білдіреді. Блоктардың бірлестігі алгоритм схемасын немесе блок схемасын құрайды.
Информацияны өндеу алгоритмін түрлі жолдармен құруға болды, мысалы:
-табиғи (сөздер арқылы күнделікті жазылатын) тілде;
-блок-схема түрінде;
-алгоритмдік тілде.
Табиғи
тілде жазылған алгоритм
Алгоритмнің бастапқы жолы алгоритм тақырыбы деп аталады. Алгоритмдік тіл табиғи тілде жазылған алгоритм сияқты өзіміз күнделікті пайдаланып жүрген тілге жуық, бірақ ол құрылымы нақтыланған, бірыңғай және дәл жазылатын арнайы символдар (белгілеулер) мен түрлі ережелер жүйесінен тұрады. Оны құрылымдық алгоритм деп те атайды. Мұнда пайдалануға рұқсат етілген символдар тілдің алфавитін, алгоритмді және берілгендерді жазу ережелерінің синтаксисін құрайды. Үйренуге арналған алгоритмдік тілде алфавит шектелмеген. Ол үшін ұлттық әріптерді, сандарды, программалау тілдерінде пайдаланылатын арифметикалық операция таңбаларын, түрлі жақшалар жөне тағы басқа символдарды алуға болады. Мысалы, латын, орыс, қазақ алфавиттерінің әріптері , оңдық санау жүйесінің цифрлары, арифметикалық амал таңбалары:
А, B,C,D…a,b,c,d..,А,Б,В,Г..а,б,
*- көбейту,/-бөлу,
** - дәрежеге шығару,:=-меншіктеу,
.-нүкте;
Sqrt(x)- х-тің квадрат түбірі;
Abs(x)- х-тің абсолют шамасы, т.б.
Алгоритмдік тілдің алфавитінде, мағынасы мен қолдану тәсіліне алдын ала түсініктеме беріліп қойылған, қызметші сөздер деп аталатын стандартты символдар тіркестері де бар.
Басқа сөздерден бөліп көрсету үшін әдетте олардың астын сызып қояды не курсив (көлбеу), жартылай қалың қаріптердің (шрифтердің) бірімен жазады. Кейбір қызметші сөздерді атап көрсете кетейік:
-алгоритм тақырыбы: алг, арг, нәт;
-алгоритмнің басталуы мен соңы: басы, соңы;
-тармақталу командасы: егер-онда-әйтпесе-бітті;
-тандау командасы: таңдау, жағдай.. жағдай-әйтпесе-бітті;
-қайталау командасы:
а) n рет циклі: n рет;
б) “әзірше” циклі: цб (цикл басы), әзір (әзірше), цс (цикл соңы);
в) “үшін” циклі: цб, үшін, дан( -ден, -тан, -тен, -нан, -нен),не бастап, дейін, қадам, келесі, цс.
-құрама шарттар: және, немесе, емес;
-функция(айнымалы): мән;
-өту n:
- егер Р өту n (Р- шарт).
Мұндағы өту( көшу) n және егер Р өту n- басқарушы операторлар. Олар алгоритм командаларының орындалу ретін өзгертуге арналған.
Информацияны өндеудің табиғи тілде жазылған алгоритмі жеке- жеке жолдар бойынша жазылатын нұсқаулардан тұратындықтан, мұндай алгоритмді кейде жолдық алгоритм деп те атайды. Жолдық алгоритмдер дүние жүзінде кең таралған Бейсик тілінде программа құру үшін өте ыңғайлы, себебі Бейсик тілінің алғашқы нұсқаларында, мысалы, қазіргі кезге дейін көп пайдаланатын GWBasic нұсқасында орындалатьн нұсқаулар осы сияқты түрде құрылады да, жолдар нөмірленіп қойылады. Бірақ Бейсиктің QВаsіс, QuikВаsіс, Visual Ваsіс сияқты нұсқалары және басқа көптеген программалау тілдері мұндай тәсілді қажет ете бермейді. Оларда құрылатын программалардың жазылуы алгоритмнің құрылымдық түрде жазылуына ұқсас.
Алгоритмнің басы қызметші сөзіне дейінгі алғашқы бөлігін алгоритм тақырыбы деп, басы…соңы қызметші сөздерінің аралығында орналасатын орындалуы тиіс командалар тізбегін алгоритм денесі деп атайды. Денеде ретімен кездесетін бірнеше командаларды бір жолға орналастыру да мүмкін. Бұл кезде олар нүктелі үтір арқылы ажыратылып, ал тақырыпта аргумент, нәтиже атаулары үтір арқылы бөлініп жазылады.
Егер алгоритм денесінде тақырыпта сипатталмаған айнымалылар кездессе, олар аралық шамалар деп аталады. Аралық шамалар алгоритмнің басы қызметші сөзінен кейін сипатталып қойылуы тиіс.
Алгоритм тақырыбына берілг, керек кызметші сөздерін жазып, олардың оң жағынан пайдаланушыларға арналған түсініктемелелік сөздерді жазып қоюға болады. Олар енгізілген жолдарды ЭЕМ орындамай тастап кетеді, яғни алгоритмге түсініктемелерді енгізбеу де мүмкін.
Алгоритмдік тілде алгоритмді басқару құрылымдары деп аталатын негіздік төрт құрылым бар:
Ілесу(тізбек), тармақталу, таңдау, қайталану(цикл).
Осы құрылымдарды не блок схеманы пайдаланып құрылған алгоритмдерді құрылымдық алгоритмдер деп атайды.
Кез келген алгоритмді мынадай
үш базалық алгоритмдік
Сызықтық алгоритмдер деп бір сериялы жай командалардан құралған алгоритмдерді атайды. Сонымен сызықты структура бірінен соң бірі орындалатын жай командалар тізбегі. Оны графиктік түрде тек әрекеттер блогын пайдаланып көрсетуге болады:
Құрама командаға тармақталу және қайталану командалары жатады. Олардың жай командадан айырмашылығы құраушы командалардың орындалуына және орындалмауына байланысты шарт енген7
Тармақталу структурасы. Шартқа байланысты командалар серияларының екеуінің біреуі орындалатын кезде орындалады.
Егер шарт сақталатын болса, 1-серияны, ал шарт орындалмаса 2-серияны орындау керек.
Циклдік(
тармақталу). Алгоритмдерде циклдік
структуралардың цикл-дейін