С тілінің алфавиті
Кіріспе
Процесті жеңілдету үшін көптеген программалау тілдері жасалған.
Олардың өзіндік күшті және әлсіз жақтары бар, олар белгілі бір
есептерді шешуге бағытталған.
Барлық программалау құралдарын екі басты категорияларға бөлуге
болады:
• төмен деңгейдегі программалау тілі;
• жоғарғы деңгейдегі программалау тілі.
Бірінші топқа Ассамблер тілдерін жатады (мысалы Turbo
Assembler, Marco Assembler). Бұл программалық қамсыздандыру құралдары
барынша қысқа әрі жылдам орындалатын кодты алуды қамтамасыз
етеді (операциялық жүйелерді сауатты пайдаланған жағдайда). Алайда
айта кетерлік жайт, программалау процесінің төменгі деңгейіндегі
жұмыс жоғарғы деңгейге қарағанда жалықтырарлық әрі көп. Сонымен
қатар, Ассамблер тілінде жазылған программалар қабылдауға жеткілікті
ауыр, соңында қателерге әкеліп соқтыру мүмкіндігі жоғары.
Өз кезегінде, бұл кемістіктер жоғарғы деңгейлі программалар
тілдерінде жоқ, оған С++ тілі жатады. Сонымен қатар, берілген
топқа кемістіктің басқа түрі тиесілі, мысалы, орындалатын модульдің
орындалу уақыты мен мөлшерінің кеңеюі. Бұл программаны жоғарғы
деңгейде жазғанда нәтижені машиналық кодтың бастапқы текстін
компилятормен сұрыптайды, орындалушы модульде балласт пайда болуы
мүмкін, процедурамен функциядан тұратын программада тиімсіз
қолданылуы мүмкін. Басқа сөзбен айтқанда компилятор кітапханалық
функцияға қосылғанда шешімді өзі қабылдайды.
Сонымен қатар жоғарғы деңгейлі программалау тілінің
компиляциялануы кезінде біртекті емес нәтижелік кодтың бар екенін
атап өту қажет. Ассамблер программасында әр құрылым машиналық кодта
біртекті өңделетін болса, жоғарғы деңгейде жазылған программа
(оператор, процедура, функция т.б тұратын) әр қалай компиляциялануы
мүмкін, яғни, қолданбалы компилятордың версиясы және нақты
библиотекалық функцияның жүзеге асуы арқылы.
1. С++ тілінің алфавиті
С++ тілінің тарихы 1972 жылдан бастау алады, яғни, Деннис
Ритчи мен Брайан Керниганның құрамында жоғарғы деңгейлі тілдің
мүмкіндіктері бар, кейін Америка Ұлттық Стандарттау Институты
(ANSI) нақтылаған программалау тілінің жасалған кезінде.
1980 жылы Бьярна Страуструптың қабілетіне байланысты ANSI – дің
өкілі – С++ тілі пайда болды. Онда басқа да тілдердің жақсы
жақтары көрініс тапты. С++ тілі С тіліне қарағанда программистке
дәстүрлі құрылымдық және объектілік бағытталған программаларды
жасауға мүмкіндік береді.
С++ тілін қолданып жасалған программалық қамсыздандыру
идентификаторлар, кілттік сөздер, функциялар, тұрақтылар,
препроцессорлар, құрылымдар, массивтер және т.б элементтерден тұрады.
С++ тіліндегі нәтижені экранға Hello, World қатарлары арқылы
шығатын программаны қарастырайық.
1 – суретте берілген программаның бірінші қатары (препроцессор
директивасы #include) хабарландыру функциясымен ағымдағыларды
енгізу шығару үшін айнымалыларды құрайтын iostream.h тақырыптық
файлды қосудан тұрады. Тақырыптық қатар аты үшбұрыш тырнақшада (
- та қырыптық файл \ include\) немесе тырнақшада ("" – тақырыптық
файл ағымдағы каталогта орналасқан) көрсетіледі.
Әрі қарай негізгі функцияны сипаттау көрсетіледі main().
С++ тіліндегі кез – келген программа міндетті түрде main()
функциясынан тұратынын немесе осы арқылы жұмыс жасауды бастайтынын
атап өткен жөн.
#include iostream.h - тақырыптық файлды қосу
int main() - негізгі функцияны
сипаттау
{ - программа
орындалуының басы
cout”Hello, World\n”; - символдар қатарын шығару
return 0; - функциядан қайтару
} - программа
орындалуының соңы.
Функция денесі символдар қатарынан шығару операторынан cout
және файлдан қайтару операторынан return тұрады.
ANSI С – ге қарағанда С++ тілі консольдік енгізу – шығару
негізінде және қолданылады.
С++ тіліндегі стандартты енгізу ағымы cin тұрақтысымен, шығару
ағымы – cout тұрақтысымен байланысты (бұларды қолдану үшін
iostream.h тақырыптық файлды қосу қатары қажет). Осылайша мәліметті
стандартты ағымға шығару үшін формат қолданылады.
coutтүсініктеме;
түсініктеме айнымалы немесе кейбір мағыналы түсініктемелермен
ұсынылуы мүмкін.
Мысалы:
int variable=324;
coutvariable; толық шығару
Берілгендерді консольдік енгізу үшін жазу форматы қолданылады:
cinайнымалы;
Сондықтан айнымалы енгізу мәнін қабылдау қызметін атқарады:
int Age;
cout”жасыңызды енгізіңіз:”;
cinAge;
Осылайша Age айнымалысы консольдік енгізудің толық мәнін
қабылдайды. Енгізілген типтердің сәйкестігін және күту мәнін
тексеруге программист жауапты.
Бір уақытта әртүрлі айнымалылар үшін бірнеше мәндерді енгізуге
болады. Енгізу Enter түймесін басу арқылы аяқталады. Енгізілген
мәндер программа күткеннен көп болса, берілгендерді енгізудің
жартысы шығару буферінде қалады.
Қабылдаушы символдар қатарына енгізілу керек болған жағдайда,
енгізу пробелдің бірінші символына немесе Enter енгізуіне дейін
жалғасады.
char String [80];
cinString;
Осылайша, "С++ жасасын!" қатарын енгізгенде String айнымалысы
"С++ " – ді қабылдайды. Қалған бөлігі программада енгізу операторы
кездескенше буферде қалады.
Төменде символдық пробелдің бір қатарын"12345 67890" енгізудің
қалай бөлінетіндігі және екі әртүрлі айнымалыларды толықтыратындығы
көрсетілген - String1 және String2.
#include iostream.h
int main()
{
char String1 [80];
char String2 [80];
cout”Input string:”;
cinString1;
cout String1’\n’;
return 0;
}
Программа қорытындысында мынаны аламыз:
Input string: 12345 67890
12345
Input string:
67890
Мысалда көрсетілгендей, программада енгізу операторы екі рет
кездесетін болса да, символдар қатары бір рет ғана енгізілді.
Осылайша алғашқы бес енгізу символдары String1 айнымалысына , ал
қалған символдар - String2 айнымалысына орналасты.
1.1 Түсініктемелер
Егер программа айтарлықтай қиын болса, (бастапқы текстік
мөлшерінің кеңдігі т.б), бірнеше уақыттан кейін барлық программа
жазылуына сай логикалық жалғасын есіне алу мүмкін болмай қалады.
Әсіресе, басқа жасаушылардың программалық текстін түсіну қиын
болады.
Бұндай келеңсіздіктерді болдырмас үшін программалық кодты жасау
процесінде түсініктемелер қолданылады. Түсіндірмелер тексті үнемі
компилятор арқылы жасалады, бірақ программистке программаның кез –
келген бөлігінің тағайындалуын сипаттауға мүмкіндік береді.
Түсініктемелердің мөлшері бос жадтың болуымен шектеледі.
С++ тілінде түсініктемелердің екі түрі қолданылады.
Біріншісі, дәстүрлі көп қатарлы түсініктеме (ANSI С – ден
алынған), ол 'слеш жұлдызша' (*)арқылы аяқталатын блокты ұсынады.
Атында айтылғандай түсініктеменің бұл түрі бірнеше қатарларда
орналаса алады. Бұл типтегі түсініктемелер бір - біріне салынбайды.
Екінші түрі – бір қатарлы түсініктеме - 'қос слеш'() арқылы
басталады, сол қатардың соңына дейі жүреді. Түсініктеменің бұл типі
көп қатарлы түсініктеменің құрамына салынуы мүмкін.
Түсініктемені тексті түсіндірумен қатар, программаның кейбір
бөліктерінің уақытша жоқ екендігін көрсету үшін де қолдануға
болады.
Мысалы:
int main()
{
түсініктеме мысалдары
int а=0; int d;
*int b=15; *
int*-түсініктеме басы
a=c;
түсініктеме соңы-*
return 0;
}
1.2 Айнымалылар
Кез – келген программаның мақсаты, мәліметті енгізу, сақтау,
модификациялау және шығару болып табылады.
Идендификатор – программаның құрылымы болып табылады.
Идендификатор арқылы айнымалы аты, функция және белгі аты
түніледі. Программада идендификатор жазбалы және қатарлы латын
әріптерін, сандвр және регитрдің есебі бойынша кілттік сөзбен
сәйкес келмеуге тиіс анықтайтын символдан немесе әріптен міндетті
түрде басталатын анықтауыш символдан тұруы мүмкін. Жоғарыда
көрсетілген мысалда а, b,с, d идендификаторлары көрсетілген.
Кілттік сөздер – бұл өзіндік арнайы тағайындаулары бар тілдік
қор идендификаторлары.
С++тілінің кілттік сөздер тізімі:
asm else new template
auto enum operator this
break explicit private throw
case extern protected try
catch float Public typedef
char for Register typename
class friend Return union
const goto Shot unsigned
continue if Signed virtual
default inline Sizeof void
delete int Static volatile
do long Struct while
double mutable Switch
Айнымалыларды программада қолдана алу үшін ол алдын – ала
хабарланған болуы қажет. Идендификаторлардың жасалуы осындай
хабарландырулардың негізінде жүзеге асады.
Айнымалылар – берілгендерді сақтауға арналған, жадтың бірнеше
ұяшығында орналасатын программа объектісі.
Айнымалыларды хабарлағанда мөлшері оның типіне байланысты
болатын жадтың бірнеше аймақтары сақталады. Айта кетерлік жайт, бір
және бірнеше берілгендер типінің мөлшері әлтүрлі платформалы
компьютерлерде ерекшеленуі мүмкін, сол сияқты қолданылып отырған
опрациялық жүйеге де байланысты. Сондықтан келеңсіз мәселелер
туындамас үшін сол немесе басқа айнымалыларды хабарлағанда оның ЭЕМ
– де қанша байт орын алатынын білу қажет.
1.3 Тұрақтылар
Тұрақтылар, айнымалылардағыдай, жадта программа аяқталғанға дейін
өзгеріске ұшырай алмайтын тұрақтылар мағынасы ерекшеленетін жад
аймағын ұсынады. Тұрақтылар литеральді және типизованды болып
бөлінсе, литеральді тұрақтылар өз ішінде символды, қатарлы, толық
және заттай болып бөлінеді.
Символдық тұрақтылар тырнақшаларға (апостроф) біткен арнайы
символдарды ұсынады: 'е', '@', ''.
Қатарлы тұрақтылар – қос тырнақшаға алынған символдар жалғасы:
"Бұл мысал ұзын емес қатарлар тұрақтысы! ".
Толық тұрақтылар келесі түрде болады:
• ондық;
• сегіздік;
• он алтылық.
Ондық нөлден басталмайтын сан жалғасы болып ұсынылуы мүмкін,
мысалы: 123; 2384.
Сегіздік тұрақтылар - нөлден басталатын сегіз ретті сандар
ұсынысы (0 лен 7 дейін): 034; 047.
Он алтылық формат тұрақтысы 0х символдан немесе 0Х он алты
ретті сандардан басталады (0...9, А...F), мысалы: 0хF4; 0Х5D.
Ұзын толық тұрақтылар, long ауыспалылар типі қолданылатын, I
немесе L әріптері арқылы тұрақтыдан кейін арақашықсыз анықталады:
36L, 0I2L, 0х2L.
Заттық тұрақтылар – үтірлі саны ондық форматта жазылуы мүмкін
немесе экспоненциалды формада(1е4; 5е+2; 202е-5 осында толық не
жартылай бөлігі түсіп қалуы мүмкін: 2е4).
Типизованды тұрақтылар инициялизациядан кейін мағыналары
ауыспайтын ауыспалылар сияқты ... жалғасы
Процесті жеңілдету үшін көптеген программалау тілдері жасалған.
Олардың өзіндік күшті және әлсіз жақтары бар, олар белгілі бір
есептерді шешуге бағытталған.
Барлық программалау құралдарын екі басты категорияларға бөлуге
болады:
• төмен деңгейдегі программалау тілі;
• жоғарғы деңгейдегі программалау тілі.
Бірінші топқа Ассамблер тілдерін жатады (мысалы Turbo
Assembler, Marco Assembler). Бұл программалық қамсыздандыру құралдары
барынша қысқа әрі жылдам орындалатын кодты алуды қамтамасыз
етеді (операциялық жүйелерді сауатты пайдаланған жағдайда). Алайда
айта кетерлік жайт, программалау процесінің төменгі деңгейіндегі
жұмыс жоғарғы деңгейге қарағанда жалықтырарлық әрі көп. Сонымен
қатар, Ассамблер тілінде жазылған программалар қабылдауға жеткілікті
ауыр, соңында қателерге әкеліп соқтыру мүмкіндігі жоғары.
Өз кезегінде, бұл кемістіктер жоғарғы деңгейлі программалар
тілдерінде жоқ, оған С++ тілі жатады. Сонымен қатар, берілген
топқа кемістіктің басқа түрі тиесілі, мысалы, орындалатын модульдің
орындалу уақыты мен мөлшерінің кеңеюі. Бұл программаны жоғарғы
деңгейде жазғанда нәтижені машиналық кодтың бастапқы текстін
компилятормен сұрыптайды, орындалушы модульде балласт пайда болуы
мүмкін, процедурамен функциядан тұратын программада тиімсіз
қолданылуы мүмкін. Басқа сөзбен айтқанда компилятор кітапханалық
функцияға қосылғанда шешімді өзі қабылдайды.
Сонымен қатар жоғарғы деңгейлі программалау тілінің
компиляциялануы кезінде біртекті емес нәтижелік кодтың бар екенін
атап өту қажет. Ассамблер программасында әр құрылым машиналық кодта
біртекті өңделетін болса, жоғарғы деңгейде жазылған программа
(оператор, процедура, функция т.б тұратын) әр қалай компиляциялануы
мүмкін, яғни, қолданбалы компилятордың версиясы және нақты
библиотекалық функцияның жүзеге асуы арқылы.
1. С++ тілінің алфавиті
С++ тілінің тарихы 1972 жылдан бастау алады, яғни, Деннис
Ритчи мен Брайан Керниганның құрамында жоғарғы деңгейлі тілдің
мүмкіндіктері бар, кейін Америка Ұлттық Стандарттау Институты
(ANSI) нақтылаған программалау тілінің жасалған кезінде.
1980 жылы Бьярна Страуструптың қабілетіне байланысты ANSI – дің
өкілі – С++ тілі пайда болды. Онда басқа да тілдердің жақсы
жақтары көрініс тапты. С++ тілі С тіліне қарағанда программистке
дәстүрлі құрылымдық және объектілік бағытталған программаларды
жасауға мүмкіндік береді.
С++ тілін қолданып жасалған программалық қамсыздандыру
идентификаторлар, кілттік сөздер, функциялар, тұрақтылар,
препроцессорлар, құрылымдар, массивтер және т.б элементтерден тұрады.
С++ тіліндегі нәтижені экранға Hello, World қатарлары арқылы
шығатын программаны қарастырайық.
1 – суретте берілген программаның бірінші қатары (препроцессор
директивасы #include) хабарландыру функциясымен ағымдағыларды
енгізу шығару үшін айнымалыларды құрайтын iostream.h тақырыптық
файлды қосудан тұрады. Тақырыптық қатар аты үшбұрыш тырнақшада (
- та қырыптық файл \ include\) немесе тырнақшада ("" – тақырыптық
файл ағымдағы каталогта орналасқан) көрсетіледі.
Әрі қарай негізгі функцияны сипаттау көрсетіледі main().
С++ тіліндегі кез – келген программа міндетті түрде main()
функциясынан тұратынын немесе осы арқылы жұмыс жасауды бастайтынын
атап өткен жөн.
#include iostream.h - тақырыптық файлды қосу
int main() - негізгі функцияны
сипаттау
{ - программа
орындалуының басы
cout”Hello, World\n”; - символдар қатарын шығару
return 0; - функциядан қайтару
} - программа
орындалуының соңы.
Функция денесі символдар қатарынан шығару операторынан cout
және файлдан қайтару операторынан return тұрады.
ANSI С – ге қарағанда С++ тілі консольдік енгізу – шығару
негізінде және қолданылады.
С++ тіліндегі стандартты енгізу ағымы cin тұрақтысымен, шығару
ағымы – cout тұрақтысымен байланысты (бұларды қолдану үшін
iostream.h тақырыптық файлды қосу қатары қажет). Осылайша мәліметті
стандартты ағымға шығару үшін формат қолданылады.
coutтүсініктеме;
түсініктеме айнымалы немесе кейбір мағыналы түсініктемелермен
ұсынылуы мүмкін.
Мысалы:
int variable=324;
coutvariable; толық шығару
Берілгендерді консольдік енгізу үшін жазу форматы қолданылады:
cinайнымалы;
Сондықтан айнымалы енгізу мәнін қабылдау қызметін атқарады:
int Age;
cout”жасыңызды енгізіңіз:”;
cinAge;
Осылайша Age айнымалысы консольдік енгізудің толық мәнін
қабылдайды. Енгізілген типтердің сәйкестігін және күту мәнін
тексеруге программист жауапты.
Бір уақытта әртүрлі айнымалылар үшін бірнеше мәндерді енгізуге
болады. Енгізу Enter түймесін басу арқылы аяқталады. Енгізілген
мәндер программа күткеннен көп болса, берілгендерді енгізудің
жартысы шығару буферінде қалады.
Қабылдаушы символдар қатарына енгізілу керек болған жағдайда,
енгізу пробелдің бірінші символына немесе Enter енгізуіне дейін
жалғасады.
char String [80];
cinString;
Осылайша, "С++ жасасын!" қатарын енгізгенде String айнымалысы
"С++ " – ді қабылдайды. Қалған бөлігі программада енгізу операторы
кездескенше буферде қалады.
Төменде символдық пробелдің бір қатарын"12345 67890" енгізудің
қалай бөлінетіндігі және екі әртүрлі айнымалыларды толықтыратындығы
көрсетілген - String1 және String2.
#include iostream.h
int main()
{
char String1 [80];
char String2 [80];
cout”Input string:”;
cinString1;
cout String1’\n’;
return 0;
}
Программа қорытындысында мынаны аламыз:
Input string: 12345 67890
12345
Input string:
67890
Мысалда көрсетілгендей, программада енгізу операторы екі рет
кездесетін болса да, символдар қатары бір рет ғана енгізілді.
Осылайша алғашқы бес енгізу символдары String1 айнымалысына , ал
қалған символдар - String2 айнымалысына орналасты.
1.1 Түсініктемелер
Егер программа айтарлықтай қиын болса, (бастапқы текстік
мөлшерінің кеңдігі т.б), бірнеше уақыттан кейін барлық программа
жазылуына сай логикалық жалғасын есіне алу мүмкін болмай қалады.
Әсіресе, басқа жасаушылардың программалық текстін түсіну қиын
болады.
Бұндай келеңсіздіктерді болдырмас үшін программалық кодты жасау
процесінде түсініктемелер қолданылады. Түсіндірмелер тексті үнемі
компилятор арқылы жасалады, бірақ программистке программаның кез –
келген бөлігінің тағайындалуын сипаттауға мүмкіндік береді.
Түсініктемелердің мөлшері бос жадтың болуымен шектеледі.
С++ тілінде түсініктемелердің екі түрі қолданылады.
Біріншісі, дәстүрлі көп қатарлы түсініктеме (ANSI С – ден
алынған), ол 'слеш жұлдызша' (*)арқылы аяқталатын блокты ұсынады.
Атында айтылғандай түсініктеменің бұл түрі бірнеше қатарларда
орналаса алады. Бұл типтегі түсініктемелер бір - біріне салынбайды.
Екінші түрі – бір қатарлы түсініктеме - 'қос слеш'() арқылы
басталады, сол қатардың соңына дейі жүреді. Түсініктеменің бұл типі
көп қатарлы түсініктеменің құрамына салынуы мүмкін.
Түсініктемені тексті түсіндірумен қатар, программаның кейбір
бөліктерінің уақытша жоқ екендігін көрсету үшін де қолдануға
болады.
Мысалы:
int main()
{
түсініктеме мысалдары
int а=0; int d;
*int b=15; *
int*-түсініктеме басы
a=c;
түсініктеме соңы-*
return 0;
}
1.2 Айнымалылар
Кез – келген программаның мақсаты, мәліметті енгізу, сақтау,
модификациялау және шығару болып табылады.
Идендификатор – программаның құрылымы болып табылады.
Идендификатор арқылы айнымалы аты, функция және белгі аты
түніледі. Программада идендификатор жазбалы және қатарлы латын
әріптерін, сандвр және регитрдің есебі бойынша кілттік сөзбен
сәйкес келмеуге тиіс анықтайтын символдан немесе әріптен міндетті
түрде басталатын анықтауыш символдан тұруы мүмкін. Жоғарыда
көрсетілген мысалда а, b,с, d идендификаторлары көрсетілген.
Кілттік сөздер – бұл өзіндік арнайы тағайындаулары бар тілдік
қор идендификаторлары.
С++тілінің кілттік сөздер тізімі:
asm else new template
auto enum operator this
break explicit private throw
case extern protected try
catch float Public typedef
char for Register typename
class friend Return union
const goto Shot unsigned
continue if Signed virtual
default inline Sizeof void
delete int Static volatile
do long Struct while
double mutable Switch
Айнымалыларды программада қолдана алу үшін ол алдын – ала
хабарланған болуы қажет. Идендификаторлардың жасалуы осындай
хабарландырулардың негізінде жүзеге асады.
Айнымалылар – берілгендерді сақтауға арналған, жадтың бірнеше
ұяшығында орналасатын программа объектісі.
Айнымалыларды хабарлағанда мөлшері оның типіне байланысты
болатын жадтың бірнеше аймақтары сақталады. Айта кетерлік жайт, бір
және бірнеше берілгендер типінің мөлшері әлтүрлі платформалы
компьютерлерде ерекшеленуі мүмкін, сол сияқты қолданылып отырған
опрациялық жүйеге де байланысты. Сондықтан келеңсіз мәселелер
туындамас үшін сол немесе басқа айнымалыларды хабарлағанда оның ЭЕМ
– де қанша байт орын алатынын білу қажет.
1.3 Тұрақтылар
Тұрақтылар, айнымалылардағыдай, жадта программа аяқталғанға дейін
өзгеріске ұшырай алмайтын тұрақтылар мағынасы ерекшеленетін жад
аймағын ұсынады. Тұрақтылар литеральді және типизованды болып
бөлінсе, литеральді тұрақтылар өз ішінде символды, қатарлы, толық
және заттай болып бөлінеді.
Символдық тұрақтылар тырнақшаларға (апостроф) біткен арнайы
символдарды ұсынады: 'е', '@', ''.
Қатарлы тұрақтылар – қос тырнақшаға алынған символдар жалғасы:
"Бұл мысал ұзын емес қатарлар тұрақтысы! ".
Толық тұрақтылар келесі түрде болады:
• ондық;
• сегіздік;
• он алтылық.
Ондық нөлден басталмайтын сан жалғасы болып ұсынылуы мүмкін,
мысалы: 123; 2384.
Сегіздік тұрақтылар - нөлден басталатын сегіз ретті сандар
ұсынысы (0 лен 7 дейін): 034; 047.
Он алтылық формат тұрақтысы 0х символдан немесе 0Х он алты
ретті сандардан басталады (0...9, А...F), мысалы: 0хF4; 0Х5D.
Ұзын толық тұрақтылар, long ауыспалылар типі қолданылатын, I
немесе L әріптері арқылы тұрақтыдан кейін арақашықсыз анықталады:
36L, 0I2L, 0х2L.
Заттық тұрақтылар – үтірлі саны ондық форматта жазылуы мүмкін
немесе экспоненциалды формада(1е4; 5е+2; 202е-5 осында толық не
жартылай бөлігі түсіп қалуы мүмкін: 2е4).
Типизованды тұрақтылар инициялизациядан кейін мағыналары
ауыспайтын ауыспалылар сияқты ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz