1. Trang chủ
  2. » Mẫu Slide

Ngân hàng câu hỏi ôn thi HK2 năm 2020 môn Tin học 11 Trường THPT Núi Thành

19 76 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 19
Dung lượng 1,33 MB

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

Nội dung

Tham biến dùng để lưu dữ liệu ra, còn tham trị dùng để đưa dữ liệu vào.. Không cho kết quả, bị lỗi..[r]

Trang 1

NGÂN HÀNG CÂU HỎI ÔN THI HỌC KÌ 2 NĂM 2020 MÔN TIN HỌC 11 TRƯỜNG THPT

NÚI THÀNH

I KIỂU XÂU

1 Nhận biết

Câu 1: Độ dài lớn nhất của một xâu có giá trị là bao nhiêu?

Câu 2: Thủ tục Delete(m, n, p); thực hiện việc gì?

A Xóa m ký tự của xâu n kể từ vị trí p

B Xóa p ký tự của xâu m kể từ vị trí n

C Xóa n ký tự của xâu m kể từ vị trí p

D Xóa p ký tự của xâu S kể từ vị trí n

Câu 3: Cho xâu S có giá trị là: ‘Tinhoc11’ thì cách khai báo biến S nào sau đây là không đúng?

A var S: string [20]; B var S: string; C var S: string[10]; D var S = string [10];

Câu 4: Cho câu lệnh gán m := copy(n, 3, 1); với n đã có giá trị thì biến m phải khai báo kiểu gì?

Câu 5: Cho hai biến S, P kiểu string, câu lệnh gán nào sau đây không hợp lệ ? (P đã có giá trị)

A S := P ; B S := copy(P, 1, 1) ;

C S := Delete(P, 1, 1); D S := P + ‘anh’;

Câu 6: Hàm length(P) cho kết quả là gì?

A Độ dài của xâu P khi khai báo B Số ký tự hiện có của xâu P

C Độ dài xâu P, không tính dấu cách D Số lượng dấu cách trong xâu P

Câu 7: Trong các khai báo sau, khai báo nào sai?

A var S: string; B var P: string[111];

C var Q: string[256]; D var T: string[1];

Câu 8: Trong NNLT Pascal, xâu ký tự không có ký tự nào được gọi là:

A Xâu không B Xâu trắng

C Xâu rỗng D Không phải là xâu ký tự

Câu 9: Để xóa đi 2 ký tự cuối cùng của xâu Q, ta viết:

A Delete(Q, 1, 1); B Delete(Q, length(Q)-1, 2);

C Delete(Q, 2, length(Q)); D Delete(Q, n, 2);

Câu 10: Thủ tục Delete(S,1, 5); có ý nghĩa gì?

A Xóa 1 ký tự trong xâu S kể từ vị trí thứ 5

B Xóa 5 ký tự trong xâu S kể từ vị trí đầu tiên

C Xóa xâu 1 ký tự trong xâu S kể từ vị trí đầu tiên

D Xóa xâu S 5 ký tự kể từ vị trí thứ thứ 5

2 Thông hiểu

Câu 1: Hàm pos(‘em’, S) cho kết quả bao nhiêu với S = ‘Emyeutruongem’?

Câu 2: Để xóa đi ký tự đầu tiên của xâu Q, ta viết:

A Delete(Q, 1, 1); B Delete(Q, length(Q), 1);

Trang 2

C Delete(Q, 1, length(Q)); D Delete(Q, n, 1);

Câu 3: Hàm upcase(‘ab’) cho kết quả là gì?

A Xâu ‘AB’ B Xâu ‘ab’

C Xâu ‘Ab’ D Không cho kết quả, bị lỗi

Câu 4: P có giá trị bằng bao nhiêu trong câu lệnh gán sau:

P := copy(‘Kiemtra15phut’, 6, 4);

A ‘mtra’ B ‘tra’ C ‘15ph’ D ‘tra’

Câu 5 Biến Q có giá trị bao nhiêu trong câu lệnh: Q := pos(‘xuan’, ‘XuanMauTuat’); A 0

3 Vận dụng

Câu 1: Kết quả của X, Y sau khi thực hiện đoạn chương trình sau là bao nhiêu?

X := ‘LichSuVietNam’;

Y := pos(‘i’, X) + 5; Delete(X, 1, 8);

A X = ‘LichSu’, Y = 2 B X = ‘LichSu’, Y = 7

C X = ‘VietNam’, Y = 7 D X = ‘VietNam’, Y = 15

Câu 2: Cho xâu A = ‘XuanMauTuat’, để có xâu B = ‘uan’, ta thực hiện ntn?

A copy(A, 3, 2); B B := Pos(A, 2, 3);

C B := copy(A, 3, 2); D B := copy(A, 2, 3);

Câu 3: Cho S = ‘NgonHaiDang’, để có xâu P = ‘Hai’, ta thực hiện lệnh nào?

A Delete(S, 1, 5); Delete(S, 4, 5); B S := Delete(S, 6, 3);

C P := pos(‘Hai’, S); D P := copy(S, 6, 3);

Câu 4: Để tìm vị trí đầu tiên xuất hiện xâu ‘tin’ trong xâu P, ta viết:

A copy(P, 1, 3) B pos(‘tin’, P) := m;

C m := pos(‘tin’, P); D n := pos(P, ‘tin’) ;

4 Vận dụng nâng cao

Câu 1: Đoạn chương trình sau thực hiện việc gì?

S := 0;

For i := 1 to length(Q) do

if (Q[i] = ‘b’) or (Q[i] = ‘B’) then S := S + 1;

A Đếm các ký tự b trong xâu Q

B Đếm các ký tự B trong xâu Q

C Tạo ta xâu S chứa các ký tự b và B

D Đếm các ký tự b và B trong xâu Q

Câu 2: Đoạn chương trình sau thực hiện việc gì?

m := ‘’;

For i := 1 to length(P) do if P[i] = ‘a’ then m := m + P[i];

A Đếm các ký tự a trong xâu P

B Tạo xâu m bằng cách loại bỏ các ký tự a trong xâu P

C Tạo xâu P bằng cách lấy các ký tự a trong xâu m

D Tạo xâu m bằng cách lấy các ký tự a trong xâu P

Câu 3: Đoạn chương trình sau thực hiện việc gì?

Trang 3

m := 0;

For i := 1 to length(P) do

if (P[i] < ‘0’) or (P[i] > ‘9’) then m := m + 1;

A Đếm các ký tự là ký tự số trong xâu P

B Đếm các ký tự không phải là ký tự số trong xâu P

C Tạo xâu m chứa các ký tự số có trong xâu P

D Tạo xâu m không chứa các ký tự số từ xâu P

Câu 4: Đoạn chương trình sau thực hiện việc gì?

m := ‘’;

For i := 1 to length(P) do

if (P[i] >= ‘0’) and (P[i] <= ‘9’) then m := m + P[i];

A Đếm các ký tự là ký tự số trong xâu P

B Đếm các ký tự không phải là ký tự số trong xâu P

C Tạo xâu m chứa các ký tự số có trong xâu P

D Tạo xâu m không chứa các ký tự số từ xâu P

II CHƯƠNG TRÌNH CON

1 Nhận biết

Câu 1: Phát biểu nào sau đây là sai khi nói về biến cục bộ?

A Biến cục bộ là biến được khai báo trong chương trình chính

B Trong một chương trình con có thể có hoặc không có biến cục bộ

C Biến cục bộ là biến được khai báo trong chương trình con

D Biến cục bộ chỉ được dùng trong chương trình con khai báo nó

Câu 2: Cấu trúc của chương trình con bao gồm mấy phần?

Câu 3: Chọn phương án đúng:

A Chương trình con không thể sử dụng được biến của chương trình chính

B Thủ tục trả về giá trị qua tên của nó

C Hàm không trả về giá trị nào qua tên của nó

D Lời gọi thủ tục không thể tham gia vào biểu thức tính toán

Câu 4: Trong phần thân của hàm bắt buộc phải có câu lệnh nào?

A <biểu thức> := <tên hàm>; B <tên hàm> := <câu lệnh>;

C <câu lệnh> := <tên hàm>; D <tên hàm> := <biểu thức>;

Câu 5: Chương trình con nằm ở vị trí nào trong chương trình chính?

A Sau khi khai báo biến cho chương trình chính

B Trước khi khai báo biến cho chương trình chính

C Phần thân của chương trình chính

D Nằm bất kỳ vị trí nào trong chương trình

Câu 6: Chọn phát biểu sai khi nói về tham trị và tham biến

A Tham trị khai báo không có VAR, còn tham biến khai báo có VAR

B Tham trị dùng để lưu dữ liệu ra, còn tham biến dùng để đưa dữ liệu vào

C Tham số thực sự (TSTS) thay cho tham biến chỉ là biến, còn TSTS thay cho tham trị là một giá trị cụ

Trang 4

thể

D Tham biến dùng để lưu dữ liệu ra, còn tham trị dùng để đưa dữ liệu vào

Câu 7 Chỉ ra biến cục bộ trong thủ tục sau:

Procedure Tinh (m: Byte; Var P: Word);

Var i: Byte;

Begin P:=0;

For i:= 1 to m do P:=P+i;

End;

Câu 8: Kiểu dữ liệu nào sau đây không phải là kiểu dữ liệu trả về của hàm?

A Kiểu mảng B Kiểu thực C Kiểu nguyên D Kiểu xâu

Câu 9 Hãy chỉ ra tham số hình thức trong phần đầu của thủ tục như sau:

Procedure BP(a,b: integer; Var P:longint);

2 Thông hiểu

Câu 1: Phần đầu của hàm tính diện tích hình tròn, bán kính R được viết là:

A Function dien tich (R: integer): integer; B Function dientich (R: integer; var S: real): real;

C Function dientich (R: real): integer; D Function dientich (R: integer): real;

Câu 2: Câu lệnh gán giá trị cho tên hàm được đặt ở phần nào của hàm?

A Phần đầu B Phần khai báo C Phần thân D Sau khi khai báo biến

Câu 3: Phần đầu của thủ tục tính tổng của 2 số a và b được viết là:

A Procedure TONG (a, b: integer); B Procedure TONG (a, b: integer; var S: integer);

C Function TONG (a, b: byte; var T: word); D Procedure TONG (a, b: integer): integer;

Câu 4: Cho phần đầu: Function KT(a, b: Integer): Boolean; Lời gọi nào sau đây đúng? (Var ok:

Boolean; x: Byte;)

C ok:= KT(10); D If KT(x, 20) then KT(5, 25);

Câu 5: Cho phần đầu Procedure Nhap (var a, b: integer); Lời gọi nào là Đúng với tham số thực sự là M và

N?

B C Nhap (a, b, M, N); D Nhap (M=a,N=b);

3 Vận dụng

Câu 1 CTC sau dùng để làm gì?

Procedure BP(a,b: integer; Var P:longint);

Begin

P := sqr(a+b);

End;

A Tính a2 + b2 B Tính (a + b)2 C Tính Tổng a + b D Tính P2

Câu 2: Muốn khai báo a là tham biến, b là tham trị trong thủ tục có tên là TINH thì khai báo nào

là đúng?

A procedure TINH (var a, b: integer);

Trang 5

B procedure TINH (a, b: integer);

C procedure TINH (a: integer; var b: integer);

D procedure TINH (b: integer; var a: integer);

Câu 3 Phần đầu của hàm Function Tong (a, b: integer): integer; được viết lại thành thủ tục như

thế nào?

A Procedure TTT (a, b: Integer): Integer;

B Procedure TTT (T: Integer; var a, b: Integer);

C Procedure TTT (a, b, Tong: Integer): Integer;

D Procedure TTT (a, b: Integer; var Tong: Integer);

Câu 4 Phần đầu của thủ tục Procedure Tinh (x, y: byte; var M: word); được viết lại hàm như thế

nào?

A Function Tinh (x, y: byte): word; B Function Tinh (var x, y, M: byte): Word;

C Function Tinh (x, y, M: byte); D Function Tinh (x, y: byte; var M: word): Word;

4 Vận dụng nâng cao

Câu 1 Cho hàm sau:

Function Tinh (m: byte): word;

var j: byte; N: word;

begin

N := 0; For j:= 1 to m do if j mod 2 = 0 then N := N + j;

………

end;

Câu lệnh còn thiếu trong phần là gì?

A Tinh (m) := N; B Tinh := N; C N := Tinh; D Tinh(10) := N;

Câu 2: Nếu trong chương trình chính có lời gọi hàm ở câu 1 thì lời gọi nào đúng?

A S := Tinh (1,30); B S := Tinh (30); C Tinh := N; D Tinh (20,

T);

Câu 3 Thủ tục sau thực hiện việc gì?

Procedure Tinh (x, y: byte; var M: word);

var j: byte;

begin

M := 0; For j:= 1 to y do M := M * x;

end;

A Đếm các số từ 1 đến M B Tính tổng giá trị các số từ 1 đến y

C Tính lũy thừa xy D Tính tổng giá trị các số từ x đến y

Câu 4 Cách nào đúng khi chuyển thủ tục sau thành hàm?

Procedure CAN (a,b: real; Var P: real);

Begin

P := sqrt(a*a*a + b*b*b);

End;

Trang 6

A Function CAN (a, b: real);

Begin

CAN := sqrt(sqr(a)*a + sqr(b)*b);

End;

B Function CAN (a, b: real): real;

Begin CAN := sqrt(sqr(a)*a + sqr(b)*b);

End;

C Function CAN (a, b: real; var P: real);

Begin

CAN := sqrt(sqr(a)*a + sqr(b)*b);

End;

D Function CAN (a, b: real; var P: real):real;

Begin CAN := sqrt(sqr(a)*a + sqr(b)*b);

End;

Câu 5 Thủ tục sau thực hiện việc gì?

Procedure Tinh (m: Byte; Var P: Word);

Var i: Byte;

Begin P:=0;

For i:= 1 to m do P:=P+i;

End;

A Tính giá trị của m số chẵn B Hiển thị giá trị m số tự nhiên

C Tính tổng của m số tự nhiên đầu tiên D Tính tổng của P số tự nhiên đầu tiên

III KIỂU DỮ LIỆU TỆP

Câu 1: Thủ tục Reset(<biến tệp>); có tác dụng gì?

A Mở tệp để ghi dữ liệu B Đọc DL từ tệp

C Mở tệp để đọc dữ liệu D Ghi DL vào tệp

Câu 2: Nếu hàm eoln(<biến tệp>) cho giá trị bằng True thì con trỏ tệp nằm ở vị trí nào trong tệp?

A Một vị trí bất kỳ trong tệp B Cuối dòng

Câu 3: Giả sử đã gắn tên tệp cho biến tệp f và mở để ghi Cần ghi giá trị: TIN11 vào tệp này thì viết lệnh như thế nào?

A writeln (‘TIN 11’, f); B readln (f, ‘TIN 11’);

C write (f, ‘TIN 11’); D writeln (f, TIN 11);

Câu 4: Khi tiến hành mở tệp để ghi và tìm thấy tệp đó thì:

A Báo lỗi vì không thực hiện được

B Dữ liệu mới sẽ được ghi vào sau DL cũ

C Nội dung cũ của tệp sẽ bị xóa để chuẩn bị ghi nội dung mới

D Nội dung mới sẽ được ghi vào trước nội dung cũ

Câu 5: Cho tệp có cấu trúc như sau

SN.TXT

12 5 8

6

Giả sử đã gắn tên tệp trên cho biến tệp h Cần đọc giá trị 5 trong tệp trên gán cho biến a thì dùng những

lệnh nào?

Trang 7

A Readln(h, a);

Read(h);

B Readln(h);

Read(h, a);

C Read(h);

Read(h, a);

D Read(h);

Read(h); readln(h, 5);

Câu 6: Vị trí con trỏ tệp nằm ở đâu sau lời gọi thủ tục reset(<biến tệp>);

A Giữa tệp B Cuối tệp C Đầu tệp D Bất kỳ vị trí nào

trong tệp

Cho tệp SN.TXT gồm hai dòng chứa các số nguyên sau và đoạn CT sau:

(a, b có kiểu nguyên)

Assign(f, ‘SN.TXT’); (1)

Readln (f, a); (3)

Read (f, b); (4)

(Trả lời cho các câu 7, 8, 9)

Câu 7: Thủ tục đọc DL từ tệp là:

A (2) và (3) B (4) C (2) D (3) và (4)

Câu 8: Sau khi thực hiện đoạn CT trên, kết quả a, b lần lượt là:

A 20, 8 B 20, 15 C 6, 0 D 15, 0

Câu 9: Câu lệnh ở dòng (1) trong CT trên dùng để:

A Gắn biến tệp f cho tệp SN.TXT B Đọc DL từ tệp SN.TXT

C Gắn tệp SN.TXT cho biến tệp f D Mở tệp SN.TXT để đọc

Câu 10: Thủ tục ghi dữ liệu vào tệp là:

A rewrite(<biến tệp>); B write(<biến tệp>, <DS kết quả>);

C writeln(<biến tệp>); D readln(<biến tệp>,<DS biến>);

Cho đoạn lệnh sau: {Trả lời cho câu 11 và câu 12}

Assign(f, ‘baitap.txt’); (1)

rewrite(f); (2)

a := 10; b := a mod 3; (3)

writeln(f, ‘b = ’, b); (4)

close(f); (5)

Câu 12: Tệp baitap.txt chứa dữ liệu nào?

Câu 13: Nếu hàm eoln(<biến tệp>) cho giá trị bằng true thì con trỏ tệp nằm ở:

A Cuối dòng B Cuối tệp C Đầu dòng D Đầu tệp

Câu 14: Cho tệp có cấu trúc như sau

20 8 6

15 0

Câu 11: Thủ tục ở dòng (2) có tác dụng gì?

A Mở tệp để ghi B Mở tệp để

đọc

C Ghi dữ liệu vào tệp

D Gắn tên tệp

Trang 8

SN.TXT

12 5 8

6

Giả sử đã gắn tên tệp trên cho biến tệp f Cần đọc giá trị 5 và 8 trong tệp trên gán cho biến x và y thì dùng những lệnh nào?

A Readln(f, x, y);

Read(f);

B Readln(f, x);

Read(f, y);

C Read(f);

Read(f,5); read(f, 8);

D Read(f);

Readln(f, x, y);

Cho đoạn lệnh sau: {Trả lời cho câu 15, câu 16, câu 17 và câu 18}

Assign(t, ‘songuyen.dat’); (1)

x := 5; y := x * 5; (3)

writeln(t, y); (4)

Câu 15: Biến t và biến x khai báo tương ứng kiểu gì?

A text – text B byte – text C text - byte D byte – byte

Câu 16: Thủ tục mở tệp để ghi nằm ở dòng nào?

A (1) B (2) C (4) và (5) D (4)

Câu 17: Sau khi thực hiện đoạn CT trên, kết quả của tệp songuyen.dat là:

Câu 18: Câu lệnh ở dòng (1) trong CT trên dùng để:

A Gắn tên tệp cho biến tệp B Ghi dữ liệu vào tệp songuyen.dat

C Gắn biến tệp cho tên tệp D Đóng tệp

-o0o -

TỔNG HỢP CÁC ĐỀ KIỂM TRA

Khoanh tròn một ý đúng nhất ở mỗi câu sau đây

ĐỀ 1

Câu 1: Độ dài lớn nhất của một xâu có giá trị là bao nhiêu?

Câu 2: Cho xâu S có giá trị là: ‘Kiemtra15phut’ thì khai báo biến S như thế nào là đúng?

5

25

25

5

Trang 9

A var S: char; B var S: string[15];

C var S = string[16]; D var S: string;

Câu 3: Thủ tục Delete(m, n, p); thực hiện việc gì?

A Xóa m ký tự của xâu n kể từ vị trí p

B Xóa p ký tự của xâu m kể từ vị trí n

C Xóa n ký tự của xâu m kể từ vị trí p

D Xóa p ký tự của xâu S kể từ vị trí n

Câu 4: Hàm pos(‘em’, S) cho kết quả bao nhiêu với

S = ‘Emyeutruongem’

Câu 5: Đoạn chương trình sau thực hiện việc gì?

S := 0;

For i := 1 to length(P) do if P[i] = ‘b’ then S := S + 1;

A Tạo xâu S chứa các ký tự ‘b’ của xâu P

B Đếm các ký tự loại trừ ký tự ‘b’ của xâu P

C Tạo xâu S từ xâu P bằng cách lấy các ký tự ‘b’ của xâu P

D Đếm các ký tự ‘b’ trong xâu P

ĐỀ 2

Cho đoạn chương trình sau:

M := ‘QuangNam’;

N := copy(M, 3, 2);

P := pos(‘a’, M);

(Trả lời cho 3 câu đầu)

Câu 1: Kết quả của P sau khi thực hiện xong đoạn CT trên là:

Câu 2: Biến N và biến P được khai báo tương ứng kiểu gì?

A byte – string B byte – byte

C string – byte D string – string

Câu 3: Giá trị của N bằng bao nhiêu?

A ‘an’ B ‘uan’ C 3 D 2

Câu 4: Thủ tục chèn xâu b vào xâu a kể từ vị trí c được viết như thế nào?

A Insert(a, b, c); B Insert(c, b, a);

C Insert(b, c, a); A Insert(b, a, c);

Câu 5: Đoạn chương trình sau thực hiện việc gì?

a := ‘’;

For i := length(b) downto 1 do a := a + b[i];

A Đưa các ký tự trong xâu a vào xâu b

B Tạo xâu b là xâu ngược của xâu a

C Tạo xâu a là xâu ngược của xâu b

D Đếm các ký tự trong xâu b

ĐỀ 3

Trang 10

Câu 1: Lệnh (thủ tục) xóa N kí tự của xâu S kể từ vị trí K là:

A Delete(S, N, K); B Delete(N, S, K); C Insert(S, K,N); D

Delete(S, K, N);

Câu 2: Cho phần đầu Procedure Nhap (var a, b : integer); Lời gọi nào là Đúng với tham số thực sự là M và

N?

C Nhap(a,b); B Nhap(M, N); C Nhap (a, b, M, N); D Nhap (M=a,N=b);

Câu 3: Phát biểu nào là Sai về cấu trúc của CTC?

A Phần đầu có thể có hoặc không C Phần đầu của CTC dùng để khai báo tên

và phân loại CTC

B Phần đầu và phần thân nhất định phải có D Phần khai báo có thể có hoặc không

Câu 4: Hàm length(P) cho kết quả là gì?

A Độ dài của xâu P khi khai báo B Số ký tự hiện có của xâu P

C Độ dài xâu P, không tính dấu cách D Số lượng dấu cách trong xâu P

Câu 5: Để khai báo Hàm, ta dùng từ khóa:

A Program B Procedure C Function D Array

Câu 6: Khai báo biến xâu St có độ dài 80 thế nào là Đúng?

A Var s: string[80]; B Var St: string; C Var st: string[80]; D Var t: string;

Câu 7: Để xóa đi ký tự đầu tiên của xâu Q, ta viết:

A Delete(Q, 1, 1); B Delete(Q, length(Q), 1); C Delete(Q, 1, length(Q)); D

Delete(Q, n, 1);

Câu 8: Đoạn chương trình sau thực hiện việc gì?

S := 0;

For i := 1 to length(Q) do if (Q[i] = ‘b’) or (Q[i] = ‘B’) then S := S + 1;

A Đếm các ký tự b trong xâu Q B Đếm các ký tự B trong xâu Q

C Tạo ta xâu S chứa các ký tự b và B D Đếm các ký tự b và B trong xâu Q

Câu 9: Cho S = ‘NgonHaiDang’, để có xâu P = ‘Hai’, ta thực hiện lệnh nào?

A Delete(S, 1, 5); Delete(S, 4, 5); B S := Delete(S, 6, 3); C P := pos(‘Hai’, S); D P := copy(S, 6, 3);

Cho chương trình: {Trả lời cho câu 10, 11 và 12}

Var m, n, i : integer;

Procedure TINH (b, c : integer);

var j : integer;

begin

j := 5; b := b + j; c := c+ b;

end;

Begin

m : = 0; n := 2; i := m + n; TINH (m, i-7);

Writeln ( m: 3, n: 3); Readln;

End

Câu 10 Biến cục bộ trong CT bên là:

A m, n, i B b, c

Câu 11 TSTS trong CT bên là:

A b, c

C m, i-7

B TINH

D TINH(m, i-7)

Câu 12 Tham trị là:

A b và c

B m

C Không có

D m và n

Câu 13: Phần đầu của hàm tính diện tích hình tròn, bán kính R được viết là:

A Function dien tich (R: integer): integer; B Function dientich (R: integer; var S: real): real;

Ngày đăng: 04/05/2021, 21:48

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w