1. Н.С.Заурбеков ,Б.Ж.Жұмажанов Алгоритмдеу және программалау тілдері
2. М.Қ.Байжұманов Информатика
Дәріс 2 - 3
Тақырып: Алгоритм , оның анықтамасы .Программалау тілі анықтамасы
Мақсаты: Алгоритм анықтамасын оның қасиеттерін білу
Дәріс мазмұны
Программалау тілдері
Тарихта бiрiншi болып процедуралық құрылымды программа пайда болды. Оған сәйкес программист өз программасында қандай процедураны қолданатынын таңдап және бұл процедураларды iске асыру үшiн қандай алгоритм керек екенiн алдын-ала бiлу қажет едi. Бұл идеяның пайда болу себебi, есептеулердiң алгоритмдiк жағынан толығымен зерттелмегендiгi. Процедураға -бейiмделген тiлдiң мысалы ретiнде Фортран, СИ тiлiн айтуға болады. Бұл тiл бiрiншi және кең қолданылатын программалау тiлдердiң бiрi. Процедуралы құрылымды идеяның қолданылуы - программалардың кеңейтiлген кiтапханаларын құруға түрткі болды. Олардың қүрамында көптеген қарапайым процедуралар орын алады.
Есептеушi математика аумағында программалау жүйесi процедурадан ауыса бастады. Нәтижесiнде күрделi программалардың эффективтi құрылуы - берiлгендердiң дұрыс қолдануын бақылау екендiгi анықталды. Бақылау - компиляция кезеңiнде де, программаны жүргiзу кезiнде де жүзеге асырылуы тиiс. Әйтпесе, практика көрсеткендей күрделi программалық проектiлердi құрудың қиыншылықтары артады. Бұл мәселенi шешудiң нәтижесiнде Алгол-60, кейiнiрек СИ, Модуль-2, Си және т.б.программалау тiлдерi жетiлдi.
Симула-67 тiлiнен бастап программалауда объектi-бейiмделген (ориентирлi) деген жаңа әдiс пайда болды. Оның негiзгi идеясы берiлгендер мен бұл берiлгендердi өңдеу процедуралармен бiртұтас объект етiп байланыстыру б.т. Объектiлердiң мiнездi көрсеткiшi, берiлгендердiң инкапсуляциясы мен алгоритмдердi өңдеу. Нәтижесiнде берiлгендер де, процедуралар да көбiнесе өзiндiк мағынасын жоғалтады.
Объектi-бейiмделген программалаудың(ОБП) мұмкiншiлiктерi толығымен тек кұрделi программа қүрғанда көрiнедi. Сонымен қатар, инкапсуляция объектiге ерекше «өзiндiк» программаның басқа бөлiктерiнен тәуелсiз қасиет бередi. Дұрыс құрылған объектiде керектi iс-әрекеттi жүзеге асыру үшiн қажеттi берiлгендер және оларды өңдейтiн процедуралар бар.
Кез келген есепті шешу - берілген алғашқы мәліметтерді пайдаланып, нәтиже алуды талап етеді, яғни есепті шешу алгоритмі алғашқы мәліметтерді бірте-бірте тұрлендіру арқылы нәтиже алу жолын сипаттайды.
Көздеген мақсатқа жетуге, қойылған мәселені шешуге бағытталған әрекеттер тобын іске асыру үшін атқарушыға түсінікті әрі дәл нұсқаулар жиынтығы алгоритм деп анықталады.
Алгоритм сөзі ІX ғасырда арифметикалық амалдардың орындалу тәртібін тұжырымдаған ұлы математик әл-Хорезми атының латынша algorіthmy болып жазылуынан шыққан. Алғашында алгоритм тек көп таңбалы сандарға арифметикалық төрт амалды орындау ережесі мағынасында колданылған. Кейінірек бұл ұғым жалпы қойылған мәселені шешуге әкелетін әрекеттер тізбегін белгілеу ұшін қолданылатын болды.
Алгоритм жеке нұсқаулардан тұрады және нақты орындаушыға арналып жазылады. Сондықтан алгоритмде орындаушының мүмкіндіктері ескерілуі керек, біздің жағдайымызда алгоритмдердің орындаушысы - электронды есептеуіш машина. Компьютерге алгоритм белгілі бір программалау тілінде жазылып енгізіледі, компьютер программа нұсқауларын орындайды.
Қойылған мәселені шешудің дұрыс алгоритмі мынадай негізгі қасиеттерге ие болуы тиіс: анықтылық, нәтижелілік, жалпыламалық, дискреттік.
Алгоритмнің анықтылығы дегенде оның әрбір адымы әртүрлі түсінікке жол бермейтін, дәл және анық түжырымдалған ережені түсінеміз.
Алгоритмнің нәтижелілігі деп санаулы қадам жасалған соң қарастырылған мәселенің не шешімі табылатынын, не шешімі жоқтығы анықталатынын айтады.
Алгоритмнің жалпыламалық қасиеті бойынша дайын алгоритммен жеке бір есепті ғана емес, осы есеп класына тиісті кезкелген есепті шығару мҺмкін болуы тиіс.
Алгоритмнің дискреттілігі деп алгоритммен анықталған есептеулерді жекеленген кезеңдерге (қарапайым амалдарға) жіктеуді ұғамыз.
Қойылған мәселені шешу үшін осы негізгі қасиеттерді қанағаттандыратын алгоритм түзу мүмкін болмаса, мәселе “алгоритмдік жолмен шешілмейтін” деп аталады да, оны ЭЕМ-де шешу мүмкін болмайды.
Көп жағдайда алгоритм түзу дайын алгоритмді орындаудан қиын соғады, есепті шығару жолын білгенмен оны жинақты алгоритм түрінде көрсету оңай емес. Егер есепті шешу алгоритмі әбден пысықталса, оны көпшілікке түсінікті түрде қалай жазуға болады? Алгоритм түсінікті де көрнекі және ықшам болғаны дүрыс.
Алгоритмді
қарапайым тілмен (cөзбен және формулалар арқылы) жазып көрсетуге
схема (графиктік жол) арқылы кескіндеуге
алгоритмдік тілде (программалау тілінде) жазуға болады.
Алгоритмді сөзбен жазып көрсеткенде мәліметтерді өңдеу кезеңдерін өзімізге түсінікті тілмен сипаттаймыз.
Алгоритмді графиктік тілде блок-схемалар арқылы жазу - алгоритмнің құрылысын көрнекі көрсетуге мүмкіндік береді.
Мәселені ЭЕМ көмегімен шешу үшін шындығында, компьютерге түсінікті программалау тілінде, мысалы, СИ, QBasіc, Turbo Pascal, т.б. программа жазу керек. Программа - компьютерге түсінікті тілде жазылған алгоритм, олай болса алгоритмді ойша пысықтап алып, қажетті программалау тілінде программа жазудан бастауға да болады, біз осыған ұмтылуымыз керек. Көп жағдайда программалаушылар программалаудың технологияларын игеру жолын алгоритмнің блок-схемасын құрудан бастайды, бұл алгоритм құрылымында қате кетпеуін бақылауға мүмкіндік береді.
Әдебиеттер:
1. Н.С.Заурбеков ,Б.Ж.Жұмажанов Алгоритмдеу және программалау тілдері
2. М.Қ.Байжұманов Информатика
Дәріс 4
Тақырыбы: Алгоритм түрлері
Мақсваты; Алгоритмдік өрнектерге әр түрлі алгоритм құру.Сызықтық алгоритм. Тұқрғызуға үйрену
Дәріс мазмұны:
Алгоритмнің блок-схемасы бір-бірімен жалғастырылған геометриялық фигуралардың (параллелограмм, тік төртбүрыш, ромб, т.б.) тізбегінен тұрады. Әрбір блок - геометриялық фигура алгоритмнің белгілі бір жеке нұсқауын өрнектейді, олардың орындалу тәртібі оларды қосатын сызықтардың бағытымен анықталады.
Блоктардың өлшемі мен кескіні және алгоритмнің блок- схемасын түзу тәртібі МЕСТ 19002-80 және МЕСТ 19003-80 программалау құжаттарының біртұтас жүйесі бойынша анықталған. Схеманы жоғарыдан төмен қарай немесе солдан оңға қарай сызуға болады, есептеу бағытын анық көрсету ұшін бағытталған түзу қолданылады ( ).
Блоктар шартты және шартсыз деп екі топқа бөлінеді. Шартсыз блоктар - есептеу-меншіктеуді атқаратын арифметикалық блок, мәліметтерді енгізу, баспаға беру және есептеуді бастау және аяқтау блоктарынан тһрады.
Шартты блок алгоритмде шартқа байланысты тармақталуды немесе қайталануды көрсету үшін қолданылады.
Алгоритмде колданылатын негізгі блоктарға тоқталайық.
2-сурет
Алгоритм құру барысында негізгі үш күбылысты - сызықтық, тармақталу, қайталану (цикл) негізгі күрылымдар қолданылады. Осыған сай алгоритм сызықтық, тармақталған және қайталанған қүрылымды алгоритм болуы мүмкін. Күрделі мәселелерді шешу алгоритмдері аталған негізгі үш қүбылыстың есептің жеке бөліктеріне сәйкес келетін тізбектерінен түрады.
Сызықтық құрылымды алгоритм - әрбір нұсқауы көрсетілген тәртібімен бірінен соң бірі, тізбектеліп орындалатын алгоритм.
1-мысал. a, b, c арқылы өрнектелген үш нақты санның арифметикалық және геометриялық ортасын анықтау керек.
Шешуі: Берілген сандардың арифметикалық ортасын y, геометриялық ортасын z арқылы белгілейік. Онда бұл есепті ЭЕМ-де шешудің қарапайым алгоритмінің блок-схемасын төмендегінше көрсетуге болады:
Достарыңызбен бөлісу: |