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

Автор: Пользователь скрыл имя, 06 Января 2012 в 21:54, реферат

Описание работы

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

Работа содержит 1 файл

алгоритм касиеттери.doc

— 1.14 Мб (Скачать)

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

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

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

     Алгоритм  сөзі ІX ғасырда арифметикалық амалдардың орындалу тәртібін тұжырымдаған ұлы  өзбек математик әл-Хорезми атының латынша algorіthmy болып жазылуынан шыққан. Алғашында алгоритм тек көп таңбалы сандарға арифметикалық төрт амалды орындау ережесі мағынасында колданылған. Кейінірек бұл ұғым жалпы қойылған мәселені шешуге әкелетін әрекеттер тізбегін белгілеу үшін қолданылатын болды. 

     Алгоритм  жеке нұсқаулардан тұрады және нақты  орындаушыға арналып жазылады. Сондықтан  алгоритмде орындаушының мүмкіндіктері  ескерілуі керек, біздің жағдайымызда алгоритмдердің орындаушысы - электронды есептеуіш машина. Компьютерге алгоритм белгілі бір программалау тілінде жазылып енгізіледі, компьютер программа  нұсқауларын орындайды.

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

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

     Алгоритмнің нәтижелілігі деп санаулы қадам жасалған соң қарастырылған мәселенің не  шешімі табылатынын, не шешімі жоқтығы анықталатынын айтады.

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

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

     Қойылған  мәселені шешу үшін осы негізгі қасиеттерді  қанағаттандыратын алгоритм түзу мүмкін болмаса,  мәселе “алгоритмдік жолмен шешілмейтін” деп аталады да, оны  ЭЕМ-де шешу мүмкін болмайды.

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

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

     Компьютерде есепті шешу процесі - бұл адам және ЭЕМ арасындағы біріктірілген сала. Бұл процесті бірнеше тізбектелген этаптар түрінде көрсетуге болады. Адамға тиісті этаптар, шығармашылық саламен байланыстысы - қойылуы, алгоритмизациясы, есептің программасы және нәтижелерді талдауы, ал компьютерге тиістісі - өңделген алгоритммен сәйкес келетін ақпаратты өңдеу этаптары.

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

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

     Екінші  этап – математикалық немесе ақпараттық моделдеу. Бұл этаптың мақсаты – есеп компьютерде шешілуі үшін, есептің математикалық моделін құру.  Көптеген есептердің математикалық моделінде тек қана формулалар мен логикалық шарттар келтіріледі. Бұл этап бірінші этаппен тығыз байланыста және оны бөлек қарастырмасада болады,  бірақ құрылған  модель үшін бірнеше шешу әдістері танымал болуы мүмкін және олардың ішінен ең ыңғайлысын таңдау керек болады. Жоғарыда түсіндірілген есеп үшін екінші этап келесідей болады: компьютерге енгізілген сандарды А және В атауымен жадыда сақтаймыз,  содан соң бұл сандардың сомасының мағынасын А + В формуласы бойынша есептейміз және нәтижесін жадыда Summa атауымен сақтаймыз.

     Үшінші  этап – есептің алгоритмі. Математикалық түсіндіру негізінде шешудің алгоритмін құрастыру керек. Алгоритм дегеніміз - қойылған есептің шешуге бағытталған әрекеттер тобын іске асыру үшін атқарушыға түсінікті әрі дәл нұсқаулар жиынтығы. Алгоритмдерді орындайтындар  адамдар,  роботтар,  компьютерлер болуы мүмкін.

     Төртінші  этап - программалау. Программа - бұл орындаушы (компьютер) орындайтын әрекеттердің  жоспары.  Үшінші этапта құрылған алгоритм бойынша программа алгоритмдік тілде жазылады. 

     Бесінші этап – жазылған программаны компьютерге программалау жүйесінде еңгізу.

     Алтыншы  этап – тестілеу және программаны жөндеу. Бұл қадамда ЭЕМ қөмегімен алгоритм орындалады, қателер ізделінеді және олар жойылады. Программаны жөндеу – бұл күрделі және стандартты емес процесс.Күрделі программалар бөлек фрагменттермен тексеріледі.

     Жетінші этап -   жөнделген программаның орындалуы және нетижені талдау. Бұл қадамда программа жұмысқа қосылып, алғашқы керекті мәндер беріліп. программа нәтижесі алынады.  Шыққан нәтижелер талданып, нәтижелерге сай шешімдер, ұсыныстар, шығарулар жағдыланады.  Талдау шешімі бойынша есептің құрылған жолдары қайтадан қарастырылып, есептің бірінші қадамына қайтып оралып, есеп жаңадан шешілуі мүмкін.  

      

     Мысал-1:  
 

     Конус бетінің жақ ауданын және көлемін есептеңіз. Биіктігі Һ, радиусы R берілген. Нәтижені шығарыңыз. Sконус=πRl, V=? 
 

     1-ші  қадам: R-ді енгізу.

     2-ші  қадам: Һ-ты енгізу.

     3-ші  қадам: l-ды анықтау, l= ;

     4-ші  қадам: S-ті анықтау, S=πRl;

     5-ші  қадам: V-ны анықтау, V=1/3*πRһ;

     6-шы  қадам: S,V-ны шығару. 
 

     Мысал-2: 
 

     А=3, В=5,С=7 осы айнымалылардың мәні нешеге тең?Егер мына амалдар ретімен орындалса, а-меншіктеу.

     а:=а+1, в:=а+в, с:=а+в, а:= ; 
 

     1-ші  қадам: а:=4.

     2-ші  қадам: в:=9.

     3-ші  қадам: с:=13.

     4-ші  қадам: а:=±2.

     Жауабы: а=2,в=9,с=13. 
 
 

      Алгоритмнің жазылу түрлері мен  құрылымдық негіздері 

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

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

      Алгоритмді 

  • қарапайым тілмен (cөзбен және формулалар арқылы)  жазып көрсетуге
  • блок-схема (графиктік жол) арқылы кескіндеуге
  • алгоритмдік тілде (программалау тілінде) жазуға болады.

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

      Алгоритмді  графиктік тілде блок-схемалар арқылы  жазу - алгоритмнің құрылысын  көрнекі  көрсетуге мүмкіндік береді. Алгоритмнің блок-схемасы  бір-бірімен жалғастырылған геометриялық фигуралардың  тізбегінен тұрады. Әрбір блок алгоритмнің белгілі бір жеке нұсқауын өрнектейді, олардың орындалу тәртібі оларды қосатын сызықтардың бағытымен анықталады.

      Блоктардың өлшемі мен кескіні және алгоритмнің блок- схемасын түзу тәртібі МЕСТ (мемлекеттік стандарт)  19002-80  және МЕСТ 19003-80 программалау құжаттарының біртұтас жүйесі бойынша анықталған.

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

      Мәселені  ЭЕМ көмегімен шешу үшін шындығында,  компьютерге түсінікті  программалау тілінде, мысалы, QBasіc, Turbo Pascal, т.б. программа  жазу керек. Программа - компьютерге  түсінікті тілде жазылған алгоритм, олай болса алгоритмді ойша пысықтап алып, қажетті программалау тілінде программа  жазудан бастауға да болады, біз осыған ұмтылуымыз керек. Көп жағдайда программалаушылар  программалаудың технологияларын игеру жолын алгоритмнің блок-схемасын құрудан бастайды, бұл  алгоритм құрылымында қате кетпеуін бақылауға мүмкіндік береді.

      Блок-схема  тұрғызу кезінде блоктарды қолданылады (сызбалар). Блоктар шартты және шартсыз деп екі топқа бөлінеді. Шартсыз блоктар - есептеу-меншіктеуді атқаратын арифметикалық блок, мәліметтерді енгізу, баспаға беру және есептеуді бастау және аяқтау блоктарынан тұрады.

      Шартты блок алгоритмде шартқа байланысты  тармақталуды немесе қайталануды көрсету үшін қолданылады.

      Алгоритмде  колданылатын негізгі блоктарға  тоқталайық. Әр блок өз қызметін атқарып, әр қалай салынады.

 
 

Мысал 1. y=x2+3 мәнін есептеудің табиғи тілде жазылатын алгоритмі мен блок-схемасын құру керек. 
 

      1) табиғи тілде алгоритмді мынадай  түрде құру мүмкін:

      алг функция

            басы

               х мәнін  енгізу

               у-ке x2+3 мәнін меншіктеу

               у мәнін  баспаға шығару

            соңы. 
 
 

      2) алгоритмдік тілде бұл алгоритмді  келесі түрде жазады:

      алг функция

      енгізу х

      у: = x**2+3

      шығару у

      соңы. 
 

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

      3) блок-схема түрі: 
 

        
 
 
 
 
 
 
 
 
 
 

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

Информация о работе Алгоритм. Алгоритм қасиеттері