1. Trang chủ
  2. » Công Nghệ Thông Tin

Các bài tập Pascal cơ bản

214 27 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 214
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhằm giúp các bạn tiếp cận với ngôn ngữ lập trình Pascal một cách dễ dàng và vận dụng vào các ngôn ngữ lập trình khác trong tin học, mời các bạn cùng tham khảo Các bài tập Pascal cơ bản dưới đây.

Trang 1

(Đặc biệt ở phần GRAPHIC và phần GRAPH THEORY )

PHẦN I- CÁC BÀI TOÁN CƠ BẢN

A/ LẬP TRÌNH KHÔNG DÙNG CẤU TRÚC NÀO

1-Chỉ được dùng phép nhân, tính a mũ 28 với không hơn 6 phép nhân (khi Test, bạn nên cho a=2)

{Tinh a mu 28 chi dung khong hon 6 phep nhan}

a:=a*a; Writeln('a mu 4=',a);

b:=a; {luu a mu 4 vao b}

a:=a*a*a; Writeln('a mu 12=',a);

a:=a*a; Writeln('a mu 24=',a);

a:=a*b; Writeln('a mu 28=',a);

Writeln('Xau cho truoc:',s);

val('250000',so1,k1); val('100000',so2,k2); val('150000',so3,k3);

3-Không dùng bất kỳ cấu trúc nào, hãy so sánh hai số đọc từ bàn phím vào

(Bài này kiểm tra sự hiểu biết của hs về cách dùng toán tử gán đồng thời với toán tử quan hệ trong một dòng lệnh)

Trang 2

B/ CÁC CẤU TRÚC LẬP TRÌNH CƠ BẢN CỦA PASCAL

B1) CÁC CẤU TRÚC RẼ NHÁNH: IF…THEN…; IF…ELSE…; CASE…OF…

4- Lập trình tính xem, một tháng bất kỳ, năm bất kỳ có bao nhiêu ngày (tháng, năm đọc từ bàn phím)

Write('a/ Nhap thang:'); Readln(thang);

Write('b/ Nhap nam (co 4 chu so):'); Readln(nam);

Trang 3

Writeln('Tong cua cac so trong khoang [-3.0,3.0]=',t:0:2);

Write(' va Trung binh cong cua chung =',tbc:0:2);

Write('Cho biet nam duong lich:'); Readln(Year);

Write('Nam ',year,' la nam am lich:');

Case (Year Mod 10) of

0:Write('Canh ');

1:Write('Tan ');

2:Write('Nham ');

3:Write('Quy ');

Trang 4

Write('Nhap so Thap phan can chuyen:'); Readln(n);

Write(n,' -> Viet theo chu so La ma la:');

Trang 7

If i=Length(s) Then GtriLama:=x

Else If x<Val(s[i+1]) Then GtriLama:=GtriLama(s,i+1)-x

Trang 9

Writeln('* So hoan hao thu ', dem,' la:',i);

Write('* va cac uoc so cua no la:');

Trang 10

(Giả thiết Christian Goldbach – nhà toán học Đức – Nửa đầu thế kỉ XVIII, năm 1742 trong thư gửi Euler,

Goldbach viết: “Mọi số lẻ bất kỳ đều viết được dưới dạng tổng của ba số nguyên tố “ Sau này mệnh đề đó được gọi là bài toán Goldbach (hay giả thiết Goldbach)

Hơn 250 năm bài toán Goldbach vẫn chưa được chứng minh, và cho đến năm 1930, nhà toán học Nga L G

Snhirenman mới chỉ chứng minh trường hợp nhỏ của giả thiết: “Mọi số chẵn n ≥ 4 đều có thể biểu diễn

thành tổng của 2 số nguyên tố”)

Uses crt;

Var so1, so2, so3, so4: integer;

kt1, kt2: boolean; {kt=kiem tra}

Until (so3<=2) Or (kt1 and kt2);

If kt1 and kt2 then Write(‘GIA THIET GOLDBACH DUNG.’)

Else Write(‘GIA THIET GOLDBACH SAI.’);

Writeln;

Write(‘Another test (y/n)?’); Readln(hoi);

Until hoi In [‘N’, ‘n’];

End

*15- Tìm và liệt kê tất cả các số Mersenne nhỏ hơn một số tự nhiên N cho trước (với n>=3)-Các số nguyên

tố biểu diễn được dưới dạng 2n – 1 (n-số tự nhiên) gọi là số Mersenne-

uses Crt;

Var so, n, i, ntmin:longint;

Trang 11

While (i<=sqrt(so)) And (so MOD i<>0) do Inc(i);

If i>sqrt(so) then check:=true

Write(‘Nhap do dai day Fibonaci n=’); Readln(n);

Writeln(‘ DAY FIBONACI UNG VOI DO DAI ‘,N,’ LA:’);

Trang 12

17- Lập trình (PHI ĐỆ QUY) tìm ước số chung lớn nhất của N số tùy ý đọc từ bàn phím vào

Test Vào: 72 40 24 48 56, Ra: 8

Uses Crt;

Var a:Array[1 100] of integer;

n,i,tt: Byte; d: Integer;

Begin Clrscr; {Có lẽ bạn nên dùng PHÁT SINH DỮ LIỆU NGẪU NHIÊN TỰ ĐỘNG, sẽ nhanh hơn!} Repeat

Writeln(‘Day so vua nhap:’);

For i:= 1 to n Do Write(a[i]:3);

Write(‘USC max cua ‘,n,’ so vua nhap la:’,a[n]); Writeln;

Write(‘More(1/0)? Continue - > 1, Stop -> 0:’); Readln(tt);

Until tt=0;

End

18- Tìm nghiệm nguyên dương của phương trình sau:

a) 4x+3y-9z=n, với 0 ≤ x, y, z ≤ 50; n- đọc từ bàn phím vào

Không áp đặt trước miền giá trị của x, y, z hãy tìm nghiệm nguyên dương của các phương trình sau:

Trang 13

Các bài còn lại làm tưong tự

19- Lập trình tạo bảng ba cột GÓC SIN COS, tính giá trị hàm Sin, Cos ứng với góc

ở cột cận trái (Vì có từ góc 0o đến 360o nên yêu cầu mỗi lần chỉ hiện lên màn 20 giá trị kết quả, để XEM TIẾP: gõ phím ENTER.)

Uses Crt;

Var goc:word;

gocradian: Real;

Begin clrscr;

Writeln(#32:9,’BANG GIA TRI GOC, SIN, COS:’);

Writeln(‘ Nho an ENTER de xem tiep.’);

B.2.2) CÁC LỆNH LẶP KHÔNG XÁC ĐỊNH (WHILE .DO; REPEAT…UNTIL)

Lập trình giải các bài toán sau:

20- Tính gần đúng với sai số 10^-6 (1/1000000): số Pi; sinx; cosx; e^x

a) Tính gần đúng số PI

Trang 14

n n

Lời nhắc không thừa:

+ Đối số x trong các hàm sin, cos ở đây cần hiểu ngầm có đơn vị đo là Radian (Trong mọi Program

để nó như một hư số)

+ và có LỜI NHẮC QUAN TRỌNG HƠN: Hãy test program với bộ số sau:

x=0 hoặc x=3.1416 (= ) sinx=0; x=1.5708 (=/2)  sinx=1; x=4.7124 (=3/2) sinx=-1

và trong đầu luôn có hình ảnh Vòng Tròn Đơn Vị:

Trang 15

n n

x e

21- Phân tích một số tự nhiên ra các thừa số nguyên tố

Program Thua_so_nguyen_to; {Repeat và While lồng nhau}

Trang 16

Writeln(‘Tong cac chu so cua so vua nhap:’,tong);

Writeln(‘So cac chu so cua so vua nhap=’,dem);

Write(‘Nhap Sobichia:’) ; Readln(Sobichia);

Write(‘Nhap Sochia<=Sobichia:’) ; Readln(Sochia);

Trang 18

*27- Đọc từ bàn phím vào một số nguyên dương N (N>1) Tìm chữ số lớn nhất trong số vừa nhập và vị trí của nó trong số vừa nhập Hiện kết quả lên màn

Write(‘ thi chu so ‘, max,’ la chu so lon nhat va nam o vi tri thu ‘,vitri);

Write(‘ ke tu ben phai sang.’);

Var so1, so2, so3, so4, n, dem: longint;

kt1, kt2: boolean; {kt=kiem tra}

Begin clrscr;

Write(‘Nhap so tu nhien n:’); Readln(n);

Writeln(‘Cac cap so sinh doi < n:’);

Trang 19

WRITELN(‘LAN BOC THU ‘,I,’:’);

WRITE(‘ BAN BOC MAY VIEN (khong qua 4 vien): ‘);READLN(N);

WRITELN(‘ MAY BOC: ‘,5-N);{WRITELN(5-N);}

WRITELN(‘ SO SOI CON LAI:= ‘,TONG_SOI-(5*i));

*30- Tìm và in lên màn tất cả các cặp số thân thiện mà giá trị của chúng không quá 10000 (Hai số được gọi

là thân thiện nếu TỔNG CÁC ƯỚC CỦA SỐ LỚN BẰNG SỐ NHỎ: ví dụ 48 và 75 là cặp số thân thiện vì các uớc của 75 là: 3 5 15 25 và tổng các ước này bằng 48!)

Trang 20

*31- (LUỸ THỪA NHANH INFORMATIC OLYMPIC MOSCOW 1980) Nhập cơ số a và mũ k Tính ak

với hạn chế: Không được dùng công thức tính lũy thừa, cũng không được dùng liên tiếp k phép nhân ( vì k cực lớn và mục tiêu đầu bài là tính NHANH!)

Trang 21

8 h 54 m 28/7/2017

Readln(hoi);

Until hoi='k';

END

*32- (ĐẢO BIT INFORMATIC OLYMPIC MOSCOW 1983)

Số nguyên m được viết trong hệ cơ số 2 theo trật tự ngược lại Số nhận được viết trong hệ thập phân được coi là giá trị của hàm B(m) Hãy tính giá trị hàm B(m) chẳng hạn với m=512 ; 513; 514;…; 1024

PROGRAM DaoBit; {chay voi m=513}

Trang 22

Readln;

End

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

PHẦN II LẬP TRÌNH THEO MODUL

Trong Pascal có hai Modul để ta lập trình Đơn Thể Âý là:

* Procedure (Thủ Tục)

* (và) FUNCTION (Hàm)

Đặc biệt các em cần chú ý và nắm thật vững bản chất 3 khái niệm sau của lập trình Modul:

a-Biến toàn cục (Global Var.) và biến cục bộ (Locate Var.)

b-Các khái niệm về tham chiếu

c-Hai phương cách truyền data trong lập trình Modul của Pascal:

c1 Truyền theo Tham Trị (Transfer By Value Parameters)

c2 Truyền theo Tham Biến (Transfer By Variable Parameters)

Trước hết các bạn hãy “khai vị” 3 “món” sau ( 3 MÓN “KHAI VỊ” NÀY KIỂM TRA XEM CÁC BẠN CÓ HIỂU ĐẾN TẬN NGỌN NGUỒN CÁC KHÁI NIỆM a); b) ; c); d) nêu trên không Vì chỉ khi hiểu rõ thực chất 4 khái niệm đó, bạn mới hòng lập trình đơn thể thạo):

Không RUN program, chỉ dùng bút ghi kết quả của 3 program sau đây lên giấy + giải thích tỉ mỉ kết quả!

BA BÀI “KHAI VỊ” NÀY KHÔNG DỄ ĐÂU! NHỚ: KHÔNG ĐƯỢC RUN PROGRAM NHÉ!!!

1 Program Transf_By_Val;

Uses Crt;

Var so1, so2:integer;

Procedure Transf_Val(x, y:integer);

Begin {Main Prog.)

Writeln('Co che truyen data theo THAM TRI:');

Write('Nhap so thu nhat so1='); Readln(so1);

Write('Nhap so thu hai so2='); Readln(so2);

Transf_Val(so1, so2);

Writeln;

Writeln('Ben ngoai thu tuc(tuc la sau truyen Data):');

Writeln('Bay gio so thu 1 so1=',so1);

Writeln('Bay gio so thu 2 so2=',so2);

Writeln('Go ENTER de stop!');

Trang 23

Var so1, so2:integer;

Procedure Transf_By_Vari_Para(Var x, y:integer);

BEGIN {Main Prog.}

Writeln('Co che truyen Data theo THAM BIEN:');

Write('Nhap so thu nhat so1='); Readln(so1);

Write('Nhap so thu hai so2='); Readln(so2);

Writeln('Sau khi truyen Data (tucla ben ngoai thu tuc):');

Writeln('Bay gio so1=',so1);

Writeln('Bay gio so2=',so2);

Trang 24

4 Lập trình đơn thể (Bạn chọn FUNCTION hay PROCEDURE LÀ VIỆC CỦA BẠN HÃY TỰ SUY NGHĨ TRƯỚC LÚC XEM ĐÁP ÁN BÊN DƯỚI.) thực thi 3 phép tính cơ bản (Hợp, Hiệu, Giao) của hai tập hợp cho trước Hiện kết quả lên màn

BÀI NÀY NGẮN, NHƯNG KHÁ HAY VÌ NÓ CHO BẠN NHIỀU HIỂU BIẾT: 1 CÁCH KHAI BÁO Ở ĐẦU PROGRAM; Ở 2 MODUL: CÁCH THAM CHIẾU KHÁC NHAU (TẠI SAO?); CÁCH DÙNG CÁC LỆNH Ở MODUL NHẬP VÀ MODUL INRA…

Uses Crt;

Type Kytu='!' '}';

Tapkytu=Set of Kytu;

Var A,B,C,D,E: Tapkytu;

Procedure Nhap(Var x:Tapkytu);

Write('Nhap cac phan tu cua tap A (Ngung, go ENTER:'); Nhap(A);

Write('Nhap cac phan tu cua tap B (Ngung, go ENTER:'); Nhap(B);

C:=A+B;

D:=A*B;

E:=A-B;

Write('Hop cua 2 tap vua nhap C=A+B='); Inra(C); Writeln;

Write('Giao cua 2 tap vua nhap D=A*B='); Inra(D); Writeln;

Write('Hieu cua 2 tap vua nhap E=A-B='); Inra(E); Writeln;

Var n:longint; tt:byte;

Function chphuong_check(var k:longint):boolean;

Begin

If Sqrt(k)=Trunc(Sqrt(k)) then chphuong_check:=true

Trang 25

Write('Nhap so nguyen n:'); Readln(n);

If chphuong_check(n) then Write(n,' la so chinh phuong.')

Else Write(n,' khong phai la so chin phuong.');

For i:=1 to k DIV 2 do

If n MOD i=0 then sum:=sum+i;

If sum=n then Hhao_Check:=true

Else Hhao_Check:=false;

End;

Begin clrscr;

Write('n='); Readln(n);

If Hhao_Check(n) then Write(n,' la so hoan hao.')

Else Write(n,' khong la so hoan hao.');

Readln;

End

CÓ THỂ BẠN KHÔNG ĐỂ Ý HOẶC KHÔNG HIỂU: Trong 2 bài 28 & 29, biến Toàn cục và Tham số Thực sự là trùng nhau (n) Lời gọi hàm ở Main Program luôn luôn phải dùng BIẾN TOÀN CỤC HOẶC THAM SỐ THỰC SỰ (NGHĨA LÀ: KHÔNG ĐƯỢC DÙNG BIẾN CỤC BỘ OR KHÔNG ĐƯỢC DÙNG THAM SỐ HÌNH THỨC)

7 Đọc từ bàn phím vào số nguyên dương n Viết một hàm kiểm tra xem số ấy có là số nguyên tố không USES CRT;

Var n ,d,i: Integer;

Trang 26

If(d=0) and (n>1) then ktnt:=True

Writeln(#32:9,n,' la so nguyen to.')

Else Writeln (#32:9,n,' khong phai la so nguyen to.');

Readln;

END

(CÁC HÀM KIỂM TRA TRÊN ĐÂY, KHÔNG NHẤT THIẾT PHẢI CÓ KIỂU BOOLEAN KIỂU CỦA

NÓ CÓ THỂ LÀ BYTE (THƯỜNG) HOẶC LÀ CHAR (ĐÃ CÓ LÚC NHÀO BẠN THỬ VỚI KIỂU CHAR CHO NHỮNG HÀM CÓ CHỨC NĂNG KIỂM TRA CHƯA?)

8 Đọc từ bàn phím vào một số nguyên dương, kiểm tra xem số ấy có đối xứng không Một số đọc xuôi, đọc ngược đều như nhau là số đối xứng Ví dụ 123454321

CODE DƯỚI ĐÂY LÀ NGẮN NHẤT, KHÔNG THỂ NGẮN HƠN

If m=n then Write('So vua nhap la so Doi xung.')

Else Write('So vua nhap Khong la so Doi xung.');

Số 5 biểu diễn được bằng tổng của 2 số tự nhiên liên tiếp

BÀI NÀY KHÁ KHÓ ĐỐI VỚI HS VÀ CẢ SINH VIÊN!

uses crt;

Const max=10000;

Var n,i,dem:Longint; a:array[1 max] of Longint;

Trang 27

Write('Nhap so duong n='); Readln(n);

If n<0 then Writeln(' Nhap lai n>=0');

Write('So ',n,' bieu dien duoc thanh');

Write(' tong cua ',dem,' so tu nhien lien tiep!');

End

Else

Begin

Trang 28

Write('So ',n,' khong bieu dien duoc thanh');

Write(' tong cua >=2 so tu nhien lien tiep!');

Test1 vào: 8; ra: 3 3 2, tích các số hạng đạt max=18

Test2: Vào 23; ra: 3 3 3 3 3 3 3 2, tích các số hạng này đạt max=4374

Trang 29

**11 (SỐ TAM TAM) Liệt kê tất cả các số Tam Tam và đếm số lượng các số TAM TAM đã liệt kê (Các

số Tam Tam là những số có 3 chữ số mà số đảo ngược của nó nguyên tố với nó Chẳng hạn số 974 nguyên

tố cùng 479 là hai số TAM TAM)

dem:=0; writeln; Writeln;

Writeln(#32:18,'Cac so Tam tam thoa man d/kien dau bai:');

Trang 30

Ví dụ Vào cận trên: 1000, Ra: (1,1); (5, 25); (6, 36); (25, 625) Có tất cả 4 cặp Lucasa

CODE DƯỚI ĐÂY LÀ NGẮN NHẤT!

Writeln('Tong cong co ',d,' cap LucasaNumbers.');

Write('Go ESc de tro lai chuong trinh!');

Until Readkey = #27;

End

Trang 31

8 h 54 m 28/7/2017

**13 Liệt kê tất cả các số SIÊU NGUYÊN TỐ có không hơn 8 chữ số (Các số SIÊU NGUYÊN TỐ dài L

là những số mà xóa đi k (k<L) ký số bên phải của nó thì phần còn lại vẫn là số nguyên tố Chẳng hạn: Số

37397 là số siêu nguyên tố khi ta xóa đi 7, hoặc 97 hoặc 397 v.v…)

Trang 32

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

PHẦN III- MẢNG (ARRAY)

(Bài khó: *; Bài rất khó: **) II_1) MẢNG 1_CHIỀU LẬP TRÌNH GIẢI CÁC BÀI TOÁN SAU:

1- Cho trước độ dài n của dãy số Đọc từ bàn phím vào dãy n số tự nhiên Tìm và in lên màn hình các

số nguyên tố cùng nhau trong dãy

write(‘Nhap do dai cua day so: ‘); readln(n);

writeln(‘Nhap cac phan tu cua mang:’);

for i:=1 to n do

Begin

write(‘a[‘,i,’]=’);readln(A[i]);

End;

write(‘Day vua nhap la:’);

For i:=1 to n do write(‘ ‘,a[i]);

Trang 33

write(‘Nhap do dai n (2<=n<=1000) cua day so: ‘); readln(n);

writeln(‘Nhap cac phan tu cua mang:’);

writeln(‘Day vua nhap la:’);

For i:=1 to n do write(‘ ‘,a[i]);

Writeln(‘Day con gom cac so duong lien tiep dai nhat:’);

For i:=id to id+kmax-1 do Write(a[i]:4);

Readln;

End

3- Hai bài dưới đây yêu cầu dùng THUẬT TOÁN PHI ĐỆ QUY:

a/ In lên màn hình tam giác ĐỀU Pascal

b/ In lên màn hình tam giác VUÔNG Pascal

(Tam giác Pascal là bảng số có hình tam giác chứa các hệ số của khai triển nhị thức Newton)

Trang 34

For i:=1 to 16 do

Begin

For j:=i Downto 1 Do

If (j=i) or (j=1) then a[j]:=1

Trang 35

Writeln(#32:5,’So cach bieu dien=’,dem); Writeln;

Write(‘Continue (y/n) ?, Go y->de tiep; go n hoac N de thoat:’);

Readln(tt); Writeln; Writeln;

Until tt IN [‘n’,’N’];

End

*5- INFORMATIC OLYMPIC MOSCOW 1987 (TẬP NỬA BỘI-HALF MULTI SET)

Tập A các số tự nhiên định nghĩa như sau:

a- 1  A

b- K  A thì 2K+1  A và 3K+1  A Tìm và in lên màn n phần tử đầu tiên của tập A

(n<1000) Tập định nghĩa trên đây gọi là HALF MULTI SET

Chẳng hạn với n=9 thì các phần tử đầu tiên của tập A là:

Trang 36

Procedure RandomGene(t, n:word); {Tao sinh data ngau nhien}

var i,s: word;

Trang 37

Write(‘Day a[1 ’,n,’] co the chia thanh ‘,k,’ doan’);

Writeln(‘ co tong nhu nhau la=’,tt Div k);

Trang 38

A[i,i] + A[i,j] ( 1<=i, j<=k, i = j )

Tìm số hiệu làng i để đặt trạm cấp cứu sao cho từ đó đi tới làng xa nhất (về thời gian) sẽ mất thời gian ít nhất

Mảng A[1 k,1 k] cho trước, trong đó tất cả phần tử A[i,j]>0 và có thể A[i,j] <>A[j,i]

Trang 39

Const ktuhe2:Array[0 1] Of Char='01';

Var so:Word;i:Byte; sohe2:string[8];hd:Char;

Begin ClrScr;

Repeat

Write('Vao mot so nguyen kieu Word:');Readln(so);

sohe2[0]:=#8;

For i:=8 Downto 0 Do

If (so AND (1 SHL i))=(1 SHL i) Then

sohe2[8-i]:=ktuhe2[1]

Else

sohe2[8-i]:=ktuhe2[0];

Delete(sohe2,9,80);

Writeln(so,' O he THAP PHAN, doi sang he 2 la :',sohe2);

Write('Ban co thu tiep khong (c/k)?');Readln(hd);

Trang 40

write('Nhap do dai n (n<=1000) cua day so: '); readln(n);

writeln('Nhap cac phan tu cua mang:');

For i:=2 to n do

a[i]:=Random(100);

clrscr;

writeln('Day vua nhap la:');

For i:=2 to n do write(' ',a[i]);

writeln;

writeln('= = = = = = = = = = = = = = = = = = = = = = = = = =');

dmin:=abs(a[3]-a[2]);

For i:=4 to n do

If (dmin>abs(a[i]-a[i-1])) then dmin:=abs(a[i]-a[i-1]);

Writeln('Khoang cach nho nhat giua cac phan tu trong day la:',dmin);

Write('Another Test (1/0)? Continue->Press 1; Stop->Press 0:');

Writeln;

Readln(hoi);

Until hoi=0;

End

III_2) MẢNG HAI CHIỀU (TÊN KHÁC: MA TRẬN)

(CHỦ ĐỀ NÀY KHÁ NHIỀU BÀI TẬP THÚ VỊ HOẶC ÍT QUEN THUỘC VỚI CÁC BẠN)

Khuyến cáo: Các bạn học sinh hãy chú ý điều sau:

CÁI KHÓ CỐT LÕI CỦA CÁC BÀI TOÁN TỪ 7 ĐẾN 11 đối với các bạn học sinh hay sinh viên KHÔNG Ở THUẬT TOÁN TÌM KIẾM HAY TÍNH TOÁN (những thuật toán này quá dễ với các bạn) MÀ

Ở THUẬT TOÁN DUYỆT THEO CÁC INDEX (CÁC CHỈ SỐ ) CỦA MA TRẬN Bởi vậy khuyến cáo các bạn nên XEM+NGẪM+NHỚ KỸ CÁCH DUYỆT INDEX ở các bài toán đó

Ngày đăng: 20/05/2021, 02:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w