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



Жұмыс түрі:  Материал
Тегін:  Антиплагиат
Көлемі: 13 бет
Таңдаулыға:   
Алгоритм, программа ұғымдары
Алгоритм ұғымы информатикада ақпарат сияқты іргелі ұғымдар қатарына жатады. Алгоритм атауы атақты араб математигі Әбу Жафар Мұхаммед ибн Мұса әл-Хорезми ( 763-850 ж.ж) есімінің латынша Algorithmi (Алгоритми) болып жазылуына шыққан. Ол санаудың ондық жүйесінде көп орынды сандар мен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.
Әл-Хорезмидің ұсынған тәсілін жатқаушыларды алгоритмдіктер деп, ал алгоритм ұғымын бірқатар қасиеттері бар ережелер жүйесі деп атаған. Қазіргі кезде алгоритм ұғымы тек математикалық есеп шешу әдісімен ғана шектелмейді. Оның мағынасы әлдеқайда кең. Әрбір компьютер алдын-ала берілген алгоритммен, яғни жоспарлы жұмыс істейді.
Алгоритм дегеніміз - іс әрекеттің рет-ретімен орындалуы. Кез-келген есепті қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алгоритімді компьютерде орындау үшін оны программа түрінде жазып шығу керек.
Программа компьютерге түсінікті командалардан тұрады. Осы командалар тізбе орындау соңында есептің нәтижесі шығады. Командалар тізбегін - программа қарастыруға болады. Команда бір ғана қарапайым амалды орындау үшін берілген бұйрық ретінде қабылданады. Командалар: арифметикалық немесе логикалық амал; ақпарат тасымалдау командасы; берілген сандарды салыстыру командасы; берілген сандарды салыстыру командасы; нәтижені экранға, қағаз басып шығару командасы; келесі командаға көшу тәртібін орындау; т.б. болып бөлінеді.
Алгоритмнің орындалу
Күнделікті тұрмыстан алгоритмге бір мысал келтірейік. Студент болу үшін алгоритм мынадай қадамдарын орындау керек:
1. Мектепті тәмамдау.
2. Бірыңғай ұлттық тестілеуден өту.
3. Керекті құжаттарды, аттестаттың түпнұсқасын емтихан қорытыдысымен белгілі бір мамандықты көрсетіп, конкурсқа тапсыру.
4. Конкурстан өту.
5. Таңдаған мамандығы бойынша оқитын жоғары оқу орнын анықтау.
Бұл пункттердің орнын ауыстыруға бомайды. Олар көрсетілген ретпен кезегі орындалуы тиіс. Сонда ғана көздеген нәтижеге қолымыз жетеді.
Алгоритм - информатика мен есептеу техникасының іргелі ұғымдарының бірі.
Техникалық құрылғылдары дұрыс пайдалана алу үшін есеп шешу жолы, яғни орындалатын іс-әрекеттердің тізбегі әрі түсінікті, әрі нақты болуы қажет.
Алгоритм қасиеттері
Алгоритмнің айқын, дәл өрнектелу қасиеті. Алгоритмде келтірілген барлық әрекеттердің мағынасы айқын, нықты анықталған болу керек. Онда қандай қадам көрсетілсе тек солар ғана орындалуы қажет. Есеп шығаруға керектің бәрі анықталуы және орындаушыға түсінікті әрі нақты болуы тиіс.
1. Алгоритмнің үзіктілік қасиеті. Алгоритмнің үзік модульдерге бөлінуі, яғни алгоритмді бірнеше кішкене алгоритмдерге жіктеу мүмкін болу керек. Бұл қасиеті бойынша алгоритм аралық нәтиже беретіндей бірнеше ықшам бөліктерге, ал олар одан кіші қадамдарға бөлінеді, яғни мәселені шешу процесінің тізбегі жеке-жеке әрекеттер жіктеледі. Сондықтан алгоритмді, екі-үш бқлікке бөліп, оларды жеке қабылдай алатын дәрежеде жұмыс істелінуі қажет.
2. Алгоритмнің нәтижелік қасиеті. Кез-келген алгоритмнің нәтижесі болу керек. Әрекеттердің шектеулі санынан кейін белгілі бір уақытта қорытынды нәтиже алуымыз қажет.
3. Алгоритмнің жалпылық немесе ортақтық қасиеті. Алгоритм құрғанда белгілі бір жеке проблемаға қарсы ғана арналмай, осы тәріздес мәселелер шешуін толық қамтуға мүмкіндік беретіндей етіп құрылуы қажет.
4. Алгоритмнің формальды орындалуы. Алгоритмді орындағанда орындаушы оныәр командасының мағынасын түсінуі де, түсінбеуі де мүмкін. Бірақ алгоритмнің әр командасы орындаушының нақты бір әрекетті орындауын талап етеді.
Алгоритм жазу жолдары
Алгоритмді компьютерде орындау үшін оларды алдын-ала жазып алу керек. Жалпы жағдайда, алгоритм жазудың келесі түрлері қабылданған:
1) табиғи тілдегі жазылуы;
2) белгілі бір түйінді сөздер - терминдер арқылы қысқаша тізбекті түрде жазу;
3) графиктік жолмен жазу;
4) программалау тілдеріндегі жазылуы.
Бірақ табиғи тілде жазылған алгоритм компьютерде орындалмайды, өйткені бұл жағдайда дәлдік, нақтылық сақталмайды. Алгоритмдерді графиктік жолмен жазу, кейіннен осы программалау тіліндегі программаға айналдыру жұмысы мемлекеттік стандартпен бекітіліп, ақпарат өндеу жұмысында кеңінен қолданылады.
Алгоритмнің графиктік түрде кескінделуі
Алгоритмнің графиктік түрде кескінделуі - кең таралған әдіс. Бұл - жазудың түсінікті, анық, көрнекі түрі болып табылады. Алгоритмдерді графиктік жолмен жазудың мемлекеттік стандарты анықталған. Онда кез-келген амал белгілі бір геометриялық фигурамен өрнектеледі. Олар фигуралар немесе блоктар, амалдар немесе операциялар символы деп те аталады. Блоктар бағытталған сызықтармен байланысып, бірінен соң бірі ретімен орналысады. Ақпарат өңдеудің әрбір буыны немесе орындалатын операциялар реті алгоритм схемасымен айқындалады. Алгоритм схемасын оның блок схемасы деп аталады. Алгоритм блоктарының ішінде орындалатын іс-әрекеттің мазмұны жазылады. Блок схемада пайдаланатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады.

