Функциялар туралы негізгі мәліметтер


Пән: Математика, Геометрия
Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 17 бет
Таңдаулыға:   

МАЗМҰНЫ

КІРІСПЕ . . .
3
КІРІСПЕ . . .:

1 БӨЛІМ ФУНКЦИЯЛАР ТУРАЛЫ НЕГІЗГІ МӘЛІМЕТТЕР

1. 1 Сыртқы және ішкі айнымалылары . . .

3:

5

5

КІРІСПЕ . . .: 1. 2 Аргументтің берілу тәсілдері . . .
3: 7
КІРІСПЕ . . .: 1. 3 Формальді және нақты параметрлер . . .
3: 8
КІРІСПЕ . . .:

2 БӨЛІМ РЕКУРСИВТІ ФУНКЦИЯЛАР . . .

ҚОРЫТЫНДЫ . . .

3:

12

21

КІРІСПЕ . . .: ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР . . .
3: 22

КІРІСПЕ

Нью-Джерси штатының Мюррей Хилл қаласында Bell laboratiories компаниясында С тілінде 1969 жылы UNIX операциялық жүйесі құрылған. Бұдан кейін Кен Томпсон PDP-7 компьютеріне арналған жаңа В тілінің компиляторын жазған.

Алдымен С тілінің шығу тарихын зерттеу мақсатында осы тілге әкелген тілдер негізіне шолу жасайық:

  • 1960 жылы шығарылған Аlgol тілі;
  • 1963 жылы CPL- (біріктірілген програмамлау тілі) ;
  • 1967жылғы ВCPL- базалық біріккен программалау тілі;
  • 1970жылғы В тілі, Кен Томссон құрастырған.

Жоғарыда аталған тілдерді әр кезеңде туындаған қажеттілдіктерге қарай жетілдіру барысында жаңа тілдер пайда бола бастаған, жетілдіру техниканы құрастыру барысында жетіп отырған елеулі жаңалықтарға байланысты түсіндіріліп отырады. Толығырақ [1], [2] әдебиеттерден қараңыз.

  • Ал, С тілі 1972 жылы Деннис Ринчи Вell Lавs компаниясында құрастырған.

1983 жылы АNSI(Америка ұлттық стандарттау институты) С тілін стандарттау мақсатын қойған. Ал, Кен Томпсон В тілін жазып бітіргенде PDP -11 компьютері пайда болады. UNIX операциялы жүйесі мен В тілінің компиляторы жаңа машинаға модернизацияланған. Бұл PDP-11 машинасының оперативті жадысы 24 Кб болатын, мұның 16 Кб оперативті жүйеге қолданылып және 512 Кб дискде орыны болған. Кейінірек UNIX -ті В тілінде қайта жазу идеясы туындаған. Бірақ В тілі жәй жұмыс жасаған, және В сөздермен жұмыс жасауға бағытталған. Сондықтан В тілінің өзін жетілдіру қажеттілігінен 1971 жылы жаңа версиясы - С тілін жаза бастады. Деннис Ритчи тілдің нақты бір құрылғыдан тәуелсіздігін қарастырады.

1 БӨЛІМ ФУНКЦИЯЛАР ТУРАЛЫ НЕГІЗГІ МӘЛІМЕТТЕР

1. 1 Сыртқы және ішкі айнымалылар

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

Функциялар арсындағы байланыс мән қайтаратын аргументтер мен сыртқы айнымалылар арқылы орнатылады.

Return инструкциясы нәтижені шақыратын функциядан шақырған функцияға қайтару мехамизмін орындайды және Return сөзінен кейін кез- Return <өрнек>;

Мұндағы өрнекті жақшаға да жазуға болады, бірақ ол міндетті емес.

Си-дегі функция Pascal тіліндегі программа мен функция секілді.

Айырмашылығы: Си-дегі функцияның барлық аргументі параметр мән ретінде беріледі, яғни шақырылатын функцияға аргументтің өзі емес оның аргументтерінің мәні беріледі.

Си-дегі кез-келген функцияның прототипі болуы тиіс, яғни функция аты, аргументтерінің типі және қайтарылатын нәтиже типі көрсетілген тақырыбы хабарланады.

