Bài giảng Phương pháp số - Bài 1: Giới thiệu chung các hệ thống số và sai số - Nguyễn Thị Vinh

SỰ CẦN THIẾT CỦA MÔN HỌC (1)

• Trong chương trình đào tạo kỹ sư CNTT, chúng ta đã

học ba môn Toán 1, Toán 2, Toán 3. Các môn học này

tập trung chủ yếu vào việc tìm các lời giải đúng cho

các bài toán

• Hầu hết các chương trình máy tính được sử dụng trong

KHKT và Kinh tế đều tìm các lời giải bằng số cho các

bài toán này (vì các lời giải đúng bị hạn chế).

• Đối với các kỹ sư CNTT, điều quan trọng là hiểu các

khái niệm cơ bản của các phương pháp số để có thể sử

dụng một cách hiệu quả các phần mềm có sẵn và tự

phát triển các chương trình tính toán của mình.

 

pdf 29 trang kimcuc 4460
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phương pháp số - Bài 1: Giới thiệu chung các hệ thống số và sai số - Nguyễn Thị Vinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phương pháp số - Bài 1: Giới thiệu chung các hệ thống số và sai số - Nguyễn Thị Vinh

Bài giảng Phương pháp số - Bài 1: Giới thiệu chung các hệ thống số và sai số - Nguyễn Thị Vinh
PHƢƠNG PHÁP SỐ
BÀI 1
GIỚI THIỆU CHUNG
CÁC HỆ THỐNG SỐ & SAI SỐ
Giảng viên: ThS. Nguyễn Thị Vinh
Email: vinhnt@wru.vn
Website: 
https://sites.google.com/site/phphapso/home/bai-giang
GIỚI THIỆU CHUNG VỀ MÔN HỌC
- Số tín chỉ: 4 
- Số giờ: 60 (45LT+15TH )
- Chƣơng trình đào tạo ngành: CNTT
- Đánh giá: 
Điểm chuyên cần, bài tập, lập trình 25% 
Kiểm tra giữa kỳ: 15% 
Điểm thi kết thúc môn học: 60% 
- Môn tiên quyết: Toán I, II, III, Tin Đại cƣơng; 
- Môn học trƣớc: Cấu trúc Dữ liệu và Giải thuật;
Toán rời rạc. 
PHƢƠNG PHÁP SỐ-Bài 1 2
TÓM TẮT NỘI DUNG
- Nội dung:
Khảo sát các phƣơng pháp số cơ bản đƣợc sử
dụng để giải các bài toán trong Toán học, Khoa học
và Kỹ thuật.
– Yêu cầu
Biết tự giải các bài toán đó
Biết giải trên máy tính bằng cách
1. Sử dụng phần mềm có sẵn
2. Lập trình
PHƢƠNG PHÁP SỐ-Bài 1 4
CÁC CHỦ ĐỀ
1. Các hệ thống số và sai số
2. Nghiệm của các phƣơng trình phi tuyến 
3. Giải hệ phƣơng trình tuyến tính
4. Nội suy và xấp xỉ hàm 
5. Tính đạo hàm và tích phân 
6. Giải các bài toán của phƣơng trình vi 
phân thƣờng
PHƢƠNG PHÁP SỐ-Bài 1 5
TÀI LIỆU
- Giáo trình chính:
Conte, S.D. & Boor, C. de. Cơ sở Giải Tích Số - Một
cách tiếp cận Thuật toán. (Dịch từ cuốn Elementary
numerical analysis. McGraw-Hill, 3rd Ed.)
- Tài liệu tham khảo
[1]. Shampine, L.F., Allen, R.C. Jr & Pruess, S. (1997).
Fundamentals of numerical computing. Wiley.
[2]. S.C. Chapra and R.P. Canale (2002). Numerical
Methods for Engineers, Fourth Edition. McGraw-Hill
[3]. Dƣơng Thủy Vỹ, Giáo trình phương pháp tính,
NXBKH & KT, 2002
PHƢƠNG PHÁP SỐ-Bài 1 6
SỰ CẦN THIẾT CỦA MÔN HỌC (1)
• Trong chƣơng trình đào tạo kỹ sƣ CNTT, chúng ta đã
học ba môn Toán 1, Toán 2, Toán 3. Các môn học này
tập trung chủ yếu vào việc tìm các lời giải đúng cho
các bài toán
• Hầu hết các chƣơng trình máy tính đƣợc sử dụng trong
KHKT và Kinh tế đều tìm các lời giải bằng số cho các
bài toán này (vì các lời giải đúng bị hạn chế).
• Đối với các kỹ sƣ CNTT, điều quan trọng là hiểu các
khái niệm cơ bản của các phƣơng pháp số để có thể sử
dụng một cách hiệu quả các phần mềm có sẵn và tự
phát triển các chƣơng trình tính toán của mình. 
PHƢƠNG PHÁP SỐ-Bài 1 7
SỰ CẦN THIẾT CỦA MÔN HỌC (2)
• Các phƣơng trình đại số bậc cao và các phƣơng
trình phi tuyến thƣờng không có công thức nghiệm
đúng
• Các hệ phƣơng trình tuyến tính cỡ lớn không dễ
giải đƣợc bằng công thức Cramer
• Việc tính tích phân xác định bằng công thức
Newton-Leibnitz phụ thuộc vào sự tồn tại nguyên
hàm của hàm dƣới dấu tích phân
• Các bài toán về phƣơng trình vi phân dựa trên các
công thức nghiệm đúng là không khả thi
Các phƣơng pháp số giải các bài toán trên có thể 
cho lời giải gần đúng với độ chính xác mong muốn!
PHƢƠNG PHÁP SỐ-Bài 1 8
SỰ CẦN THIẾT CỦA MÔN HỌC (3)
Nguyên nhân là do sai số ban đầu mắc phải khi tính e-1 bị
khuếch đại lên sau mỗi lần tính
PHƢƠNG PHÁP SỐ-Bài 1 9
Ví dụ 1: Tính tích phân )n0(I dxexI n
1
0
1xn
n  
Tích phân từng phần
 nI1 dxexnexI 1-n
1
0
1x1n
1
0
1xn
N 
 0,36787edxe-exdxxeI 1-
1
0
1-x
1
0
1x
1
0
1x
1 
Khi n = 9, I9 ≈ -0,068480 < 0. dù ta tăng độ chính xác của
e-1 đến bao nhiêu đi nữa!
SỰ CẦN THIẾT CỦA MÔN HỌC (4)
Các lời giải đúng không luôn luôn có tính thực tiễn!
PHƢƠNG PHÁP SỐ-Bài 1 10
Ví dụ 2: Xét việc giải hệ phƣơng trình tuyến tính
Ax = b, An x n (detA ≠ 0), bn x 1
Theo qui tắc Cramer:
xi = ∆i / ∆ , i = 1,  , n 
Trong đó ∆ = detA, ∆i = detAi với Ai suy từ ma trận A bằng
cách thay cột thứ i bởi cột b
 Phải tính (n+1) định thức cấp n. Mỗi định thức có n! số hạng,
mỗi số hạng có n thừa số (nên phải thực hiện n-1 phép nhân.)
 Tổng số phép nhân phải thực hiện là (n+1) n! (n-1).
 Với n = 20, và máy tính thực hiện đƣợc 5000 phép nhân
1 giây thì phải mất 300 000 000 năm!
KHÁI NIỆM PHƢƠNG PHÁP SỐ
• Phương pháp số (Numerical Methods hay Numerical
Analysis) nghiên cứu lời giải bằng số trên máy tính
của các bài toán
• Ba giai đoạn giải bài toán của Phƣơng pháp số
1. Lập mô hình toán (công thức hóa) bài toán
2. Tìm thuật toán thích hợp để cải thiện:
- Độ chính xác của lời giải (các loại sai số)
- Sự hội tụ (số lần lặp, xử lí khi không hội tụ)
3. Lập trình / sử dụng chƣơng trình có sẵn.
PHƢƠNG PHÁP SỐ-Bài 1 11
CÁC HỆ THỐNG SỐ (1)
PHƢƠNG PHÁP SỐ-Bài 1 12
Sơ đồ Hoorner
(anan-1a0)2 = an2
n + an-12
n-1 +  + a02
0 = pn(2)
= ((((an2 + an-1)2 + an-2)2 + an-3)2 +  + a1)2 + a0
trong đó các hệ số ak là 0 hoặc 1 
Thuật toán:
bn = an
bn-1 = an-1 + bn 2
bn-2 = an-2 + bn-1 2
bn-3 = an-3 + bn-2 2
..........................
b0 = a0+ b1 2
Khi đó b0 = pn(2)
an an-1 an-2 . a0
+ 2bn 2bn-1  2b1 (x 2)
bn bn-1 bn-2  b0 = pn(2)
Ví dụ (1101)2 = p3(2) = 1310
1 1 0 1 
+ 2 x 1 2 x 3 2 x 6 (x 2)
1 3 6 13 = p3(2) 
1. Chuyển các số nguyên hệ nhị phân sang hệ thập phân
CÁC HỆ THỐNG SỐ (2)
PHƢƠNG PHÁP SỐ-Bài 1 13
Thuật toán: chuyển số nguyên (anan-1a0)10 = (bmbm-1b0)2
Bƣớc 1: chuyển các chữ số an an-1a0 thành các số nguyên 
nhị phân.
Bƣớc 2: sử dụng sơ đồ Hoorner để tính pn(x) tại x=10=(1010)2
Ví dụ (187)10 = 1.10
2 + 8.101 + 7.100 = p2(1010)
= 1 x (1010)2 + 1000 x 1010 + 111 x (1010)0
1 1000 111
+ 1010 x 1 1010 x 1 0010
1 1 0010 1011 1011= p2(1010)
Vậy (187)10 = (1011 1011)2
2. Chuyển các số nguyên hệ thập phân sang hệ nhị phân
CÁC HỆ THỐNG SỐ (3)
PHƢƠNG PHÁP SỐ-Bài 1 14
Thuật toán:
Cho số xF giữa 0 và 1 và 
chọn cơ số β = 2. Tạo 
các số b1, b2, b3, ... theo 
phép đệ quy sau đây
c0 = x F
c1 = β(c0)F b1 = [c1]
c2 = β(c1)F b2 = [c2]
c3 = β(c2)F b3 = [c3]
.......................................
Khi đó
3. Chuyển phần lẻ thập phân sang phần lẻ nhị phân

1k
k
kF21F βb)b(bx 
Ví dụ 1: x F = 0.625 ta có c0 = x F
c1 = 2 (0.625)F = 1.25 b1 = 12
c2 = 2 (1.25)F = 0.5 b2 = 02
c3 = 2 (0.5)F = 1.0 b3 = 12
 bk = 0 khi k > 3 vì c3 nguyên
 (0.625)10 = (0.101)2
Ví dụ 2: x F = 10
–1 = 0.1 ta có c0 = x F
c1 = 2(0.1) F = 0.2 b1 = 02
c2 = 2(0.2) F = 0.4 b2 = 02
c3 = 2(0.4) F = 0.8 b3 = 02
c4 = 2(0.8) F = 1.6 b4 = 12
c5= 2(1.6) F = 1.2 b5 = 12
 trở về phần thập phân của 0.2 nên
các chữ số quay lại chu kì 0011
 (0.1)10 = (0.0 0011 0011 ... )2
CÁC HỆ THỐNG SỐ (4)
PHƢƠNG PHÁP SỐ-Bài 1 15
Thuật toán: Chuyển xF = (0.anan-1a0)2= (0.bmbm-1b0)10
Trong công thức trƣớc, chọn β = 10 rồi sử dụng phép toán số 
học nhị phân tìm các bi theo phép đệ quy
4. Chuyển phần lẻ nhị phân sang phần lẻ thập phân
Ví dụ Cho xF = (0.101)2 với β = 10 = (1010)2 ta có 
c0 = xF = 0.101 βc0 =1010 x 0.101 = 110.01
 b1 = [βc0] = 110 = 610
c1 = (βc0)F = 0.01 βc1 = 1010 x 0.01 = 10.10 b2 = 10 = 210
c2 = (βc1)F = 0.1 βc2 =1010 x 0.1 = 101 b3 = 101 = 510
c3 = (βc2)F = 0 Dừng vì c3 nguyên
Vậy (0.101)2 = (0.625)10
SỐ HỌC SỐ THỰC ĐỘNG (1)
PHƢƠNG PHÁP SỐ-Bài 1 16
1. Một số khái niệm:
• Một số thực động n chữ số trong hệ cơ số β là số
x = ±(0.d1d2d3 ... dn)β β
e
trong đó phần lẻ-β, (.d1d2d3 ... dn)β gọi là phần định trị, và số
nguyên e (m < e < M) gọi là số mũ. Đối với hầu hết các máy
tính, β =2, M = -m = 27.
• Số thực động nhƣ thế đƣợc coi là chuẩn hóa khi d1 ≠ 0,
hoặc d1 = d2 = ... = dn = 0.
• Độ dài n của các số thực động thƣờng đƣợc xác định bằng 
độ dài một từ (word)của máy tính. Có hai loại độ dài: Loại 
ngắn gọi là độ chính xác đơn – single, loại dài (gấp đôi về 
dung lƣợng lƣu trữ) gọi là độ chính xác gấp đôi – double
SỐ HỌC SỐ THỰC ĐỘNG (2)
PHƢƠNG PHÁP SỐ-Bài 1 17
2. Hai cách chuyển một số thực thành một số thực động
• Làm tròn: fl(x) đƣợc chọn nhƣ một số thực động đƣợc 
chuẩn hóa gần x nhất
• Ngắt bỏ: fl(x) đƣợc chọn nhƣ số thực động đƣợc chuẩn 
hóa gần nhất nằm giữa x và 0
Ví dụ: với độ dài chuẩn n = 2, xét
(.66)10
 trònlàm(.67)10
3
2
0
0
bá ng¾t 
fl
làm tròn
838fl
3
3
(.84)10 
(.83)10 ng¾t bá
I-----------------I-----I-----I-------
0 0.66 2/3 0.67
SỐ HỌC SỐ THỰC ĐỘNG (3)
PHƢƠNG PHÁP SỐ-Bài 1 18
3. Sai số làm tròn
• Định nghĩa: Sai số làm tròn là sự khác biệt giữa x và fl(x)
(phụ thuộc vào kích thƣớc của x).
Nếu ta viết fl (x) = x(1 + δ) với δ = δ(x) là số phụ thuộc vào x,
thì fl (x) có thể chênh lệch với x một giá trị không vƣợt quá
biên của δ một cách độc lập với x
–β1–n < δ ≤ 0 bằng cách ngắt bỏ
n1β
2
1
δ bằng cách làm tròn
Đơn vị làm tròn u là giá trị lớn nhất có thể của |δ|
SỐ HỌC SỐ THỰC ĐỘNG (4)
PHƢƠNG PHÁP SỐ-Bài 1 19
4. Phép toán số thực động
• Khi một phép toán số học đƣợc áp dụng cho hai số thực
động, kết quả thƣờng sai lệch đối với một số thực động cùng
độ dài.
Ví dụ: cho các số thực động có hai chữ số lẻ thập phân
x = (0.20)101 = 2, y = (0.77)10–6 và z = (0.30)101 = 3
 x + y = (0.200000077)101, x * y = (0.154)10–5
Nếu kí hiệu ω là một trong các phép toán số học (cộng, trừ,
nhân hoặc chia) và ω* là phép toán số thực động cùng tên do
máy tính cung cấp, thì tuy rằng máy tính có thể đƣa ra kết
quả x ω* y đối với hai số thực động x và y, thƣờng là
x ω* y ≠ x ω y 
SỐ HỌC SỐ THỰC ĐỘNG (5)
PHƢƠNG PHÁP SỐ-Bài 1 20
4. Phép toán số thực động
Phép toán số thực động ω*, tƣơng ững với phép toán số học
thông thƣờng ω (+ - * / ) thƣờng đƣợc xây dựng sao cho
x ω* y = fl(x ω y )
 x ω* y = (x ω y ) (1 + δ) với δ nào đó mà |δ| ≤ u
hay x ω* y = (x ω y ) / (1 + δ) với δ nào đó mà |δ| ≤ u
Ví dụ f(x) = ở điểm x0 đƣợc tính bằng cách
với f(x0) = xn. 
Trong các phép tính số học động, ta tính tuần tự các số
với |δi| ≤ u với mọi i. 
n2x
δ))(1f(xδ)(1~~ 0
22
0 
nn
xxn
2
1-nn
2
12
2
01 x x..., ,x x,xx 
nx
~ tính cho f(x0) là giá trị chính xác của f(x) tại đối số 
đƣợc sửa đổi x = x0 (1+δ).
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (1)
Mọi phép toán số thực động trong quá trình tính toán có
thể nảy sinh sai số, sai số này có thể bị khuyếch đại
hay thu nhỏ trong các phép toán sau đó.
PHƢƠNG PHÁP SỐ-Bài 1 21
• Khái niệm sai số:
- Cho x* là một xấp xỉ của số đúng x, hiệu x – x* gọi là sai
số theo x*, vậy số đúng = số xấp xỉ + sai số
- Sai số tuyệt đối theo x* là số |x – x*|
- Sai số tương đối theo x* là số α = (x – x*) / x. 
Nhận xét :
1. α gần với số (x – x*) / x* nếu nó nhỏ.
2. Nếu α = (x – x*) / x thì (x – x*) / x*= α / (1 – α )
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (2)
PHƢƠNG PHÁP SỐ-Bài 1 22
• Tổn thất đáng kể:
Một trong những nguyên nhân chung nhất làm tăng sai số là
làm mất các chữ số có nghĩa (các chữ số của số đó kể từ
chữ số khác không đầu tiên tính từ trái sang phải)
Nếu x* là một xấp xỉ của x và sai số tuyệt đối |x – x*| lớn
nhất bằng 0.5 chữ số có nghĩa thứ r của hệ cơ số β của x,
thì ta nói rằng x* xấp xỉ x đến r chữ số có nghĩa hệ cơ số β,
|x – x*| ≤ βs–r+1/2
với s là số nguyên lớn nhất mà βs ≤ |x|.
Ví dụ, x* = 3 là xấp xỉ x = π với một chữ số có nghĩa, trong khi
1428.3
7
22
*x là một xấp xỉ của π với năm chữ số có nghĩa
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (3)
Việc mất đi các chữ số có nghĩa chỉ nguy hiểm khi ta muốn 
giữ sai số tƣơng đối nhỏ và có thể tránh đƣợc bằng cách 
đoán trƣớc sự xuất hiện của nó
• Tổn thất đáng kể:
Cho x* = (0.76545421)101 và y* = (0.76544200)101 là các xấp 
xỉ của x và y tƣơng ứng, chính xác đến bảy chữ số
 z* = x* – y* = (0.12210000)10–3
chỉ còn chính xác đến ba chữ số
Số xấp xỉ Sai số tuyệt đối Sai số tƣơng đối Tỉ lệ tăng
x* .76545421E+01 |x–x*| .50E–07 αx .65320694E–08 αz/αx 125382
y* .76544200E+01 |y–y*| .50E–07 αy .65321706E–08 αz/αy 125380
z* .12210000E–03 |z–z*| .10E–06 αz .81900082E–03
PHƢƠNG PHÁP SỐ-Bài 1 23
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (4)
• Sự lan truyền sai số:
Điều kiện của hàm f tại x mô tả sự nhạy cảm của hàm f(x) 
đối với sự thay đổi của đối số x, nó đƣợc đo bằng
PHƢƠNG PHÁP SỐ-Bài 1 24
f(x) f(x*) x x* f'(x) x
max / sao cho |x x*|"nho"
f(x) x f(x)
  
 
 
 Điều kiện của f tại x càng lớn bao nhiêu thì hàm f càng
đƣợc coi là có điều kiện yếu bấy nhiêu. Ví dụ
x2
1
)x('fx)x(f 
2
1
x
x
f(x)
(x)xf' x2
1
là xấp xỉ của điều kiện của f tại x. việc lấy các căn bậc hai là
một quá trình có điều kiện tốt, vì nó làm giảm sai số tương đối
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (5)
• Sự lan truyền sai số:
Ví dụ: Tính điều kiện của hàm
PHƢƠNG PHÁP SỐ-Bài 1 25
Số này có thể rất lớn khi |x| gần 1. Vậy, với x gần 1 hoặc –1, 
hàm này có điều kiện rất yếu. Nó khuyếch đại các sai số 
tƣơng đối rất nhanh theo đối số x.
2x1
10
(x)f
2 2 2
2 2
f'(x)x [20x/(1 x ) ]x 2x
f(x) 10/(1 x ) |1 x |
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (6)
PHƢƠNG PHÁP SỐ-Bài 1 26
• Sự lan truyền sai số:
Tính không ổn định mô tả sự nhậy cảm của quá trình tính
toán bằng số f(x) theo x, đã mắc phải các sai số làm tròn
không thể tránh khỏi khi thực hiện phép tính số học có độ
chính xác hữu hạn.
Có thể đánh giá thô các ảnh hƣởng này bằng cách lần lƣợt
xét các sai số làm tròn.
Giả sử có n bƣớc nhƣ vậy. Gọi
xi là đầu ra của bƣớc thứ i (x0 = x, xn = f(x) )
fi là hàm mô tả sự phụ thuộc của kết quả cuối cùng vào
các kết quả trung gian xi. (f0 = f)
Quá trình này là không ổn định khi mà một hay vài fi có điều
kiện lớn hơn nhiều so với điều kiện mà f = f0 có được.
i xi fi Điều kiện Nhận xét
0 x0 = x = 12345
1 x1 = x0 +1 f1(t) = t +1 Tốt
2 ½ < 1 Tốt
3 Tốt
4 x4 = x2 - x3 f3(t) = x2 - t
Yếu (khi t gần x2 sai số
10% ở trường hợp này)
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (7)
1
1t
t
12 x x t(t)f2 
03 x x
tx
t
2 
PHƢƠNG PHÁP SỐ-Bài 1 27
• Sự lan truyền sai số:
Ví dụ xét hàm sau với x lớn, chẳng hạn x = 12345
x1xf(x) 
i xi fi Điều kiện Nhận xét
0 x0 = x = 12345
1 x1 = x0 +1 f1(t) = t +1 Tốt
2 1/2 Tốt
3
4 x4 = x2 +x3 f3(t) = x2+ t Tốt
5 x5 = 1/x4 f4(t)=1/ t 1
Đƣợc, sai số là
0.0003%
TỔN THÂT ĐÁNG KỂ VÀ 
SỰ LAN TRUYỀN SAI SỐ (8)
1
1t
t
12 x x t(t)f2 
03 x x
2
1
tx
t
2
PHƢƠNG PHÁP SỐ-Bài 1 28
• Sự lan truyền sai số:
x1x
1
f(x)
 Viết lại công thức hàm
NĂM PHƢƠNG PHÁP 
ƢỚC LƢỢNG SAI SỐ
1. Sử dụng độ chính xác gấp đôi: tổng sai số bằng chênh 
lệch kết quả của lời giải độ chính xác đơn so với độ chính xác gấp 
đôi 
2. Phép số học khoảng: mỗi số đƣợc thể hiện bằng giá trị lớn 
nhất và nhỏ nhất mà nó có thể chấp nhận
3. Phép số học chữ số có nghĩa: chỉ những chữ số có nghĩa 
mới đƣợc giữ lại, các chữ số khác đều bị bỏ đi
4. Tiếp cận thống kê: tính độ lệch quân phƣơng, phƣơng sai của 
phân phối các sai số làm tròn địa phƣơng
5. Phân tích sai số ngƣợc: nghiên cứu xem giá trị (chính xác) 
của hàm f(x) thay đổi thế nào khi đối số x bị sửa đổi
PHƢƠNG PHÁP SỐ-Bài 1 29
BÀI TẬP
Bài tập tính toán: 
1.1-1, 1.1-2, 1.2-1, 1.3-1, 1.4-1, 1.4-3
PHƢƠNG PHÁP SỐ-Bài 1 30

File đính kèm:

  • pdfbai_giang_phuong_phap_so_bai_1_gioi_thieu_chung_cac_he_thong.pdf