Блоктар кескіндемесі
Блоктар қызметі
1

Алгоритм басы
2

Алгоритм соңы
3

Есептеуіш әрекет
4

Мәліметтерді енгізу, мәліметтерді шығару
5

шарт

жоқ иә

Шартты тексеру
6

Циклдың басы
7

Көмекші алгоритмді шақыру
8

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

Алгоритм командалары
Алгоритм командалары есеп шартына байланысты жай және құрама командалардан тұрады.
Жай команда. Кез келген алгоритмнің қарапайым бір қадамы ақпаратты өңдеудің немесе өрнектеудің операциясын орындайтын жай командадан тұрады. Жай командаларға меншіктеу, мәлімет енгізу және нәтиже алу командалары жатады.
Құрама командалар. Жай командалардан құрылымы күрделі құрама командалар құралады. Құрама командалар құрылымына байланысты тізбекті, тармақталу және циклдік топтардан немесе бірыңғайланған алгоритмдік құрылымдардан тұрады. Олардың жай командадан ерекшелігі бірнеше командадан құрылады және орындалуы берілген шарттарға негізделеді.
Алгоритм құрылымы
Алгоритмдер блоктардың өзара байланысуына қарай үш құрылымға - сызықтық тармақтық және циклдік түрлерге бөлінеді.
1. Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм тізбектеле орналасқан командалардан, ал блок-схемалар бір сызық бойына орналасқан тізбекті блоктардан тұрады. Әрекеттердің тізбектей орындалуы - сызықтық алгоритм деп аталады.
Мысалы:
алг үй тапсырмасын орындау
басы
күнделікті алу, тиісті бетін ашу,
үй тапсырмасын анықтау
үй тапсырмасын орындау
күнделікті орнына қою
соңы
Сызықтық алгоритм командалары осында көрсетілген рет бойынша орындалатын тізбектеле орналасқан командалардан (блоктардан) тұрады.
Амалдардың бұлай бірінен соң бірі реттеліп орындалу тәртібін табиғи атқарылу дейді. Мысалы, төменде көрсетілген Z функциясының сандық мәнін есептеп шығару алгоритмін жасау керек болсын.
2 2 2
Z = ax + b + cos (ax + b) - tg (ax + b)
Бұл функцияның мәнін табу үшін алдымен жақшада тұрған
ax 2 + b көпмүшелігін жеке есептеп алу қажет, себебі ол
тізбек үш рет есептеліп, орындаушы машина оған уақытты
көп кетіреді. Есептеліп болған Z функциясының мәні
қағазға не экранға басылып шығуы тиіс. Жалпы компьютер
жадына a, b, x мәндері алдын - ала енгізілуі керек.
алг Z функциясын есептеу
(нақ a, b, x, z )
арг a, b, x
нәт z
басы
a, b, x енгізу
t : = ax 2 + b
z : = t + cost + tgt
x, z шығару
соңы
Сонымен қарастырылған алгоритм қарапайым сызықтық
алгоритмнің мысалы ьолып табылады. Мұндағы 2-блок - a, b, x
мәндерін пернелерден программаға енгізу блогы, 3-блок t - ның,
ал 4-блок Z функциясының мәндерін есептейді. 5-блок х
айнымаласының және Z функциясының нәтижесін қағазға басып шығарады.
2. Тармақталу алгоритмдері. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер орындалса, онда алгоритм бір тармақпен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмде шартты тексеру тармақталу командасы деп аталады. Оны алгоритмдік алгоритмдік тілде өрнектелгенде егер, онда, әйтпеес, бітті
түйінді сөздері пайдаланылады. Орынду тәсіліне байланысты тармақталу командасы таңдау(толымды) және аттап өту (толымсыз) болып екі түрге бөлінеді.
3. Циклдік алгоритмдер. Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада есеп шығару кезінде бір теңдеуді пайдаланып, ондағы айнымалы мәнінің өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келеді. Осындай есептеу процесі бөліктерінің қайталап орындалуы цикл деп атайды, ал қайталанатын бөлігі бар алгоритдер тобы циклдік алгоритмдер жатады. Қайталану командасын алгоритмдік жазу үшін әзірше (әзір), цикл бар (цб), және цикл соңы (цс) түінді сөздер қолданылады.
Тапсырма: (33 бет 2 жаттығу)
Екі үшбұрыш қабырғалары a, b, c және d, e, f деп берілген. Қайсы үшбұрыштың үлкен екенін
анықтау қажет.
1. Күрделі тармақталу
2. Күрделі шарттарды пайдалану
3. Арифметикалық циклдер
4. Итерациялық (қадамдық) цикл.

Паскаль тілін 1968-1971 жылдары Швейцарияда профессор Никлаус Вирт оқып-үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Паскаль тілі өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне тез таралды.
Бұл тілде жазылған программа компьютерде орындалу барысында алдымен трансляцияланады (машина тіліне аударылады), объектік программаға түрлендіріледі де, содан кейін ғана орындалады.
Паскаль тілінің негізгі элементтері
Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады. Программада әрбір жолдан кейін нүктелі үтір (;) қойылады.
Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.
Кез-келген программа Program сөзінен басталып, оның тақырыбы жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі.
Программаның соңғы және негізгі бөлімі операторлар бөлімі - болып табылады.
Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады.
Тілдің алфавиті
Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Оған әріптер, цифрлар және арнайы белгілер (символдар) жатады.
Тіл ерекшіліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеуге болады:
атаулар (идентификатор);
цифрлар;
айыру белгілері;
арнайы символдар.
Атау символдары ретінде латын алфавитінің 26 әріпі мен цифрлары қолданылады.
Арнайы символдарға пунктуация және арифметикалық операция (амалдар) белгілері жатады.
Арифметикалық амал белгілері:
(+) - қосу; (-) - азайту;
(*) - көбейту; () - бөлу.
DIV - және (логикалық көбейту) операциясы;
MOD - қалдықты табу. Мысалы: 10 MOD 3 амалының нәтижесі 1;
Логикалық амал белгілері:
AND - және (логикалық көбейту) операциясы;
OR - немесе (логикалық қосу) операциясы;
NOT - емес (терістеу немесе жоққа шығару) операциясы;
XOR - арифметикалық немесе амалы;
SHL - биттер (1 мен 0-дер)тіркесін солға ығыстыру;
SHR - биттер (1 мен 0-дер)тіркесін оңға ығыстыру;
Айыру белгілеріне бос орын, барлық басқару символдары, тыныс белгілері, ENTER (келесі жолға көшу) пернесін басу белгісі және түсініктемелер жатады.
Сонымен айыру белгілері: ____ (бос орын); , (үтір); . (нүкте); : (қос нүкте); ; (нүктелі үтір) ; ` (апостроф); (;); [;] ; {;}.
Қатынас таңбалары немесе салыстыру белгілері: = (тең), (тең емес), (кіші), (үлкен), = (кіші не тең), = (үлкен не тең).
Программалау тілдерінде өрнек, операторлар, тіл синтаксисі мен семантикасы ұғымдары кең пайдаланады.
Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген айнымалар атаулар, функциялар, жиымдар т.б. мағынасы бар сөздер тізбегі - өрнек деп аталады.
Программалау тілінің белгілі бір іс-әрекетті орындай алатын тиянақты мағынасы бар ең қарапайым сөйлем - оператор деп аталады.
Тілі объектілерін, яғни программадағы пайдаланылатын мәліметтердің құрылымы мен ұйымдастырылуын алдын ала анықтайтын сөйлемдер жиыны - программаның сипаттамасы болып табылады.
Синтаксистік диаграммаларда екі геометриялық фигура тіктөртбұрыш және (кейде дөңгелек) кең пайдаланады. Тіктөртбұрыш ішінде тілдің анықталатын элементтер ал элипс ішінде терминалдық символдар, яғни анықтауды қажет етпейтін таңбала жазылады.
Тілдің қарапайым объектілері
Тілдің қарапайым объектілеріне сан, идентификатор, тұрақты, айнымалы, функция және өрнек ұғымдары кіреді. Программадағы негізгі амалдардың орындалуын керекті мәліметтердің сандық, логикалық немесе символдық (литерлік) мәндері болады.
1. Сандар. Сандар мен айнымалылар бүтін және нақты болып бөлінеді. Дербес компьютерде бүтін сандар ағылшынша integer, нақты сандар real деп жазылады.
Мысалы: Бүтін сандар: +4, -100, 15743,0 т.б. Нақты сандар: 2.65, 0.5, -0.856, -6.0.
2. Атау - идентификатор (identification - объектің белгілі бір символдар тіркесін сәйкестігін бекіту) программаны және прграммадағы тұрақтыларды, типтерді айнымалаларды, функцияларды, файлдарды т.б. белгілеп жазу үшін қажет.
Идентификатор - міндетті түрде әріптен басталанатын сандар мен әріптердің тізбегіне тұратын атау.Мысалы: Х, Х1, СҮММА, Р23РН6, МТ54АР т.б.
3. Тұрақты немесе константа деп программаның орындалу барысында бірден сандық мен берсек де немесе оны программаның сипаттау бөлімінде идентификатор түрінде белгілеп алып мән берсек те болады. Олар сандық, символдық, логикалық және тіркстік (integer, real, boolean, cha string) мәндерді қабылдай алады. Логикалық түрдегі тұрақтылар - true (ақиқат) немесе fallig (жалған) мәндерінің біріне ие бола алады.
Мысалы: x = 25; y = -0.5; z = 4E15; g = 9.8; pi = 3.14 т.б.
4. Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әр уақытта ір түрлі мәнге ие бола алады. Айнымалылар атауы сипаттау бөлімнде var түйінді сөзінен кейін орналасады да, атауынан кейін қос нүкте қойылып, айнымалының типі көрсетіледі.
Мәліметтердің немесе шамалардың типі деп, олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтауды айтады, яғни тип дегеніміз - шамалардың қабылдайтын мәндеріне берілетін сипаттама.
Паскаль тілінде пайдаланатын барлық типтер скалярлық (қарапайым) және құрылымдық (структуралық) болып үлкен екі топқа бөлінеді. Скалярлық типке шамалардың стандартты типі және жасанды тип (тағайындалған) жатады. Стандартты типтерге:
* бүтін - INTEGER нақты - REAL логикалық - BOOLEAN
* тіркестік - STRING мәтіндік - TEXT типтер жатады.
Құрылымдық типтегі жиымдар - ARRAY, жазбалар - RECORD, жиындар - SET және файлдар - FILE түрлеріне бөлінеді.
Стандартты функциялар

Турбо Паскаль тілінде алдын ала програмалары жасалып стандарттты модульге жинақталып қойылған, қажет кезінде пайдалануға болатын объектілер бар. Солардың бірі стандартты функциялар болып табылады. Олар жиі кездесетін математикалық және басқа да функцияларды есептеу үшін қолданылады.

Енді программаларда жиі пайдаланылатын функцияларды қарастырайық.
1. Арифметикалық функциялар
2. Типтерді өзгерту функциялары.
Арифметикалық функциялар

Математикада жазылуы
Паскаль тілінде жазылуы
Атқаратын қызметі
Функция типі
x
arctg x
cos x
sin x
e x
[x]

Inx
П
х 2
х

Abs (x)
Arctan (x)
Cos (x)
Sin (x)
Exp (x)
Frac (x)
Int (x)
Ln (x)
Pi
Sqr (x)
Sqrt (x)

Аргументтің абсолюттік шамасы
Аргументтің арктангенсі
Аргументтің косинусы
Аргументтің синусы
е-нің х дәрежесі
х-санының бөлшек бөлігі
х-санының бүтін бөлігі
х-санының натурал логарифмі
п-дің мәні
х-тің квадраты
х-тің квадрат түбірі

х-тің типіндей
нақты
нақты
нақты
нақты
нақты
нақты (бүтін)
нақты

х-тің типіндей
нақты
Стандартты типтердің сипатталуы
Шамаларға қолданылатын амалдар олардың типтеріне байланысты болады.
Бүтін сан түріндегі тип. Бүтін типтегі мәндерді қабылдайтын атаулар былай сипатталады:
атау1, атау2, ... , атауn: тип;
мұнда тип орнында бүтін типті көрсететін түйінді сөздің бірі жазылады. Мысалы, integer, byte
Арифметикалық амалдар.
Белгілер
Операциялар
Операндтар типі
Нәтиже типі
+
қосу
Екеуі де бүтін, не біреуі
Бүтін, біреуі нақты
Бүтін, нақты
-
азайту
Екеуі де бүтін, не біреуі
Бүтін, біреуі нақты
Бүтін, нақт
*
көбейту
Екеуі бүтін немесе екеуінің
біреуі нақты
Бүтін, нақты

бөлу
Бүтін немесе нақты
Нақты
Div
Бүтін бөлу
Бүтін
Бүтін
Mod
Бүтін қалдық
бүтін
бүтін

Төмендегі стандартты функциялар бүтін аргументтер үшін бүтін мән береді:
Abs(x) - бүтін х санының абсолют шамасы
Sqr(x) - бүтін х анының квадраты
Trunc(x) - нақты х санының бүтін бөлігі
Round (x) - нақты х саны дөңгелектеніп бүтін нәтиже береді.
Succ(x)- х-тан кейінгі бүтін санды ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Алгоритмдер теориясының негізгі ұғымдары
Алгоритмдердің концепциялары мен қасиеттері
Алгоритм қасиеттері
Алгоритмнің тиімділігі мен күрделілігі. Тьюринг, Пост абстрактілі машиналарымен жұмыс
Алгоритм жазу жолдары
Алгоритм тілінде есеп шығару жолдары
Алгоритм түрлері
Ақпараттарды өңдеудің техникалық құралдары
Информатика пәнінен дәрістер кешені
Алгоритмнің құрылымдық негіздері мен қолдану тәсілдері
Пәндер