Турбо паскальда графиканы құру


Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 17 бет
Таңдаулыға:
Курстық жұмыс
Тақырыбы
«Турбо Паскальда графиканы құру»
Жоспар
I. Кіріспе . . .
II. Негізгі бөлім.
1. Graph модулі . . .
2. Бейнелердің сақталуы мен берілуі . . .
3. Координаттар, терезелер, беттер . . .
4. Сызықтар мен нүктелер . . .
5. Көпбұрыштар . . .
6. Доға, шеңберлер, элипстер . . .
7. Бояулар, политра, толықтырулар . . .
III. Қорытынды . . .
Қолданғанәдебиеттер . . .
Кіріспе
Бұл курстық жұмыста Турбо Паскальдің графикалық режимде, графикалық объектілердің бейнеленуі үшін, әр түрлі функциялар мен процедуралар қарастырылады.
Монитордың тексттік немесе графикалық жұмыс кестесінің арасындағы айырмашылықтары визуалды мәліметтердің қорытындысының көмегімен іске асады. Тексттік режимде экрандық бейненің минималды объектасы санды-алфавиттік және қандай да болмасын символ болып табылады. Санды алфавиттік режимде жұмыс жасайтын монитордың экраны қарапайым жағдайда көлденеңнен 25 белгілерден және тігінен 80 белгілерден тұруы мүмкін, яғни барлығы 2000 визуалды объект бар. Әрине мұндай режимде экранға тек ғана қарапайым тексті ғана емес, сонымен қатар кейбір графикалық бейнелерді шығаруға болады. Бір-ақ та мұндай бейнелердің сапасы ешқандай мінсіз болуы мүмкін. Бір-ақ бұл әдіс компьютердің тарихи заманында жалғыз болды, сондықтан да ол графикпен түгел суретті экранға шығарудың кең таралған түрі болып табылады. Бағдарламалаушылардың кейде компьютерлік псевдографиканың нағыз шедеврлерін жасап шығаратын мүмкіндіктері болады. Бір-ақ күрделі жұмыстары үшін дисплейдің тексттік режимінің бейнелері мүлдем сәйкес келмейді.
Графикалық режимде минималды объект, бағдарламашы басқара алатын қорытынды болып «Пиксель» мен «Элемент» табылады. Пиксель бейнелерге қарағанда аз мөлшерде болады. Оның геометриялық өлшемесі монитордың шешімі арқылы анықталады. Монитордың шешімі әдетте былай беріледі: rx*ry, мұндағы rx-экрандағы пиксельдердің, ал ry-вертикаль пиксельдердің саны. Машықта өнімдік емес, кейбір шешімдердің белгілі мағыналары қолданылады. Мұндай шешімдер мыналар.
Мысалы:320х200; 640х450; 800х600; 1024х758; 1280х1024; және т. б.
Функциялар мен процедуралар
(Бөлімдер мен әдістер)
- Graph модулі.
Graph Турбо Паскаль модулінде графикалық экранға арналған жұмыстар үшін елуден астам процедуралар мен функциялар бар. Осы модульде кейбір реттелген константтар бар, олар графикалық бағдарламада қолдануы мүмкін. Graph модулінің барлық мүмкіндіктрін пайдалану үшін, алдымен бағдарламаның қолдану (но) операторын орналастыру керек.
Uses Graph. модульдің негізгі бөлімін графикалық элементтердің базалық процедураларын енгізу құрайды, олар нүктелер, тік сызықтардың кесінділері, доғалар және бүтін шеңберлер.
Graph Error функциясы.
String типінің мағынасын қайтарады. Онда көрсетілген код бойынша қателер сәкесінше текстік хабарлама до беріледі.
Бастама.
Fanctional GraphError. Msg(Code:Integer) :String;
Мұнда Code-қатенің коды;
Graph Result-функциясына қайтарылған қатенің коды.
Close Graph фунциясы.
Экран жұмысының текстік режимін қарастырады. Және адаптердің графикалық режимдегі жұмысын аяқтайды.
1. 2 Бейнелердің сақталуы мен берілуі.
ImageSize функциясы. Байттағы есте-сақтаудың мөлшерін қайтарады, олар бейненің төртбұрышты фрагментін орналастыру үшін қажет.
Function ImageSize (Х1, Y1, X2, Y2:Integer:Word) ;
Мұнда Х1 . . . X2 сол жақ кооррдинаталарын бұрыштардың бейнесінің фрагментте.
GetImage процедурасы бейненің тік бұрышты фрагментінің көшірмесін есте сақтайды.
Buf өлшемі Х1 . . . X2 координаттарымен ImageSize функциясы қайтарған мағынадан кем болмау керек.
Put Image(Х, Y:Integer; var Buf; Mode:Word) ;
Мұнда Х, Y-бейнелеу фрагменті сақталатын орынның экрандағы сол жақ жоғарғы координаты.
Buf-бейненің алыну орны; mode-сақтау әдісі.
Көріп тұрғанымыздай оң жақ төмен бұрыштардың координаттары көрсетілмеген. Сол жақ жоғарғы бұрыштың координаттары әр-түрлі болуы мүмкін, тек шығарылған көшірме экранға сиғаны болғаны. Mode параметрі экранда бар бейненің қозғалу бағытын анықтайды.
1. 3 Координаттар, терезелер, беттер.
Кез-келген бейне қарапайым геометриялық фигуралардан құрастырылады. Бұлар нүктелер, түзу сызықтардың кесіндісі, шеңберлер немесе тағы басқалары. Геометрия бойынша геометриялық объекті мен оның формалары нүктелерінің координаталары арқылы пайда болатын белгі:сондықтан, графикалық нәтижені бағдарламау үшін графикалық объектінің координаталарын жауып үйрену қажет.
Көптеген графикалық процедуралар мен функциялар экрандағы өтпелі позицияның көрсеткішін қолданады, олар тексттік курсорға қарағанда көрінбейді. Бұл көрсеткіштің жағдайы, графикалық экрандағы кез-келген координата сияқты 0, 0 координатасы бар сол жақ жоғары бұрышқа қатысты беріледі. Осы бағытпен бұрышқа қатысты беріледі. Осы бағытпен, экранның көлденең координатасы жоғарыдан төмен қарай үлкейеді.
Get Max х және Get Max у функциясы Word типінің мағынасын қайтарады. Сәйкесінше көлденеңнен және тігінен өтпелі(речи) жұмыс режимінде экранның максималды координатасын құрайды.
SetViewPort процедурасы графикалық экранда тік бұрышты терезелерді орналастырады.
Тақырыпша.
Procedure SetViewPort(X1, Y1, X2, Y2:Integer; ClipOn:Boolean) ;
Мұнда Х1 . . . Х2-сол жақ жоғарғы координата(Х1, Y1) және оң жақ төменгі терезелерінің бұрыштары (Х2, Y2) ; ClipOn- Boolean типінің берілуі.
ClearDevice процедурасы. Графикалық экранды тазалайды. Процедураға ауысқаннан кейін көрсеткіш жоғарғы сол жақ бұрышқа орналасады, ал экранның өзі SetBkColor процедурасы арқылы берілген фон түсімен толады.
1. 4 Сызықтар мен нүктелер.
PutPixel процедурасы. Нүктеге көрсетілген координаталар бойынша түс арқылы шығады.
Procedure PutPixel (X1, Y1, X2, Y2:Integer; Color:word) ;
Мұнда X, Y-нүктелер координатасы; Color-нүктенің түсі.
Line процедурасы. Басымен соңын көрсетілген координаталар бойынша сызады.
Procedure Line(X1, Y1, X2, Y2:Integer) ;
Мұнда X1 . . . Y1-сызықтың басы(X1, Y1) мен соңының (X2, Y2) координаталары.
Procedure SetLineStyle(Type, Pattern, Thick:word) ;
Мұнда Type, Pattern, Thick -сәйкесінше тип, үлгі және сызықтың қалыңдығы. Сызықтың типі мына константтардың бірінің көмегімен пайда болуы мүмкін.
Const
SolidLn=0; (тегіс сызық)
DottedLn=1; (нүктелі сызық)
CenterLn=2; (штрих-пункті сызық)
DashedLn=3; (пункті сызық)
UserBitLn=4; (қолданушының анықтаған сызықтық өрнегі) .
1. 5 Көпбұрыштар.
Rectangle процедурасы. Көпбұрышты бұрыштардың көрсетілген көрсетілген координаталары бойынша сызады.
Procedure Rectangle(Х1, Y1, X2, Y2:Integer) ;
Мұнда Х1 . . . Y2-сол жақ жоғарғы бұрыштың координаталары(X1, Y1) тік бұрыштың оң жақ төменгі бұрыштарының координаталары (X2, Y2) тік бұрыш ағымдағы түс пен сызық стилін қолдану арқылы сызылады.
1. 6 Доғалар, шеңберлер, элипстер.
Circle процедурасы. Шеңбер сызады.
Procedure Circle(Х, Y:Integer; R:Word) ;
Мұнда Х, Y-центрдің координаталары.
R-Пиксельдердегі радиус.
Шеңбер ағымдағы түс арқылы шығарылады. Сызықтың қалыңдығы ағымдағы стильмен қалыптастырады. Сызықтың түрі әрқашанда SolidLn(Тегіс) . Сызықтың радиусының өлшемінің өзгертіндісін есте сақтай отрырып процедура дұрыс шеңбер сызады, яғни GetAspectRatio коэффициентінің есебімен осыған байланысты R параметрі тік бұрыштағы пиксельдердің мөлшерін анықтайды.
Arc процедурасы. Доғал шеңбер сызу.
Тақырыпша:
Procedure Arc(Х, Y:Integer; BegA, EndA, R:Word) ;
BegA, EndA-сәйкесінше доғаның бастапқы және соңғы бұрыштары,
R-радиусы.
Бұрыштар сағат тіліне қарама-қарсы бағытта және градус өлшемімен көрсетіледі. Нолдік бұрыш вектордың солдан оңға қарай тік бұрышына сәйкес келеді. Егер де бастапқы бұрышқа 0 мәнінен және соңғы бұрышқа 359 мәнін берсек, онда толық шеңбер шығады.
Шеңбердің доғасын сызған кезде Circle процедурасындағы сияқты радиустың сызықтарына сәйкес ерекшелеп қолданылады.
Ellipse процедурасы.
Procedure Ellipse(Х, Y:Integer; BegA, EndA, RX, RY:Word) ;
Мұнда Х, Y-центрдің координаталары, BegA, EndA-сәйкесінше доғаның бастапқы және соңғы бұрыштары; RX, RY-пиксельдердегі элипстің көлденеңнен және тігінен орналасқан радиустары.
1. 7 Бояулар, толықтырулар, палитралар.
SetColor процедурасы. Шығарылатын сызықтармен бейнелер үшін ағымдағы түс қалыптастырады.
Тақырыпша:
Мұнда Color-ағымдағы түс.
SetBkColor-процедурасы фонның түсін қалыптастырады.
Тақырыпша:
Procedure SetBkColor(Color:Word) ;
МұндаColor-фонның түсі;
Фонның түсі тек қана қара түсті болатын текстік режиммен графикалық режимнің айырмашылығы. Мұнда кез-келген түс болуы мүмкін. Фонға жаңа түс қою тез арада графиканың экранның түсі әр түрлі екі учаскі бейнені шығаруға болмайтындығын білдіреді. GGA адаптері үшін жоғары шешімдегі фонның түсін орналастырса белсенді пиксель түсін өзгертеді фонның түсі кез-келген басқа түске ауысқаннан кейін, 0(қара) түстен бастап өте жақсы екенін ескеремін.
Егер де сіздің ПК-ң түрлі түсті-экран болса, онда келесі бағдарлама SetBkColor процедурасының жұмысын қарастырады. бағдарлама бірінің үстіне бірі қойылған 10 тік бұрыштарды шығарады(түр, яғни түс) .
Тақырыпша:
Procedure SetFillStile(Fill, Color:Word) ;
Мұнда Fill-толықтырудың түрлері, Color-толықтырудың түсі.
Толықтырудың көмегімен қандай да бір бейненің фрагменттерін жасыруға болады.
FloodFill процедурасы жабық фигураны толықтырады, мұнда толықтыру стилін қолданады:(өрнек және түс) .
Тақырыпша:
Procedure FloodFill(Х, Y:Integer; Border:Word) ;
Мұнда Х, Y-ішінде сақталған фигураның кез-келген нүктесінің координат, Border-шекара сызығының түсі; Егер де фигура бітеу болмаса, толықтырылу экран бетін басып кетеді.
Программаның листингі.
Program Brodvey;
Uses Graph, Crt;
Var i, a, y, x: integer;
Procedure init;
Var gD, gM, EC: integer;
Begin gD:=detect;
Init Graph(gD, gM, ’’) ;
end;
begin init;
Set Color(1) ;
Line(520, 0, 0, 192) ;
Line(530, 0, 0, 210) ;
SetFillStyle(1, 8) ;
FloodFill(525, 0, 1) ;
Line(550, 0, 0, 450) ;
Line(565, 0, 0, 600) ;
SetFillStyle(1, 0) ;
FloodFill(540, 0, 1) ;
SetFillStyle(1, 10) ;
FloodFill(555, 0, 1) ;
Line(800, 0, 0, 1700) ;
SetFillStyle(9, 10) ;
FloodFill(555, 0, 1) ;
SetFillStyle(1, 8) ;
FloodFill(570, 0, 1) ;
SetFillStyle(9, 2) ;
FloodFill(630, 400, 1) ;
Line(0, 100, 90, 100) ;
Line(90, 100, 90, 158) ;
SetFillStyle(1, 4) ;
FloodFill(2, 120, 1) ;
Line(5, 105, 20, 105) ;
Line(5, 105, 5, 115) ;
Line(20, 105, 20, 115) ;
Line(5, 115, 20, 115) ;
SetFillStyle(1, 14) ;
FloodFill(7, 110, 1) ;
Line(40, 105, 55, 105) ;
Line(40, 105, 40, 115) ;
Line(55, 105, 55, 115) ;
Line(40, 115, 55, 115) ;
SetFillStyle(1, 14) ;
FloodFill(45, 110, 1) ;
Line(70, 105, 85, 105) ;
Line(70, 105, 70, 115) ;
Line(85, 105, 85, 115) ;
Line(70, 115, 85, 115) ;
SetFillStyle(1, 14) ;
FloodFill(80, 110, 1) ;
Line(5, 130, 20, 130) ;
Line(5, 130, 5, 140) ;
Line(20, 130, 20, 140) ;
Line(5, 140, 20, 140) ;
SetFillStyle(1, 14) ;
FloodFill(7, 135, 1) ;
Line(40, 130, 55, 130) ;
Line(40, 130, 40, 140) ;
Line(55, 130, 55, 140) ;
Line(40, 140, 55, 140) ;
SetFillStyle(1, 14) ;
FloodFill(45, 135, 1) ;
Line(70, 130, 85, 130) ;
Line(70, 130, 70, 140) ;
Line(85, 130, 85, 140) ;
Line(70, 140, 85, 140) ;
SetFillStyle(1, 14) ;
FloodFill(75, 135, 1) ;
Line(0, 60, 40, 60) ;
Line(40, 60, 40, 100) ;
SetFillStyle(1, 5) ;
FloodFill(5, 65, 1) ;
Line(5, 70, 15, 70) ;
Line(5, 70, 5, 80) ;
Line(15, 70, 15, 80) ;
Line(5, 80, 15, 80) ;
SetFillStyle(1, 14) ;
FloodFill(10, 75, 1) ;
Line(25, 70, 35, 70) ;
Line(35, 70, 35, 80) ;
Line(25, 70, 25, 80) ;
Line(25, 80, 35, 80) ;
SetFillStyle(1, 14) ;
FloodFill(30, 75, 1) ;
Line(0, 15, 55, 15) ;
Line(55, 15, 55, 100) ;
SetFillStyle(1, 6) ;
FloodFill(10, 20, 1) ;
Line(5, 40, 15, 40) ;
Line(5, 40, 5, 55) ;
Line(15, 40, 15, 55) ;
Line(5, 55, 15, 55) ;
SetFillStyle(1, 14) ;
FloodFill(10, 45, 1) ;
Line(25, 40, 35, 40) ;
Line(25, 40, 25, 55) ;
Line(35, 40, 35, 55) ;
Line(25, 55, 35, 55) ;
SetFillStyle(9, 8) ;
FloodFill(30, 45, 1) ;
Line(45, 40, 55, 40) ;
Line(45, 40, 45, 55) ;
Line(55, 40, 55, 55) ;
Line(45, 55, 55, 55) ;
SetFillStyle(1, 14) ;
FloodFill(50, 45, 1) ;
Line(60, 45, 70, 45) ;
Line(60, 45, 60, 60) ;
Line(70, 45, 70, 60) ;
Line(60, 60, 70, 60) ;
SetFillStyle(1, 14) ;
FloodFill(65, 50, 1) ;
Line(90, 45, 100, 45) ;
Line(90, 45, 90, 60) ;
Line(100, 45, 100, 60) ;
Line(90, 60, 100, 60) ;
SetFillStyle(1, 14) ;
FloodFill(95, 50, 1) ;
Line(90, 80, 90, 90) ;
Line(90, 90, 105, 90) ;
Line(105, 80, 105, 90) ;
Line(90, 80, 105, 80) ;
SetFillStyle(1, 14) ;
FloodFill(95, 85, 1) ;
Line(70, 80, 70, 90) ;
Line(70, 80, 55, 80) ;
Line(55, 80, 55, 90) ;
Line(55, 90, 70, 90) ;
SetFillStyle(9, 8) ;
FloodFill(59, 85, 1) ;
Line(120, 90, 120, 110) ;
Line(120, 110, 135, 110) ;
Line(135, 110, 135, 90) ;
Line(120, 90, 135, 90) ;
SetFillStyle(1, 14) ;
FloodFill(125, 95, 1) ;
Rectangle(155, 90, 170, 110) ;
SetFillStyle(1, 14) ;
FloodFill(165, 95, 1) ;
Rectangle(190, 60, 200, 70) ;
SetFillStyle(1, 14) ;
FloodFill(195, 65, 1) ;
Rectangle(210, 60, 220, 70) ;
SetFillStyle(1, 14) ;
FloodFill(215, 65, 1) ;
Rectangle(230, 60, 240, 70) ;
SetFillStyle(1, 14) ;
FloodFill(235, 65, 1) ;
Rectangle(190, 80, 200, 90) ;
SetFillStyle(1, 14) ;
FloodFill(195, 85, 1) ;
Rectangle(210, 80, 220, 90) ;
SetFillStyle(1, 14) ;
FloodFill(215, 85, 1) ;
Rectangle(230, 80, 240, 90) ;
SetFillStyle(1, 14) ;
FloodFill(235, 85, 1) ;
Rectangle(205, 30, 230, 35) ;
SetFillStyle(1, 14) ;
FloodFill(210, 32, 1) ;
Rectangle(240, 30, 255, 35) ;
SetFillStyle(9, 8) ;
FloodFill(245, 32, 1) ;
Rectangle(265, 30, 290, 35) ;
SetFillStyle(1, 14) ;
FloodFill(270, 32, 1) ;
Rectangle(300, 30, 325, 35) ;
SetFillStyle(1, 14) ;
FloodFill(310, 32, 1) ;
Rectangle(265, 40, 290, 45) ;
SetFillStyle(1, 14) ;
FloodFill(270, 42, 1) ;
Rectangle(300, 40, 325, 45) ;
SetFillStyle(9, 8) ;
FloodFill(310, 42, 1) ;
Rectangle(265, 50, 290, 55) ;
SetFillStyle(1, 14) ;
FloodFill(270, 52, 1) ;
Rectangle(300, 50, 325, 55) ;
SetFillStyle(1, 14) ;
FloodFill(310, 52, 1) ;
Rectangle(300, 60, 325, 65) ;
SetFillStyle(1, 14) ;
FloodFill(310, 62, 1) ;
Rectangle(265, 60, 290, 65) ;
SetFillStyle(1, 14) ;
FloodFill(270, 62, 1) ;
Rectangle(360, 50, 365, 55) ;
SetFillStyle(9, 8) ;
FloodFill(362, 52, 1) ;
Rectangle(360, 40, 365, 45) ;
SetFillStyle(1, 14) ;
FloodFill(362, 42, 1) ;
Rectangle(370, 45, 375, 40) ;
SetFillStyle(1, 14) ;
FloodFill(372, 42, 1) ;
Rectangle(360, 30, 365, 35) ;
SetFillStyle(1, 14) ;
FloodFill(362, 31, 1) ;
Rectangle(370, 30, 375, 35) ;
SetFillStyle(1, 14) ;
FloodFill(372, 32, 1) ;
Rectangle(390, 25, 395, 30) ;
SetFillStyle(9, 8) ;
FloodFill(392, 28, 1) ;
Rectangle(390, 15, 395, 20) ;
SetFillStyle(1, 14) ;
FloodFill(392, 17, 1) ;
Rectangle(375, 15, 380, 20) ;
SetFillStyle(1, 14) ;
FloodFill(378, 17, 1) ;
Rectangle(405, 30, 410, 35) ;
SetFillStyle(1, 14) ;
FloodFill(407, 32, 1) ;
Rectangle(415, 30, 420, 35) ;
SetFillStyle(1, 14) ;
FloodFill(418, 32, 1) ;
Rectangle(405, 20, 410, 25) ;
SetFillStyle(9, 8) ;
FloodFill(408, 22, 1) ;
Rectangle(415, 20, 420, 25) ;
SetFillStyle(1, 14) ;
FloodFill(418, 22, 1) ;
Rectangle(435, 10, 450, 15) ;
SetFillStyle(1, 14) ;
FloodFill(445, 12, 1) ;
Rectangle(435, 20, 450, 25) ;
SetFillStyle (1, 14) ;
FloodFill(440, 22, 1) ;
Line (55, 30, 110, 30) ;
Line (110, 30, 110, 150) ;
SetFillStyle (1, 9) ;
FloodFill(60, 35, 1) ;
Line (75, 10, 125, 10) ;
Line (125, 10, 125, 72) ;
Line (75, 10, 75, 32) ;
SetFillStyle (1, 11) ;
FloodFill(110, 25, 1) ;
Line (110, 70, 180, 70) ;
Line (180, 70, 180, 125) ;
SetFillStyle (1, 13) ;
FloodFill(125, 85, 1) ;
Line (180, 55, 250, 55) ;
Line (180, 55, 180, 70) ;
Line (250, 55, 250, 100) ;
SetFillStyle (1, 6) ;
FloodFill(185, 65, 1) ;
Line (165, 70, 165, 15) ;
Line (165, 15, 130, 15) ;
Line (350, 15, 350, 62) ;
SetFillStyle (1, 12) ;
FloodFill(205, 65, 1) ;
Line (300, 10, 300, 15) ;
Line (300, 10, 335, 10) ;
Line (335, 10, 335, 15) ;
SetFillStyle (1, 10) ;
FloodFill(325, 12, 1) ;
Line (350, 25, 380, 25) ;
Line (380, 25, 380, 52) ;
SetFillStyle (1, 4) ;
FloodFill(370, 26, 1) ;
Line (370, 10, 370, 25) ;
Line (370, 10, 400, 10) ;
Line (400, 10, 400, 45) ;
SetFillStyle (1, 15) ;
SetFillStyle (1, 15) ;
Line (400, 15, 430, 15) ;
Line (430, 15, 430, 34) ;
SetFillStyle (1, 9) ;
FloodFill(425, 25, 1) ;
Line (415, 15, 415, 5) ;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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