Кітапханалық функцияларды пайдалану.
Жеке файлдарда сақталатын көмекші функциялар – кітапханалық деп аталады. Стандартты кітапханалар С/С++-тегі программалау жүйесінің стандартты жиынына кіреді. Сонымен қатар, программист өзінің функциялар кітапханасын құра алады.
Стандартты функцияларды қолдану үшін программаға сәйкес кітапхананың файлдарын қосу қажет. Бұл # include директивасының көмегімен орындалады. Мысалы, # include <stdio.h>. Барлық бас файлдардың кеңейтілуі .h (header). Бұл файлдар кітапхана функцияларының прототиптерін қамтиды. Трансляция алдындағы стадияда негізгі функцияның алдында прототиптер қойылымы (подстановка) жүзеге асырылады. Онан соң компилятор функцияға қатынастың дұрыстығын бақылай алады. Функцияны жүзеге асыратын программалардың өзі объектілік код формасында сақталады және негізгі программмаға байланысты редакциялау стадиясында (компоновщик жұмысы кезінде) қосылады.
Рекурсия – өзін өзі шақыратын функцияның бір түрі. Мысал:
#include <conio.h>
#include <stdio.h>
int sum (int temp){
int i=0;
if (temp == 0)
return temp;
else
return temp+sum(temp-1);
}
int main()
{
printf ("%d", sum(5));
getch();
return 0;
}
Рекурсивті функцияға берілген бұл мысалда аргументте енгізілген сандардың қосындысы анықталады. Сан 0-ге тең болғанға дейін алынған сандар аргументте жинақтала береді де, осы функцияға беріледі (бірақ 1-ге аз сан).
С/ С++ тілдерінде функцияны рекурсивті анықтау мүмкіндіктері бар. Оң бүтін санның факториалын есептеу мысалында рекурсивті функция анықталуын көрсетелік.
long factor (int n)
{ if (n<0) return 0;
if (n=0) return 1;
return n*factor (n-1);
}
Егер функцияны шақыру кезінде теріс аргумент берілсе, онда ол нөлдік мән қайтарады. Бұл дұрыс емес қатынастың белгісі.
Негізгі әдебиет: 6[72-90], 7 [132-151],
Қосымша әдебиет: 18 [175- 210], 19[28-30]
Дата добавления: 2015-09-11; просмотров: 3278;