Программалау тілдері
Алгоритмдер және программалау тілі. Алгоритмдер (типтері, қасиеттері). Алгоритмдік құрылым (сызықтық, тармақталған, циклдік).
Программалау тілінің жалпы қызметі.
Алгоритм - бер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 болады:
1. Есептi шығару жолы алгоритм түрiнде өрнектелуi қажет;
2. Алгоритм программаға айналдырылуы тиiс;
3. Программа машина жадына енгiзiлiп, ретiмен орындалуы керек. Сонымен, керектi нәтиженi алу жолында ақпаратқа қолданылатын әрекеттеpдiң орындалу ретiн анықтайтын нұсқау - алгоритм болып есептеледi. Алгоритм күнделiктi тұрмыста да кеңiнен қолданылады. Мысалы, студент болу үшiн алгоритмнiң мынадай қадамдарын орындау керек.
1. Орта мектептi бiтiрiп, аттестат алу
2. Керектi құжаттарды аттестаттың түп нұсқасымен бiрге белгiлi бiр институтқа өткiзу.
3. Қабылдау емтихандарын "2"-ден жоғары бағалармен тапсыру.
4. Конкурстан өту.
Бұл көрсетiлген пункттердiң орнын ауыстыруға болмайды. Олар көрсетiлген ретпен кезектесiп орындалуы тиiс. Сонда ғана керектi нәтижеге (студент болу) қолымыз жетедi.
Алгоритмдердi ЭЕМ-де орындау үшiн оларды алдын ала жазып алу керек, яғни ол белгiлi бiр заңдылықпен өрнектелуi тиiс. Жалпы алгоритмдi өрнектеу түрлерiне:
1. Табиғи тiл арқылы жазу;
2. Белгiлi бiр терминдер - псевдокодтар арқылы жазу;
3. Графика жолымен жазу;
4. Алгоритмд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к болып үш топқа бөлiнедi.
1. Сызықтық құрылымды алгоритм немесе қарапайым сызықтық алгоритм iс-әрекеттердiң орындалу ретіне қарай тiзбектеле орналасқан блоктардан тұрады. Мысалы,
Z= ax + b + cos(ax + b)
Бұл функцияның мәнiн табу үшiн алдымен жақшада тұрған (ax + b) көпмүшелiгiн жеке есептеп алу қажет, себебi ол тiзбек 3 рет есептелiп оған көп уақыт кетедi. Жалпы ЭЕМ жадына a,b,x мәндерi алдын ала енгiзiлуi керек. Сонымен қарастырылған алгоритм қарапайым сызықтық алгоритмнiң (1-сурет) мысалы болып табылады.
1-сурет. Сызықтық алгоритм
2. Тармақталу алгоритмдерi. Тармақталу алгоритмiне есепте белгiлi бiр шарттың орындалуына не орындалмауына байланысты тармақталып бiрнеше жолдарға бөлiнуi жатады. Мұнда арифметикалық теңсiздiк түрiнде берiлген логикалық шарт тексерiледi. Егер ол орындалса, онда алгоритм бiр жолмен, ал орындалмаса 2-шi жолмен жүзеге асырылады, яғни есептi шығару жолы тармақталып екiге бөлiнедi. Тармақталу алгоритмдеріне шартты тексеру блогы міндетті түрде кіреді. Көбнесе тармақталу алгоритмдерi екi түрде кездеседi, олар "таңдау" және "аттап өту" мүмкiндiктерiн iске асырады.
"Таңдау" жолымен тармақталуда берiлген шарт тексерiледi (2-сурет), егер ол шарт орындалса (ақиқат болса), онда 2-амал жүзеге асырылып, содан кейiн келесi 3-амалға көшемiз. Ал, шарт орындалмаса (жалған), онда 1-амал атқарылып, содан 3-амал атқарылады. Сонымен, шарттың ақиқат немесе жалған болуына байланысты 1-амал немесе 2-амал орындалады.
"Аттап өту" (3-сурет) алгоритмiнде шарт орындалса, онда 1-амалды аттап өтiп, бiрден 2-амалды, содан кейiн 3-амалды орындаймыз. Ал шарт жалған болса, онда 1-амал мiндеттi түрде орындалып, одан кейiн 2- және 3- амалдар жүзеге асырылады. Тармаәталу кезеңiнде шартты тексеру блогы орындалуы барысында, алгоритмнiң екi мҫмкiндiгiнiң тек бiреуi №ана таңдап алынып жҫзеге асырылады да, ал 2-шi таңдап алынба№ан тармаә бiрiктiру нҫктесiне дейiн орындалмай әалады.
... ...
иә иә
жоқ жоқ
... ...
2-сурет. Таңдау 3-сурет. Аттап өту
тармақталу алгоритмі тармақталу алгоритмі
Òàðìà²òàë±àí àëãîðèòìãå ïðîãðàììà ²µðó
Y функциясын төмендегі формула бойынша есептеп шығару керек.
1 êåçåң - åñåïòiң ìàòåìàòèêàëûº ¼ðíåãií º½ðó;
егер болса, онда
егер болса, онда
2 êåçåң - áàñòàïºû æ¸íå åñåïòiң í¸òèæåñi áîëàòûí øàìàëàðäû àíûºòàó æ¸íå òàңáàëàó;
Åíãiçó: X
Øû¹àðó: Y
3 êåçåң - àëãîðèòì º½ðó;
3.1 Àëãîðèòìíiң ñ¼çäiê ò¾ði
²àäàì 1. Åñåïòiң áàñû
²àäàì 2. Åíãiç: X
²àäàì 3. Åñåïòå: егер болса, онда
²àäàì 4. Åñåïòå: егер болса, онда
²àäàì 5. Øû¹àð: Y
²àäàì 6. Ñîңû.
3.2 Àëãîðèòìí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 ºàæåò.
Белгілі бір шарт орындалғанша бірнеше рет есептеулер жүргізетін циклдік алгоритм дейін (до) (4-сурет), ал шартты тексеру есептеулерге дейін орындалатын циклдік алгоритм кейін (пока) (5-сурет) деп аталады.
жоқ иә
иә жоқ
4-сурет. Дейін циклдік 5-сурет. Кейін циклдік
алгоритмі алгоритмі
Программалау тілдері
Программа – алгоритмді машинаға түсінікті нұсқаулар тізімі ретінде жазу. Программа машинаға түсінікті командалардан тұрады. Осы командалар тізбігі орындалу барысында есептің нәтижесі шығады. Программа дегеніміз – белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізбегі.
Әрбір ЭЕМ –нің өзінің машиналық программалау тілі болады, оны командалар тілі немесе кодтар тілі дейді.
Программаларды арнайы тiлдер арқылы жазады. Оларды программалыә тiлдер деп атайды. Қазiргi кезде 100-ден астам программалыу тiлдер бар.
Әр тiлде жазылған бiр есеп әртүрлi болып көрiнедi. Барлық программаларға тән жалпы қасиет бар, ол программистерге түсiнiктi, ал процессорларға мүлдем түсiнiксiз. Процессор тек сандар мен жұмыс iстейдi, демек, тек машиналық кодта жазылған программаларды түсiнедi, яғни процессор машиналық код тiлiмен жұмыс iстейдi. Сондықтан кез келген жоғарғы деңгейде жазылған программаны машиналық тiлге аудару керек. Осы аударуды арнайы аудармашы программа-транслятор орындайды. Транслятордың 2 түрi бар: компилятор және интерпретатор.
Ең төменгi деңгейдегi тiл – машиналық код тiлi, одан кiшкене жоғары деңгейдегi тiл-ассемблер тiлi, ең жоғарғы деңгейдегi тiлдер-ALGOL, FORTRAN, PASCAL, DELPHI, т.с.с.
Алгоритмдерді ЭЕМ-ге түсінікті текст ретінде жазуға арналған қарапайым жасанды тіл программалау тілдері деп аталады. Программалау тілдерінің шығуының бірнеше кезеңдері бар.
Бірінші кезең 50 ші жылдардағы порграммалаудың сандық жүйелер арқылы кодталуы десек.
Екінші кезең Ассемблер тілдерінің шығуы машиналық тілдерге қарағанда жеңел жұмыс атқаратын тіл болды.
Үшінші кезең – кең көлемдегі тілдердің дамуы. Бұл 1955 жылы шыққан Фортран тілінен бастап, 1960 шыққан АЛГОЛ, 1965 жылышыққына БЭЙСИК тілдері болды. 1970 жылдары ПАСКАЛЬ, 1980 жылы АDА және қазір қолданылып жүрген Си тілдері қолданыла бастады.
Келесі кезең тілдеріне базалық анықтама жүйелерінде пайдаланатын тілдер Clipper, dBase, SuperCalc. Осы тілдердің барлығы соңғы кезең тілдері ретінде бүгінге дейін пайдаланылуда.
Программа жазуды жеңілдету үшін математикалық формулаларды кеңінен қолданатын, ағылшын тілінің негізінде жасалған алгоритмдік тілдер Бейсик, Фортран, Паскаль, СИ және т.б. кеңінен қолданылады.
Есептің орындалу кезеңдерін 4-суретте көрсетілген схема түрінде кескіндеуге болады.
4-сурет
.Сабақтың мазмұны:
Өзiндiк жұмыстар:
Студент тақырыпты дұрыс меңгеруiне және компьютерде жұмыс iстеу даңдысының қалыптасуына көңiл аударуы қажет. Сондай-ақ студент төмендегi көрсетiлген тапсырмаға байланысты кезеңдерге бөліп алгоритм құруы тиіс.
Оқытушы тапсырманы тексеру барысында күрделi сұрақтарға талдау жасайды және практикалық жұмыстарының орындалуына қарай студенттермен сұрақ- жауап жүргiзедi.
Қорытынды бiлiктiлiк деңгейiн бақылау:
Студенттер тақырып бойынша берiлген тапсырманы көрсетедi және сұрақтарға жауап береді.
1. Ассемблер тілдері қай буынға жатады?
2. ФОРТРАН тілі қай буынға жатады?
3. ФОРТРАН тілі қай жылы құрылды?
4. АЛГОЛ тілі қай жылы құрылды?
5. Ең танымал программалау тілдерінің бірі БЕЙСИК тілі қай жылы құрылды?
6. Паскаль тілі қай жылы құрылды?
7. Ең күшті программалау тілдерінің бірі ADA тілі қай жылы құрылды?
8. Clipper, dBase, SuperCalc – бұл ...программалау тілдері
9. Қандай программалау тілдері бесінші буынға жатады?
10. Программалау кезеңдерінің дұрыс тәртібін көрсетіңіз:
11. Алгоритм дәл анықталған болуы керек жөнінде және орындаушыға кез-келген алғышарттар қоюға жол бермейтіндей оны сипаттайтын алгоритмнің қасиеті қайсысы ?
12. Алгоритмнің орындалуы үшін не істеу керек жөнінде сипаттайтын алгоритм қасиеті қандай ?
8.²îëäàíûëàòûí íåãiçãi æ¸íå ºîñûìøà ¸äåáèåòòåð:
íåãiçãi:
1. Á.Á¼ðiáàåâ. Èíôîðìàòèêà æ¸íå êîìïüþòåð. Àëìàòû, "Áiëiì" 1995 ж. 28-69 б.
2. Þ.Øàôðèí “Îñíîâû êîìïüþòåðíîé òåõíîëîãèè” Ì., 1997 г. 25-60 стр.
3. Å.². Áàëàïàíîâ, Á. Á¼ðiáàåâ "Èíôîðìàòèêàäàí 30 ñàáàº". Àëìàòû, 1999 æ. 43-60 б.
ºîñûìøà:
1. Á.Ì.Àäèáàåâ “Èíôîðìàòèêà”. 1997æ. 34-49 б.
2. Қараев Ж. ЭЕМ және программалау элементтері. 56-90 б.
3. À.Ã.Ãóøíåðåíêî. Èíôîðìàòèêà ìåí åñåïòåóiø òåõíèêà íåãiçäåði. 30-64 б.
Программалау тілдері
Java кең таралған программалау тілі
Компьютердің негізгі орындаушысы - процессор
Программалау жүйесі мен тілдері
Программалау жүйесі
ПРОГРАММАЛАУ ТІЛДЕРІ ТУРАЛЫ ТҮСІНІКТЕР
Алгоритм және оның қасиеттері. Программаның көрінісі
Төмен деңгейлі бағдарламалау тілі
Жүйелік программалаудың негізгі ұғымдары мен анықтамалары туралы
Программалау тілдерімен танысу
ПАСКАЛЬ - Программалау стилі, деректерді енгізу және шығару
Паскаль программалау тілі
Батыс Европа, үнді-иран тілдерін зертеудегі лигнвистикалық география
Әлемде кең тараған тіл ағылшын, орыс тілдері
Махмұд Қашқари (толық аты - жөні Махмұд ибн Әл - Құсайын ибн Мұхаммед) (1029 - 1101) - түркі тілдерінің тұңғыш сөздігін құрастырушы, энциклопедист - ғалым, атақты Диуани луғат - ат - түрік еңбегінің авторы
Программалау тілінде программа құру
Динамикалық программалау әдісімен шешілетін экономикалық есептер
Штриховка стильдері
Түркі тілдерінен орыс тіліне енген сөздер
Программалау тілі