Алгоритмдердің концепциялары мен қасиеттері, алгоритмдерді жүзеге асыру

Автор работы: Пользователь скрыл имя, 07 Марта 2013 в 09:47, реферат

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

«Алгоритм» ұғымы информатикада ақпарат сияқты іргелі ұғымдар қатарына жатады. Олай болса алгоритм дегеніміз не?Алгоритм атауы араб математигі Әбу Жафар Мұхаммед ибн Мұса әл – Хорезми(763-850) есімінің латынша Algorithmi болып жазылуынан шыққан.Ол санаудың ондық жүйесінде көп орвынды сандар мен ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған.Әл-Хорзми көп орынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынды.Оның ұсынған тәсілін жақтаушыларды алгоритмдіктер деп, ал «алгоритм» ұғымын бірқатар қасиеттері бар ережелер жүйесі деп атаған. Алгоритм- берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру.

Файлы: 1 файл

Алгоритм реферат.doc

— 134.00 Кб (Скачать файл)

1. Алгоритмдердің концепциялары мен қасиеттері, алгоритмдерді жүзеге асыру

1.1. Алгоритм, программа ұғымдары.

       «Алгоритм» ұғымы информатикада  ақпарат сияқты іргелі ұғымдар  қатарына жатады. Олай болса алгоритм  дегеніміз не?Алгоритм атауы араб  математигі Әбу Жафар Мұхаммед ибн Мұса әл – Хорезми(763-850) есімінің латынша Algorithmi болып жазылуынан шыққан.Ол санаудың ондық жүйесінде көп орвынды сандар мен ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған.Әл-Хорзми көп орынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынды.Оның ұсынған тәсілін жақтаушыларды алгоритмдіктер деп, ал «алгоритм» ұғымын бірқатар қасиеттері бар ережелер жүйесі деп атаған. Алгоритм- берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру.

       Программа компьютерге түсінікті  командалардан тұрады. Осы командалар  тізбегін орындау соңында есептің  нәтижесі шығады. Порцессор программаның  құрамындағы командаларды кезекпен  орындап отырады. Командалар тізбегін- программа деп қарастыруға болады. Команда бір ғана қарапайым амалды орындау үшін берілген бұйрық ретінде қабылданады. Командалар: арифметикалық немесе логикалық амал; ақпарат тасымалдау командасы; берілген сандарды салыстыру командасы; нәтижені экранға , қағазға басып шығару командасы; келесі командаларға көшу тәртібін орындау; т.б. болып бөлінеді.

       Алгоритмді орындаушының рөлін,  негізінен, адам немесе автоматтандар-  алған құрылғы , яғни компьютер,  робот  т.б. атқарады. Мысалы, 
функциясын есептеу төмендегі қарапайым іс- әрекеттер- ден тұрады:

  1. ны х-ке көбейту оны R1 деп белгілеу;
  2. Оған b-ны қосу, нәтижесін R2 деп белгілеу;
  3. С-ны х-ке көбейту, оны R3 деп белгілеп;
  4. Одан d – ны азайту, оны R4 деп белгілеу:
  5. R2 – ні R4 ке көбейту, оны У деп белгілеу.

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

1)есеп шығару  жолы алгоритм түрінде өрнектелуі  қажет;

2)алгоритм программа  түрінде жазылуы тиіс;

3)программа  компьютер жадына енгізіліп, ретімен  орындалуы керек.

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

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

    Компьютерде  орындалуға тиіс алгоритмдерге  мынадай талаптар қойылады;

1)Алгоритм нық  әрі дәл өрнектелуі тиіс;

2) Оның модульдік  (бөлікке бөліну) қасиетті, яғни алгоритмді  кішкене бөліктерге бөлу мүмкіндігі болу қажет;

3) Алгоритм шектеулі  уақытта нәтие беруі тиіс , яғни  алгоритм қадамдарының саны шексіз  болмауы керек;

4) Бір тексте  есептерге жалпы бір ғана алгоритм  қолданылуы тиіс.

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

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

3) Алгоритмнің нәтижелі қасиеті. Кез- келген алгоритмнің нәтижесі болу керек.Әрекеттерінің шектелуі саннан кейін белгнілі бір уақытта қорытынды нәтиже алуымыз қажет. Әрбір алгоритм белгілі бір бастапқы мәліметтерді пайдаланады және олар нәтиже алуға жеткізеді.

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

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

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

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

1)алгоритм белгілі бір  орындаушыға арналып құрылу керек.

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

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

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

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

1)табиғи тілдегі жазылуы;

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

3) графиктік жолмен (блок  – цхема арқылы) жазу;

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

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

1)Блок- схманың  басын және соңын міндетті түрде көрсетіп тұратын блок болуы керек.

2) Блок схемада бірі  мен бірі қосылмай қалған блоктар  болмауы керек.

3) Блок схемада блоктар  орындалу реті бойынша тізбектеле  орындалуы қажет.

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

 

Іс-әрекеттің  аталуы

Блок-схема түрі

Негізгі әрекеттер

Процесс

 

Математикалық өрнектерді есептеу

Таңдау

жоқ                      иә

Есеп шығару жолын таңдау

Модификация

Цикл басы

Құжат

Нәтижені шығару, қағаздарға басу

Енгізу, шығару

Мәлімет енгізу

Бастау, аяқтау

Алгоритмдердің  басы, соңы

Қсалқы программа

Қосалқы программаға  кіру және шығу

Түсініктеме

Схеманың, формуланың түсініктемесі


 

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

    Алгоритмдерді  график түрінде жазу мысалдары. Берілген a формаласы бойынша есептеу алгоритмнің схемасын құрамыз. Мұнда формалаға есептеу тік төртбұрыш түріндегі процесс блогында кескінделеді. Онда теңдік белгісі – меншіктеу (тағайындау, беру) белгісі (: =) түрінде жазылады. Ал нәтижені қағазға басу үшін көпбұрышты құжат алу блогын пайдаланып оның ішінде нәтиженің атауларын жазады. Жоғарыда көрсетілген формаласы мен есептеу үшін а жіне b – ның сандық мәндерін компьютерге негізіп содан кейін қосу амалын орындап ақырында y ті қағазға басып шығарып, жұмысты аяқтаймыз.Осы алгоритмнің схемасы 1.2 суретте көрсетілгендей.




 

 



 



 

 


 


 

 

 

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

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

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

Интерпретатор- берілген программаның әрбір жолын (командасын ) жеке- жеке аударып отырып орындайтын трслятор түрі.

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

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

       Қазіргі кездегі кең тараған  программалау түрлері: Бейсик, Си, Дельфи, Паскаль т.б. болып табылады .


 


 

 

 

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

Информация о работе Алгоритмдердің концепциялары мен қасиеттері, алгоритмдерді жүзеге асыру