Жоспар №13990

MATLAB жүйесін зерттеу және қолдану: жұмыс ортасы, массивтер, комплекстік сандар және сигналдарды модельдеу

Сұрақ-жауап

Сұрағыңызға жасанды интеллект жауап береді

 Жоспар: Кіріспе: Matlab жүйесін қысқаша зерттеп білу. І. Негізгі бөлім. Жұмыс атқару ортасымен танысу……………… Комплекстік сандар мен функциялар және ІІ. 2.1 Matlab обьектілері мен кластары………………….. 2.2 Арифметикалық операторлар мен операциялар…. 2.3 Функциялар мен командаларға сипаттама……….. 2.4 Панельдік басқару………………………………….. ІІІ. 3.1 Matlab программалау пакетін қолданып сигналдарды қалыптастыру……………….…………… 3.2 Қарастырылған мәселелерге байланысты тапсырма орындау……………………………………… Қортынды………………………………………………. Қолданылған әдебиеттер………………………………. Кіріспе Қазіргі біздің жаңа ғасырларымызда адам әрекетінің көптеген облыстары Matlab жүйесіне бірінші пікір Нью-Мексико мен Станфорд университетінде Matlab – ол инженерлік жоғарғы эффекті және ғылыми, Математикаға тақау көптеген белгілі облыста Matlab жүйесінің қолдануы: Математика және есептеу Алгоритмді жасау Есептеу эксперименттері, информациялық модельдеу-макеттеу Ғылыми және инженерлік графика Графикалық интерфейсті қолданып жұмыс жасау Matlab – интерактивті жүйе. Негізгі обьект массив болып Matlab өзгерістің бар болуын қарастырып және де әр Операциялық жүйе Matlab – көптеген интерфейс, ол командалық Өз курстық жұмысымда осы Matlab-ты қолдану құрамы, есептер 1.1 Жұмыс атқару ортасымен танысу Matlab ортасындағы жұмыс екі режимде жүреді: Калькулятор режимінде Matlab тілінде жазылған программаны шақыру жолымен. Сонымен қатар Matlab-тың төмедегідей мүмкіндіктері бар: Аналогтық және цифрлық сигналдармен жұмыс істей алады; Жиіліктік импульсік және өтпелі сипаттамалырды құру үшін аналогтық, Ақпараттың қолданбалы теориясы пәніне оқытылатын сигнал кодтарын құруды Программаның жұмысқа және кезекті команданы орындауға дайын екенін Меню қатары: М-файл (M-File) командасын шақыру – текст енгізуге, яғни Рисунок (Figure) командасын шақыру – графикалық тереземен жұмыс Модель (Model) командасы - әр түрлі процестерді моделдеуге Preferences (Свойства) командасы – 3 бөлімнен тұратын диалогтық GENERAL (общие), COMMANDWINDOW TO NTS (шрифт командного окна), SHORT LONG HEX BANK SHORTE LONGE SHORTG екінші формасы LONGG екінші формасы RATIONAL Рационалдық бөлшек түріндегі жазба LOOSE бір жолдан кейін шығып отырады. COMPACT Ақпаратты командалық терезеге жол жазады. Matlab тілінің арифметикалық өрнектерінде келесі арифметикалық операциялар қолданылады: + Қосу - Алу * Көбейту / Бөлу ^ Дәрежеге шығару Командалық терезелерде келесі ерекшеліктер бар: Оператор жазбасы символынан аяқтамаса, нәтиже командалық терезеге Оператор жазбасы символымен аяқталса, нәтиже нәтиже командалық Егер операторды (=) меншіктеу таңбасы болмаса, онда нәтиже Matlab жүйесінде өзгермейтін айнымалы аттары бар: ij Жалған бірлік pi П саны inf Машиналық шексіздікті белгілеу Nan Белгісіз нәтижені белгілейді ans Меншіктеу таңбасынсыз соңғы нәтиже Арифметикалық операвциялармен қатар double типті операндпен қатынас және Қатынас операциялары: < >= = = ~ = Кем Кем немесе тең Үлкен Үлкен немесе тең Логикалық операциялар келесі таңбалармен жүргізіледі: & / ~ және немесе Емес Осы операциялардың алғашқы екеуі екі операндты (бинарлы), ал 1.2 Комплексті сандар мен функциялар және матрицалармен, векторлармен жұмыс Matlab жүйесінде нақты осы комплекстік сандармен есептеулер жүргізіледі. 2+3і ; Matlab жүйесі айнымалылар мен функциялар аргументтеріне комплекстік есептеулер Барлық қарапайым функциялар комплекстік аргументтермен жұмыс істей алады. res=sin(2+3i)*atan(4i)/(1-6i); res= -1.8009-1.9190i ; Комплекстік сандармен жұмыс істеу үшін арнайы түрде келесі Векторлармен және матрицалармен жұмыс. Matlab ортасы векторлармен, матрицалармен, полиномдармен күрделі есептеулер жүргізуге Векторлардың мәндерін клавиатурадан бір-бірлеп енгізеді. Ол үшін алдымен Массивтерді келесі жолмен де құруға болады: А(3/1)=67 А(3/2)=7.8 А(3/3)=0.017 Бұл жолмен массивтерді құру коннатенция әдісіне қарағанда тиімсіз, Векторлар мен матрицаларды тарату. Zeros(M,N) Нөлдік элементті (M*N) өлшемді матрица тұрғызу Ones(M,N) Бірлік элементті матрицаны тұрғызу Eye(M,N) Басты диагональ бойынша нөлдік элементтермен матрица құрады. Rand(M,N) 0-ден 1-ге дейін бір қалыпты сандардан матрица құрады. Hadamard(N) (N*N) Адамдар матрицасын құрады. Hilb(N) Inhilb(N) Гильберттің кері Pascal(N) Паскаль матрицасын құрады. Fliplr(A) Вертикаль өске бағаналарын қайта қойып матрица тұрғызады. Flipud(A) Горизонталь өске салыстырмалы бағаналарын қайта қойып матрица тұрғызады. ROT90(A) Белгілі А матрицасын сағат тіліне жолымен матрица тұрғызу. Tril(A) диагональдан жоғарғы нөлге теңестіру жолымен төменгі үшбұрыш матрицаны тудырады. Triu(A) басты диагоналдан төмен нөлге теңестіру жолымен жоғары үшбұрышты матрицаны тудырады. Hankel(V) Бірінші бағанасы берілген V келетін Ганнельдің квадратты матрицасын тудырады. Жоғарыда қарастырылған мысалды тездету жолдары бар. Бірінщіден массивтер Біз массивтерді тұрғызудың негізгі жолдарымен танысайық. Тағы бір Екі өлшемді массивтер мен векторлармен жұмыс. Математикада екі өлшемді массивтерді Массивтер деп аталады. Matlab В=[1;2;3] Екі өлшемді массивтің өлшемдерін анықтау үшін size функциясы >>size(a) ans= 2 бірінші көрсетілген жол саны, екіншісі-бағана саны. Матрицаның жол және баған сандарының орындарын ауыстыру үшін Векторларды қосу-ұзындықтары бір векторлармен жүргізіледі: Z1=X+Y; Z2=X-Y Векторды транспонирлеу. X’ Векторды санға көбейту: Z=r*X=X*r Екі векторды көбейту – вектордың ұзындықтары, бір және U=X’*Y; V=X*Y’ 2.1 Matlab объектілері мен кластары Matlab-та және де көптеген бағдарламалауда өзіндік құрылым мәліметтері Объект және кластар. Класс және объект жаңа мәліметтер типімен жаңа операциялардың Коннатенциялық қасиет; Кейінгіге қалтыру қасиеті; Полиморфизм қасиеті. Matlab жүйесінде 37 объектілі кластар бар: Таблица №1 Double Сандық массивтар мен матрицалар арифметикалық тапсырмалар Sparse Екі өлшемді амалды немесе комплексті сиретілген матрицалар Char Символдық массив Struct Құрылымдық массив Cell Тор массиві Sym Символдық ауыспалы класс Uint 8 8-битті таңбасыз сандар массиві Ss Tf Zpk Кеңістіктегі күй (ішкі класс) Берілу функциясы (ішкі класс) Нольдер, полюстер, берілу коэффиценті (ішкі класс) Cursor, DataBas БД-дағы қорларда жұмыс жасағанда қолданылады Mf Логикалық есептеулік емес обьектілермен жұмыс жасағанда қолданылады Lti Обьектілердің класы, анализді тапсырмаларды шешуде және стационарлық In Line Реттелген функциялардың анықтамалары. Arrowline, Axischild, Axisobj, Axistext, Celline, Celltext, Ldifline, Ldifrect, Fighangle, Figobj, Framerect, обьект кластары екі өлшемді графикпен жұмыс істегенде Ngbine Seribchandle, Seribchgobj Activex Activex элементтерімен жұмыс жасағанда қолданылатын класс. Network Fdax Jdline Jdmeas Jdspec Мысал: Matlab жүйесінде реттелген класс inline қолданады. Олар жай Шешімі дифференцияалдық және есептеуіш нольдер функциясы. A=inline(‘a*x^3+b*x^2+c*x+f’; ‘a’, ‘b’, ‘c’, ‘f’, ‘x’) Inline function A(a,b,c,f)=a*x^3+b*x^2+c*x+f; Функцияларға қарау үшін: А(2,4,2,6,5) Ans=366. ППП Symbolic Math Toolbox. Sym класс обьектісінде базаланады, Мысал: Syms Ts; W=1/((T*S+1)*S); Лаплас арқылы өрнектейміз. K=ilaplas(W,S,t) Ans=1-exp(-t/T) Кластардың қосылуы Matlab жүйесінің ортасында операциялық шекте орналасады. Мысал: A=zeros(10;10); S=Hello World; Тағы да құрылған қатысты ешқандай ауыстыру хабары немесе Обьект құрылымы. (инкапсулалық қасиет) Ол жаңа класс обьектісін жобалаудағы бірінші қадам болып Каталог класы. М-файлдар берілген класс обьектісін анықтайтын метод, каталог класына 2.2 Арифметикалық операциялар мен операторлар. Көптеген жағдайда операция тәртібі мен Matlab функция жүйесін Әр оператордың реті Matlab жүйесінде аты болады. Сондықтан Келесі таблицада Matlab жүйесіндегі көптеген реттелген оператор үшін Таблица №2 Оператор М-файл Сипаттама a+b Plus(a,b) Екілік қосылу a-b Minus(a,b) Екілік алыну -a Uminus(a) Унарлы алыну +a Uplus(a) Унарлы қосылу a.*b Times(a,b) Элементтік көбейту A*b Mtimes(a,b) Матрицалық көбейтулуі a./b Rdivide(a,b) Оң элементінің бөлінуі A.\b Idivide(a,b) Сол жақ элементінің бөлінуі A/b Mrdivide(a,b) Оң матрицаның бөлінуі A\b Mldivide(a,b) Сол матрицаның бөлінуі a^b Power(a,b) Элементтік дәрежеге шығару A^b Mpower(a,b) Матрицаны дәрежеге шығару ab Gt(a,b) Көп a=b Ge(a,b) Көп немесе тең a~=b Ne(a,b) Тең емес a==b Eq(a,b) Теңбе-тең a&b And(a,b) Логикалық И a|b Or(a,b) Логикалық ИЛИ ~a Not(a,b) Логикалық НЕ a:d:b a:b Colon(a,b,d) Colon(a,b) Векторды форматтау a' Ctranspose(a) Матрицаны транспортирлеу a.' Transpose(a) Массивті тарнспортирлеу Command Window Output Display(a) Терминалға шығару [a b] Horzcat(a,b…) Жолға қосылу [a:b] Vertcat(a,b…) Бағанға қосылу a(S1,S2…Sn) Subsref(a,S) Индекстік сілтеме A(S1,S2…Sn)=b Subsasgn(a,S,b) Индекстік түсінік B(a) Subsindex Ішкі массив индексі Қайта құру операциялары кез-келген М-функциясын қайта құруға болады. Мысалы: Functiona=plot(obj); Disp(‘обьект өрісінің мәні мынадай’) Disp(objnumber); Disp(objname); Disp(objmark); Disp(z) Мұндағы obj*****- берілген обьект өрісі. methods Келесі формат алады. Methods ('класс аты') немесе Methods класс аты Мысал: Берілген класқа келесі түрде барлық әдіс бойынша экранға Methods(‘List’) Methods for class List; Get List nargin Plot set 2.3 Функциялар мен командаларға тереңірек сипаттама. Class -класс обьектісін анықтау және обьект құру. Синтаксис: Obj=class('') Obj=class('s') Obj=class('s;;…) Сипаттама: Функция Obj=class('') жолға қайтарылады, 1-таблицаға сәйкес келеді. Функция Obj=class('s') белгіленген атпен обьект ISA- берілген класқа қатысты обьект құрамында болуды анықтау. Синтаксис: K=class(obj;’’) Сипаттама: Функция K=class(obj;’’) логикалық TRUE (1)-ні қайтарады, егер Мысалы: Isa(rand(3,4),’double’) Ans=1 ISOBJECT- кейбір кластың обьектісін анықтау. Синтаксис: K=isobject(A) Сипаттама: K=isobject(A) логикалық TRUE (1)-ді қайтарады.Егер А-кейбір кластың обьектісі METHODS – берілген класс үшін әдіс тізімінің терминалық Синтаксис: Methods S=methods(‘’) Сипаттама: Команда Methods берілген класты әдіс тізімінің терминалына Функция S=methods(‘’) тор массивын қайтарады. Мысалы: >>mathods(‘tf’) Methods for davstf: Класқа әдіс tf: Append dcgain norzcatminus pole subsasgn uminus augstate display inv mldivide pvalues. Subsref vertcat czd evalfr is olt mrolivide cranspose feedback is propormtimes size tf data zpk isstatic plus ss transpoze dzd genrloi minreal pnames >>methods(‘tf’) S= ‘append’ ‘augstate’ ‘crd’ ……… ‘uminus’ ‘verfcat’ ‘zpinfo’ ‘zpk’ INFERIORTO –төменгі кластың қатынасы. Синтаксис: Inferiorto(‘’,’’) Сипаттама: Команда Inferiorto(‘’,’’) ішкі конструктор класына Мысалы m берілген әдіс бойынша шақырылады. Егер функция обьектте шақырылса онда екі обьект бірден SUPERIORTO – жоғары кластық қатынас Синтаксис: Superiorto(‘’,’’…) ішкі конструктор класын шақырады, егер Егер функция екі обьектіде шақырылса онда екі обьект CUI – құру тәртібі (жобалау) Қандайда кез-келген жобалау процесі графикалық интерфейс құру процесі Тапсырманы қою Интерфейс пішінін құру және де басқа басқару элементімен Программаның кодының жазылуы және де жаңалықты өңдеу коды. 1-кезең келтірілген тапсырмаға анализ жүргізу және де тапсырманы 2-кезең графикалық интерфейс формасы және де оған басқару Пішін құруда және элемент басқару үшін екі әдіс WARKSPASE бұйрығын қолдану (Matlab ортасындағы операциялық командаларда қолданады) Панель құрамдар тәсілін қолданып – CUI тез құрылуы Жиі элементтің басқару кезінде 1-әдіс болып, скриптфайл қолданады, CUI құру үшін WARKSPASE бұйрықтары: Таблица №3 CUI функциясы Uicontrol Басқарушы элементті құру Uimenu Меню құру Ginput Тышқан көмегімен координат алу Dragrect Тышқан көмегімен тік бұрыштың орнын ауыстыру Rbbox Тышқан көмегімен тік бұрышты сызу selectmoveresize Тышқан көмегімен таңдау, ауыстыру Waitforbul Tonpress өлшемін өзгерту, обьектіні көшіру клавиатура клавишаларын басуды Waitfor Оқиғаны тосуда орындауды тоқтату Ui wait Қайта жаңартуды тосуда орындауды тоқтату Uiresume Топтаудан кейін орындауды жаңарту CUI Жобалаудағы тәсілдер Guide Графикалық терезеде басқаруды редакциялау Align Обьект түрін тексеру Cbedit Обьект шақыруды қайталауын өзгерту Menuedit Графикалық терезенің менюін өзгерту Propedit Обьект қасиетін өзгерту Диалогтық панелдер Dia.log Панельдер хабарын құру Dialog Графикалық терезенің диалогын құру Axlimdlg Терезе өлшемінің диалогын шектеу Errordlg Қателер туралы диалогиялық панель хабары Nelpnlg Жасырын көшектік – диалогтық панель Inputdlg Енгізудің диалогтық панелі Listdlg Тізімді қараудың диалогиялық панелі Menu Диалогиялық енгізулік меню Msgbox Хабар панелін құру Guestdlg Сұрақтар мен диалогиялық панелі Warndlg Ескерту диалогиялық панелі Uigetfile Файлдық ашылуының стандартты диалогиялық панелі Uiputfile Жазу файлының стандартты диалогиялық панелі Uisetcolor Түс таңдаудағы стандартты диалогиялық панелі Pagedlg Баспа диалогиялық панелі Woitbar Тосу панелі Менюдің құрылуы Makemenu Жол менюін құру Menubar Menubar қасиетінің шататтық мағынасын анықтау Umfoggle Uimenu обьектісінің checked статусын өзгерту Winmenu Window меню пункті үшін ішкі меню құру Құралдар панелінде кнопкалар құру Bthgroup Құралдар панелінде кнопка құру Btnstate Кнопканың күйін сұрастыру Btnpress Құралдық панелде кнопкаларды басқару Bthdown Кнопканы басу Bthup Кнопканы жіберу Figure және axes обьектілерінің қасиетіне утиттік тапсырмалар Serupror Қасиетті тапсыру Getupror Қасиеттік мәнін құрастыру Clrupror Қасиетті жою Көмектесуші утилиттер Allchilg Барлық туындаған обьектілерді сұрастыру Nidegue CUI-ді жабу - ашу Edtext Text обьектісін интерактивті редактрлеу Getstatus Figure обьектісінің жолдарының қасиеттерін анықтау Popupstr Менюге түсетін жол қасиеттерін сұрастыру Remapfig Figure обьектісінің орнын ауыстыру Setptr Figure обьектісіне сілтеуді анықтау Getptr Figure обьектісіне сілтеуді сұрастыру ovetobj Оны сілтеуіш қарап дискрептор обьектісін Осы бұйрықтар кодтық жазылуы үшін қолдануға болады және Ереже бойынша өте сапалы көрнекілеуді алу үшін S Басқа әдіспен есептеу процесін көрнекілеу Matlab анализ анимацияларының 2.4 Панельдік басқарылу (The control panel) Тағайындалған: Құру және редактрлеуге, пішіннің өзгеруіне, құруға және элемент басқарылуының орналасуына және де axes обьектісі пішінінде тағы басқа CUI құралдарының форматына. Панельдік басқаруды шақыру: Guide; Ctlpanel; File меню CUI форматының құралдарын көрсету бұйрығы Құрамы: Ауыстыра қосқыш топ – графикалық интерфейс қолданылуы және Тізім пішіні – қазіргі енгізулі тұрған кез; Басқару элементінің палитрасы Панель басқармасының меню құрамы: File менюі Close Control Panel (панель құралдарын жабу) Close AU tools (барлық ашық құралдарды жабу) Options менюі Save figure When activating (активтік қалыпқа келтіруді оны Show guide figure list (тізім пішінін көрсету) Show guide tools (графикалық интерфейсті қолдануының формат құралдарының Tools менюі Property editor (құрамды редакторына енгізу) Call Back editor (оқиға редакторына енгізу) Allignment editor (теңестіру редакторына енгізу) Menu editor (меню редакторына енгізу) Refresh tools (құрамдар кнопкасын жаңарту) Help меню (таңдалған құралға байланысты анықтамалық мәлімет шақыру) Control panel Property editor Callback editor Allignment tool Menu editor Controlliol figure Object Browser (лезде барлық құралдарға анықтама беру) Тізім мен кнопка ауданы ‘Refresh list’ – жұмыс процесінде тізім құрамының жаңартылуы ‘Add figure’ – жаңа интерфейс пішінін құру үшін Пішін екі түрге бөлінуі мүмкін: активті редактивтік қалыпта Ескерту: Пішінді активтендіру үшін міндетті түрде тізбекте пішінді таңдау 3.1 Әртүрлі формадағы импульстік сигналдарды тарату Жұмыстың мақсаты : Маtlаb Сигналдарды цифрлық өңдеу құрамына бірқатар үзіліссіз физикалық шаманың 1. Жекелеген импульстік процестерді құру Signal пакетінде типтік формадағы бірлік импульстік процестер сияқты -> Rectpuls процедурасы төртбұрышты формадағы бірлік импульс құрады. Ү=rectpuls(t,w) Мұндағы: w-ені, t- уақыт моменті. Егер импульс ені берілмесе ол автоматы түрде бірге -> Бірлік амплитуданың үшбұрышты формадағы импульсі Tripuls процедурасының Ү=tripuls(t,w, s) Мұндағы: s-үшбұрыш көлбеулігі (-1 Уақыт тізбегінің t Ү=sqare(t,duty) Мұндағы: duty аргументі- оң жартылай толқын ұзындығы. -> Үшбұрышты терблістерді генерациялау sawtooth процедурасымен жүргізіледі: Ү=sawtooth(t,width) Мұндағы: width-бұл сигнал мәні жоғарылайтын период бөлігі. -> Pulstran процедурасы не төртбұрышты, не үшбұрышты, не Ү=pulstran(t,d,’func’,p1,p2,…) Мұндағы: d -сәйкес импульстердің центрлары болып табылатын уақыт -> Енді жиілігі уақыт бойынша сызықты түрде өзгеретін Ү= сһіrp (t,ҒО,t1,Ғ1) Мұндағы: ҒО - t=0 болғандағы герцпен берілген жиілік t1-уақыт моменті; Ғ1-жиілік мәні; Егер соңғы үш параметр берілмесе олар автоматы түрде Мысал: » t=0:0.001:1; » у=0.75*сһіrр(t); » plot(t,y) -> diric процедурасы Дирихле функциясының шартын қанағаттаныдырады: t- ның басқа мәндерінде Дирихле функциясы периодты болып табылады. n- тақ болғанда Ү= diric(t,n) Мысалы: n=3 » t=0:0.001:50; » у=0.7*diric(рі*1/5,3); »plot(t,y) Редактивтік қалыпта, фигураны белгілеу торы пайда болады, яғни Элемент басқарылу кнопкалары (Adding Buttons With the Control Негізгі 10 кнопка бар: Кнопка Рдио кнопка Жалау Өріс Үстеме жасау Прокрутка сызығы Рамка Өріс сызығы Меню басқарушы обьект Обьект ‘axes’ (график, сурет сыйғызуға болады) 3.2 Қарастырылған мәселелерге байланысты тапсырма орындау Тапсырма ретінде мен Автоматика басқару теориясы облысындағы графикалық AKOР – квадраттық функционалдық түр жиынтығы мен сызықтық Тапсырманың қойылуы: Нәтижелі жүйе мынадай түр алады. X(t)=A(t)X(t)+B(t)U(t), XЭRn , UЭRm Міндетті түрде басқаруды синтездеу керек. U=U(X(t)) Функционалдық түрді минимализациялау: Шешуі: Программалық кодтың сипаттамасы: FILE START Tic [T,P]=ode 15S(‘ER’,[Tume 0]; P1,[],A,B,R,Q) p4=spline (T,P_ (:,4)); p7=spline (T,P_ (:,7)); p9=spline (T,P_ (:,9)); p10=spline (T,P_ (:,10)); [T1,X1]=ode 15S(‘isxsys’,[0 Tume],X0, [],A,B,R,p4,p7,p9,p10) tic toc = toc; if fig = = 0; subplot(3,3,8); plot(T,P(:,:); zoom on; grid on; subplot(3,3,8); plot(T1,X1(:,:); zoom on; grid on; else figure; plot(T,P(:,:); zoom on; grid on; figure; plot(T1,X1(:,:); zoom on; grid on; end FILE SETP1.Q.m % functionP1Q=setP1Q(i;j) if i=0 switch j case1 P1Q=eye(4); P1Q=eye(4):P1Q(1,1)=1000; End; End; If j=0 Switch i Case1 P1Q=[0000000000]; Case2 P1Q=[1000100101]; Case3 P1Q=[1000000100101]; End; End: Қортынды Мен осы курстық жұмысымда Matlab жүйесінің математикалық тапсырмаларда Қолданылған әдебиеттер: Глушаков С.В., Ханин И.А. және басқалары 2000, Matlab 5 оқу курсы, 2001ж Москва Компьютерлік көмекпен шешу Матвеев Л.А. 1998ж Алексеев В.Е. және басқалары “Есептеу техникасыжәне программалау” 1991ж Бухтияров А.М. және басқалары “Есептейтін математикаға практикум” Москва 1978. Потемкин В.Т. “ Matlab жүйесі” 5х студенттерге 1998ж 6. Matlab документациясы. 

Мәтінді көшіру үшін белсенді жазылым қажет.

Пайдаланушы ID: 688138

Жарияланған күні: