Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 17:43, реферат
Көлемі жағынан орташа болып келетін бағдарламаларды(бірнеше мың жолды код) құрастырғанда құрылымды бағдарламалау қолданылады. Бағдарламаның құрылымы шығарылып жатқан есептің құрылымын көрсету керек, сонда бағдарлама мәтінінен есепті шығару алгоритмі түсінікті болады. Ол үшін қарапайым операторлар жеткіліксіз, алгоритмнің нақты құрылымын дәлірек көрсететін құралдар қажет. Сондықтан бағдарламалауға жаңа ұғым – ішкі бағдарламалар енгізілді.
Кіріспе
Ішкі бағдарламалар.
2.1. Процедуралар.
2.2. Функциялар.
Төменгі деңгейлі бағдарламалау тілдері. Ассемблер
Жоғары деңгейлі бағдарламалау тілдері.
4.1. Фортран
4.2. Кобол
4.3. Алгол
4.4. Бейсик
4.7. Си
4.8. Ява
Жүйелік бағдарламалау. Паскаль тілінде бағдарламалау.
Объектіге бағытталған бағдарламалау.
6.1. Visual Basic
6.2. Си++
Қорытынды.
Пайдаланылған әдебиеттер тізімі.
Мазмұны
2.1. Процедуралар.
2.2. Функциялар.
6.1. Visual Basic
1. Кіріспе.
Көлемі жағынан орташа болып
келетін бағдарламаларды(
2. Ішкі бағдарламалар.
Қандай да бір алгоритм бойынша жұмыс жасайтын және өзіне негізгі бағдарламаның кез келген бөлігінен қатысуға болатын бағдарламаның жекелеме бөлігін ішкі бағдарлама деп атайды. Ішкі бағдарламалар негізгі бағдарламының ішіндегі кіретін және шығатын орындары бар тұйықталған бөлігі болып табылады. Негізгі бағдарлама мен ішкі бағдарламадағы айнымалылар бір-біріне бағынышты емес.
Ішкі бағдарламаның екі түрі болады – процедуралар және функциялар. Олардың айырмашылығы: процедура белгілі бір операторлар тобын орындаса, функция осыған қоса қандай да бір нәтижені есептеп, оны негізгі бағдарламаға қайта жібереді. Бұл нәтиженің өзіне тән типі болады. Си++ бағдарламалау тілінде «процедура» деген ұғым жоқ, онда тек қана функция қолданылады. Егер функция ешбір нәтиже есептемесе, онда ол «ешқандай» (void) типін қайтарады.
Кез келген бағдарламада бірнеше процедура
немесе функция қолданылуы мүмкін.
Процедура мен функция сипаттау
бөлігінде айнымалылар
Бағдарламаның орындалуы негізгі бағдарламаның операторларынан басталады. Қажет жағдайда ішкі бағдарлама шақырылып, оның операторлары орындалады. Содан соң басқару қайтадан негізгі бағдарламаға беріліп, бағдарламаның орындалуы жалғасады.
Ішкі бағдарлама негізгі бағдарлама сияқты құрылады, яғни бағдарлама атауынан, операторлар бөлігінен және аяқталуынан құрылады.
Параметрдің екі түрі болады: формальды және шын мәніндегі параметрлер.
Шын мәніндегі параметр деп процедураны шақырар кездегі негізгі бағдарламадағы параметрлерді айтамыз. Ал формальды параметрлер ішкі бағдарламаның атауынан кейін көрсетіледі.
Формальды параметрлер тізімінде айнымалылар аталып, олардың типтері көрсетіледі.
Формальды параметрлерді екіге бөлуге болады:
Параметр-нәтижелер
2.1. Процедуралар.
Процедура – белгілі ретпен іске асырылатын іс-әрекеттер жиыны, жалпы бағдарламаның бір бөлігі.
Процедуралардың жалпы түрі:
Бейсик |
Паскаль |
Си++ | |
Процедура атауы |
SUB <атауы>(<форм. параметрлер тізімі>); |
procedure <атауы> (<форм. параметрлер тізімі>); |
void <атауы>(<форм. параметрлер тізімі>) |
Денесі |
<операторлар бөлігі> |
begin <операторлар бөлігі >; end; |
{ <операторлар бөлігі> }; |
Аяқталуы |
END SUB |
жоқ |
жоқ |
Паскаль тіліндегі мысал: бір санның факториалын табу.
procedure fact (k : integer; var a : integer);
var x : integer;
begin
a:=1;
for x:=1 to k do
begin
a:=x*a;
end;
end;
Мұндағы k – формальды параметр-аргумент, яғни негізгі бағдарламадан келген сан. а – формальды параметр-нәтиже, яғни негізгі бағдарламадан келген санның факториалы.
Паскаль тіліндегі процедураны
негізгі бағдарламаның
<процедура аты> (<шын мәнінде берілген параметрлер тізімі>);
Мысалы: fact(i,s);
2.2. Функциялар.
Функция – басқа мәліметтер алу үшін анықталған мәліметтерге қолданылатын компьютердің іс-әрекеті. Функцияның ерекшелігі – оның орындалуы барысында бір ғана нәтиже шығады, ал кіру параметрлері бірнешеу болуы мүмкін. Нәтиже функция атауымен белгіленіп, негізгі бағдарламаға беріледі.
Функциялардың жалпы түрі:
Бейсик |
Паскаль |
Си++ | |
Функция атауы |
FUNCTION <атауы> (<форм. параметрлер тізімі>); |
function <атауы> (<форм. параметрлер тізімі>): <функция типі> |
<функция типі> <атауы>(<форм. параметрлер тізімі>) |
Денесі |
<операторлар бөлігі> |
begin <операторлар бөлігі >; end; |
{ <операторлар бөлігі>; }; |
Аяқталуы |
END FUNCTION |
жоқ |
жоқ |
Санның квадратын анықтайтын функцияның мысалдары:
Бейсик:
FUNCTION SQR % (X AS INTEGER)
SQR% = X*X
END FUNCTION
Паскаль:
function SQR (x : integer) : integer;
begin
SQR:= x*x;
end;
Си++:
int SQR (int x)
{
return x*x;
};
Паскаль тіліндегі функцияны негізгі бағдарламаның командалар бөлігінен шақырылу командасын қарастырайық:
<функция аты> (<шын мәнінде берілген параметрлер тізімі>);
Мысалы: у:=SQR(x);
3. Төменгі деңгейлі
Қандай да нақты жазылған қолданушы
программалары басқа тілге
Ассемблер тілі – ол әрбір жеткізуі бір машиналық командаға сәйкес болатын тіл. Ассемблер тілінің программасында машиналық командалар мен операторлардың арасында бірмәнді сәйкестік бар. Мұнда екілік және сегіздік аттар мен адрестердің орнына символдық белгілулер қолданылады.
Ассемблер тілінің басқа жоғары деңгейлі тілден айырмашылықтары:
Ассемблер тілін қолданудың екі негізгі ерекшеліктері бар: жоғары өнімділігі мен машинаға қатынау. Көбіне программада барлық кодтың азғантай пайызы программаның орындалу уақытының көбірек пайызына жауап береді. Мысалы, программаның 10% оның орындалу уақытының 90%-на жауапты. Бұл программаның 10% оны ассемблер тіліне жазып алуды жүзеге асырады. Бұл процессті реттеу(tuning) деп аталады. Ассемблердегі программа көлемі бойынша соншалықты кіші және орындалу жылдамдығы бойынша соншалықты тез болуы мүмкін.
Ассемблер тілі мен жоғары деңгейлер тіліндегі программалық салыстырулар (реттеушімен және реттеушісіз)
Программаны жазуға кеткен адам жылының саны |
Секундына программаның орындалуы | |
Ассемблер тілі |
50 |
33 |
Жоғары деңгейдегі тіл |
10 |
100 |
Икемдеуге дейінгі аралас | ||
10 % сынаулы |
1 |
90 |
90 % қалғаны |
9 |
10 |
Барлығы |
10 |
100 |
Икемдеуден кейінгі аралас | ||
10 % сынаулы |
6 |
30 |
90 % қалғаны |
9 |
10 |
Кейбір процедураларға ассемблер жасай алатындай аппараттық қамтамасыз етуге толық қатынау қажет. Бұл категорияларға операциялық жүйедегі үзіліс өңдеушілері мен үзілістер, сол секілді реттелген жүйелердегі құрылғылардың тексерушілері келіп түседі.
Ассемблер тілінде оператор құрылымы машиналық командаға сәйкес құрылымды білдіреді. Әр түрлі машиналар мен әр түрлі деңгейлердегі ассемблер тілі бір-бірімен ұқсас. Intel компьютерлеріндегі Microsoft MASM, SPARC процестеріне Sun ассемблерге мысал бола алады.
Ассемблер тілінің жеткізілуі төртке бөлінеді. Олар: белгі, операция, операнд және комментарий алаңдарынан тұрады. Белгілер жады адресіне арналған символикалық аттармен қамтамасыз ету үін қолданылады. Олар командаларға өту және деректі сөздердің сақтайтын жерге символдың аттары бойынша қатынау мүмкіндігін алу қажет.
Егер жекізу машиналық командаың символикалық репрезентациясы, не бұл кодтың символикалық аббревиатурасы, не ассемблердің өзне арналғанкомандасы болып табылса, онда операция коды алаңында жатады.
Операндтардың алаңдары машиналық командалар үшін операндтар болып табылатын адрестер мен регистрлерді анықтайды. Регистрлер. тұрақтылар, жады ұяшықтары және т. б. операндар болуы мүмкін.
Комментарий алаңында программа әрекетінің түсіндірмесі келтіріледі. Бұл комментарийлерсіз ассемблердегі программаларды түсіну өте қиын.
4. Жоғары деңгейлі бағдарламалау тілдері.
Кобол бағдарламалау тілі 60-жылдарда
жасалған, ол экономикалық салада бизнес-есептерді
шығаруда қолданылады. Оның ерекшедігі
«көпсөзділігінде» болып
4.3. Алгол.
Алгол – 1960 жылы шығарылған компиляторланатын
тіл. Негізінен, алгол тілі фортран
бағдарламалау тілінің орнына қолданылу
үшін жасалынған болатын, алайда оның
құрылымы өте ауқымды болғандықтан,
бұл бағдарламалау тілі кең тараған
жоқ. 1968 жылы Алгол 68 версиясы пайда
болды. Бұл версия өзінің мүмкіндері
жағынан қазіргі кездегі
4.4. Бейсик.
Бейсик тілі 1964 жылы Англияда шығарылған. Бұл тіл, негізінен, бағдарламалауды оқыту тілі болып табылады. Толық түрінде Beginner’s All-purpose Symbolic Instruction Code (BASIC) – бастаушыларға арналған көп мақсатты символдық оқытушы код.
Көп ұзамай бұл бағдарламалау тілінің үйренушілері және авторлары Бейсик тілінің Фортран тіліне ұқсас екенін аңғарады. Бұл тіл оңай қабылданғандықтан, Фортран тіліне қарағанда бұл тілдеағдарламалар жылдамырақ құрастырылатын. Сонымен қатар Бейсик тілі дербес компьютерлерде қолайлы болған. Осылайша Бейсик тілі әйгілі тілдердің біріне айналады.
4.7. Си.
Си бағдарламалау тілі Bell лабораториясында жасалған. Бұл тілді ассемблердің орнына қолдану үшін шығаруды жоспарлаған еді. Си – бұл жалпы тағайындаудың тілі, ол өзінің үнемділігімен, тиімділігімен және тасымалданғыштығымен ерекшеленеді. Аталған ерекшеліктер арқасында Си тілі арқылы бағдарлама өнімдерінің кез келген түрін жасауға болады. Си тілі құралдық тіл ретінде қолданғанда, жедел және тұтас бағдарламаларды құрастыруға болады.
4.8. Ява.
Бұл тіл 90-жылдарда Sun компаниясымен Си++ негізінде шығарылған болатын. Бұл тіл Си++ тілінің жетілдірілген түрі болып табылады. Ол Бейсиктен кейін дүние жүзі әйгілі тілдердің ішінде екінші орында.
5. Жүйелік бағдарламалау. Паскаль тілінде бағдарламалау.
Паскаль тілін 1979 жылдары Швейцарияда Никлоус Вирт ашқан.
Паскаль тілі – IBM PC дербес компьютерлеріне арналған дәстүрлі алгоритмдік бағдарламалау тілі болып табылады. Бұл Паскаль тіліндегі бағдарлама қойылған мәселені шешуге әкелетін, арнайы ұйымдастырылған декректерді түрлендіру қадамдарының тізбегі екенін білдіреді.