Phương pháp tính với C++ - Chương 2 pptx

33 684 12
Phương pháp tính với C++ - Chương 2 pptx

Đ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

CHƯƠNG2:GIẢIGẦNĐÚNGPHƯƠNGTRÌNH ĐẠISỐVÀSIÊUVIỆT   §1.KHÁINIỆMCHUNG  Nếu phương trìnhđại số hay siêuviệt khá phứctạp thìít khi tìm đượcnghiệmđúng.Bởivậyviệctìmnghiệmgầnđúngvàướclượngsaisố làr ấtcầnthiết.  Taxétphươngtrình:  f(x)=0(1) vớif(x)làhàmchotrướccủabiếnx.Chúngtacầntìmgiátrịgầnđúngcủa nghiệmcủaphươngtrìnhnày.  Quá trìnhgiảithườngchialàmhaibước:bướcsơbộvàbướckiệntoàn nghiệm.  Bướcgiảisơbộcó3nhiệmvụ:vâynghiệm,táchnghiệmvàthuhẹp khoảngchứanghiệm.   Vâynghiệmlàtìmxem cácnghiệmcủaph ươngtrìnhcóthểnằmtrên nhữngđoạnnàocủatrụcx.Táchnghiệmlàtìmcáckhoảngchứanghiệm soachotrongmỗi khoảngchỉcó đúngmộtnghiệm.Thuhẹpkhoảngchứa nghiệmlàlàmchokhoảngchứanghiệmcàngnhỏcàngtốt.Saubướcsơbộ tacókhoảngchứanghiệmđủnhỏ.  Bướckiệntoànnghiệm tìmcácnghiệmgầnđúngtheoyêucầuđặtra.  Córấtnhiềuphươngphápxácđịnhnghiệmcủa(1).Sauđâychúngta xéttừngphươngpháp.  §2.PHƯƠNGPHÁPLẶPĐƠN  Giảsửphươngtrình (1)đượcđưavềdạngtươngđương:  x=g(x)2) từgiá trịxonàođógọilàgiátrịlặpđầutiêntalậpdãyxấpxỉbằngcông thức:  x n=g(x+‐1)(3) vớin=1,2,  Hàmg(x)đượcgọilàhàmlặp.Nếudãyx n→αkhin→∝thìtanói phéplặp(3)hộitụ.       x 1xoxox1 13 Tacóđịnhlí:Xétphươngpháplặp(3),giảsử: ‐[a,b]làkhoảngphânlinghiệmαcủaphươngtrình(1)tứclàcủa(2) ‐mọix ntínhtheo(3)đềuthuộc[a,b] ‐g(x)cóđạohàmthoảmãn:  b xa,1 q )x(g < << ≤ ′ (4) trongđóqlàmộthằngsốthìphươngpháplặp(3)hộitụ Tacóthểminhhoạphéplặptrênbằnghìnhvẽtrên. Cáchđưaphươngtrìnhf(x)=0vềdạngx=g(x)đượcthự chiệnnhư sau:tathấyf(x) =0cóthểbiếnđổithànhx=x+ λf(x)vớiλ≠0.Sauđóđặt x+λf(x)=g(x)saochođiềukiện(4)đượcthoảmãn.  Vídụ:xétphươngtrình x 3 +x‐1000=0 Saubướcgiảisơbộtacónghiệmx 1∈(9,10) Nếuđưaphươngtrìnhvềdạng: x=1000‐x 3 =g(x) thìdễthấy|g ʹ (x)|>1trongkhoảng(9,10)nênkhôngthoảmãnđiềukiện (4) Chúngtađưaphươngtrìnhvềdạng  3 x1000x −=  thìtathấyđiềukiện(4)đượcthoảmãn.Xâydựngdãyxấpxỉ  3 n 1n x1000 x − = +  vớix ochọnbấtkìtrong(9,10)  Trêncơsởphươngphápnàychúngtacócácchươngtrìnhtínhtoán sau: Chương trình giải phương trình exp((1/3)*ln(1000‐x)) với số lần lặp cho trước  Chươngtrình2‐1  //lapdon #include<conio.h> #include<stdio.h> #include<math.h>  voidmain() {  inti,n;  floatx,x0;  floatf(float); 14  clrscr();  printf(ʺChosolanlapn=ʺ);  scanf(ʺ%dʺ,&n);  printf(ʺChogiatribandaucuanghiemx0=ʺ);  scanf(ʺ%fʺ,&x0);  x=x0;  for(i=1;i<=n;i++) x=f(x);  printf(ʺNghiemcuaphuongtrinhla:%.4fʺ,x);  getch(); }  floatf(floatx) {  floata=exp((1./3.)*log(1000‐x));  return(a); }  vàchươngtrìnhgiảibàitoánbằngphươngpháplặpvớisaisốchotrước  Chươngtrình2‐2  //lapdon #include<conio.h> #include<stdio.h> #include<math.h> voidmain() {  inti;  floatepsi,x,x0,y;  floatf(float);   clrscr();  printf(ʺChosaisoepsilon=ʺ);  scanf(ʺ%fʺ,&epsi);  printf(ʺChogiatribandaucuanghiemx0=ʺ);  scanf(ʺ%fʺ,&x0);  x=x0;  y=f(x);  if(abs(y‐x)>epsi) 15 { x=y; y=f(x); }  printf(ʺNghiemcuaphuongtrinhla%.6fʺ,y);  getch(); }  floatf(floatx) {  floata=exp((1./3.)*log(1000‐x));  return(a); }  Chogiátrịđầuxo=1.Kếtquảtínhtoánx=9.966555  §3.PHƯƠNGPHÁPCHIAĐÔICUNG  Giảsửchophươngtrìnhf(x)=0 v ới f(x)liêntụctrênđoạn[a,b]vàf(a).f(b)< 0. Chiađoạn [a, b]thành 2 phần bởi chínhđiểmchia(a+b)/2.          b 1 ξ b a x y  1.Nếuf((a+b)/2)=0thìξ =(a+b)/2  2. Nếu f((a + b)/2) ≠ 0 thì chọn [a,(a+b)/2]hay[(a+b)/2,b]màgiátrịhàm haiđầutrái dấuvà kíhiệu là[a 1,b1].Đối với[a 1,b1]talạitiếnhànhnhư[a,b] Cách làm trênđược mô tả trong chương trình sau dùngđểtìm nghiệmcủaphươngtrình: x 4 +2x 3 ‐x‐1=0 trênđoạn[0,1]  Chươngtrình2‐3  //chiadoicung #include<conio.h> #include<stdio.h> #include<math.h> #defineepsi0.00001 voidmain() { 16  floatx0,x1,x2;  floaty0,y1,y2; floatf(float);  intmaxlap,demlap;  clrscr();  printf(ʺTimnghiemcuaphuongtrinhphituyenʺ);  printf(ʺ\nbangcachchiadoicung\nʺ);  printf(ʺChocacgiatrix0,x1,maxlap\nʺ);  printf(ʺChogiatrix0=ʺ);  scanf(ʺ%fʺ,&x0);  printf(ʺChogia trix1=ʺ);  scanf(ʺ%fʺ,&x1);  printf(ʺChosolanlapmaxlap=ʺ);  scanf(ʺ%dʺ,&maxlap);  y0=f(x0);  y1=f(x1);  if((y0*y1)>0) { printf(ʺNghiemkhongnamtrongdoanx0‐x1\nʺ); printf(ʺx0=%.2f\nʺ,x0); printf(ʺx1=%.2f\nʺ,x1); printf(ʺf(x0)= %.2f\nʺ,y0); printf(ʺf(x1)=%.2f\nʺ,y1); }  demlap=0;  do { x2=(x0+x1)/2; y2=f(x2); y0=f(x0); if(y0*y2>0) x0=x2; else x1=x2; demlap=demlap+1; }  while(((abs((y2‐y0))>epsi)||(demlap<maxlap)));  if(demlap>maxlap) { 17 printf(ʺPheplapkhonghoitusau%dlanlapʺ,maxlap); printf(ʺx0=%.2f\nʺ,x0); printf(ʺx1=%.2f\nʺ,x1); printf(ʺf(x2)=%.2f\nʺ,y2); }  else { printf(ʺPheplaphoitusau%dlanlap\nʺ,demlap); printf(ʺNghiemx=%.2fʺ,x2); }   getch(); }  floatf(floatx) {  floata=x*x*x*x+2*x*x*x‐x‐1;  return(a); }  Kếtquảtínhchonghiệm:x=0.87  §4.PHƯƠNGPHÁPDÂYCUNG  Giảsửf(x)liêntụctrêntrênđoạn[a,b]vàf(a).f(b)<0.Cầntìmnghiệm củaf(x)=0.Đểxácđịnhtaxemf(a)<0vàf(b)>0.Khiđóthayvìchiađôi đoạn[a,b]tachia[a,b] theotỉlệ‐f(a)/f(b).Điềuđóchotanghiệmgầnđúng :  x 1=a+h1 Trongđó  )ab( )b(f)a(f )a( f h 1 − +− − =   Tiếptheodùng cáchđóvớiđoạn[a,x 1]hay[x1,b]màhaiđầuhàm nhậngiátrịtráidấutađượcnghiệmgầnđúngx 2v.v. Vềmặthìnhhọc,phươngphápnàycónghĩalàkẻdâycungcủađườngcong f(x)quahaiđiểmA[a,f(a)]vàB[b,f(b)].ThậtvậyphươngtrìnhdâycungAB códạng: 18  )a(f)b(f )a( f y ab ax − − = − −       ax 1ξb    Chox=x 1y=0tacó  )ab( )a(f)b(f )a( f ax 1 − − −=  Trên cơ sở của phương pháp ta có chươngtrìnhtínhnghiệmcủaphương trình    x 4 +2x 3 ‐x‐1=0 trênđoạn[0,1]  Chươngtrình2‐4  //phuongphapdaycung #include<conio.h> #include<stdio.h> #include<math.h> #defineepsi0.00001  voidmain() {  floata,b,fa,fb,dx,x;  floatf(float);   clrscr();  printf(ʺTimnghiemcuaphuongtrinhphituyen\nʺ);  printf(ʺbangphuongphapdaycung\nʺ);  printf(ʺChocacgiatria,b\nʺ);  printf(ʺCho giatricuaa=ʺ);  scanf(ʺ%fʺ,&a);  printf(ʺChogiatricuab=ʺ);  scanf(ʺ%fʺ,&b);  fa=f(a);  fb=f(b);  dx=fa*(b‐a)/(fa‐fb);  while(fabs(dx)>epsi) { x=a+dx; fa=f(x); 19 if((fa*fb)<=0) a=x; else b=x; fa=f(a); fb=f(b); dx=fa*(b‐a)/(fa‐fb); }  printf(ʺNghiemx=%.3fʺ,x);  getch(); }  floatf(floatx) {  floate=x*x*x*x+2*x*x*x‐x‐1;  return(e); }   Kếtquảtínhchonghiệm:x=0.876  §5.PHƯƠNGPHÁPLẶPNEWTON  PhươngpháplặpNewton(còngọilàphươngpháptiếptuyến)được dùngnhiềuvìnóhộitụnhanh.Giảsửf(x) cónghiệmlàξđãđượctáchtrênđoạn[a, b]đồng thời fʹ(x) và fʺ (x) liên tục và giữ nguyên dấu trênđoạn [a, b]. Khiđã tìm được xấp xỉ nàođó xn ∈ [a, b] ta có thể kiện toàn nó theo phương phápNewton. TừmútBtavẽtiếptuyếnvớiđườ ngcong. Phươngtrìnhđườngtiếptuyếnlà        x1 b =xo a )xx)( b ( f )x( f y 00 − ′ =−  Tiếptuyếnnàycắttrụchoànhtạiđiểmcó y=0,nghĩalà: )xx)( b ( f )x( f 010 − ′ =−  hay: )x(f )x( f xx 0 0 01 ′ −=  Từx 1talạitiếptụcvẽtiếptuyếnvớiđườngcongthìgiaođiểmxisẽtiếntới nghiệmcủaphươngtrình. 20 Việcchọnđiểmbanđầuxorấtquantrọng.Trênhìnhvẽtrêntathấy nếuchọnđiểmbanđầux o=athìtiếptuyếnsẽcắttrụctạimộtđiểmnằm ngoàiđoạn[a,b].Chọnx o=bsẽthuậnlợichoviệctínhtoán.Chúngtacó địnhlí:  Nếuf(a).f(b)<0;f(x)vàfʺ(x)kháckhôngvàgiữnguyêndấuxácđịnhkhix  ∈ [a,b]thìxuấtpháttừxo ∈ [a,b]thoảmãnđiềukiệnf(xo).f ″ (xo)>0cóthểtính theophươngphápNewtonnghiệm ξ duynhấtvớiđộchínhxáctuỳý.  KhidùngphươngphápNewtoncầnlấyxolàđầumútcủađoạn[a,b] đểtạiđóf(xo).fʺ(xo)>0.Ápdụnglíthuyếttrênchúngtaxâydựngchương trìnhtínhsau:  Chươngtrình2‐5  //phuongphapNewton #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #definen50 #defineepsi1e‐5  voidmain() {  floatt,x0;  floatx[n];  inti;  floatf(float);  floatdaoham(float);   clrscr();  printf(ʺTimnghiemcuaphuongtrinhphituyen\nʺ);  printf(ʺbangphuongphaplap Newton\nʺ);  printf(ʺChogiatricuax0=ʺ);  scanf(ʺ%fʺ,&x0);  i=1;  x[i]=x0;  do { x[i+1]=x[i]‐f(x[i])/daoham(x[i]); 21 t=fabs(x[i+1]‐x[i]); x[i]=x[i+1]; i=i+1; if(i>100) { printf(ʺBaitoankhonghoitu\nʺ); getch(); exit(1); } else ; }  while(t>=epsi);  printf(ʺNghiemx=%.5fʺ,x[i]);  getch(); }  floatf(floatx) {  floata=x*x‐x‐2;  return(a); }  floatdaoham(floatx) { floatd=2*x‐1; return(d); }   Chươngtrìnhnàyđượcdùngxácđịnhnghiệmcủahàmđãđượcđịnh nghĩatrongfunction.Trongtrườnghợpnàyphươngtrìnhđólà: x 2 ‐x‐1=0 Kếtquảtínhvớigiátrịđầux o=0chonghiệmx=2.  §6.PHƯƠNGPHÁPMULLER  Trongphươngphápdâycungkhitìmnghiệmtrongđoạn[a,b]taxấp xỉhàmbằngmộtđườngthẳng.Tuynhiênđểgiảmlượngtínhtoánvàđể nghiệmhộitụnhanhhơntacóthểdùngphương phápMuller.Nộidung củaphươngphápnàylàthayhàmtrongđoạn[a,b]bằngmộtđườngcong bậc2màtahoàntoàncóthểtìmnghiêmchínhxáccủanó.Gọicácđiểmđó 22 [...]... Ví dụ: Tìm nghiệm của hàm f(x) = sin(x) ‐ x /2 trong đoạn [1.8, 2. 2]. Ta chọn  x0 = 2 Ta có :  x0 = 2      f(x0) = ‐0.0907       h1 = 0 .2     x1 = 2. 2      f(x1) = ‐0 .29 15       h2 = 0 .2     x2 = 1.8      f(x2) = 0.07385       γ = 1  Vậy thì :  1 × ( −0 .29 15) − ( −0.0907 ) × (1 + 1) + 0.07385 a= = −0.453 12   1 × 0 .2 2 × (1 + 1) − 0 .29 15 − ( −0.097 ) − ( −0.453 12) × 0 .2 2 b= = −0.91338   0 .2 c = −0.0907 23 Ta có nghiệm gần x0 nhất là : ... a[1][1]=3*x[1]*x[1]‐3*x [2] *x[4];    a[1] [2] =‐3*x [2] *x [2] ‐3*x[1]*x[4];    a[1][3]=0;    a[1][4]=‐3*x[1]*x [2] ;    a[1][5]=x[1]*x[1]*x[1]‐x [2] *x [2] *x [2] ‐3*x[1]*x [2] *x[4]‐8;      a [2] [1]=1;    a [2] [2] =1;    a [2] [3]=1;    a [2] [4]=1;    a [2] [5]=x[1]+x [2] +x[3]+x[4]‐5;      a[3][1]=‐x[1]/sqrt (25 ‐x[1]*x[1]);    a[3] [2] =0;    a[3][3]=8;    a[3][4]=0;    a[3][5]=sqrt (25 ‐x[1]*x[1])+8*x[3]+4;      a[4][1] =2* x [2] *x[3];    a[4] [2] =2* x[1]*x[3]; ... Dưới đây là chương trình giải hệ phương trình phi tuyến   3 ⎧x 1 − x 2 − 3 x 1 x 2 x 4 − 8 = 0 2 ⎪ ⎪x 1 + x 2 + x 3 + x 4 − 5 = 0     ⎨ 2 25 − x 1 + 8 x 3 + 4 = 0 ⎪ 2 x x x − x + 8 = 0 4 ⎩ 1 2 3 41 Ma trận đạo hàm riêng J(Xi) là :  2 ⎛ 3x 1 − 3x 2 x 4 − 3x 2 − 3x 1 x 4 − 3x 1 x 2 ⎞ 0 2 ⎟ ⎜ 1 1 1 1 ⎟ ⎜ x1   ⎜− 0 8 0 ⎟  2 ⎟ ⎜ 25 − x 1 ⎟ ⎜ 2x 1x 3 2x1x 2 −1 ⎠ ⎝ 2x 2 x 3   Ma trận này được chương trình đọc vào nhờ thủ tục doc.Trong thủ tục ... b2 = a2 + b1x0 = ‐16 + 3.5 *2. 5 = ‐7 .25 P2(3.5) = b0x2 + b1x + b2 = 13.75  31 Pn ( x0 ) 1.375 = 3.5 + = 3.6   ′ Pn ( x0 ) 13.75 Lặp lại bước tính trên cho x1 ta có:  Po = ao = 1  P1 = a1 + pox1 = ‐1 + 3.6*1 = 2. 6   P2 = a2 + p1x1 = ‐16 + 3.6 *2. 6 = ‐6.64 P3 = a3 + p2x1 = 24  + 3.6*(‐6.64) = ‐ 0.096  bo = ao = 1  b1 = a1 + box1 = ‐1 + 3.6*1 = 2. 6     b2 = a2 + p1x1 = ‐16 + 3.6 *2. 6 = ‐6.64 P2(3.6) = b0x2 + b1x + b2 = 15.68 ... ta nhận được các nghiệm :    x1 =  2. 61903399    x2 =  2. 7 320 5081    x3 =  0.7 320 50755    x4 = 0.381966055    x5 = 0.500011056 + i*1. 322 8881    x6 = 0.500011056 ‐ i*1. 322 8881    40 §11. HỆ PHƯƠNG TRÌNH PHI TUYẾN    Phương pháp Newton  có  thể  được  tổng  quát  hoá  để  giải  hệ  phương trình phi tuyến dạng :  ⎧f1 ( x 1 , x 2 , x 3 , , x n ) = 0 ⎪f ( x , x , x , , x ) = 0 n 2 1 2 3 ⎪     ⎨f3 ( x 1 , x 2 , x 3 , , x... ∂x 2 ∂x 3 ∂f2 ∂f2 ∂f2 ⎟ ⎜ ∂f2 ⋅⋅⋅ ⎜ ∂x ∂x 2 ∂x 3 ∂x n ⎟ J( X i ) = ⎜ ⋅ ⋅ ⋅1     ⎟  ⋅⋅⋅ ⎟ ⎜ ⋅⋅⋅ ⎟ ⎜ ⋅⋅⋅ ⎜ ∂fn ∂fn ∂fn ∂fn ⎟ ⋅⋅⋅ ⎟ ⎜ ∂x n ⎠ ⎝ ∂x 1 ∂x 2 ∂x 3 và        ∆X = Xi+1 ‐ Xi   Phương pháp Newton tuyến tính hoá hệ và như vậy với mỗi bước lặp  cần giải một hệ phương trình tuyến tính (mà biến là ∆xi) xác định bởi công  thức lặp cho tới khi vectơ X(x1,x2,x3, ,xn) gần với nghiệm.    Dưới đây là chương trình giải hệ phương trình phi tuyến  ...có hoành độ lần lượt là a = x2, b = x1 và ta chọn thêm một điểm x0 nằm trong  đoạn [x2, x1]. Gọi   h1 = x1 ‐ x0 h2 = x0 ‐ x2 v = x ‐ x0   f(x0) = f0 f(x1) = f1 f(x2) = f2 h   γ= 2   h1 Qua 3 điểm này ta có một đường parabol:    y = av2 + bv + c  Ta tìm các hệ số a,b,c từ các giá trị đã biết v:  v = 0( x = x 0 ) a(0 )2 + b(0) + c = f0   2 v = h1 ( x = x1 ) ah1 + bh1 + c = f1   v = h 2 ( x = x 2 ) ah 2 + bh 2 + c = f2 2 Từ đó ta có : ... bằng  2 ta  dùng  các  công  thức  tìm  nghiệm của tam thức để tìm các nghiệm còn lại.  Ví dụ: Tìm nghiệm của đa thức P3(x) = x3 ‐ x2 ‐16x + 24      a1 = ‐1    a2= ‐16    a3 = 24   ao = 1  Chọn xo = 3.5 ta có :  Po = ao = 1  P1 = a1 + pox0 = ‐1 + 3.5*1 = 2. 5   P2 = a2 + p1x0 = ‐16 + 3.5 *2. 5 = ‐7 .25 P3 = a3 + p2x0 = 24  + 3.5*(‐7 .25 ) = ‐ 1.375  b0 = a0 = 1;  b1 = a1 + box0 = ‐1 + 3.5*1 = 2. 5   b2 = a2 + b1x0 = ‐16 + 3.5 *2. 5 = ‐7 .25 ... 1.9095 − 0.0907 − 1.9184 × 10 − 4 − ( −0.4 728 ) × 0.10474 2 b= = −0.81 826   0.10474 c = 1.9184 × 10 − 4 Ta có nghiệm gần x0 nhất là :  2 × 1.9184 × 10 −4 n1 = 1.89 526 − = 1.89594   − 0.81 826 − (0.81 826 )2 − 4 × ( −0.4 728 ) × 1.9184 × 10 − 4 Ta có thể lấy n1 = 1.895494 làm nghiệm của bài toán.  Chương trình giải bài toán bằng phương pháp Muller như sau:    Chương trình 2 6    //phuong phap Muller  #include  ... 3 ∆s = n −1 n − 2                 (3)  c n −1c n − 3 − c 2 − 2 n   b c − bnc n − 2 ∆p = n −1 n −1                 (4)  c n −1c n − 3 − c 2 − 2 n     Sau khi phân tích xong Pn(x) ta tiếp tục phân tích Pn 2( x)  theo phương pháp trên.  Các bước tính toán gồm:    ‐ Chọn các giá trị ban đầu bất kì s0 và p0   ‐ Tính các giá trị bo, ,bn theo (1)    ‐ Tính các giá trị co, ,cn theo  (2)     ‐ Tính ∆so và ∆po theo (3) và (4)  . a3= 24  Chọnx o=3.5tacó: P o=ao=1 P 1=a1+pox0=‐1+3.5*1= 2. 5 P 2 =a2+p1x0=‐16+3.5 *2. 5=‐7 .25 P3=a3+p2x0= 24 +3.5*(‐7 .25 )=‐1.375 b 0=a0=1; b 1=a1+box0=‐1+3.5*1= 2. 5 b 2 =a2+b1x0=‐16+3.5 *2. 5=‐7 .25 P2(3.5)=b0x 2 +b1x+b2=13.75 . f(x0)=‐0.0907h1=0 .2 x 1= 2. 2 f(x1)=‐0 .29 15h2=0 .2 x 2 =1.8 f(x2)=0.07385 γ=1 Vậythì: 453 12. 0 )11 (2. 01 07385.0)11()0907.0( )29 15.0(1 a 2 −= +×× + + × −−−× =.  0907.0c 91338.0 2. 0 2. 0)453 12. 0()097.0 (29 15.0 b 2 −= −= ×−−−−− =  23 Tacónghiệmgầnx0nhấtlà: 89 526 .1 )0907.0()453 12. 0(4)91338.0(91338.0 )0907.0 (2 0.2n 2 1 = −×−×−−−− − × −=  Với lầnlặpthứhaitacó: x 0=1.89 526 

Ngày đăng: 24/07/2014, 15:21

Từ khóa liên quan

Mục lục

  • Chương trình 2-1

  • Chương trình 2-2

    • Chương trình 2-3

    • Chương trình 2-4

    • Chương trình 2-5

    • Chương trình 2-6

    • Chương trình 2-7

    • Chương trình 2-8

    • Chuong2_2.pdf

      • Chương trình 2-10

      • Chương trình 2-11

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

Tài liệu liên quan