Автор работы: Пользователь скрыл имя, 19 Октября 2011 в 15:23, реферат
Көлемі жағынан орташа болып келетін бағдарламаларды(бірнеше мың жолды код) құрастырғанда құрылымды бағдарламалау қолданылады. Бағдарламаның құрылымы шығарылып жатқан есептің құрылымын көрсету керек, сонда бағдарлама мәтінінен есепті шығару алгоритмі түсінікті болады. Ол үшін қарапайым операторлар жеткіліксіз, алгоритмнің нақты құрылымын дәлірек көрсететін құралдар қажет. Сондықтан бағдарламалауға жаңа ұғым – ішкі бағдарламалар енгізілді.
Кіріспе
Ішкі бағдарламалар.
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) типін қайтарады.
Кез келген бағдарламада бірнеше процедура немесе функция қолданылуы мүмкін. Процедура мен функция сипаттау бөлігінде айнымалылар бөлігінен кейін жарияланады.
Бағдарламаның
орындалуы негізгі
Ішкі бағдарлама негізгі бағдарлама сияқты құрылады, яғни бағдарлама атауынан, операторлар бөлігінен және аяқталуынан құрылады.
Параметрдің екі түрі болады: формальды және шын мәніндегі параметрлер.
Шын мәніндегі параметр деп процедураны шақырар кездегі негізгі бағдарламадағы параметрлерді айтамыз. Ал формальды параметрлер ішкі бағдарламаның атауынан кейін көрсетіледі.
Формальды параметрлер тізімінде айнымалылар аталып, олардың типтері көрсетіледі.
Формальды параметрлерді екіге бөлуге болады:
Параметр-нәтижелер
тізімдерінің алдында var
сөзі жазылады. (Паскаль).
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 ассемблерге мысал бола алады.
Ассемблер тілінің жеткізілуі төртке бөлінеді. Олар: белгі, операция, операнд және комментарий алаңдарынан тұрады. Белгілер жады адресіне арналған символикалық аттармен қамтамасыз ету үін қолданылады. Олар командаларға өту және деректі сөздердің сақтайтын жерге символдың аттары бойынша қатынау мүмкіндігін алу қажет.
Егер
жекізу машиналық командаың
Операндтардың алаңдары машиналық командалар үшін операндтар болып табылатын адрестер мен регистрлерді анықтайды. Регистрлер. тұрақтылар, жады ұяшықтары және т. б. операндар болуы мүмкін.