Прототивті программа денесінде немесе бөлек тақырыптар файылында айқындалады.

Функция прототипі компиляторға функция туралы информация береді де, сәйкесінше компилятор типтер сай келуін тексереді. Функция әртүрлі типті мән қайтара алады, мысалы, int, void, float т . б.

Айнымалылар локальді және сыртқы болып бөлінеді.

Локальді айнымалылар функция ішінде сипатталады да сонда ғана «көрінеді». Сыртқы айнымалылар кез-келген функция сыртында сипатталады да, сол функцияның кез-келген жерінде қолданылады.

Кез-келген функцияны анықтау үшін:

<нәтиже типі> <функция аты> (параметр тізімі) <функция денесі> Мұндағы өрнек болуы міндетті емес, егер болмаса, басқару функциясы шақырған программаға беріледі.

Кез келген функцияның сипатталуы келесі түрде болады:

Нәтиже типі функцияныњ аты (параметрлер тізімі)

{

декларациялар

инструкциялар

}

Функциялардың сипатталуы кез келген ретте бір немесе бірнеше шығыс файлдарында орналасуы мүмкін, бірақ кез келген функция тұтастай біреуінде орналасуы керек. Егер программаның шығыс тексті бірнеше файлдарға бөлінген болса, онда оны компиляциядан өткізу және іске қосу үшін бір файлда болған жағдайда айтар сөзі көп; бірақ ол тілге емес операциялық жүйеге қатысты. Әзірге біз екі функцияны бір файлда болған жағдайын ұсынып отырмыз.

Келесі жолда main функциясынан power-ді екі рет шақырады.

printf(" %d %d %d \n", i, power(2, i), power(-3, i) ) ;

Power функциясын шақырған сайын екі аргумент беріледі және негізгі программа нәтижесінде бүтін сан алады. Рower(2, i) өрнектің бөлігі ретінде 2 және і сияқты бүтін мәнді болып табылады.

Power -ді сипаттайтын бірінші жолда

іnt power(int base, int n) ;

параметр типі, функцияның аты, нәтиже типі көрсетілген. Power функциясындағы параметрлер локальді, ал ол кез келген басқа функция үшін жасырын екенін білдіреді. Сондықтан басқа ішкі программалар оларды өздерінің мақсаттары үшін қолдана алмайды. Соңғы тұжырым і және р айнымалылары ‰шін де д±рыс болады.

Бұдан былай параметр деп функцияның сипатталуында берілген жақша ішінде жазылған параметрлер тізіміндегі айнымалыны айтамыз. Ал аргумент деп функцияны шақырғанда қолданылатын мғнді айтамыз кейбір де осы маѓынада формальді аргумент терминін қолданамыз.

Power функциясында есептелетін мән main функциясына return инструкциясы арқылы қайтарылады. Return сөзінен кейін кез келген µрнек жазуѓа болады:

return өрнек;

Функция қандай да бір мән қайтаруы міндетті емес.

int power(int m, int n) ;

main алдында тұрған декларация рower функциясыныњ екі бүтін аргументінен тұратынын және бүтін нәтиже қайтаратынын білдіреді.

Бұл функцияныњ прототипі деп аталатын сипаттау рower фунуциясыныњ сипатталуымен және шақырылуымен сәйкес келуі керек. Шын мәнінде протипте параметрлер аттары еркін болуы немесе жоқ болуы да мүмкін, яғни протипті былай да жазуға болар еді:

Int power (int, int) ;

Бірақ жақсы тандалған аттар программаны түсінікті қылады.

1. 2 Аргументтің берілу тәсілдері

Аргументтер мән ретінде берілгенде функцияның ішінде аргумент аттас жергілікті айнымалы құрылады да оның мәні функцияда өзгеруі мүмкін, бірақ аргументтің мәні өзгермейді. Аргументтегі айнымалы сілтеме арқылы берілгенде функция аргументтің мәнін емес, оның адресін алады. Ал, мұнда құрылған жергілікті айнымалы көрсеткіш болады. Бұл, жадыны үнемдеуге мүмкіндік береді және функцияның орындалу барысында айнымалы-аргумент мәні өзгереді. Бұл жағдайда функция аргумент айнымалы- сілтеме арқылы бірнеше мән қайтара алады.

1. 3 Формальді және нақты параметрлер

Кез-келген функцияда аргументтер тізімі болады(болмауы да мүмкін) . Прграммадан функция шақырғанда нақты аргументтер тізімі беріледі.

Void функция аргументтерінің жоқ екенін білдіреді.

Функция аргументтері.

Функция аргументі ретінде массив беруге болады, мұнда функция массивтің !-ші элементтінің адресін көрсеткіш түрінде алады.

Функцияны сипаттағанда оның аргументі өлшемі белгісіз массив ретінде де көруге болады.

Рекурсия. Функция өзін өзі шақырғанда рекурсия деп аталады.

Факториал есептеу үшін рекурсивті функцияны қолдану

#include "stdio. h" #include "conio. h"
unsigned int factor(unsigned int k)
{
if ( k == 1 ) .
return(1) ; else
return(k*factor(k-1) ) ;
void main(
unsigned int n;

unsigned int f;
puts("Вычисление факториалаХп") ;
printf("->") ;
scanf("%u", &n) ;
f = factor(n) ;
printf("Факториал саны%u тен %u", n, f) ;
printf("Жұмысты аяқтау үшін <Enter> басыңыз") ; getch() ;

Функция - бұл аяқталған әрекетті орындайтын операторлар тобы. Олар программаны жеке блоктарға немесе модульдерге бөліп, басқаруға мүмкіндік береді. Бұл программа құрылымын жеңілдетеді. Функцияны қолдану үшін оның қалай жұмыс жасайтынын білу міндетті емес, тек қалай шақыру керектігін білу жеткілікті. Функция программада тек бір рет қана жазылып, бірнеше рет шақырылуы мүмкін. С/С++ тілінің негізгі программалық кодын осы функциялар құрайды. Бұл тілдердегі кез келген программада ең кемінде бір функция - main () функциясы болады. Ол программаның аяқталу кодын қайтарады.

Әрбір функцияның прототипі, яғни алдын ала хабарланған функция тақырыбы болуы керек. Тақырыбында функция аты, қайтарылатын нәтиже типі, сонымен қатар қанша және қандай типті аргументтер берілу керектігі көрсетіледі. Функцияның жалпы сипатталу синтаксисі төмендегідей:

нәтиже_типі функция_аты (аргумент_типі аргумент_аты, … )

{ .

.

функция денесі

.

.

}

Мұндағы:

нәтиже_типі -функцияның қайтаратын мәнінің типі;

функция_аты - функцияның аты;

аргумент_типі - фукцияда қолданылатын формальді аргумент типі;

аргумент_аты- фукцияда қолданылатын формальді аргумент аты.

Функция туралы сөз болғанды екі түрлі аргумент, біріншісі - нақты аргумент, екіншісі -формальді аргумент туралы айтылады. Нақты аргумент функцияны шақырған уақытта беріледі, ал формальді аргумент функция сипаттамасында ғана қолданылады.

Формальді аргументтер әр түрлі типті болуы мүмкін:void, char, int, float, double және массив. void типі функцияда формальді аргументтер көрсетілмеген уақытта қолданылады.

Функция нітижесінде void, bool, int, long, float, double типті айнымалылар қайтаруы мүмкін. Функция ешқандай мәлімет қайтармайтын болса, void типімен сипатталады.

Си тілінде ішкі программамен жұмыс істеуді қарастырайыќ. Си тілінде Паскальдан айырмашылығы ішкі программаныњ орнына функция ќолданылады. Си-де ішкі программаларды хабарлау келісілмеген, себебі функция негізгі программалық бірлік болып табылады, яғни, ең кіші орынды программалық модуль болып табылады. Кез-келген программада негізгі функция main қосылады.

Егер программада басқа да функциялар орындалатын болса, онда олар ішкі программа ролін атқарады:

Мысал 1 : АВС санның ең үлкенін табу программасын құрайық. Оны шығару үшін екі санның үлкенін табатын алгоритмді құрайық.

Max(a, b, c) =max(a, max(b, c) ) .

#include<iostreame>

//көмекші алгоритм

int MAX(int x; int y) ;

{if (>y) return x;

else return y;

}

//негізгі функция

void main()

{int a, b, c;

cout<<”a, b, c-ға мәндер енгізу”, cin>>a, b, c;

d=MAX(MAX(a, b), c) ;

cout<<”\n н сан =”<< d;

}

функцияны анықтау форматы:

типі функцияның аты(параметр спецификаторы)

{ функция денесі}

типі -функцияның нәтижесінің шығарған типі.

Функция аты - идентификатор болып табылады, оны программисттің өзі береді.

Негізгі функция үшін main - параметр спецификаторы ќолданылады. Функция - формальдық параметрдің тектері көрсетілген тізім.

Функция денесі -құрама оператор немесе блок болып табылады. Блоктың белгісі - болып программа объектісінің (айнымалылар, массивтер) сипаттамасы болып табылады.

Блок {блок} орындалады.

Си да мынандай ереже бар: функция денесі басқа функцияның сипатталуын қамтамасыз ете алмайды.

Кез - келген функциядан басқа функцияға араласуға болады. Бірақ, олар шақырылған функция үшін сыртқы функция болып қалады. Функциядан оны шақырған нүктеге қайта оралу return арқылы орындалады. Ол return <өрнек>. 1-ші жағдайда функция өзінің нәтижесі ретінде ешқандай мән қайтармайды. Ал 2-ші жағдайда функция нәтижесі өрнек болып табылады.

Функцияны шақыру формулалары:

Функция аты (фактілік параметр тізімі)

Си ішінде бұл өрнек пен формальдық және факторлық параметрлер арасында сәйкестік болу керек.

х, у - формальдық параметрлер.

а, в, с - фактілік параметрлер.

  1. Функция. Ішкі программаға мысал.

С++ тілінде ішкі программамен жұмыс істеуді қарастырамыз. С++ тілінде процедураның да фукнцияның да жұмысын функция атқарады. С++-де ішкі программаларды хабарлау келісілмеген. Себебі функция негізгі программалық бірлік болып табылады, яғни ең кіші орынан программалық модуль болып табылады. Кез-келген программада негізгі функция main-ды қосады.

Мынадай есеп шығарайық: Цилиндр көлемін есептеу үшін функция құру.

Оны көмекші алгоритм ретінде қолданамыз.

include <stdio. h> #include <conio. h> #include <math. h> // для доступа" к М PI
// объем цилиндра
float veil(float h, float r)
return(M PI*r*r*h) ;
void main ()

float r, h; // высота и радиус основания цилиндра
float v; // объем цилиндра
puts("Вычисление объема цилиндра") ;
printf("Введите высоту и радиус основания ->") ;
scanf ("%'f%f", &h, &r) ;
v = veil(h, r) ;
printf("Объем цилиндра %3. 2f\n", v) ;
printf("Для завершения нажмите <Enter>") ;
getch() ;

2 БӨЛІМ РЕКУРСИВТІ ФУНКЦИЯЛАР

Мынадай есеп шығарайық: әрбір нүктенің координаттары белгілі төртбұрыштың ауданын табайық. Төртбұрыштың ауданы 2 үшбұрыштың ауданының қосындысына тең. Әрбір үшбұрыштың ауданын Герон формуласы бойынша есептеуге болады. Ол үшін қабырғаның ұзындығын табу қажет. 1-ші және 2-ші төбенің арасындағы қабырға х1, х2, у1, у2.

L 12= (х1-х2) + (у1-у2) формуламен есептерді, осы сияқты, басқа қабырғаларды да есептейміз. Оны көмекші алгоритм ретінде қолданамыз.

# include<iostream. h>

# include<math. h>

# include<conio. h>

tupedef double D; // double типінің атын өзгерту.

D line (D, D, D, D) ; // line функциясының прототипі.

D Geron (D, D, D, D, D, D) ; // Герон функциясының прототипі.

// негізгі функция.

void main ( )

{D x1, y2, x1, y2, x3, y3, x4, y4, S1234;

clrscr () ;

cout <<”x1=”; cin>>x1; cout <<”y1=”; cin>>y1;

cout <<”x2=”; cin>>x2; cout <<”y2=”; cin>>y2;

cout <<”x3=”; cin>>x3; cout <<”y3=”; cin>>y3;

cout <<”x4=”; cin>>x4; cout <<”y4=”; cin>>y4;

S1234=Geron(x1, y1, x2, y2, x3, y3, ) +Geron (x1, y1, x2, y2, x3, y3, x4, y4) ;

cout<<”төртбұрыш ауданы =” ; << S 1234}

//line функциясын анықтау.

D line (Da, Db, De, Dd) ;

{return sgrt ((a-c) *(a-c) +(b-c) +(b-d) *(b-d) ; }

//Geron функциясын анықтау.

D Geron (Da1, Db2, Db1, Db2, Dc1, Dc2) ;

{Dp, ab, bc, ca;

ab=line (a1, a2, b1, b2) ; bc=line (b1, b2, c1, c2) ;

ca=line (c1, c2, a1, a2) ;

p=(ab+bc+ca) /2;

return sgrt (p*(p-ab) *(p-bc) *(p-ca) ) ;

}

Бұл программада 3 стандарттық кітапханадан алынѓан функциялар пайдаланылады.

Conio. h -экранға символдық режимді шығаруды, басқаруды ұйымдастырады. Бұл программаға тағы да бір элемент tupedef double D қосылды.

Tupedef - спецификаторы . Тектерге синоним белгісі double деген ұзын сөздің орнына D деген әріп жазу керек. Geron функциясында line функциясы шақырылады.

Мысал 2.

Берілгені: Үшбұрыш төбелерінің координаттары:(Х 1 , У 1 ), (Х 2 , У 2 ), (Х 3 , У 3 ) белгілі. Ауданын есептеу керек.

Математикалық моделі: Үшбұрыш ауданын табу үшін Герон формуласын пайдалануға болады. Бірақ, алдымен қабырғаларының ұзындығын табу керек. Оны екі нүктенің ара-қашықтығын есептеу формуласымен

D= (X 2 -X 1 ) + (Y 2 -Y 1 )

анықтауға болады. Үшбұрыш қабырғаларының ұзындығын есептеуді функция түрінде ұйымдастыруға болады.

#include <iostream. h>

#include <math. h>

float dlina(int x, int y, int xx, int yy) ;

main()

{

int x1, x2, x3, y1, y2, y3;

float ab, bc, ac, p, s;

cout<<"x1="; cin>>x1;

cout<<"y1="; cin>>y1;

cout<<"x2="; cin>>x2;

cout<<"y2="; cin>>y2;

cout<<"x3="; cin>>x3;

cout<<"y3="; cin>>y3;

ab=dlina(x1, y1, x2, y2) ;

bc=dlina(x2, y2, x3, y3) ;

ac=dlina(x3, y3, x1, y1) ;

p=(ab+bc+ac) /2;

s=sqrt(p*(p-ab) *(p-bc) *(p-ac) ) ;

cout<<"s="<<s;

return (0) ;

}

float dlina(int x, int y, int xx, int yy)

{

float d;

d=sqrt(pow(xx-x, 2) +pow(yy-y, 2) ) ;

return (d) ;

}

2. 1 Жады класстары

Программада қолданылатын барлық айнымалыға ЭЕМ жадысынан орын бөлінуі керек. Жадының бөлінуі программаны машина жадына енгізіп, орындалу кезегінде (компиляция) іске асады. Айнымалыға берілетін жадының 4 класы бар:

1. auto - автоматты түрде.

2. extern - сыртқы.

3. static - статистикалық.

4. register - регистрациялық.

Бүкіл программада қолданылатын жан-жақты қамтитын айнымалылар (глобальды) үшін сыртқы жадынан орын бөлінеді. Глобальды айнымалыларды программа блогынан тыс немесе блок ішінде extern деген сөзден кейін хабарлауға болады. Бұл жағдай көбінесе программа модулы басқа файлда сақтауда қолданылады. Мыс: негізгі және көмекші функциялар әртүрлі файлда сақталады.

Глобальды айнымалыларды программа блогынан тыс немесе блок ішінде extern деген сөзден кейін хабарлауға болады. Бұл жағдай көбінесе программа модулі басқа файлда сақтау кезінде қолданылады.

Мысал: негізгі және көмекші функциялар әртүрлі файлда сақталады.

Файл1. Файл 2.

int var void func ()

void main () {extern int var;

{ var=5; var = 10*var;

func () ; }

cout <<var; }

Бұл жерде негізгі және көмекші (func) алгоритм арасындағы байланыс var деген глобальды айнымалы арқылы жүргізіледі. Оған компиляция кезінде жадының сыртқы бөлігінде орын бөлінеді. Ол программа орындалу барысында экранға 50 деген сан шығарады.

Блоктың ішінде хабарланған программаның бір бөлігінде қолданылған локальдық айнымалы автоматты жадынан орын бөлінеді. Жадыдан орын бөлініп, программаның блогы орындалып жатқан кезде іске асады да, блоктан щыққан кезде жады тазарады. Auto деген сөзді жазбауға да болады.

Статистикалық жады - айнымалыға программа орындалуы блок ішіне кіріп келе жатқанда бөлінеді де блоктан шыққанда жады тазартылмайды. Регистрациялық жады - локальды айнымалылар үшін бөлінеді. Процессор регистрі жадыныњ ең тез, ең кішкентай бөлігі. Олар программаның барлық операцияларының орындалуында қолданып отырады. Сондықтан, регистрмен жұмыс істеуді компиляторды қолданған жөн.

Мысал 3. Кітаптар туралы мәліметтерден құралған. Әрқайсысы - автордың фамилиясы, кітаптың аты және шыққан жылы туралы мәліметтен тұрады. 1960 жылдан бастап шыққан кітаптардың авторын табу.

#include<stdio. h>

#include<conio. h>

#include<math. h>

main( )

{FILE *fp; const N=5; int i;

struct books {char surname[15] ;

char nazv[15] ;

int year; };

books d[N] ;

clrscr( ) ;

if((fp=fopen(“Сандар. dat”, ”w”) ) ==NULL)

{puts(“файлды ашу қате”) ;

return’0’; }

for(i=0; i<N; i++)

{printf(“\n%d-інші кітап”, i) ;

printf(“\n Автордың фамилиясы:”) ;

scanf(“%s”, &d[i] . nazv) ;

printf(“Шыққан жылы:”) ;

scanf(“%d”, &d[i] . year) ;

fwrite(&d, N, i, fp) ; }

if((fp=fopen(“Bill. dat”, ”r”) ) ==NULL)

{puts(“файлды ашу қате”) ;

return’0’; }

for(i=0; i<N; i++)

{fseek(fp, I, SEEK_CUR) ;

fread(&d[i], N, I, fp) ; }

for(i=0; i<N; i++)

if(d[i] . year>1960)

{printf(“\n 1960 жылдан бастап шыққан кітаптар”) ;

puts(d[i] . surname) ; }

fclose(fp) ; }

Мысал 4. Факториал есептеу үшін рекурсивті функцияны қолдану.

#include "stdio. h" #include "conio. h"
unsigned int factor(unsigned int k)
{
if ( k == 1 ) .
return(1) ; else
return(k*factor(k-1) ) ;
void main(
unsigned int n;

unsigned int f;
puts("Вычисление факториалаХп") ;
printf("->") ;
scanf("%u", &n) ;
f = factor(n) ;
printf("Факториал саны%u тен %u", n, f) ;

Мысал 5. Төмендегі Гильберта қисығы программы

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Ақпарат және информатика. Ехсеl электрондық кестесі
Функция. Excel-дегі функция мәні.While операторы
Файлдарға қолданылатын функциялар мен процедуралар turbo pascal
Excel электрондық кесте құралдары
СИ бағдарламалау тілі және жобалануы
Ақпарат саны
Бағдарламамен қамтамасыздандыру
Қаз ҰТУ мамандықтары туралы мәлімет алу (Turbo C)
Өндірістік тәжірибе Есебі - мамандығы 6В06102 – Ақпараттық жүйелер
Азық - түлік дүкеніне мәліметтер қорын жасау
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz