12
1/12 ÔN TP KIM TRA HC KỲ II, MÔN TIN, KHI 11, NĂM HC 2015-2016 Ngày kim tra: Tun 15 (Tngày 18/4 đến 23/4) - Đa đim kim tra: Kim tra ti lp. - Ni dung ôn tp kim tra: Bài 11-Kiu mng, bài tp và thc hành 3, bài tp và thc hành 4, bài 12-Kiu xâu, bài tp và thc hành 5, bài 14-Kiu dliu tp, bài 15-Thao tác vi tp, bài 16-Ví dlàm vic vi tp. - Hình thc kim tra gm: Trc nghim và tlun-viết (Chun b: Viết mc xanh, viết chì, gôm-ty và 1 tgiy tp đôi chưa viết bt kì ni dung gì dùng đnháp). - Tt cvt dng, đdùng: Sách, tp, đin thoi, hp đng viết, cp, v.v. đtrên bc ging. - Hãy luyn tp làm các câu trc nghim và các câu tlun-viết đã được nhn trong quá trình hc đnhli các ni dung đã hc (Lưu ý: Các câu trc nghim và các câu tlun-viết này chcó tính cht luyn tp, ôn luyn). PHN I: TRC NGHIM BÀI 11: KIU MNG Câu 1: Mng mt chiu là: A. Dãy hu hn các phn tcùng kiu. Mng được đt tên và mi phn tca nó có mt chs. B. Dãy hu hn các phn tcùng kiu. Mng không được đt tên và mi phn tca nó có mt chs. C. Dãy hu hn các phn tkhác kiu. Mng được đt tên và mi phn tca nó có mt chs. D. Dãy vô hn các phn tcùng kiu. Mng được đt tên và mi phn tca nó có mt chs. Câu 2: Đkhai báo biến mng mt chiu, ta cn phi có các thông tin gì? A. Tên biến mng. B. Slượng phn tca mng. C. Kiu ca các phn tmng. D. Tt cđáp án A, B và C. Câu 3: Đkhai báo trc tiếp biến mng mt chiu, ta sdng cú pháp: A. var <tên mng>: array[kiu chs] of <kiu phn t> B. var <tên biến mng>: array[kiu chs] of <kiu phn t>; C. var <tên kiu mng>: array[kiu chs] of <kiu phn t>; D. var <tên biến mng>: array[kiu phn t] of <kiu chs>; Câu 4: Đkhai báo gián tiếp biến mng mt chiu, ta sdng cú pháp: A. type <tên mng> = array[kiu chs] of <kiu phn t>; var <tên biến mng>: <tên mng>; B. type <tên biến mng> = array[kiu chs] of <kiu phn t>; var <tên mng>: <tên biến mng>; C. type <tên kiu mng> = array[kiu chs] of <kiu phn t>; var <tên mng>: <tên kiu mng> D. type <tên kiu mng> = array[kiu chs] of <kiu phn t>; var <tên biến mng>: <tên kiu mng>; Câu 5: Đtham chiếu ti phn tca mng, ta sdng cú pháp: A. Tên biến mng[chsphn t] B. Tên biến mng[kiu phn t] C. Tên biến mng[kiu chs] D. Tên biến mng[kiu mng] Câu 6: Khai báo biến DiemThi đlưu trđim thi môn tin hc ca 45 hc sinh, ta sdng: A. var DiemThi: array[1..45] of real; B. var DiemThi: array[1..45] of integer; C. var DiemThi: array[1...45] of real; D. var DiemThi: array[1...45] of integer; Câu 7: Khai báo biến DTB đlưu trđim trung bình môn tin hc ca 54 hc sinh, ta sdng: A. var DTB: array[0..53] of real; B. var DTB: array[0..53] of integer; C. var DTB: array[0..54] of real; D. var DTB: array[0..54] of integer; Câu 8: Khai báo biến DTB đlưu trđim trung bình môn tin hc ca 25 hc sinh, ta sdng: A. type KieuDTB = array[0..24] of real; var DTB: KieuDTB; B. type KieuDTB = array[0..25] of real; var DTB: KieuDTB; C. type DTB = array[0..24] of real; var KieuDTB: DTB; D. type DTB = array[0..25] of real; var KieuDTB: DTB; Câu 9: Khai báo biến DiemThi đlưu trđim thi môn tin hc ca 52 hc sinh, ta sdng: A. type Kieu_DiemThi = array[0..52] of real; var DiemThi: Kieu_DiemThi; B. type Kieu_DiemThi = array[1..52] of integer; var DiemThi: Kieu_DiemThi; C. type Kieu_DiemThi = array[2..53] of real; var DiemThi: Kieu_DiemThi;

ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

Embed Size (px)

Citation preview

Page 1: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

1/12

ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC 2015-2016 Ngày kiểm tra: Tuần 15 (Từ ngày 18/4 đến 23/4)

- Địa điểm kiểm tra: Kiểm tra tại lớp.

- Nội dung ôn tập kiểm tra: Bài 11-Kiểu mảng, bài tập và thực hành 3, bài tập và thực hành 4, bài 12-Kiểu xâu, bài tập và thực hành 5, bài 14-Kiểu dữ liệu tệp, bài 15-Thao tác với tệp, bài 16-Ví dụ làm việc với tệp.

- Hình thức kiểm tra gồm: Trắc nghiệm và tự luận-viết (Chuẩn bị: Viết mực xanh, viết chì, gôm-tẩy và 1 tờ giấy tập đôi chưa viết bất kì nội dung gì dùng để nháp).

- Tất cả vật dụng, đồ dùng: Sách, tập, điện thoại, hộp đựng viết, cặp, v.v. để trên bục giảng.

- Hãy luyện tập làm các câu trắc nghiệm và các câu tự luận-viết đã được nhận trong quá trình học để nhớ lại các nội dung đã học (Lưu ý: Các câu trắc nghiệm và các câu tự luận-viết này chỉ có tính chất luyện tập, ôn luyện).

PHẦN I: TRẮC NGHIỆM

BÀI 11: KIỂU MẢNG Câu 1: Mảng một chiều là:

A. Dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. B. Dãy hữu hạn các phần tử cùng kiểu. Mảng không được đặt tên và mỗi phần tử của nó có một chỉ số. C. Dãy hữu hạn các phần tử khác kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. D. Dãy vô hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.

Câu 2: Để khai báo biến mảng một chiều, ta cần phải có các thông tin gì? A. Tên biến mảng. B. Số lượng phần tử của mảng.

C. Kiểu của các phần tử mảng. D. Tất cả đáp án A, B và C.

Câu 3: Để khai báo trực tiếp biến mảng một chiều, ta sử dụng cú pháp: A. var <tên mảng>: array[kiểu chỉ số] of <kiểu phần tử> B. var <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>; C. var <tên kiểu mảng>: array[kiểu chỉ số] of <kiểu phần tử>; D. var <tên biến mảng>: array[kiểu phần tử] of <kiểu chỉ số>;

Câu 4: Để khai báo gián tiếp biến mảng một chiều, ta sử dụng cú pháp: A. type <tên mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

var <tên biến mảng>: <tên mảng>; B. type <tên biến mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

var <tên mảng>: <tên biến mảng>; C. type <tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

var <tên mảng>: <tên kiểu mảng> D. type <tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

var <tên biến mảng>: <tên kiểu mảng>; Câu 5: Để tham chiếu tới phần tử của mảng, ta sử dụng cú pháp:

A. Tên biến mảng[chỉ số phần tử] B. Tên biến mảng[kiểu phần tử]

C. Tên biến mảng[kiểu chỉ số] D. Tên biến mảng[kiểu mảng]

Câu 6: Khai báo biến DiemThi để lưu trữ điểm thi môn tin học của 45 học sinh, ta sử dụng: A. var DiemThi: array[1..45] of real; B. var DiemThi: array[1..45] of integer;

C. var DiemThi: array[1...45] of real; D. var DiemThi: array[1...45] of integer;

Câu 7: Khai báo biến DTB để lưu trữ điểm trung bình môn tin học của 54 học sinh, ta sử dụng: A. var DTB: array[0..53] of real; B. var DTB: array[0..53] of integer;

C. var DTB: array[0..54] of real; D. var DTB: array[0..54] of integer;

Câu 8: Khai báo biến DTB để lưu trữ điểm trung bình môn tin học của 25 học sinh, ta sử dụng: A. type KieuDTB = array[0..24] of real;

var DTB: KieuDTB; B. type KieuDTB = array[0..25] of real;

var DTB: KieuDTB;

C. type DTB = array[0..24] of real; var KieuDTB: DTB;

D. type DTB = array[0..25] of real; var KieuDTB: DTB;

Câu 9: Khai báo biến DiemThi để lưu trữ điểm thi môn tin học của 52 học sinh, ta sử dụng: A. type Kieu_DiemThi = array[0..52] of real;

var DiemThi: Kieu_DiemThi; B. type Kieu_DiemThi = array[1..52] of integer;

var DiemThi: Kieu_DiemThi; C. type Kieu_DiemThi = array[2..53] of real;

var DiemThi: Kieu_DiemThi;

Page 2: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

2/12

D. type DiemThi = array[3..54] of real; var Kieu_DiemThi: DiemThi; Câu 10: Cho var A: array[1..99] of integer; để tham chiếu tới phần tử thứ 20 của biến mảng A, ta sử dụng:

A. A20 B. A[20] C. A[1..20] D. A[1..99] Câu 11: Cho khai báo:

type KieuMangSoThuc = array[0..100] of real; var MangSoThuc: KieuMangSoThuc;

để tham chiếu tới phần tử thứ 99 của biến mảng MangSoThuc, ta sử dụng: A. MangSoThuc[98] B. MangSoThuc[99] C. KieuMangSoThuc[98] D. KieuMangSoThuc[99]

Câu 12: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 1 to N do begin

write(„Nhap phan tu thu „, i, „: „); readln(A[i]);

end;

A. Nhập dữ liệu cho mảng. B. Đưa dữ liệu của mảng ra màn hình.

C. Thông báo nhập giá trị cho từng phần tử của mảng và chờ người dùng nhập vào.

D. Tất cả đáp án A, B và C đều sai. Câu 13: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

write(„Day so vua nhap vao la: „); for i:= 1 to N do

write(A[i]:4);

A. Hiển thị trên màn hình nội dung: “A[i]:4 “ B. Hiển thị trên màn hình nội dung: “Day so vua

nhap vao la: “

C. Hiển thị trên màn hình nội dung: “Day so vua nhap vao la: A[i]:4 “

D. Tất cả đáp án A, B và C đều sai. Câu 14: Cho trước var B: array[1..N] of word; Hãy cho biết đoạn lệnh sau dùng để làm gì?

tong:= 0; for i:= 1 to N do

tong:= tong + B[i];

A. Gán giá trị 0 cho biến tong. B. Tính tổng giá trị của các phần tử lớn hơn 0 ở

trong mảng.

C. Tính tổng giá trị của các phần tử ở trong mảng. D. Tính tổng giá trị của các phần tử nhỏ hơn 0 ở

trong mảng. Câu 15: Cho trước var B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

tong:= 0; for i:= 1 to N do

if B[i] > 0 then tong:= tong + B[i];

A. Gán giá trị 0 cho biến tong. B. Tính tổng giá trị của các phần tử lớn hơn 0 ở

trong mảng.

C. Tính tổng giá trị của các phần tử ở trong mảng. D. Tính tổng giá trị của các phần tử nhỏ hơn 0 ở

trong mảng. Câu 16: Cho trước var B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

tong:= 0; for i:= 1 to N do

if B[i] < 0 then tong:= tong + B[i];

A. Gán giá trị 0 cho biến tong. B. Tính tổng giá trị của các phần tử lớn hơn 0 ở

trong mảng.

C. Tính tổng giá trị của các phần tử ở trong mảng. D. Tính tổng giá trị của các phần tử nhỏ hơn 0 ở

trong mảng. Câu 17: Cho trước var B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

tong:= 0; for i:= 1 to N do

if B[i] mod 2 = 0 then tong:= tong + B[i];

A. Gán giá trị 0 cho biến tong. B. Tính tổng giá trị của các phần tử là số lẻ ở trong mảng.

Page 3: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

3/12

C. Tính tổng giá trị của các phần tử ở trong mảng. D. Tính tổng giá trị của các phần tử là số chẵn ở trong mảng.

Câu 18: Cho trước var B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

tong:= 0; for i:= 1 to N do

if B[i] mod 2 < > 0 then tong:= tong + B[i];

A. Gán giá trị 0 cho biến tong. B. Tính tổng giá trị của các phần tử là số lẻ ở trong

mảng.

C. Tính tổng giá trị của các phần tử ở trong mảng. D. Tính tổng giá trị của các phần tử là số chẵn ở

trong mảng. Câu 19: Cho trước var A: array[1..N] of longint; Hãy cho biết đoạn lệnh sau dùng để làm gì?

max:= A[1]; for i:= 2 to N do

if A[i] > max then max:= A[i];

A. Tìm phần tử lớn nhất của mảng. B. Tìm phần tử nhỏ nhất của mảng.

C. Tìm phần tử lớn nhất từ A[2] đến A[N]. D. Tất cả đáp án A, B và C đều đúng.

Câu 20: Cho trước var A: array[1..N] of byte; Hãy cho biết đoạn lệnh sau dùng để làm gì?

min:= A[1]; for i:= 2 to N do

if A[i] < min then min:= A[i];

A. Tìm phần tử lớn nhất của mảng. B. Tìm phần tử nhỏ nhất của mảng.

C. Tìm phần tử nhỏ nhất từ A[2] đến A[N]. D. Tất cả đáp án A, B và C đều đúng.

Câu 21: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for j:= N downto 2 do for i:= 1 to j-1 do

if not (A[i] <= A[i+1]) then begin

t := A[i]; A[i] := A[i+1]; A[i+1] := t;

end;

A. Sắp xếp dãy A thành dãy không giảm ( 1A i A i ).

B. Sắp xếp dãy A thành dãy không tăng ( 1A i A i ).

C. Sắp xếp dãy A thành dãy tăng ngặt ( 1A i A i ).

D. Sắp xếp dãy A thành dãy giảm ngặt ( 1A i A i ).

Câu 22: Cho trước var A: array[1..N] of integer; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for j := 1 to N-1 do for i := N downto j+1 do

if not (A[i-1] >= A[i]) then begin

t := A[i]; A[i] := A[i-1]; A[i-1] := t;

end;

A. Sắp xếp dãy A thành dãy tăng ngặt ( 1A i A i ).

B. Sắp xếp dãy A thành dãy giảm ngặt ( 1A i A i ).

C. Sắp xếp dãy A thành dãy không giảm ( 1A i A i ).

D. Sắp xếp dãy A thành dãy không tăng ( 1A i A i ).

Page 4: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

4/12

BÀI TẬP VÀ THỰC HÀNH 3 Câu 23: Thủ tục randomize dùng để làm gì?

A. Khởi tạo cơ chế sinh số ngẫu nhiên. B. Cho giá trị là số nguyên ngẫu nhiên trong đoạn từ

0 đến n-1.

C. Khởi tạo cơ chế sinh số ngẫu nhiên. Sử dụng thủ tục này trước khi dùng hàm random(n).

D. Tất cả đáp án A, B và C đều sai. Câu 24: Hàm chuẩn cho giá trị là số nguyên ngẫu nhiên trong đoạn từ 0 đến n-1 là:

A. round(n) B. readln(n) C. random(n) D. randomize(n) Câu 25: Cho trước var A: array[1..10] of integer; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 1 to 10 do A[i]:= random(100);

A. Tạo ngẫu nhiên mảng gồm 10 số nguyên; B. Tạo ngẫu nhiên mảng gồm 10 số nguyên, mỗi số có giá trị trong đoạn từ 0 đến 99. C. Tạo ngẫu nhiên mảng gồm 10 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 99. D. Tạo ngẫu nhiên mảng gồm 10 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 100.

Câu 26: Cho trước var A: array[1..50] of integer; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 1 to 50 do A[i]:= random(301) – random(301);

A. Tạo ngẫu nhiên mảng gồm 50 số nguyên; B. Tạo ngẫu nhiên mảng gồm 50 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 50. C. Tạo ngẫu nhiên mảng gồm 50 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300. D. Tạo ngẫu nhiên mảng gồm 50 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 301.

Câu 27: Cho trước var A: array[1..99] of integer; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 99 downto 1 do A[i]:= random(201) – random(201);

A. Tạo ngẫu nhiên mảng gồm 99 số nguyên; B. Tạo ngẫu nhiên mảng gồm 99 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 99. C. Tạo ngẫu nhiên mảng gồm 99 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 200. D. Tạo ngẫu nhiên mảng gồm 99 số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 201.

Câu 28: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

posi:= 0; for i:= 1 to N do

if A[i] > 0 then posi:= posi + 1;

A. Đếm số lượng các số âm trong mảng. B. Đếm số lượng các số dương trong mảng.

C. Tính tổng giá trị của các phần tử lớn hơn 0 ở trong mảng. D. Tính tổng giá trị của các phần tử nhỏ hơn 0 ở trong mảng.

Câu 29: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

neg:= 0; for i:= 1 to N do

if A[i] < 0 then neg:= neg + 1;

A. Đếm số lượng các số âm trong mảng. B. Đếm số lượng các số dương trong mảng.

C. Tính tổng giá trị của các phần tử lớn hơn 0 ở trong mảng. D. Tính tổng giá trị của các phần tử nhỏ hơn 0 ở trong mảng.

Câu 30: Cho trước var A: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 1 to N do if A[i] = k then

write(A[i]:4);

A. In ra màn hình các phần tử của mảng có giá trị bằng 1. B. In ra màn hình các phần tử của mảng có giá trị bằng 4. C. In ra màn hình các phần tử của mảng có giá trị bằng N. D. In ra màn hình các phần tử của mảng có giá trị bằng k.

BÀI TẬP VÀ THỰC HÀNH 4 Câu 31: Cho trước var A, B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

for i:= 1 to N do

Page 5: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

5/12

begin B[i]:= 0; for j:= 1 to i do

B[i]:= B[i] + A[j]; end;

A. Gán giá trị 0 cho B[i]. B. Tính giá trị B[i] là tổng của B[i] + A[j].

C. Tính giá trị B[i] là tổng của i phần tử cuối của mảng A. D. Tính giá trị B[i] là tổng của i phần tử đầu tiên của mảng A.

Câu 32: Cho trước var A, B: array[1..N] of real; Hãy cho biết đoạn lệnh sau dùng để làm gì?

B[1]:= A[1]; for i:= 2 to N do

B[i]:= B[i-1]+A[i];

A. Gán giá trị 0 cho B[i]. B. Tính giá trị B[i] là tổng của B[i] + A[j].

C. Tính giá trị B[i] là tổng của i phần tử cuối của mảng A. D. Tính giá trị B[i] là tổng của i phần tử đầu tiên của mảng A.

BÀI 12: KIỂU XÂU Câu 33: Xâu là dãy các kí tự trong bộ mã _______, mỗi kí tự được gọi là một phần tử của xâu. Số lượng kí tự

trong một xâu được gọi là độ dài xâu. Xâu có độ dài bằng 0 gọi là xâu rỗng. A. ACSI B. ASCI C. ACSII D. ASCII

Câu 34: Hãy chọn xâu rỗng: A. „‟ B. „0‟ C. „xau rong‟ D. „xâu rỗng‟

Câu 35: Để khai báo biến xâu, ta cần phải có các thông tin gì? A. Tên biến xâu. B. Độ dài lớn nhất của xâu.

C. Tên biến xâu và độ dài lớn nhất của xâu. D. Tất cả đáp án A, B và C đều sai.

Câu 36: Để khai báo biến kiểu xâu, ta sử dụng cú pháp: A. var <tên biến>: string B. var <tên biến>: string[255];

C. var <tên biến>: string[độ dài của xâu]; D. var <tên biến>: string[độ dài lớn nhất của xâu];

Câu 37: Khai báo biến ten để lưu trữ tên của một học sinh (biết độ dài tên không quá 6 kí tự): A. var ten: string B. var ten: string6; C. var ten: string[6] D. var ten: string[6];

Câu 38: Khai báo biến ho để lưu trữ họ của một học sinh (biết độ dài họ không quá 20 kí tự): A. var ho: string B. var ho: string20; C. var ho: string[20] D. var ho: string[20];

Câu 39: Độ dài lớn nhất của xâu có thể được khai báo là bao nhiêu? A. 255 B. 525 C. 552 D. 555

Câu 40: Cho khai báo var chugiai: string; Hãy cho biết độ dài lớn nhất của xâu chugiai là: A. 255 B. 525 C. 552 D. 555

Câu 41: Hãy cho biết độ dài của hằng xâu ‘Nguyen Le Huyen’ là bao nhiêu? A. 13 B. 14 C. 15 D. 16

Câu 42: Cho khai báo var hoten: string[30]; để lưu trữ hằng xâu ‘Nguyen Van Tung’ vào biến hoten, thực hiện: A. readln(hoten); B. hoten := „Nguyen Van Tung‟;

C. for i := 1 to 15 do readln(hoten[i]); D. Tất cả đáp án A, B và C đều đúng.

Câu 43: Cho khai báo var hoten: string[30]; để lưu trữ hằng xâu ‘Huynh Ngoc Lan’ vào biến hoten, thực hiện: A. readln(hoten); B. hoten := „Huynh Ngoc Lan‟;

C. for i := 1 to 14 do readln(hoten); D. Đáp án B và C đúng.

Câu 44: Cho khai báo var b: string; để khởi tạo xâu rỗng cho biến b ta sử dụng lệnh: A. b := „‟; B. b := „ ‟; C. b := 0; D. b := „0‟;

Câu 45: Để tham chiếu tới phần tử của xâu ta sử dụng cú pháp: A. Tên biến xâu[chỉ số xâu] B. Tên biến xâu[chỉ số phần tử]

C. Tên biến xâu[kiểu số xâu] D. Tên biến xâu[kiểu phần tử]

Câu 46: Cho khai báo var hoten: string[30]; để tham chiếu tới phần tử thứ 11 của biến xâu hoten ta sử dụng: A. hoten B. hoten[10] C. hoten11 D. hoten[11]

Câu 47: Cho trước hoten := ‘Nguyen Le Huyen’; thì phần tử nào của xâu hoten có giá trị là ‘g’: A. hoten B. hoten2 C. hoten[1] D. hoten[2]

Câu 48: Cho trước hoten := ‘Nguyen Le Huyen’; để thay đổi giá trị lưu trữ của biến hoten thành ‘Nguyen Le Tuyen’, ta dùng lệnh:

A. hoten := „Nguyen Le Tuyen‟; B. hoten[11] := „T‟;

C. Cả đáp án A và B đều sai. D. Cả đáp án A và B đều đúng.

Page 6: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

6/12

Câu 49: Cho trước khai báo var hoten: string[30]; và 2 phép gán ho := ‘Tran’; ten := ’Teo’; để gán giá trị ‘Tran Quang Teo’ cho biến hoten, ta dùng lệnh:

A. hoten := ho + ten; B. hoten := ho + „Quang‟ + ten;

C. hoten := ho + „ Quang „ + ten; D. hoten := ho + “ Quang “ + ten;

Câu 50: Cho trước khai báo var hoten: string[30]; và 2 phép gán ho := ‘Nguyen ’; ten := ’Tung’; để gán giá trị ‘Nguyen Thanh Tung’ cho biến hoten, ta dùng lệnh:

A. hoten := ho + ten; B. hoten := ho + „Thanh‟ + ten;

C. hoten := ho + „Thanh „ + ten; D. hoten := ho + „ Thanh „ + ten;

Câu 51: Cho xâu A := ’114115’; và xâu B := ’1131150’; khi đó: A. xâu A > xâu B B. xâu A < xâu B C. xâu A <= xâu B D. xâu A = xâu B

Câu 52: Cho xâu A := ’Tin hoc’; và xâu B := ’Tin hoc 11’; khi đó: A. xâu A < xâu B B. xâu A > xâu B C. xâu A >= xâu B D. xâu A = xâu B

Câu 53: Cho xâu A := ‘Lap trinh Pascal’; và xâu B := ’Lap trinh Pascal’; khi đó: A. xâu A = xâu B B. xâu A > xâu B C. xâu A < xâu B D. xâu A < > xâu B

Câu 54: Thủ tục delete(st, vt, n) có công dụng: A. Xóa n kí tự. B. Xóa n kí tự của biến xâu st.

C. Xóa n kí tự của biến xâu st bắt đầu từ vị trí vt. D. Tất cả đáp án A, B và C đều sai.

Câu 55: Sau khi thực hiện các lệnh st := ’Computer Hoang Long’; delete(st, 9, 6); thì biến st sẽ lưu trữ giá trị: A. ‟ComputerLong‟ B. ‟Computer Long‟ C. ‟CompuLong‟ D. ‟Compu Long‟

Câu 56: Cho trước st := ‘Computer Hoang Long’; Hãy chọn tham số thích hợp cho thủ tục delete(st,___,___); để khi thực hiện, biến st sẽ có giá trị là ‘Hoang Long’:

A. 1, 8 B. 8, 1 C. 1, 9 D. 9, 1 Câu 57: Thủ tục insert(s1, s2, vt) có công dụng:

A. Chèn xâu s1. B. Chèn xâu s1 vào xâu s2.

C. Chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt. D. Tất cả đáp án A, B và C đều sai.

Câu 58: Sau khi thực hiện các lệnh hoten := ’Mai Hoa’; insert(’Ngoc’, hoten, 4); thì biến hoten sẽ lưu trữ giá trị: A. ‟MaiNgocHoa‟ B. ‟Mai NgocHoa‟ C. ‟MaiNgoc Hoa‟ D. ‟Mai Ngoc Hoa‟

Câu 59: Cho trước hoten := ’Tran Hung’; Hãy chọn tham số thích hợp cho thủ tục insert(___,hoten,___); để khi thực hiện, biến hoten sẽ nhận giá trị ’Tran Thanh Hung’:

A. „Thanh‟, 5 B. „Thanh ‟, 6 C. „ Thanh ‟, 5 D. „ Thanh ‟, 6 Câu 60: Hàm copy(S, vt, N) có công dụng:

A. Tạo xâu gồm N kí tự liên tiếp. B. Tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt.

C. Tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt của xâu S.

D. Tất cả đáp án A, B và C đều sai. Câu 61: Cho trước mahocsinh := ’11B10.23’; thì biểu thức copy(mahocsinh, 1, 5) có kết quả:

A. ‟0‟ B. ‟11B10‟ C. ‟10.23‟ D. ‟11B10.23‟ Câu 62: Cho trước hoten := ’Nguyen Thi Ngoc’; Hãy chọn tham số thích hợp cho biểu thức copy(___,___,___)

để khi thực hiện kết quả sẽ là ’Ngoc’: A. hoten, 12, 4 B. hoten, 4, 12 C. 12, 4, hoten D. 4, 12, hoten

Câu 63: Hàm Length(s) có công dụng: A. Cho giá trị số. B. Cho giá trị xâu. C. Cho giá trị kí tự. D. Cho giá trị là độ dài xâu s.

Câu 64: Cho trước s := ‘500 ki tu’; khi đó biểu thức Length(s) sẽ có giá trị là: A. 7 B. 9 C. 12 D. 13

Câu 65: Kết quả của biểu thức Length(’Ba muoi bay’) là: A. Ba muoi bay B. „Ba muoi bay‟ C. 37 D. 11

Câu 66: Cho trước hoten := ‘Nguyen Le Huyen’; để tham chiếu đến kí tự cuối cùng của biến xâu hoten ta sử dụng:

A. hoten[15] B. hoten[length(hoten)]

C. Cả đáp án A và B đều sai. D. Cả đáp án A và B đều đúng.

Câu 67: Hàm pos(s1, s2) có công dụng: A. Cho vị trí xuất hiện của xâu s1 trong xâu s2. B. Cho vị trí xuất hiện của xâu s2 trong xâu s1.

C. Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2. D. Cho vị trí xuất hiện đầu tiên của xâu s2 trong xâu s1.

Câu 68: Cho s1 := ‘EF’; s2 := ‘abcdEfgEF’; khi đó biểu thức pos(s1, s2) sẽ có giá trị là: A. 5 B. 8 C. 56 D. 89

Câu 69: Cho s1 := ‘abcd’; s2 := ‘abcdEFgEF’; khi đó biểu thức pos(s1, s2) sẽ có giá trị là:

Page 7: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

7/12

A. 0 B. 1 C. 14 D. 41 Câu 70: Cho s1 := ‘abH’; s2 := ‘abcdEFgEF’; khi đó biểu thức pos(s1, s2) sẽ có giá trị là:

A. 0 B. 1 C. 12 D. Báo lỗi. Câu 71: Hàm upcase(ch) có công dụng:

A. Cho chữ cái in hoa. B. Cho chữ cái in thường.

C. Cho chữ cái in hoa ứng với chữ cái trong ch. D. Cho chữ cái in thường ứng với chữ cái trong ch.

Câu 72: Cho trước ch := ‘d’; khi đó kết quả của biểu thức upcase(ch) là: A. „D‟ B. “D” C. „d‟ D. “d”

Câu 73: Biểu thức nào sau đây sẽ cho kết quả là ’E’: A. upcase(’e’) B. upcase(’E’)

C. upcase(ch), biết biến ch đang lưu trữ giá trị ‟e‟. D. Tất cả đáp án A, B và C đều đúng.

Câu 74: Sau khi thực hiện đoạn lệnh:

hoten := „Hoang Long‟; for i := length(hoten) downto 1 do

write(hoten[i]);

thì trên màn hình hiển thị nội dung: A. hoten[i] B. gnoL gnaoH C. Hoang Long D. Long Hoang

BÀI TẬP VÀ THỰC HÀNH 5 Câu 75: Cho biết xâu đối xứng có tính chất “đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái

sang phải. Hãy chọn xâu đối xứng: A. „a‟ B. „abccba‟ C. „abcdcba‟ D. Tất cả đáp án A, B và C đều đúng.

Câu 76: Xâu đối xứng còn được gọi là: A. xâu palin. B. xâu drome.

C. xâu palindrome. D. Tất cả đáp án A, B và C đều sai.

Câu 77: Cho trước var st: string[100]; vt: byte; Hãy cho biết đoạn lệnh sau dùng để làm gì?

while pos(„anh‟, st) < > 0 do begin

vt:= pos(„anh‟, st); delete(st, vt, 3); insert(„em‟, st, vt);

end;

A. Thực hiện tuần tự các việc: tìm vị trí xâu, xóa xâu tìm thấy, chèn xâu mới vào. B. Thay thế cụm kí tự „anh‟ bằng cụm kí tự „em‟ trong xâu st. C. Thay thế tất cả cụm kí tự „anh‟ bằng cụm kí tự „em‟ trong xâu st. D. Thay thế tất cả cụm kí tự „em‟ bằng cụm kí tự „anh‟ trong xâu st.

Câu 78: Cho trước var st: string[200]; vt: byte; Hãy cho biết đoạn lệnh sau dùng để làm gì?

while pos(„toan‟, st) < > 0 do begin

vt:= pos(„toan‟, st); delete(st, vt, 4); insert(„tin‟, st, vt);

end;

A. Thực hiện tuần tự các việc: tìm vị trí xâu, xóa xâu tìm thấy, chèn xâu mới vào. B. Thay thế cụm kí tự „toan‟ bằng cụm kí tự „tin‟ trong xâu st. C. Thay thế tất cả cụm kí tự „toan‟ bằng cụm kí tự „tin‟ trong xâu st. D. Thay thế tất cả cụm kí tự „tin‟ bằng cụm kí tự „toan‟ trong xâu st.

BÀI 14: KIỂU DỮ LIỆU TỆP Câu 79: Dữ liệu thuộc kiểu dữ liệu nào sau đây được lưu trữ ở bộ nhớ trong (RAM) và dữ liệu sẽ bị mất khi tắt

máy? A. Kiểu kí tự. B. Kiểu lôgic.

C. Kiểu nguyên, kiểu thực. D. Tất cả đáp án A, B và C đều đúng.

Câu 80: Dữ liệu thuộc kiểu dữ liệu nào sau đây được lưu trữ ở bộ nhớ ngoài (đĩa từ, CD,…) và không bị mất khi tắt nguồn điện?

Page 8: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

8/12

A. Kiểu dữ liệu chuẩn. B. Kiểu dữ liệu tệp.

C. Kiểu dữ liệu có cấu trúc. D. Tất cả đáp án A, B và C đều đúng.

Câu 81: Lượng dữ liệu lưu trữ trên tệp có kích thước như thế nào? A. Tối đa 1byte B. Tối đa 128MB

C. Tối đa 1GB D. Có thể rất lớn, chỉ phụ thuộc vào dung lượng đĩa.

Câu 82: Kiểu dữ liệu tệp có đặc điểm gì? A. Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD,…) và không bị mất đi khi tắt nguồn điện. B. Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa. C. Đối với bài toán có khối lượng dữ liệu lớn, dữ liệu kiểu tệp được yêu cầu lưu trữ để xử lí một lần duy nhất. D. Cả đáp án A và B đều đúng.

Câu 83: Phân loại tệp theo tiêu chí gì? A. Theo tệp văn bản hoặc tệp có cấu trúc. B. Theo cách tổ chức dữ liệu hoặc cách thức truy

cập.

C. Theo tệp truy cập tuần tự hoặc tệp truy cập trực tiếp.

D. Tất cả đáp án A, B và C đều đúng. Câu 84: Loại tệp nào sau đây được phân loại theo cách tổ chức dữ liệu?

A. Tệp văn bản, tệp có cấu trúc. B. Tệp có cấu trúc, tệp truy câp tuần tự.

C. Tệp truy cập tuần tự, tệp truy cập trực tiếp. D. Tệp truy cập trực tiếp, tệp văn bản.

Câu 85: Loại tệp nào sau đây được phân loại theo cách thức truy cập? A. Tệp văn bản, tệp có cấu trúc. B. Tệp có cấu trúc, tệp truy câp tuần tự.

C. Tệp truy cập tuần tự, tệp truy cập trực tiếp. D. Tệp truy cập trực tiếp, tệp văn bản.

Câu 86: Để có thể thao tác với kiểu dữ liệu tệp, người lập trình cần biết thao tác gì? A. Khai báo biến tệp. B. Mở tệp, đóng tệp.

C. Đọc dữ liệu từ tệp hoặc ghi dữ liệu vào tệp. D. Tất cả đáp án A, B và C.

BÀI 15: THAO TÁC VỚI TỆP Câu 87: Trong NNLT Pascal, cú pháp để khai báo biến tệp văn bản là:

A. var <tên tệp>: txt; B. var <tên tệp>: text;

C. var <tên biến tệp>: txt; D. var <tên biến tệp>: text;

Câu 88: Để khai báo 2 biến tệp văn bản tep1, tep2 ta sử dụng lệnh: A. var tep1, tep2 : txt; B. var tep1, tep2 : text;

C. var tep 1, tep 2 : txt; D. var tep 1, tep 2 : text;

Câu 89: Để có thể thao tác với tệp dữ liệu trên đĩa thông qua biến tệp cho trước thì bước đầu tiên chúng ta phải làm gì?

A. Gắn tên tệp cho biến tệp. B. Mở tệp để ghi dữ liệu vào tệp.

C. Mở tệp để đọc dữ liệu từ tệp. D. Đóng tệp.

Câu 90: Để có thể thao tác với tệp dữ liệu trên đĩa thông qua biến tệp cho trước thì bước đầu tiên chúng ta phải làm gì?

A. Gắn tên tệp cho biến tệp. B. Đóng tệp.

C. Mở tệp để ghi dữ liệu vào tệp hoặc mở tệp để đọc dữ liệu từ tệp. D. Ghi dữ liệu vào tệp hoặc đọc dữ liệu từ tệp.

Câu 91: Trong NNLT Pascal, cú pháp để gắn tên tệp cho biến tệp là: A. <biến tệp>:= <tên tệp>; B. <tên tệp>:= <biến tệp>;

C. assign(<biến tệp>, <tên tệp>); D. assign(<tên tệp>, <biến tệp>);

Câu 92: Để gắn tên tệp nhap.txt cho biến tệp f1 ta dùng lệnh: A. f1 := nhap.txt; B. f1 := „nhap.txt‟; C. assign(f1, nhap.txt); D. assign(f1, „nhap.txt‟);

Câu 93: Trong NNLT Pascal, cú pháp để mở tệp ở chế độ ghi dữ liệu vào tệp là: A. repeat(<biến tệp>); B. reset(<biến tệp>); C. restart(<biến tệp>); D. rewrite(<biến tệp>);

Câu 94: Khi tiến hành mở tệp ở chế độ ghi dữ liệu vào tệp và KHÔNG tìm thấy tệp thì: A. Tệp sẽ được tạo ra với nội dung rỗng. B. Chương trình thông báo lỗi “không tìm thấy

tệp”.

C. Chương trình bị đứng máy do lặp tìm kiếm tệp. D. Chương trình sẽ tìm kiếm tên tệp khác gần giống để

thay thế. Câu 95: Khi tiến hành mở tệp ở chế độ ghi dữ liệu vào tệp và tìm thấy tệp thì:

A. Nội dung trong tệp sẽ bị xóa để chuẩn bị ghi dữ liệu mới vào tệp. B. Nội dung trong tệp sẽ giữ nguyên và chuẩn bị ghi dữ liệu mới vào cuối tệp. C. Nội dung trong tệp sẽ giữ nguyên và chuẩn bị ghi dữ liệu mới vào đầu tệp. D. Tất cả đáp án A, B và C đều sai.

Page 9: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

9/12

Câu 96: Cho trước var f1: text; Hãy cho biết đoạn lệnh sau dùng để làm gì?

assign(f1, „xuat.txt‟); rewrite(f1);

A. Gắn tên tệp cho biến tệp và mở tệp ở chế độ ghi dữ liệu vào tệp. B. Gắn tên tệp cho biến tệp và mở tệp ở chế độ đọc dữ liệu từ tệp. C. Gắn tên tệp cho biến tệp và ghi dữ liệu vào tệp. D. Gắn tên tệp cho biến tệp và đọc dữ liệu từ tệp.

Câu 97: Trong NNLT Pascal, cú pháp để mở tệp ở chế độ đọc dữ liệu từ tệp là: A. repeat(<biến tệp>); B. reset(<biến tệp>); C. restart(<biến tệp>); D. rewrite(<biến tệp>);

Câu 98: Cho trước var f2: text; Hãy cho biết đoạn lệnh sau dùng để làm gì?

assign(f2, „nhap.txt‟); reset(f2);

A. Gắn tên tệp cho biến tệp và mở tệp ở chế độ ghi dữ liệu vào tệp. B. Gắn tên tệp cho biến tệp và mở tệp ở chế độ đọc dữ liệu từ tệp. C. Gắn tên tệp cho biến tệp và ghi dữ liệu vào tệp. D. Gắn tên tệp cho biến tệp và đọc dữ liệu từ tệp.

Câu 99: Cho trước var f2: text; Để mở tệp ketqua.txt ở chế độ ghi dữ liệu, ta dùng đoạn lệnh: A. assign(f2, „ketqua.txt‟);

rewrite(f2); B. assign(f2, „ketqua.txt‟);

reset(f2);

C. rewrite(f2); assign(f2, „ketqua.txt‟);

D. reset(f2); assign(f2, „ketqua.txt‟);

Câu 100: Cho trước var f2: text; Để mở tệp dulieu.txt ở chế độ đọc dữ liệu, ta dùng đoạn lệnh: A. assign(f2, „dulieu.txt‟);

rewrite(f2); B. assign(f2, „dulieu.txt‟);

reset(f2);

C. rewrite(f2); assign(f2, „dulieu.txt‟);

D. reset(f2); assign(f2, „dulieu.txt‟);

Câu 101: Cú pháp của thủ tục đọc dữ liệu từ tệp văn bản là: A. read(<biến tệp>, <danh sách biến>); B. readln(<tên tệp>, <danh sách biến>);

C. readln(<biến tệp>, <danh sách biến>); D. Cả đáp án A và C đều đúng.

Câu 102: Cho biết tep1 là biến tệp văn bản, a là biến kiểu nguyên và tệp dulieu.txt có nội dung đang lưu trữ là: 2.

Hãy cho biết sau khi thực hiện đoạn lệnh sau:

assign(tep1, „dulieu.txt‟); reset(tep1); readln(tep1, a); write(„Du lieu doc tu tep la: „, a);

thì trên màn hình hiển thị nội dung: A. Du lieu doc tu tep la: 2 B. „Du lieu doc tu tep la: „2

C. Du lieu doc tu tep la: a D. „Du lieu doc tu tep la: „, a

Câu 103: Cho biết tep1 là biến tệp văn bản, a, b là biến kiểu nguyên và tệp dulieu.txt có nội dung đang lưu trữ là:

2 8. Hãy cho biết sau khi thực hiện đoạn lệnh sau:

assign(tep1, „dulieu.txt‟); reset(tep1); readln(tep1, a, b); write(„Du lieu doc tu tep la: „, a, „ „, b);

thì trên màn hình hiển thị nội dung: A. Du lieu doc tu tep la: 2 8 B. „Du lieu doc tu tep la: „2‟ „8

C. Du lieu doc tu tep la: a b D. „Du lieu doc tu tep la: „, a, „ „, b

Câu 104: Cú pháp của thủ tục ghi dữ liệu vào tệp văn bản là: A. write(<biến tệp>, <danh sách kết quả>); B. write(<tên tệp>, <danh sách kết quả>);

C. writeln(<biến tệp>, <danh sách kết quả>); D. Cả đáp án A và C đều đúng.

Câu 105: Cho trước var f1: text; Hãy cho biết sau khi thực hiện đoạn lệnh sau:

a := 3; b :=7; assign(f1, „ketqua.txt‟); rewrite(f1);

Page 10: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

10/12

writeln(f1, „Tong 2 so la: „, a+b);

thì tệp ketqua.txt chứa nội dung gì? A. 3 B. 7 C. Tong 2 so la: 10 D. Tong 2 so la: a + b

Câu 106: Cho biết f1 là biến tệp văn bản và tệp ketqua.txt có nội dung đang lưu trữ là: Tich 2 so la: 20. Hãy cho biết sau khi thực hiện đoạn lệnh sau:

a := 10; b :=2; assign(f1, „ketqua.txt‟); rewrite(f1); writeln(f1, „Thuong 2 so la: „, a/b);

thì tệp ketqua.txt có nội dung gì? A. Tich 2 so la: 20 B. Thuong 2 so la: 5

C. Tich 2 so la: 20Thuong 2 so la: 5 D. Thuong 2 so la: 5Tich 2 so la: 20

Câu 107: Hàm eof(<biến tệp>) trả về giá trị TRUE khi nào? A. Khi con trỏ tệp đang chỉ tới cuối tệp. B. Khi con trỏ tệp đang chỉ tới đầu tệp.

C. Khi con trỏ tệp đang chỉ tới cuối dòng. D. Khi con trỏ tệp đang chỉ tới đầu dòng.

Câu 108: Hàm eoln(<biến tệp>) trả về giá trị TRUE khi nào? A. Khi con trỏ tệp đang chỉ tới cuối tệp. B. Khi con trỏ tệp đang chỉ tới đầu tệp.

C. Khi con trỏ tệp đang chỉ tới cuối dòng. D. Khi con trỏ tệp đang chỉ tới đầu dòng.

Câu 109: Trong NNLT Pascal, sau khi làm việc với tệp cần phải đóng tệp. Cú pháp để đóng tệp là: A. close(<tên tệp>); B. close(<biến tệp>); C. close; D. close all;

Câu 110: Cho trước var f1, f2: text; assign(f1, ‘nhap.txt’); asign(f2, ‘xuat.txt’); Để đóng 2 tệp nhap.txt và xuat.txt ta dùng đoạn lệnh:

A. close(„nhap.txt‟); close(„xuat.txt‟);

B. close(„nhap.txt‟, „xuat.txt‟); C. close(f1); close(f2);

D. close(f1, f2);

Câu 111: Trong một chương trình Pascal, sau khi đã đóng tệp bằng thủ tục đóng tệp thì có thể mở lại tệp đó hay không?

A. Không được phép mở lại. B. Được phép mở lại 1 lần duy nhất.

C. Được phép mở lại vô số lần tùy ý. D. Cần phải gắn lại tên tệp cho biến tệp trước khi mở.

BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP Câu 112: Hãy viết lệnh tính điện trở tương đương Rtd cho sơ đồ mạch điện sau:

A. Rtd := R1*R2*R3/(R1*R2 + R2*R3 + R3*R1); B. Rtd := 1/R1 + 1/R2 + 1/R3;

C. Rtd := R1*R2*R3/(R1 + R2 + R3); D. Rtd := R1*R2/(R1 + R2) + R3;

Câu 113: Hãy viết lệnh tính điện trở tương đương Rtd cho sơ đồ mạch điện sau:

A. Rtd := R1*R2*R3/(R1*R2 + R2*R3 + R3*R1); B. Rtd := R1*R2*R3/(R1 + R2 + R3);

C. Rtd := R1*R2/(R1 + R2) + R3; D. Rtd := (1/R1 + 1/R2) + R3;

Câu 114: Trong mặt phẳng hệ tọa độ Descartes vuông góc, cho 2 điểm 1 1( , )M x y và 2 2( , )N x y . Hãy viết câu

lệnh tính khoảng cách d từ điểm M đến N: A. d := sqrt(sqr(x1 – x2) + sqr(y1 – y2)); B. d := sqrt(sqr(x1 + x2) – sqr(y1 + y2));

C. d := sqr(sqrt(x1 – x2) + sqrt(y1 – y2)); D. d := sqr(sqrt(x1 + x2) – sqrt(y1 + y2));

Câu 115: Trong mặt phẳng hệ tọa độ Descartes vuông góc, cho điểm ( , )M x y . Hãy viết câu lệnh tính khoảng

cách d từ điểm M đến gốc tọa độ O: A. d := sqr(x*x + y*y); B. d := sqr(x*x – y*y);

C. d := sqrt(sqr(x) + sqr(y)); D. d := sqr(sqrt(x) + sqrt(y));

R3

R2

R1

R3

R2

R1

Page 11: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

11/12

PHẦN II: VIẾT CHƯƠNG TRÌNH Câu 116: Viết chương trình nhập một xâu từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ

các dấu cách nếu có. program Loai_bo_dau_cach; var i: byte; a, b: string; begin

write(„Nhap xau: „); readln(a); b := „‟; for i:= 1 to length(a) do

if a[i] < > „ „ then b:= b + a[i];

writeln(“Xau da loai bo cac dau cach la: „, b); readln

end. Câu 117: Viết chương trình nhập từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ

nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình. program Xau_chi_gom_chu_so; var s1, s2: string; i: byte; begin

write(„Nhap xau s1: „); readln(s1); s2:= „‟; for i:=1 to length(s1) do

if („0‟<= s1[i]) and (s1[i]<=‟9‟) then s2:= s2 + s1[i];

writeln(„Xau chi gom cac chu so la: „, s2); readln

end. Câu 118: Viết chương trình nhập từ bàn phím xâu kí tự s có đội dài không quá 100. Hãy cho biết có bao nhiêu

chữ số xuất hiện trong xâu s. Thông báo kết quả ra màn hình. program Dem_chu_so; var s: string[100]; dem, i: byte; begin

write(„Nhap xau s: „); readln(s); Dem:= 0; for i:=1 to length(s) do

if („0‟<= s[i]) and (s[i]<=‟9‟) then Dem:= Dem + 1;

writeln(„Co „, Dem, „ chu so trong xau „, s); readln

end. Câu 119: Viết chương trình nhập từ bàn phím một xâu có độ dài tối đa là 100 kí tự và thay thế tất cả các cụm

kí tự „Vat Ly‟ bằng cụm kí tự „Tin Hoc‟. program Thay_the_cum_ki_tu_Vat_Ly_bang_cum_ki_tu_Tin_Hoc; var vt: byte; st: string[100]; begin

write(„Nhap xau: „); readln(st);

Page 12: ÔN TẬP KIỂM TRA HỌC KỲ II, MÔN TIN, KHỐI 11, NĂM HỌC …thpt-nguyentatthanh-tphcm.edu.vn/uploads/news/2016_04/... · 2016-04-17 · ÔN TẬP KIỂM TRA HỌC KỲ

12/12

while pos(„Vat Ly‟, st) < > 0 do begin

vt:= pos(„Vat Ly‟, st); delete(st, vt, 6); insert(„Tin Hoc‟, st, vt);

end; write(„Xau sau khi thay the la: „, st); readln

end. Câu 120: Viết chương trình nhập từ bàn phím một xâu và kiểm tra xâu đó có phải là xâu đối xứng hay không.

Xâu đối xứng có tính chất: đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải (còn được gọi là xâu palindrome).

program Kiem_tra_xau_doi_xung; var i: byte; a, b: string; begin

write(„Nhap xau: „); readln(a); b := ‟‟; for i := length(a) downto 1 do

b:= b + a[i]; if a = b then

write(„Xau la palindrome‟) else

write(„Xau khong la palindrome‟); readln

end.