SỬ DỤNG LOGIC MỜ ĐỂ XẤP XỈ HÀM 2 BIẾN

30 633 3
SỬ DỤNG LOGIC MỜ ĐỂ XẤP XỈ HÀM 2 BIẾN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Con người giao tiếp bằng ngôn ngữ tự nhiên, mà bản chất của ngôn ngữ tự nhiên là mơ hồ và không chính xác. Tuy vậy, trong hầu hết tình huống, con người vẫn hiểu những điều mà người khác muốn nói với mình. Khả năng hiểu và sử dụng ngôn ngữ tự nhiên, thực chất là hiều và xử lý đúng thông tin không chính xác chứa trong đó, có thể coi là thước đo mức độ hiểu biết, thông minh của con người. Con người cũng luôn mơ ước máy tính, người bạn, người giúp việc đắc lực của mình, ngày càng thông minh và hiểu biết hơn. Vì vậy, nhu cầu làm cho máy tính hiểu và xử lý được những thông tin không chính xác, xấp xỉ áng chừng là một nhu cầu bức thiết. Logic mờ ra đời đã cung cấp một công cụ hữu hiệu để nghiên cứu và xây dựng hệ thống có khả năng xử lý thông tin không chính xác. Nhờ có logic mờ mà con người xây dựng được những hệ điều khiển có tính linh động rất cao. Chúng có thể hoạt động tốt ngay trong điều kiện có nhiều nhiễu hoặc những tính huống chưa được học trước. Nhờ có logic mờ mà con người xây dựng được những hệ chuyên gia có khả năng suy luận như những chuyên gia hàng đầu và có khả năng tự hoàn thiện thông qua việc thu nhận tri thức mới. Ngày nay logic mờ có phạm vi sử dụng rộng rãi trên thế giới, từ những hệ thống cao cấp phức tạp như hệ dự báo, nhận dạng, robot, vệ tinh, du thuyền, máy bay…đến những đồ dùng hằng ngày như máy giặt, máy điều hòa nhiệt độ, máy chụp hình tự động,…Những trung tâm lớn về lý thuyết cũng như ứng dụng của logic mờ hiện nay là Mỹ, nhật và châu âu. Ở Việt Nam, việc nghiên cứu về lý thuyết cũng như ứng dụng của logic mờ đã có lịch sử gần hai thập kỷ và đã thu hoạch được những thành tựu to lớn. Tuy vậy vẫn cần thiết phải phát triển hơn nữa cả về chiều sâu lần chiều rộng.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN  BÀI TẬP LỚN MÔN HỌC MỘT SỐ PHƯƠNG PHÁP TÍNH TỐN MỀM ĐỀ TÀI: SỬ DỤNG LOGIC MỜ ĐỂ XẤP XỈ HÀM BIẾN Giáo viên hướng dẫn: T.S Nguyễn Bá Nghiễn Nhóm sinh viên thực hiện: Nhóm Lớp: ĐH KHMT1_K7 THÀNH VIÊN TRONG NHÓM: PHAN TIẾN HƯỞNG: 0741060043 NGHIÊM XUÂN HẢI: 0741060042 ĐÀO VĂN THUYÊN:0741060092 NGUYỄN ĐỒNG THỊNH:0741060070 5.HOÀNG MINH PHÚC:0741060033 Năm 2015 LỜI NÓI ĐẦU Con người giao tiếp bằng ngôn ngữ tự nhiên, mà bản chất của ngôn ngữ tự nhiên là mơ hồ và không chính xác Tuy vậy, hầu hết tình huống, người vẫn hiểu những điều mà người khác muốn nói với mình Khả hiểu và sử dụng ngôn ngữ tự nhiên, thực chất là hiều và xử lý đúng thông tin không chính xác chứa đó, có thể coi là thước đo mức độ hiểu biết, thông minh của người Con người cũng mơ ước máy tính, người bạn, người giúp việc đắc lực của mình, ngày càng thông minh và hiểu biết Vì vậy, nhu cầu làm cho máy tính hiểu và xử lý được những thông tin không chính xác, xấp xỉ áng chừng là một nhu cầu bức thiết Logic mờ đời đã cung cấp một công cụ hữu hiệu để nghiên cứu và xây dựng hệ thống có khả xử lý thông tin không chính xác Nhờ có logic mờ mà người xây dựng được những hệ điều khiển có tính linh động rất cao Chúng có thể hoạt động tốt điều kiện có nhiều nhiễu hoặc những tính huống chưa được học trước Nhờ có logic mờ mà người xây dựng được những hệ chuyên gia có khả suy luận những chuyên gia hàng đầu và có khả tự hoàn thiện thông qua việc thu nhận tri thức mới Ngày logic mờ có phạm vi sử dụng rộng rãi thế giới, từ những hệ thống cao cấp phức tạp hệ dự báo, nhận dạng, robot, vệ tinh, du thuyền, máy bay…đến những đồ dùng hằng ngày máy giặt, máy điều hòa nhiệt độ, máy chụp hình tự động,…Những trung tâm lớn về lý thuyết cũng ứng dụng của logic mờ hiện là Mỹ, nhật và châu âu Ở Việt Nam, việc nghiên cứu về lý thuyết cũng ứng dụng của logic mờ đã có lịch sử gần hai thập kỷ và đã thu hoạch được những thành tựu to lớn Tuy vậy vẫn cần thiết phải phát triển nữa cả về chiều sâu lần chiều rộng Chúng em xin trân thành cảm ơn T.S Nguyễn Bá Nghiễn đã giúp đỡ chúng em thực hiện đề tài : Sử dụng logic mờ để xấp xỉ hàm biến Trong quá trình làm bài không tránh được sai sót, nhóm 3rất mong thầy và các bạn đóng góp ý kiến để bài làm của chúng em được tốt MỤC LỤC MỤC LỤC A, CƠ SỞ LÝ THUYẾT .6 I, Logic mờ 1, Giới thiệu .6 2, Tập mờ II, Thiết kế hệ thống mờ 10 1, Các yếu tố xây dựng mơ hình logic mờ .10 2, Quy trình hoạt động logic mờ .11 3, Phương pháp xây dựng mơ hình 12 4, Các phương pháp giải mờ 13 5, Công cụ thực hiên logic mờ .15 B, ÁP DỤNG LOGIC MỜ VÀO CÀI ĐẶT ỨNG DỤNG ĐIỀU KHIỂN TỐC ĐỘ XE Ô TÔ .17 I, Mục tiêu thiết kế 17 1, Mục tiêu .17 2, Thiết kế ứng dụng 17 II, Phân tích thuật tốn xây dựng điều khiển mờ cho xe ô tô 18 1, Xây dựng biến ngôn ngữ .18 2, Xây dựng hàm phụ thuộc 18 3, Xây dựng tối ưu luật mờ 21 III, Cài đặt ứng dụng minh họa 22 1, Chương trình minh họa C# .22 2, Chạy chương trình .28 A, CƠ SỞ LÝ THUYẾT I, Logic mờ 1, Giới thiệu Logic mờ được công bố lần Mỹ năm 1965 giáo sư Lotfi Zadeh.Kể từ đó, logic mờ có nhiều phát triển qua chặng đường sau: phát minh Mỹ,áp dụng châu Âu vào đưa vào sản phẩm thương mại Nhật Bản Ứng dụng logic mờ vào công nghiệp thực châu Âu,Khoảng năm 1970 Được áp dụng vào lĩnh vực khác chưa chấp nhận rộng rãi công nghiệp Kể từ năm 1980, logic mờ đạt nhiều thành công ứng dụng đưa định phân tích liệu châu Âu Ở Nhật Bản, ứng dụng logic mờ nhà máy xử lý nước Fuji Electric vào năm 1983, hệ thống xe điện ngầm Hitachi vào năm 1987.Có nhiều lý để giải thích cho logic mờ lại ưu chuộng Thứ nhất, kỹ sư Nhật Bản thường thuật tốn đơn giản,sau sâu vào vấn đề Điều phù hợp với việc logic mờ cho phép tạo nhanh mẫu tiến tới tối ưu Thứ hai, hệ dùng logic mờ đơn giản dễ hiểu Sự “thông minh”của hệ không nằm hệ phương trình vi phân hay mã nguồn Logic mờ cung cấp cho họ phương tiện minh bạch để thiết kế hệ thống Đến nay, có khoảng 200 sản phẩm bán thị trường vơ số ứng dụng điều khiển q trình – tự động hóa dùng logic mờ Logic mờ giải vấn đề mà điều khiển kinh điển khơng làm Có khoảng 350 phát minh logic mờ Ngoài ra, logic mờ dùng để tối ưu nhiều q trình hóa học sinh học 2, Tập mờ 2.1, Định nghĩa tập mờ Các tập mờ hay tập hợp mờ (Fuzzy Set) mở rộng lý thuyết tập hợp cổ điển dùng logic mờ Trong lý thuyết tập hợp cổ điển, quan hệ thành viên phần tử tập hợp đánh giá theo kiểu nhị phân theo điều kiện rõ ràng – phần tử thuộc không thuộc tập hợp Ngược lại, lý thuyết tập mờ cho phép đánh giá từ từ quan hệ thành viên phần tử tập hợp, quan hệ dược mô tả hàm liên thuộc(membership function ) -> [0,1] Tập hợp mờ tập hợp mà thành phần số ( x , µ( x ) ) Các tập mờ coi mở rộng lý thuyết tập hợp cổ điển với universe (Không gian tham chiếu hay không gian nền)nhất định, hàm liên tục giữ vai trị hàm đặc trưng (indicator function) ánh xạ phần tử tới giá trị khái niệm cổ điển Những tập mờ thường gặp đồ thị hàm độ thuộc (membership function) có hình dạng hình tam giác hình thang mà người ta thường gọi vắn tắt “tập mờ hình tam giác” “tập mờ hình thang” hình vẽ đây: Hình 1: Ba tập mờ trạng thái nhiệt độ Cold (lạnh), Warm (ấm) Hot (nóng) có dạng hình thang Theo hình vẽ ta thấy trục nhiệt độ Warm (ấm) cắt trục nhiệt độ Cold (lạnh) Hot (nóng) Khi cắt trục nhiệt độ Cold điểm ta thấy tương đối lạnh Ta coi ấm tương đối lạnh Ngày nay,tập mờ logic mờ ứng dụng nhiều khoa học kỹ thuật đặc biệt điều kiện tự động hệ giúp định tính tốn hiệu cao … Ví dụ: Trong máy giặt có ghi Fuzzy Logic Controller gặp, máy đo độ bẩn, chất liệu lượng đồ cần giặt từ ấn định mức độ bột giặt số nước cần dùng chức cần vận hành để giặt 2.2, Các thông số đặc trưng cho tập mờ Các thông số đặc trưng cho tập mờ độ cao, miền xác định miền tin cậy Hình 2: Độ cao,miền xác định, miền tin cậy tập mờ + Độ cao tập mờ B(định nghĩa sở M) giá trị lớn giá trị hàm liên tục + Miền xác địnhcủa tập mờ B(định nghĩa sở M) ký hiệu S tập M có giá trị hàm liên thuộc khác không + Miền tin cậy tập mờ B(định nghĩa sở M) ký hiệu T,là tập có giá trị hàm liên thuộc 2.3, Quan hệ mờ Quan hệ mờ R(X,Y) xác định tập mờ R tích đề XxY Trong trường hợp X Y hữu hạn,R biểu diễn ma trận với giá trị mức độ quan hệ cặp (x,y) + Phép đảo: quan hệ mờ R (X,Y) R-1(Y,X) cho bởi: R-1(y,x) = R(x,y) + Phép kết nối: quan hệ mờ P(X,Y ) Q(X,Z) cho ta quan hệ mờ R (X,Z) định nghĩa bởi: R(x,z) = [PoQ](x,z) =max {min P(x,y), Q(y,z) | y ꞓ Y} 2.4, Logic mờ + Khái niêm: Logic mờ (Fuzzy Logic) phát triển từ lý thuyết tập mờ để thực lập luận cách xấp xỉ thay lập luận xác theo logic vị từ cổ điển Người ta hay nhầm lẫn mức độ với xác suất Tuy nhiên, hai khái niệm khác hoàn toàn, độ đắn logic mờ biểu diễn độ liên thuộc với tập định nghĩa không rõ ràng khả xảy biến cố hay điều kiện + Biến ngơn ngữ: Biến ngôn ngữ phần chủ đạo hệ thống dùng logic mờ Ở đây, thành phần ngôn ngữ mô tả ngữ cảnh kết hợp lại + Mệnh đề mờ: Trong logic cổ điển (logic vị từ cấp một) mệnh đề phân tử P(x) phát biểu có dạng “x P” đó: x đối tượng vũ trụ U thoải mãn tính chất P Như ta đồng mệnh đề phân tử “x P” với tập rõ A + Luật mờ: Một luật mờ biểu thức If – Then phát biểu dạng ngôn ngữ tự nhiên thể phụ thuộc nhân biến Ví dụ: If nhiệt độ lạnh giá dầu rẻ Then sưởi ấm nhiều II, Thiết kế hệ thống mờ 1, Các yếu tố xây dựng mơ hình logic mờ Q trình mã hóa Dữ liệu rõ (Input) Dữ liệu mờ BỘ XỬ LÝ LOGIC MỜ Dữ liệu mờ (Input) QUÁ TRÌNH GIẢI MÃ (Output) Dữ liệu đầu (Output) Hình 3: Cấu trúc quy trình hoạt động mơ hình 10 - Microsoft Visual Studio 2010 (Microsoft Visual C#) thuận tiện việc cài đặt thiết kế, tiết kiệm chi phí … III, Một số ứng dụng Logic mờ Logic mờ điều khiển thiết bị gia dụng máy giặt (cảm nhận kích thước mật độ bột giặt,lượng nước điều chỉnh chu kỳ - giặt theo ) Nhiệt độ tủ lạnh Máy điều hòa nhiệt độ Thang máy Camera Nồi cơm điện Trí tuệ nhân tạo game Nhận dạng mẫu cảm nhận từ xa (Remote Sensing) Các lọc ngôn ngữ tin, diễn đàn(message Board) phòng chat để lọc bỏ đoạn văn khiếm nhã … - Xử lý ảnh số phát biên,điểm nhiễu … - Các hệ thống ô tô phương tiện lưu thông khác,chẳng hạn hệ thống ABS quản lý - Phần mềm MASSIVE sử dụng điện ảnh giúp diễn đội quân lớn,tạo chuyển động cách ngẫu nhiên vào có thứ tự 16 B, ÁP DỤNG LOGIC MỜ VÀO CÀI ĐẶT ỨNG DỤNG ĐIỀU KHIỂN TỐC ĐỘ XE Ô TÔ I, Mục tiêu thiết kế 1, Mục tiêu Ngày nhiều trang bị nhúng vào logic mờ việc sử dụng dễ hơn, tiện lợi hơn.Và ứng dụng quan trọng nhúng logic mờ vào ứng dụng điều khiển tốc độ xe ô tô 2, Thiết kế ứng dụng Hệ thống điều khiển mờ thiết kế gồm : - Giá trị đầu vào gồm: Nhiệt độ không khí (Temperature) độ bao phủ - (Cloud Cover) Bộ mờ hóa Các luật điều khiển tốc độ xe Bộ suy diễn Bộ giải mờ Giá trị đầu (tốc độ xe tơ) Hình 9: Thiết kế hệ thống điều khiển mờ 17 II, Phân tích thuật tốn xây dựng điều khiển mờ cho xe ô tô 1, Xây dựng biến ngôn ngữ Với biến ngôn ngữ Temperature(Nhiệt độ) ta có tập mờ sau: Temperature : {Freezing , Cool, Warm, Hot} Với biến ngôn ngữ Cover (Độ bao phủ ) ta có tập mờ sau: Cover : {Sunny , Partly Cloudy, Overcast } Với biến ngôn ngữ Speed (Tốc độ) ta có tập mờ sau: Speed :{Fast , Slow} 2, Xây dựng hàm phụ thuộc +Các loại hàm phụ thuộc: Hình 10: Các dạng hàm phụ thuộc phổ biến 18 +Các hàm phụ thuộc Temperature +Hàm phụ thuộc Cover 19 +Hàm phụ thuộc Speed 20 +Xác định luật mờ Ma trân luật: cover Tem Sunny Partly Cloud Overcast Freezing Slow Slow Slow Cool Fast Slow Slow Warm Fast Fast Slow Hot Fast Fast Slow 3, Xây dựng tối ưu luật mờ Ta có luật sau: (R1) if Temperature is Freezing Then Speed is Slow Freezing (Temperature )Slow (Speed ) 21 (R2) If Cover is Sunny and Temperature is Cool Then Speed is Fast Sunny(Cover)^ Cool(Temperature )Fast(Speed ) (R3)If Cover is Sunny and Temperature is Warm Then Speed is Fast Sunny(Cover)^Warm(Temperature )Fast(Speed ) (R4)If Cover is Sunny and Temperature is Hot Then Speed is Fast Sunny(Cover)^Hot(Temperature )Fast(Speed ) (R5)If Cover is Partly Cloudy and Temperature is Cool Then Speed is Slow Partly Cloud(Cover)^Cool(Temperature )Slow(Speed ) (R6)If Cover is Partly Cloudy and Temperature is Warm Then Speed is Fast Partly Cloudy(Cover)^Warm(Temperature )Fast(Speed ) (R7)If Cover is Partly Cloudy and Temperature is Hot Then Speed is Fast Partly Cloudy(Cover)^Hot(Temperature )Fast(Speed ) (R8)If Cover is Overcast Then Speed is Slow Overcast(Cover)Slow (Speed ) III, Cài đặt ứng dụng minh họa 1, Chương trình minh họa C# +Hàm phụ thuộc: classHamphuthuoc { publicdouble Freezing(double a) { double x; if (a < 30) x = 1; elseif (a >= 50) x = 0; else x = (50 - a) / 20; return x; } 22 publicdouble Cool(double a) { double x=0; if (a < 30) x = 0; if (a >= 70) x = 0; if (a >= 50 && a =30 && a= 90) x = 0; if (a > 50 &&a 70 && a < 90) x = (90-a) /20; return x; } publicdouble Hot(double a) { double x; if (a < 70) x = 0; elseif (a >= 90) x = 1; else x = (a-70)/20; return x; } publicdouble Sunny(double a) 23 { double x; if (a < 20) x = 1; elseif (a >= 40) x = 0; else x = (40-a)/ 20; return x; } publicdouble Partly(double a) { double x; if (a = 80) x = 0; elseif (a > 20 && a < 50) x = (a - 20)/ 30; else x = (80 - a)/30; return x; } publicdouble Overcast(double a) { double x; if (a < 60) x = 0; elseif (a >= 80) x = 1; else x = (a-60)/20; return x; } } } +Q trình tính: 24 classQuatrinhtinh { publicstaticdouble cool; publicstaticdouble freezing; publicstaticdouble hot; publicstaticdouble warm; publicstaticdouble sunny; publicstaticdouble partly; publicstaticdouble overcast; Hamphuthuoc ham = newHamphuthuoc(); publicdouble Tinhtocdo(double temperature, double cover) { double x; cool = ham.Cool(temperature); freezing = ham.Freezing(temperature); hot = ham.Hot(temperature); warm = ham.Warm(temperature); sunny = ham.Sunny(cover); partly = ham.Partly(cover); overcast = ham.Overcast(cover); //Chon phuong phap suy dien ma Mandami //Toan tu suy dien max //Su dung phep hop max //Su dung luat da duoc xay dung san bai quan trọng khâu giải mờ double s1 = freezing; //rule1 double f2 = min(sunny, cool);//rule2 double f3 = min(sunny, warm);//rule3 double f4 = min(sunny, hot);//rule4 double s5 = min(partly, cool);//rule5 double f6 = min(partly,warm);//rule6 double f7 = min(partly, hot);//rule7 double s8 = overcast;//rule8 double fast = max(f6, max(f2,max(f4,max(f7,f3)))); double slow = max(s1, max(s5, s8)); x = (slow * 25 + fast * 75) / (slow + fast); return x; } publicdouble max(double x,double y) { if (x > y) return x; 25 else return y; } publicdouble min(double x, double y) { if (x < y) return x; else return y; } staticpublicDataTable bangdulieu() { DataTable tb = newDataTable(); DataRow row1 = tb.NewRow(); tb.Columns.Add("Covertemprerature"); tb.Columns.Add("Freezing"); tb.Columns.Add("Cool"); tb.Columns.Add("Warm"); tb.Columns.Add("Hot"); row1["Covertemprerature"] = "Sunny"; row1["Freezing"] = "Slow"; row1["Cool"] = "Fast"; row1["Warm"] = "Fast"; row1["Hot"] = "Fast"; tb.Rows.Add(row1); DataRow row = tb.NewRow(); row["Covertemprerature"] = "Partly"; row["Freezing"] = "Slow"; row["Cool"] = "Slow"; row["Warm"] = "Fast"; row["Hot"] = "Fast"; tb.Rows.Add(row); DataRow row2 = tb.NewRow(); row2["Covertemprerature"] = "Overcast"; row2["Freezing"] = "Slow"; row2["Cool"] = "Slow"; row2["Warm"] = "Slow"; row2["Hot"] = "Slow"; tb.Rows.Add(row2); return tb; 26 } staticpublicDataTable bangluat() { DataTable tb = newDataTable(); DataRow row = tb.NewRow(); tb.Columns.Add("luat"); row["luat"] = "Rule1"; tb.Rows.Add(row); DataRow row1 = tb.NewRow(); row1["luat"] = "Rule2"; tb.Rows.Add(row1); DataRow row2 = tb.NewRow(); row2["luat"] = "Rule3"; tb.Rows.Add(row2); DataRow row3 = tb.NewRow(); row3["luat"] = "Rule4"; tb.Rows.Add(row3); DataRow row4 = tb.NewRow(); row4["luat"] = "Rule5"; tb.Rows.Add(row4); DataRow row5 = tb.NewRow(); row5["luat"] = "Rule6"; tb.Rows.Add(row5); DataRow row6 = tb.NewRow(); row6["luat"] = "Rule7"; tb.Rows.Add(row6); DataRow row7 = tb.NewRow(); row7["luat"] = "Rule8"; tb.Rows.Add(row7); return tb; } } } +Hàm khởi chạy: amespace Tinhtoanmem { staticclassProgram { 27 /// /// The main entry point for the application /// [STAThread] staticvoid Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(newForm1()); } } } 2, Chạy chương trình 28 29 ... luật mờ 21 III, Cài đặt ứng dụng minh họa 22 1, Chương trình minh họa C# .22 2, Chạy chương trình .28 A, CƠ SỞ LÝ THUYẾT I, Logic mờ 1, Giới thiệu Logic mờ được... thành: biến đổi giá trị mờ biến ngôn ngữ đầu vào thành giá trị mờ biến ngôn ngữ đầu dựa luật hợp thành xây dựng +Khâu giải mờ: biến đổi giá trị mờ biến ngôn ngữ đầu vào thành giá trị mờ biến ngôn... trường vô số ứng dụng điều khiển trình – tự động hóa dùng logic mờ Logic mờ giải vấn đề mà điều khiển kinh điển không làm Có khoảng 350 phát minh logic mờ Ngoài ra, logic mờ dùng để tối ưu nhiều

Ngày đăng: 10/04/2016, 22:04

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • A, CƠ SỞ LÝ THUYẾT

    • I, Logic mờ

      • 1, Giới thiệu

      • 2, Tập mờ

      • II, Thiết kế hệ thống mờ

        • 1, Các yếu tố xây dựng mô hình logic mờ.

        • 2, Quy trình hoạt động của logic mờ

        • 3, Phương pháp xây dựng mô hình

        • 4, Các phương pháp giải mờ

        • 5, Công cụ thực hiên logic mờ

        • B, ÁP DỤNG LOGIC MỜ VÀO CÀI ĐẶT ỨNG DỤNG ĐIỀU KHIỂN TỐC ĐỘ XE Ô TÔ

          • I, Mục tiêu và thiết kế

            • 1, Mục tiêu

            • 2, Thiết kế ứng dụng

            • II, Phân tích thuật toán xây dựng điều khiển mờ cho xe ô tô

              • 1, Xây dựng các biến ngôn ngữ

              • 2, Xây dựng hàm phụ thuộc

              • 3, Xây dựng và tối ưu các luật mờ

              • III, Cài đặt ứng dụng minh họa

                • 1, Chương trình minh họa bằng C#

                • 2, Chạy chương trình

Tài liệu cùng người dùng

Tài liệu liên quan