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


Delphi ортасында комплекс сандармен амал орындау программасын құру
Факультеті
Мамандығы 050111 - Информатика
Кафедрасы “Физика және информатика ”
Диплом жобасын (жұмысын) орындауға
ТАПСЫРМА
Студентке Асылбекова Альбина Тайырқызы
(аты-жөні)
Жобаның (жұмыстың) тақырыбы___ “Delphi ортасында комплекс сандармен амал орындау программасын құру”
жоғары оқу орны бойынша “ “ қазан 2009 ж. №
бұйрықпен бекітілген
Аяқталған жобаны (жұмысты) тапсыру мерзімі ___ « 15 » мамыр 2010 жыл .
Жобаның (жұмыстың) негізгі деректері Комплекс сандар, оларды жазу әдістері, комплекс сандар устінен амалдар, Delphi программалау тілінің негізгі үғымдары, модульдер, олардың құрылымы, Delphi программалау ортасында комплекс сандар үстінен амалдар орындау программасын құру
Диплом жобасында көрсетілген мәселелердің тізімі немесе диплом жұмысының қысқаша мазмұны:
а) Комплекс сандар, комплекс сандарды жазу тәсілдері олар үстінен амалдар,
ә) Делфи ортасының интерфейсы. Объектты бағытталған программалау. Программаны оқиғалы басқару.
б) Модульдер. Модульдер структуралары (құрылымдары) . Модульде жарияланған объектілерге жету. Delphi-дегі модульдер типтері.
в) DLL-ді құру және пайдалану. DLL-ды құруға мысал. Кітапханаға форманы енгізу. DLL-де модульдерді қолдану ерекшіліктері.
г) Delphi программалау ортасында комплекс сандар үстінен амалдар орындау программасын құру
Графикалық материалдар тізімі (міндетті сызбалардың дәл көрсетілуімен) __ Delphi программалау тілінің дистрибутив дискетасы, Power Point қолданбалы программа ортасы,
Ұсынылған негізгі әдебиет: В. В. Фаронов Delphi. Программирование на языке высокого уровня. Питер, 2008 г. 640 c., Чеснокова О. В. Delphi 2007. Алгоритмы и программы. Москва, 2008, 357 с., Г. К. Нұрмуханбетова, А. Әмірбекұлы,
Л. Сүлейменова. Турбо паскаль тілінен практикум. Шымкент, 2003 ж. 131
б., Г. Г. Рапаков, С. Ю. Ржеуцкая. Программирование на языке Pascal. С. -П., 2005 г. 470 c., Установочная CD-дискета. Delphi 7. CD-диск.
Мазмұны
Кіріспе
Комплекс сандар ғылыми зерттеу жұмысында кеңінен пайдаланылады. Олар үстінен түрлі математик амалдарды орындауға түра келеді. Қайсы бір программалау ортасында бұл амалдарды орындау программасын құру өзекті мәселе болып табылады. Осындай программалау ортасы етіп Delphi ортасы алынды.
Осыған ұқсас қандайда жүйе программаларды құруға арналған болып екі характерлік ерекшіліктерге ие: ол жәрдемінде құрылған программалар Windows жүйесінен басқа жүйелерде де жұмыс орындай алалады, ал өзі программаны жылдам құру инструменталдық саймандар класына тиісті болады (Rapid Application Development, RAD) . Бұл үдеулену Delphi-дің екі характерлік қасиеттеріне байланысты: формаларды визуал конструкторлау және визуал компоненттердің кітапханаларынан (Visual Component Library, VCL) кеңінен пайдалану.
Формаларды визуал конструкторлау программалаушыны интерфейсті программалаудың көп аспектілерінен құтылдырады, себебі Delphi автоматик керекті программалық дайындамаларды және сай файл ресурстарын дайындайды. Программалаушы арнайы форма терезесі деп аталушы терзені келешек программаның прототипы ретінде пайдаланып оны керекті интерфейстік қасиеттерін амалға асыратын компоненттерімен (түрлі тізімдермен, кнопкалармен, айналдыру жолақшаларымен ж. б. ) толтырып отырады. Формада кезекті компонентті орнатқаннан соң Delphi автоматик формамен байланысты болған модульге компонентке сілтемені орнатады да арнайы DFM кеңейтпесіне ие сипаттау файлын сай келтіреді, ол компиляция еткеннен соң Windows-тың ресурстық файлына айналады.
Визуал компоненттер кітапханасы программалаушыға өте ұлкен түрлі Delphi жетілдірушілері жағынан дайындалған программалық дайындамаларды ұсынады. Олар жұмысқа дайын болып немесе оңай өзгертулерден кейін жұмысқа түсіп кете береді. Компоненттер өте маңызды қасиеттерге ие болып өзінде программалық код және жұмыс орындау үшін қажетті барлық нәрселерге ие. Нәтижеде программист көп артықша жұмыстардан құтылады. Жоғарыда айтылғандай Delphi өте көп түрлі жағдайларда қолдану мүмкін болған компоненттерді ұсынады. Олар өте қарапайым түсіндіру жазулардан бастап өте күрделі текстік редакторына немесе шешімдерді қабылдау саймандарына дейін қызмет ете алады.
Диплом жұмысы мақсаты етіп программаларды құруды оңайлататын модуль әдістерін қарастырып оларды комплекс сандар үстінен математикалық амалдар орындау программасын құруда пайдалану болып табыладытара.
1 - тарау. Комплекс сандар.
Комплекс сандар деп z = x + iy көрінісінде жазылатын сандарға айтылады. Бұл жерде x және y қалаған нақты сандар, ал і = +
ге тең болған жорамал бір.
Комплекс сандарды комплекс жазықтығында қайсы бір нүкте жәрдемінде бейнелеуге болады. Комплекс жазықтығының абцисса оғында сандың нақты бөлімі қойылады, ал ордината оғында жорамал бөлімі қойылады.
Комплекс сандар үстінен төрт арифметикалық амалдар және дәрежеге көтеру мен түбір шығару амалдарын орындауға болады.
Екі комплекс сандар қосындысы
z = z 1 + z 2 = x 1 + i y 1 + x 2 + i x 2 = ( x 1 + x 2 ) + i ( y 1 + y 2 )
тең болады.
Дәрежеге көтеру үшін комплекс санды Эйлер формасында жазу керек:
z = x + iy = r exp(iφ)
Бұл жерде
, ал
. Сонда
,
![]()
болады. Бұл жерде n бүтін сан. Егер дәреже бөлшек сан болса, мысалы 1/ n, онда бұл формула жәрдемінде түбірді есептесе болады. Түбірлер саны n- ге тең болады.
Екі комплекс сандардың көбейтіндісі
![]()
Екі комплекс сандардың бөліндісі
ІІ - тарау. Delphi ортасының интерфейсы
2. 1. Delphi жүйесін іске қосу.
Теориядан практикаға өту - программаларды жазуға өту сіздерді қызықтыратын шығар. Принципте біз оған дайынмыз. Бірақ программаларды жазу үшін бізге құрал-саймандар қажет болады. Жақында ғана бұл мақсат үшін қағаз мен қалам қызмет етер еді. Ал бүгін программаны құру саймандары болып компьютер өзі қызмет етеді. Осы компьютер өзінде жасалған программа орындалады да.
Жұмыс үшін компьютерден басқа арнайы программа да қажет болады. Басқа программаларды ерекше компоненттерден теріп жасайтын программалар визуал жетілдіру ортасы деп аталады. Визуал жетілдіру ортасы төмендегі қызметтерді өзіне алады:
♦ дайын программаларды «теретін» кірпіш-компоненттерді үсынады;
♦ программалау тілінің керекті операторларын жазуға мүмкіндік жасайды;
- қателерді табуға және оларды түзетуге мүмкіндік береді;
- қалаған басқа компьютерлерде орындау үшін дайын программаларды пішімдеуге мүмкіндік береді.
Программалау жүйесінің қамқорлығына байланысты автор бейнетінің өнімділігі және эффективтығы өсіп автор жұмысы творчестволық түрге өтеді.
Әлемде бірнеше визуал жетілдіру орталары бар екендігін сіздер білесіздер: Visual Basic, Delphi, Borland C++ Builder және басқалар. Әрбірі өзінің программалау тіліне бейімделген. Олар өздерінің жазу ережелеріне ие. Дайын программа осы тілдер операторларынан құрастырылады, олардың бір бөлігін автор қолымен жазады, ал қалғанын программалау жүйесі автоматик өзі жазады.
Біз ең қуатты визуал жетілдіру ортасын -Delphi ортасын қолданамыз. Онда қолданатын программалау тілі Object Pascal (Объекттік Паскаль) деп аталады. .
Біз үмітініеміз сіздер бұл жүйені компьютерлеріңізге орнатқан болған шығарсыздар. Егер Windows Жұмыс үстелінде белгі жасалған болса оны екі рет шертің. Егер мұндай белгі болмаса Басты менюде жұмысқа түсіру командасын табың: Пуск → Программы → Borland Delphi → Delphi.
2. 2. Экранда нені көреміз
Жүйенің негізгі терезесі. Жүйені жұмысқа түсіргеннен соң оның негізгі терезесі ашылады. Онымен біз жұмыс орындаймыз. Ол қорқынышты көрінеді. Басқару элементтерінің көптігінен баста айналуы мүмкін, оның үстіне терезеде біз барлығын да көріп отырған жоқпыз.
Мұндай программалар түрасында - олар өте кұрделі интерфейске ие- деп айтылады. Қорықпаңыздар, жүйемен танысуды жайлап бастаймыз: барлығы да бірден керек болмайды. Программалау әлеміне енуді не қандай аталуынан бастаймыз.
Шынында егер ықыласпен қарасақ экранда бір емесе бір-біріне байланысты болмаған төрт терезе көреміз. Біз әрбір терезені басқаларға байланыссыз көшіруімізге болады.
Басты терезе. Басты басқарушы терезе әдетте Delphi жүйесінде экранның жоғары жағында жайласады. Терезе программаларды құруға арналған саймандарға ие болып ең көп жүктелген болып көрінеді.
Бірақ біз одан көп пайдалануімізға түра келеді. Онда не барлығын қарастырайық.
Атау қатары. Әрбір терезенің әркезі өзінің атауы бар. Жүйе терезесінің атау қатарында онда ашылған проект атауы - Projectl жайласқан.
Меню қатары (жолы) . Атау қатары астында меню қатары жайласқан. Ол Delphi жүйесінің командаларына ие. Меню қатары қалаған программаның немесе жүйенің ең маңызды басқару элементі болып табылады. Меню қатарынан басқа программалар басқа да басқару элементтеріне ие: командалық кнопкалар, саймандар кнопкалары ж. б. Кнопкалардан амалдарды орындағанда пайдалану ыңғайлы, бірақ барлық та операциялардың кнопкасы жоқ, жиі кездесетін операциялардың кнопкалары бар болады. Бірақ меню қатары жәрдемінде жүйе мүмкіндік беретін қалаған командаларды орындау мүмкін.
Саймандар панели (тақташасы) . Меню қатары астында кнопкаларға ие инструменттер панелі жайласқан. Көп программаларда мұндай панельден біреу ғана бар, бірақ Delphi жүйесінде олар бірнешеу. Инструменттер панелінің кнопкалары жиі кездесетін командаларға жетуді қамтамасыз етеді. Ол немесе бұл кнопканың атын білу үшін тышқаеша көрсеткішін оған ұңілтіп аздап күту керек, сонда көрсеткіш төменінде ағымды сүйемелдеу пайда болады. Біздің сұретімізді дискета белгісіне ие кнопка көрсетілген. Ол ашылған проектты файл түрінде қатқыл дискіде сақтауға мұмкіндік жасайды, сондықтан ағымды сүемелдеуде Save (Сохранить) жазуын көрсетеді.
Компоненттер палитрасы (жиыны) . Инструменттер панеліндегі біреуі қалғандарынан ерекшеленіп түр. Бұл компоненттер палитрасы. Онда программа терезесінің компоненттеріне сай келетін кнопкалар терілген. Осы «кірпіштерден» келешек программаларды құрамыз. Компоненттер - бұл келешек басқару элементтерінің нүсқаулары.
Егер тышқан көрсеткішін компонент кнопкасына үңілтірсек, жанында ағымды сілтеуіш пайда болып аты көрсетіледі. Біздің мысалымызда Label (Надпись) компоненті таңдалған. Ол бізге келешек программаның терезесінде бас жазулар жазу кезінде қажет болады.
Компоненттер палитрасы
Компоненттер палитрасы өте көп жапсырмаларға ие екеніне көңіл бөлің. Әрбірі өзінің компоненттер жиынына ие. Компоненттердің жалпы саны бірнеше жүзге жетеді. Біз көбінесе программаларымызда олардың айрымдарын қолданамыз.
Объекттер инспекторы. Басқа терезелерді қарастыруға өтейік. Басында сол жақта Object Inspector (Инспектор объектов) деп аталушы өте пайдалы терезе жайласқан. Одан біз жиі пайдаланамыз. Сол жәрдемінде программада қолданатын объекттер икемделеді. Бірінші объекттер алынғаннан бастап біз оларды тышқанның шертуімен аламыз, сонда осы терезеде біз олардың қасиеттерін көреміз де оларды өзіміздің қалауымыз ша өзгертуімізге болады.
Осы терезені өқиғаларды реттеу үшін де пайдалануға болады. Оларға біздің программамыз объекттері жауап береді. Ол жәрдемінде біз керекті болған өңдеу процедураларын жасауымызға немесе таңдауымызға болалы.
Форма (пішім) терезесі. Форма - бұл келешек программасының терезесі нүсқауы. Әрбір программа ең кемінде бір терезеге ие, демек бір формаға. Сондықтан программаны дайындағанда форманы экранда әркезі көріп түрамыз. Бірінші терезе нүсқауы Form1 деп аталады. Егер программада екі терезе болса, онда екіншінің нүсқауы Form2 делінеді т. с. Әлбетте бізде стандартты атауды программамызға түра келетін атаумен өзгерту мұмкіндіктері бар.
Кәзір терезе формасы бос, бірақ программаны құрғанда оған біз керекті басқару элементтерін қосамыз. Формадағы нүктелерден кұрастырылған тор объекттерді түра және тегіс орнатуға мүмкіндік жасайды. Программа жұмыс орындағанда тор көрінбейді.
Форма терезесі келешек программаның басқару элементтерін жайластыру үшін қызмет етеді.
Код терезесі. Кейінгі ашылған терезе біздің программамыздың кодына ие. Біздің программамыздың көп бөлігін Delphi жүйесі автоматик жасайды. Бұл артықша емес. Windows үшін «бос» программа да Pascal тілінің бірнеше мың операторларынан жасалады.
Программаны оңай түсіну ұшін Pascal тілінің кілттік сөздері код терезесінде жартыжуан шрифтпен ерекшеленеді. Код терезесі программа текстіне ие.
Сондада бізге өзіміздің программаға операторларды қосу керек болып қалса, бұл жұмысты осы терезеде орындаймыз. Айрым операторларды біздің өтінішімізбен Delphi өзі қосады, басқаларын қолмен енгіземіз. Қарапайым программалар жайында қол бейнеті көп болмайды.
Delphi жүйесі керекті операторларды басынан өзіміздің программаны құра бастағаннан қоса бастайды. Сондықтан код терезесі еш қашан бос болмайды. Өкінішке орай бұл кейіннен біздің программаның тола текстын көре алмай қаламыз. Біз олардың қолмен жазылатын бөлектерін ғана келтіріп отырамыз.
2. 3. Объектты бағытталған программалау
Объектілер және оның қасиеттері
Осы тараудан біз осы заман программалары алдын-ала дайындалған объектілерден жасалып кейіннен олар икемделуін біліп аламыз. Бұл программист жұмысын оңайлатып қателерді жоюға жәрдем береді. Біз барлық программа объектілері қасиеттерге ие болып уақиғаларға жауап қайтаруын үйренеміз.
Объект дегеніміз немене?
Газеттерде уақты уақтымен қандай да бір қалада танылмаған ұшқыш объект (ТҰО) көрінді деп жазады. “Түсті оттарын мөлтілдетіп жақпас дыбысымен ТҰО горизонтқа таман өтіп кетті”. Атауына объект сөзі кіреді. Немене тұрасында әңгіме кетуін ойлап көрейік. Таныссыз - демек ешкім не екендігін білмейді. Ұшқыш - демек ТҰО ауада көрінген. Ал объект дегеніміз ше? ТҰО тұрасында еш нәрсе білмегенімізден объект немене екендігін айқындатуға әрекет жасайық.
Біріншіден объект нақты бір нәрсе. Біз ол қай жерде басталуын, қай жерде аяқталуын, объектке немене кіруін немене кірмеуін айта аламыз. Екіншіден ол қандай да бір ішкі құрамына ие. Ол тұрасында біз білмеуіміз де мүмкін. Үшіншіден объект қандай да бір қүлқымен характерленеді, оны күзетуге болады, айрым уақытта әсер етсе де болады.
Қосылыңыздар бұндай баяндау өте түсінікті де, пайдалы де емес, бірақ өмірде бізді жоғарыдағы баяндамаға тура келетін өте көп түрлі заттар қоршайды. Бұл заттар бізге үйреншікті, біз олардан ойланбастан пайдаланамыз. Мысалы, ертелеп бізді будильник оятады. Жақпас қоңырауды тоқтату үшін кнопканы басамыз, ал ертесіне қайтадан есіту үшін қоңырау бұрамасын бұрауымыз керек.
Мынадай айтса да болады: “будильник” объектіні бұрау үшін “ручка” объектіні бұраймыз. “Будильник” объектіні тоқтату үшін “кнопка” объектіні басамыз. Объект көз қарасының пайдасы объектілерді бір бүтін зат күйінде қабылдап олардың құрылысын білмесек те болады. Будильниктен пайдалану үшін ол қандай дөңгелектерден және пружиналардан құрастырғандығын және олар қалай бір біріне байланғандығын білмесек те болады. Егер біз будильникті қалай бұрауын, оның жәрдемінде уақытты анықтауды, қоңырауды қандай басқаруды білсек, біз будильник турасында пайдаланушыға керекті барлық нәрсені білген боламыз.
Айналаңызға қараңыз. Бізді мыңдап объектілер қоршап алған. Біз олардың құрылысын бұл бізге өмір сүруге және оқуға тосық бола алмайды. Міне телевизор. Біз оны қосуды, өшіруді, басқа программаға өтуді білеміз. Міне мұздатқыш. Оның іші суық, сондықтан ішіндегі азық-түліктер бүзылмайды. Міне азық-түліктер. Біз оларды жеу мүмкіндігін білеміз. Айрымдарын пісіруге тура келеді. Ал міне біздің жолдастарымыз. Біреулері футболды, біреулері сурет салуды, үшіншілері күні-түні кино көруді жақсы көреді. Неге олар осындай әр түрлі екендігін білмейміз, бірақ бұл бізге олармен алақада болуға тосық болмайды.
Объектілер қасиеттері
“Объект” сөзі - өмірде жиі кездесетін нәрселерді ішкі түзулуіне және әрекеттеріне мән берместен қысқа белгілеуге өте ыңғайлы, бірақ бұл объектілер бізді түк қызықтырмайды емес. Керісінше өте қызықтырады. Егер мысалы объект “шегені” объект “қабырғаға” қақпақшы болсақ біз әлбетте олардың қасиеттерін анықтауымыз қажет. Егер қабырға ағаштан жасалса шеге темірден болуы керек, кері емес.
Барлық объектілер түрлі қасиеттерге ие. Егер біз ұшып жүрген жәндіктер қасиеттерін ажыратпасақ олар объектілер емес қарапайым жәндәктер болады. Егер біз олардың қасиеттерін ажыратсақ, онда алдымызда шыбын, маса, көбелек, ара екендігін білемізде әр жағдайға қарай өзімізді түрліше тұтамыз. Объектілер қасиеттері объектінің өзімен тығыз байланысты. Бетсіз жылмайу болмағандай объектсіз қасиет бола алмайды.
False және True мәндері - логикалық атаулы мәндер. Олар екі жағдайда бола алады: Ия (True - Шындық) және Жоқ (False - Өтірік) . Өмірде біз екі мәнді объекттермен немесе қасиеттермен жиі кездесіп тұрамыз, мысалы: Түн - Күн, Ыстық - Суық, Бала - Қыз, Қара - Ақ.
Бұндай мәндерді компьютер жадыны жүктемеу және процессорды артықша жұмыс істетпеу үшін сандармен бергілеу мәнге ие емес. Сонымен айрым программалау тілдерінің компиляторлары бұндай мүмкіншілікке ие болып, мысалы мынадай синтаксис ережелерін енгізуге болады: 0 = False, ал 1 = True деп.
Объектты-бағытталған таяу (жақындау)
Осылардың программалауға қандай қатысы бар? деген сұрау келіп шығады. Мәселе бұнда - программамызда біз объектілерді қолданамыз. Программадағы объектілер өмірдегі объектілерге ұқсас - олар ішкі түзулуімен және мінезімен демек қасиеттерімен бір бірінен ажырап тұрады.
Программалық объектіні программалауды бастамастан көре аламыз ба? Ия, және біз бұны орындадықта. Бүгін экранда көруге мүмкін болған нәрселер программаларда объектілер түрінде амалға асырылған. Экрандағы ықтияры терезе - бұл объект. Ықтияры белгі - бұл объект. Ықтияры басқару элементі де - бұл объект. Ықтияры меню де - объект.
25 жыл ілгерігі өткен уақытқа қайтайық. Айтайық компьютер ойындарын жасаушы жас адам компанияға келсін. Оған осы ойында бір кнопканы ғана жасау тапсырылсын.
Алдымен ол үш күн кнопка суретін салатын код жазып шықты. Кейіннен екі күн кнопка басылғанда орындалатын жұмыс кодын жазды. Бір апта сарыптап ол өзінің программасын басшы программистке тапсырды.
- Бұл барлығы әлбетте жақсы, бірақ біздің программамызда он мыңдап түрлі кнопкалар күтпеген жерден шығатын болады. Олармен не істеуіміз керектігін ойлайық.
Біздің программист ойлап шығып барлығын подпрограмма (процедура) ретінде хаттап шықты, басқа ойын жасаушы программистер керек кезінде шақырып алатын етіп. Басқа программистерге бір түр кнопкалар емес, әр түрлі: өлшемдері, түстары, түрлі жазуларға ие, түрлі амалдарды орындайтын кнопкалар керек екендігі сонда мәлім болды.
Тағыда программист ойлап көріп егер осының барлығын параметрлер көрінісінде шақыратын процедураға енгізілсе, әр бір әріптес оның жасаған кнопкасын қалағанша істете алады деген пікірге келді. Қүрсан болды, бірақ күннен бүрын. Әр бір әріптесімен шыдамды және көп уақыт байланыста болуға тура келді. Біреуіне кнопканы басқанда дыбыс шағаруы, басқасына кнопкада арнайы сурет болуы талап етілді. Біреумен келісіп шықса, екіншісінде проблемалар басталады. Бір жыл қиыншылықтарды жеңуге және түрлі программистер мен байланыстыруға кетті. Ал осы кезде фирма жаңа компьютер ойынын программалауды бастады. Онда дизайнер пікірі бойынша кнопка төрт бұрышты емес домалақ болуы керек. Сонымен барлық жұмысты қайтадан бастауға тура келді. Программистымыз программа мен айланыспастан шексіз тартысулар және келісімдерге уақыт кеткізгенін түсініп басқа фирмаға өтуге шешімге келді.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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