Объектті бағытталған программалау


Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 53 бет
Таңдаулыға:
К І Р І С П Е
Объектті бағытталған программалаудың негізгі түсінігі және программаның элементі болып мәліметтердің жиынтығын, сондай-ақ оларға жасалатын әрекеттерді үйлестіретін объект болып табылады. Delphi тіліндегі қолданбалы бағдарламалар немесе қосымшалар IDE (Integrated Development Environment) дамып отыратын құрылымдық ортада орындалады. IDE ортасы бағдарламаушының қарым-қатынасын ұйымдастырып, әр түрлі басқару элементтерінен құралған бірнеше терезелерден тұрады. Осы ортаның құралдарын пайдалана отыры, қосымшаның интерфейстік бөлігін жобалауға, программаның кодын жазуға және оны басқару элементтерімен байланыстыруға болады. Аталған жұмыстар және бағдарламаны түзету, оны орындау әрекеттері IDE ортасында орындалады.
Delphi-дің IDE ортасы көптерезелік жүйе деп саналады. Delphi оқиғалар бойынша басқарылатын объектті бағытталған, визуалды-программалау тілі болып саналады, және жалпы мөлшерде жобалаудың қазіргі құралдарына ұсынылатын жаңа талаптарға сәйкес келеді.
Бұл әдістемелік ңұсқауда жүйенің әр түрлі құралдарын пайдалану мысалдары келтірілген, әр түрлі мақсаттағы қолданбалы программалар өңделген, өзіндік жұмыстардың варианттары келтірілген.
1 1-Лабораториялық жұмыс «Сызықты алгоритмдерді бағдарламалау»
Лабораториялық жұмыстың мақсаты: визуалды ортаның негізгі элементтерін меңгеру, мәліметтерді енгізу/ шығару үшін DELPHI қарапайым құраушыларын пайдалануды меңгеру, және сызықты алгоритмді пайдаланатын қосымшаны құру.
1. 1 DELPHI визуалды ортасы
DELPHI-ді жүктегенде экранда 1. 1. суретте көрсетілген интерфейс панелі шығады. DELPHI ортасы монитор экранында біруақытта ашылатын бірнеше терезелер түрінде визуалды іске асырылады. Терезелердің саны, орналасуы, өлшемі және түрі программистпен өзгертілуі мүмкін.
Негізгі терезе экранда әрқашанда бар болады және қосымшаны құру үрдісін басқару үшін арналған.
Негізгі меню үрдісті басқару үшін барлық қажетті құралдардан тұрады.
Негізгі меню пиктограммалары көбінесе жиі қолданылатын командалармен жұмыс жасауды жеңілдетеді.
Компоненттер Палитрасы Форма терезесіне программистпен орналастырылған кейбір элементті (компонентті) сипаттайтын, DELPHI ортасының кітапханалық программалар жиынтығына рұхсатты қамтамасыз етеді. Әрбір компонент анықталған қасиеттер жиынтығынан тұрады, оларды программист өзінің көзқарасы бойынша таңдап алады және өзгерте алады. Мысалы, терезе аты, батырмадағы жазу, шрифтің өлшемі, түсі, түрі және т. б. Компоненттер қасиеттері HELP-та келтірілген .
Объекттілер Инспекторы терезесі таңдап алынған компоненттердің қасиеттерін өзгерту үшін арналған және екі беттен тұрады. Properties (Қасиеттер) беті компоненттердің қажетті қасиеттерін өзгерту үшін арналған. Events (Оқиғалар) беті- қандай да бір оқиғаға компоненттің реакциясын анықтау үшін арналған (мысалы, “тышқанның” батырмасын басу) .
Форма терезесі жобаланатын Windows-қосымшасының интерфейсін ұсынады. Осы терезеге қосымшаны жобалау кезінде қажетті компоненттер орналастырылады, компоненттерді өңдеуші Компоненттер Палитрасынан алады. Жобаның әрбір Формасына модуль ( Unit ) сәйкес келеді, оның Object Pascal тіліндегі мәтіні Код редакторы терезесіне орналастырылады.
Код Редакторы терезесі жоба модулінің мәтінін көру, құру және редакторлау үшін арналған. Бастапқы жүктемелеуде Код Редакторы терезесінде Windows-қосымшасы ретінде бос Форманың қалыптасуы үшін операторлардың минималды жиынтығынан тұратын модуль мәтіні болады. Форма терезесінде кейбір компонентті орналастыру кезінде, модуль мәтіні автоматты түрде қажетті операторлармен толықтырылады.
Форманы құру, клавиатура пернесін немесе тышқан батырмасын басу, т. б. сияқты жүйеде орындалатын барлық оқиғалар туралы Windows ядросы терезелерді қажетті хабарламаларды жіберу арқылы ақпараттайды. DELPHI ортасы оқиғаларды өңдеушілер көмегі арқылы хабарламаларды қабылдайды және өңдейді (мысалы, “тышқан” батырмасын басу- OnClick оқиғасы, Форманы құру - OnCreate) . Көбінесе жиі қолданылатын оқиғалар 1. 1. кестеде ұсынылған.
Оқиғаның өңдеушісін құру үшін программист Объектілер Инспекторы терезесінің жоғарғы жағында компоненттер тізімін ашуы және қажетті компонентті таңдауы керек. Содан кейін, Объектілер Инспекторының Events бетінде, тышқанның сол жақ батырмасын басу арқылы өңдеушінің атын таңдауы және оның оң жақ (ақ) бөлігін екі рет шертуі қажет. Оған жауап ретінде DELPHI Код Редакторы терезесін активтейді және таңдалған оқиғаның өңдеу процедурасының дайындамасын көрсетеді. Әрбір өңделетін оқиға үшін модуль мәтінінде процедура ( procedure ) қалыптасады, бұның begin және end кілт сөздері арасында программист Object Pascal тілінде оқиға өңдеушісінің талап етілетін алгоритмін жазады.
Форма терезесі және Код Редакторы терезесі арасында ауысу негізгі меню батырмасы
пиктограммасы арқылы немесе F12 пернесі арқылы орындалады.
1. 2 Қосымшаны құру мысалы
Тапсырма : Келесі шаманы есептеу үшін Windows-қосымшасын құру
Берілген x , y және z сандық мәндерін интерфейс панелінің сәйкес өрістеріне пернетақтадан енгізу. Құрастырып жатырған қосымшаның интерфейс панелінің мүмкін варианттарының бірі 1. . 2. суретте көрсетілген.
1. 2. 1 Жобаны сақтау
Қосымшаны жобалау үрдісі кезінде DELPHI бірнеше файлдарды құрады - жоба. Әрбір жобаны алдын ала құрылған жеке папкаға сақтаған дұрыс. Windows сәйкес келетін қосымша көмегімен папка құрып, оны LAB1 деп атайық.
Жобаны сақтау үшін негізгі менюдан F ile пунктін ашыңыз және “тышқанды” Sav e Project As…(Сохранить проект как…) опциясында шертіңіз. DELPHI бірінші жоба модулін сақтау үшін Save Unit1 As (Сохранить модуль как) диалог панелін ашады. Осы панелден құрылған LAB1 папкамызды табамыз және соның ішіне модульге, мысалы UnLinAlg ат беріп сақтаймыз. Көңіл қойыңыз, DELPHI бұл файылға үнсіздік бойынша *. pas кеңеюі бар Delphi unit типін меншіктейді. Сонан соң Save Project1 As диалог панелі ашылады . Жобамызға, мысалы, PrLinAlg ат беріп осы папканың ішіне сақтайық. Бұнда DELPHI файлға Delphi project типін және *. dpr кеңейтілуін береді. Назар аударыңыздар, енді DELPHI негізгі терезесі PrLinAlg, жобаның негізгі файл терезесі- PrLinAlg. dpr, ал жоба модулі терезесі- UnLinAlg. pas деп аталады.
DELPHI ұсынатын бірқалыпты Unit1 және Project1 орнына, файлдарға мағынасы бар ат беруге тырысыңыздар.
Авариялық, мысалы тоқ көзінің сөніп қалуы немесе жүйенің істен шығып кетуімен және т. с. с. байланысты жағдайларда жоба файлының жоғалуын болдырмау үшін, негізгі менюдің
пиктограммасын немесе
F
ile менюынан . Sa
v
e All опциясын пайдаланып периодты түрде жобаны сақтау ұсынылады.
1. 2. 2 Терезелерді орналастыру
Тереземен жұмыс жасау үшін, терезенің кез-келген жерінен “тышқанмен” шерту арқылы оны белсенді қылу керек. Белсенді терезенің аты бөлініп тұрады, мысалы, 1. 1 суретте белсенді болып Код Редакторы терезесі болып табылады.
Форма және модуль Коды Редакторының терезесінде жоғарғы оң жақ бұрышында басқару батырмалары болады, олар:
- терезені пиктограммаға жабу үшін,
- терезені бүткіл экранға ашу үшін және
, бастапқы өлшемге келу ушін
-терезені жабу үшін арналған.
“Тышқанның” көмегімен, Форма, Код Редакторы, Объектілер Инспекторы терезелерінің керек өлшемдерін және олардың экранда орналасуын реттеңіздер.
1. 2. 3 Форма атын өзгерту
Жаңа Форманың бірдей (Name) аты және тақырыбы(Сaption) - FORM1 болады. Жас программисттерге Форма атын өзгертудің қажеті жоқ, себебі ол модуль мәтінінде қолданылады.
Тақырыбын өзгерту үшін Объектілер Инспекторының терезесін белсенді қылыңыздар және Properties бетінде Caption қасиетіндегі Form1 жазуды Лабораториялық жұмыс №1-Сызықты алгоритм - деп өзгертіңіз. Біруақытта Форма терезесінің тақырыбы аты өзгергеніне көз жеткізіңіз.
1. 2. 4 Формада компоненттерді орналастыру
Формада компонентерді 1. 2. суретте көрсетілген панелге сәйкес келетіндей орналастырайық
Формаға жазуларды енгізу үшін Label компоненті қолданылады. Компоненттер Палитрасында Standard бетінде Label компонентінің
пиктограммасын таңдаңыз және оның үстінен “тышқанмен” шертіңіз. Осыдан кейін Форманың керек жерінен “тышқанмен” шертіңіз - Label1 жазуы пайда болады. Объектілер Инспекторының Caption қасиетінде
Label1
жазуын
X мәнін енгізіңіз- деп өзгертіңіз:
. Font қасиетінде шрифтті өзгертіңіз. Осыған ұқсас Формаға қалған жазуларды енгізіңіз. Кез-келген орналастырылған компоненттердің біріне “тышқанмен” шертіп, оның Формада орналасуын және өлшемін реттеңіз.
Мәліметтерді енгізу/шығару үшін қарапайым жағдайларда Edit және Memo компоненттері қолданылады. Edit компоненті мәліметтер бір жолмен көрсетілген кезде қолданылады. Егер мәліметтер бірнеше жолдардан тұрса, онда Memo компоненті қолдданылады.
x
,
y
және
z
айнымалыларының сандық мәндерін енгізу өрістерін құру үшін Edit компонентін қолданамыз. Компоненттер Палитрасының Standard бетінен
пиктограммасын таңдаңыз және Edit компонентін Форманың керек жеріне орналастырыңыздар.
Нәтижелерді шығару үшін Memo компонентін қолданамыз. Компоненттер Палитрасының Standard бетінен
пиктограммасын таңдаңыздар, Memo компонентін Форманың керек жеріне орналастырып, орналасуын және өлшемін реттеңіздер.
1. 2. 5 Форма құру (FormCreate) оқиғаларын өңдеуші процедурасының жазылуы
Егер программист интерфейс панелі пайда болған кезде экранда сәйкес өрістерде мәліметтердің бастапқы мәндері болғанын қаласа, ол қосымшаны орындалуға жіберген кезде Форманы құру (OnCreate) оқиғасы шығатынын ескеруі керек. x, y, z айнымалыларының бастапқы мәндерін сәйкесінше Edit1, Edit2 және Edit3 өрістеріне, ал Memo1 өрісіне Лабораториялық жұмыс №1 - Сызықты алгоритм жолын шығаратын осы оқиғаның өңдеу процедурасын құрастырайық. Ол үшін тышқанмен Форманың кез-келген бос жерін шертіңіз. Экранда UnLinAlg модулінің мәтіні пайда болады, мұнда DELPHI автоматты түрде Форма құру оқиғасының өңдеуші - процедурасын : Procedure TForm1. FormCreate(Sender:TObject) құрады. Осы процедураның begin және end операторлары арасында қажет әрекеттерді орындайтын операторларды енгізіңіз (модуль мәтіні қ. 1. 2. 7 көрсетілген) .
1. 2. 6 Батырманы басу оқиғасын өңдеуші прпоцедурасын жазу Button1 (Button1Click)
Шаманы есептейтін батырманы Формаға орналастырайық. Компоненттер Палитрасында Standart бетінде Button компонентінің
пиктограммасын таңдаңыз. Объектілер Инспекторының Caption қасиетінде батырмадағы
Button1
жазуын
Есептеу-
ге ауыстырыңыз. Font қасиетінде шрифтті өзгертіңіз. Батырманың орналасуын және өлшемін реттеңіздер. Осыдан кейін батырманың үстінен “тышқанмен” екі рет шертіңіз, сонда курсор Button1 батырмасын басу оқиғасын өңдеуші процедурасының мәтінінде орналастырылады:
Procedure TForm1. Button1Click(Sender:TObject
) . UnLinAlg модулінің мәтінін пайдаланып осы процедураның операторларын мұхият теріңіздер.
1. 2. 7 UnLinAlg модулінің мәтіні
Unit UnLinAlg;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject) ;
procedure Button1Click(Sender: TObject) ;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *. DFM}
// Форма құру оқиғасы өңдеушісінің процедурасы:
procedure TForm1. FormCreate(Sender: TObject) ;
begin
Edit1. Text:= '0. 4' ; // X -тің бастапқы мәні
Edit2. Text:= '8. 75e-2' ; // Y-тің бастапқы мәні
Edit3. Text:= '-19. 63' ; // Z-тің бастапқы мәні
Memo1. Clear; // Memo1 тазалау
// Жолды Memo1-ге шығару:
Memo1. Lines. Add( 'Лабораториялық жұмыс№1 - Сызықтық алгоритм ) ;
end;
// Button1 батырмасын басу оқиғасының өңдеуші процедурасы:
procedure TForm1. Button1Click(Sender: TObject) ;
var
x, y, z, a, b, c, u : extended; // локалді айнымалыларды хабарлау
begin
x:=StrToFloat(Edit1. Text) ; // X -ке Edit1 мәні меншіктеледі
y:=StrToFloat(Edit2. Text) ; // Y -ке Edit2 мәні меншіктеледі
z:=StrToFloat(Edit3. Text) ; // Z -ке Edit3 мәні меншіктеледі
// Шаманың есептелуі:
a:=sqrt(x) -y*y*y;
b:=sin(a) /cos(a) ;
c:=Exp(5*Ln(b) ) ;
u:=c+exp(y/z) *sin(z*z) ;
Memo1. Lines. Add(' X = '+Edit1. Text+' Y = '+Edit2. Text+
' Z = '+Edit3. Text) ; // Memo1-ға X, Y, Z нәтижесінің шығуы
// Memo1-ге нәтиженің шығуы:
Memo1. Lines. Add(' U = '+FloatToStrF(u, ffFixed, 8, 3) ) ;
end;
end.
Edit және Memo компоненттері жұмыс жасайтын мәліметтер String түрінде болады. Сондықтан TForm1. Button1Click процедурасында StrToFloat функциясы көмегімен X, Y, Z айнымалыларына Edit1, Edit2, Edit3 өрістерінің мәндері меншіктелген кезде, String түріндегі мәліметтердің Extended түріндегі қалқымалы нүктесі бар нақты мәндер түріне ауысуы орындалады. Бүтін түрдегі мәліметтермен жұмыс жасау керек болса, StrToInt функциясы пайдаланылады.
Мәліметтерді Memo1-ға шығарған кезде Lines қасиетінің Add әдісі пайдаланылады. Мәліметтерді нақты мәннен жолдық мәнге ауыстыру үшін және шығаратын нәтижені ұсынатын форманы басқару FloatToStrF функциясы пайдаланылады.
1. 2. 8 Қосымшамен жұмыс
Құрылған қосымшаны орындалуға жіберу үшін бас менюдің
пиктограммасын немесе F9 пернесін басыңыз. Осы кезде модулдердің тексерілуі және, егер қате жоқ болса, жобаның компоновкасы және PrLinAlg. exe орындалатын файлдың құрылуы орындалады. Экранда қосымша интерфейсінің панелі шығады (сурет 1. 2) .
“Тышқанмен” “
Есептеу
” батырмасына шертіңіз және Memo1 өрісінде нәтиже шығады. Edit өрісінде x, y, z-тің бастапқы мәндерін өзгертіңіз және қайтадан ”
Есептеу
” батырмасын басыңыз. Memo1 өрісінде жаңа мән шығатынына көз жеткізіңіздер. Қосымша жұмысын аяқтау интерфейс панелінің жоғарғы оң жақ бұрышында орналасқан
батырмасын басу арқылы болады.
Қосымшаның штатсыз жұмыс жасау жағдайында жобаның бастапқы режимына Run менюында ProgramReset опциясын таңдау немесе Ctrl+F2 пернелерін басу арқылы қайтадан оралуға болады.
1. 3 Өзіндік тапсырманың орындалуы
Оқытушының нұсқауы бойынша өздеріңіздің жеке тапсырмаңызды таңдап алыңыздар. Тапсырманың шартын, бастапқы берілгендердің санын және түрін нақтылап алыңыздар. Осыған сәйкес жобаланатын қосымшаның интерфейс панелінің дизайнын қалыптастырыңыз, Edit өрісінің қажетті санын, Форма тақырыбының мәтінін, шрифт өлшемдерін, сондай-ақ нәтижелерді енгізу/шығару кезіндегі айнымалылардың түрлерін және айналдыру функцияларын орналастырыңыздар.
Жеке тапсырмалар.
1.
Келесі мәндер бойынша x=14. 26, y=-1. 22, z=3. 5×
2.
Келесі мәндер бойынша x=-4. 5, y=0. 75×
3.
. 3
Келесі мәндер бойынша x=3. 74
4.
. 3
Келесі мәндер бойынша x=0. 4
. 3, y=-0. 875, z=-0. 475
5.
Келесі мәндер бойынша x=-15. 246, y=4. 642

2 2- лабораториялық жұмыс
Тармақталған алгоритмдерді бағдарламалау
Лабораториялық жұмыстың мақсаты : қарапайым ауыстырғыш-компоненттердің пайдалануын меңгеру және тармақталған алгоритмді пайдаланатын қосымша құру.
2. 1 Қосымша құру мысалы
Тапсырма: Келесі шаманы есептеу үшін Windows-қосымша құру
Z=
Құрастырып жатырған қосымшаның интерфейс панелінің мүмкін варианттарының бірі 2. 1. суретте көрсетілген
2. 1. 1 Формада компоненттерді орналастыру
Формада компонентерді 2. 1- суретте көрсетілгендей орналастырайық
DELPHI -де қосымшаларды құрған жағдайда ауыстырғыш- батырмалар түріндегі компоненттер жиі қолданылады. Бұндай батырманың күйі (қосылған - өшірілген) Формада визуалды түрде бейнеленеді. Панелде( 2. 1 сурет) ауыстырғыш- батырмалардың екі түрі көрсетілген: CheckBox және RadioGroup .
CheckBox компоненті тәуелсіз ауыстырғыш батырманы ұйымдастырады, бұның көмегімен пайдаланушы “ия/жоқ” түріндегі өзінің шешімін көрсете алады. RadioGroup компоненті, батырмалар тобынан тұрады - тәуелді ауыстырғыштар. Батырмалар тобының бір батырмасын басқан кезде, барлық қалған батырмалар сөнеді.
2. 1. суретке сәйкес Label, Edit және Memo компоненттерін Формаға орналастырыңыз. Компоненттер Палитрасындағы Standard бетінен CheckBox компонентінің
пиктограммасын таңдап алыңыз және Форманың керек жеріне орналастырыңыз. Объектілер Инспекторының Caption қасиетінде
CheckBox1
жазуының орнына
мәліметтердің бақылау нәтижесі-
деп жазыңыз
. Қосымшаны орындалуға жіберген кезде CheckBox батырмасы қосылған болу үшін, Checked қасиетін True- деп өзгертіңіз.
Standard Компоненттер Палитрасынан RadioGroup компонентінің
пиктограммасын таңдап алыңыз және Форманың керек жеріне орналастырыңыз. Caption қасиетінде
RadioGroup1
атын
f(x)
деп өзгертіңіз. Батырмаларды бір бағанаға орналастыру үшін, Columns қасиетін 1-ге тең деп алыңыз. “Тышқанмен” Items қасиетінің оң жағына екі рет шертіңіз - батырмалар аты тізімінің жолдық редакторы пайда болады. Екі жолға ат беріңіз: бірінші жолға- sin(x), екінші жолға - cos(x) және ОК-ны басыңыз. Осыдан кейін Формада сәйкес жазулары бар екі батырма-ауыстырғыштан тұратын топ пайда болады. Қосымшаны орындалуға жіберген кезде RadioGroup бірінші батырма қосылған болу үшін, ItemIndex қасиетін 0-ге деп алыңыз.
2. 1. 2 FormСreate және Button1Сlick оқиғаларын өңдеуші процедураларын құру
Технология создания процедур обработки событий FormСreate және Button1Сlick оқиғаларын өңдеуші процедураларын құру технологиясы алдыңғы жұмыстан айырмашылығы жоқ. UnRazvAlg модулінің мәтінін пайдаланып осы процедуралардың операторларын мұхият теріңіздер.
2. 1. 3. UnRazvAlg модулінің мәтіні
Unit UnRazvAlg;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label4: TLabel;
Memo1: TMemo;
Button1: TButton;
RadioGroup1: TRadioGroup;
CheckBox1: TCheckBox;
procedure FormCreate(Sender: TObject) ;
procedure Button1Click(Sender: TObject) ;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *. DFM}
// Форма құру оқиғасы өңдеушісінің процедурасы:
procedure TForm1. FormCreate(Sender: TObject) ;
begin
Edit1. Text:= '0. 5 '; // X тің бастапқы мәні
Edit2. Text:=' 1. 8 '; // Y тің бастапқы мәні
Memo1. Clear; // Memo1 тазалау
// Жолдың Memo1-ге шығуы:
Memo1. Lines. Add( ‘Лабораториялық жұмыс №2 - Тармақталған алгоритм’ ) ;
end;
// Button1 батырмасын басу оқиғасының өңдеуші процедурасы:
procedure TForm1. Button1Click(Sender: TObject) ;
var
x, y, z, fx : extended; // локалды айнымалыларды хабарлау
begin
x:=StrToFloat(Edit1. Text) ; // X -ке Edit1 мәні меншіктеледі
y:=StrToFloat(Edit2. Text) ; // Y -ке Edit2 мәні меншіктеледі
fx:=sin(x) ; // fx-ке бастапқы мән меншіктеледі
// Басылған батырмаға сәйкес функцияның таңдалуы:
case RadioGroup1. ItemIndex of
0:fx:=sin(x) ;
1:fx:=cos(x) ;
end;
// Шаманың есептелуі:
if x<y then
z:=fx
else
z:=y;
// CheckBox1батырма күйін тексеру:
if CheckBox1. Checked then
Memo1. Lines. Add('X = '+Edit1. Text+
' Y = '+Edit2. Text) ; // Memo1-ге X, Y нәтижесінің шығуы
// Memo1-ге нәтиженің шығуы:
Memo1. Lines. Add(' Z = '+FloatToStrF(z, ffFixed, 8, 3) ) ;
end;
end.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz