BÀI 12: KIỂU XÂU
Nhận biết:
Câu 1: Độ dài tối đa của xâu kí tự trong Pascal là:
A. 255
B. 256
C. 0
D. Không giới hạn
Câu 2: Xâu kí tự có độ dài bằng 0 gọi là:
A. Không tồn tại
B. Xâu rỗng
C. Chứa kí tự 0
D. Xâu ngắn
Câu 3: Kí tự đầu tiên trong xâu được đánh số là:
A. 0
B. 1
C. Do người lập trình đặt
D. Không quy định
Câu 4: Cú pháp khai báo biến xâu là:
A. Var :string[độ dài lớn nhất của xâu];
B. Var tên biến :string[độ dài lớn nhất của xâu];
C. Var :string(độ dài lớn nhất của xâu);
D. Var tên biến :string(độ dài lớn nhất của xâu);
Câu 5: Để khai báo biến xâu ta sử dụng tên dành riêng:
A. Array
B. String
C. Type
D. Const
Câu 6: Thủ tục Delete(a,b,c) có nghĩa là:
A. Xóa c kí tự của biến xâu a bắt đầu từ vị trí b
B. Xóa a kí tự của biến xâu b bắt đầu từ vị trí c
C. Xóa c kí tự của biến xâu b bắt đầu từ vị trí a
D. Xóa a kí tự của biến xâu c bắt đầu từ vị trí b
Câu 7: Hàm Copy(a,b,c) có nghĩa là:
A. Tạo xâu gồm a kí tự liên tiếp bắt đầu từ vị trí b của xâu c
B. Tạo xâu gồm b kí tự liên tiếp bắt đầu từ vị trí c của xâu a
C. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí a của xâu b
D. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí b của xâu a
Câu 8: Thủ tục Insert(a,b,c) có nghĩa là:
A. Chèn xâu c vào xâu b bắt đầu ở vị trí a
B. Chèn xâu a vào xâu c bắt đầu ở vị trí b
C. Chèn xâu a vào xâu b bắt đầu ở vị trí c
D. Chèn xâu b vào xâu a bắt đầu ở vị trí c
Câu 9: Tham chiếu đến phần tử của xâu được xác định bởi:
A. Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và )
B. Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ]
C. Tên biến xâu và chỉ số đặt trong cặp ngoặc { và }
D. Tên biến xâu và chỉ số đặt trong cặp ngoặc “ và ”
Câu 10: Một số thao tác xử lí xâu là:
A. Phép gán, phép so sánh
B. Phép ghép, phép so sánh
C. Phép cộng, phép gán
D. Phép so sánh, phép trừ
Thông hiểu:
Câu 11: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:
A. 9
B. 10
C. 11
D. 12
Câu 12: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Vietnam’,S) là:
A. 9
B. 10
C. 0
D. 11
Câu 13: Sau khi thực hiện đoạn chương trình sau, kết quả của S là:
S:= ‘Mua thu Ha Noi’;
Delete(s,8,8);
Insert(Mua thu,s,1);
A. Ha Noi
B. Mua thu Ha Noi
C. Ha Noi Mua thu
D. Mua thu Mua thu
Câu 14: Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên:
A. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải
B. Độ dài tối đa của hai xâu
C. Độ dài thực sự của hai xâu
D. Số lượng kí tự khác nhau của hai xâu
Câu 15: Trong ngôn ngữ lập trình Pascal, để xóa đi ký tự đầu tiên của xâu ký tự S ta viết?
A. Delete(S, 1, 1);
B. Delete(S, i, 1); { i là biến đếm có giá trị ≠ 1}
C. Delete(S, length(S), 1);
D. Delete(S, 1, i); { i là biến có giá trị bất kỳ }
Câu 16: Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta có thể viết bằng cách nào trong các cách sau ?
A. S1 := ‘hoa’ ; i := pos(S1, ‘hoa’) ;
B. i := pos(‘hoa’, S) ;
C. i := pos(S, ’hoa’) ;
D. i := pos(‘hoa’, ‘hoa’) ;
Câu 17: Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các ký tự trong xâu (vd : abcd thi in ra là dcba), đoạn chương nào sau đây thực hiện việc đó?
A. For i := 1 to length(S) do write(S[i])
B. For i := length(S) downto 1 do write(S[i])
C. For i := length(S) downto 1 do write(S)
D. For i := 1 to length(S) div 2 do write(S[i])
Câu 18: Xác định biểu thức cho giá trị đúng (true) trong các biểu thức sau đây.
A. ‘Ninh thuan que toi’ < ‘Ninh thuan’
B. ‘Truong chinh’ = ‘TRUONG CHINH’
C. ‘Anh’ > ‘Em’
D. ‘Tin hoc’ > ‘Tien hoc le – Hau hoc van’
Câu 19: Cho xâu St = ‘THPT Phan Boi Chau’, Để có xâu St =’THPT’ ta dung thủ tục nào sâu đây:
A. Delete(St, 5,14 );
B. Delete(St, 14, 5 );
C. Delete(St, 1, 5 );
D. Delete(St,5, 1 );
Vận dụng:
Câu 20: Sau khi chạy chương trình
ta nhân được kết quả?
A. 4
B. 2017
C. Thông báo lỗi
D. Đáp án khác
Câu 21: Đoạn chương trình sau thực hiện công việc gì? (giá trị của biến đếm):
Dem:=0;
For ch:= ‘a’ to ‘z’ do
If pos(ch,s) 0 then dem := dem +1;
A. Đếm số lượng ký tự khác dấu cách của xâu S
B. Đếm số lượng kí tự là chữ cái in hoa của xâu S
C. Đếm số lượng ký tự là chữ cái thường trong xâu S
D. Đếm số lượng chữ cái thường khác nhau có trong xâu S
Câu 22: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?
X:=length(S);
For i:=X downto 1 do
If S[i] = ‘ ’ then Delete(S,i,1);
A. Xóa dấu cách đầu tiên trong xâu ký tự S
B. Xóa dấu cách thừa trong xâu ký tự S
C. Xóa dấu cách tại vị trí cuối cùng của xâu S
D. Xóa mọi dấu cách của xâu S
Câu 23: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?
S1 := ‘anh’ ; S2 := ‘em’ ; i := pos(S2, S) ;
While i 0 do
Begin
Delete(S, i, 2) ;
Insert(S1, S, i) ;
i := pos(S2, S) ;
End ;
A. Thay toàn bộ cụm từ ‘anh’ trong xâu S bằng cụm từ ‘em’ ;
B. Thay toàn bộ cụm từ ‘em’ trong xâu S bằng cụm từ ‘anh’ ;
C. Thay cụm từ ‘em’ đầu tiên trong xâu S bằng cụm từ ‘anh’ ;
D. Thay cụm từ ‘anh’ đầu tiên trong xâu S bằng cụm từ ‘em’ ;
Câu 24: Trong ngôn ngữ lập trình Pascal, sau khi thực hiện xong đoạn chương trình sau, biến Found có giá trị là gì ? (S là biến xâu ký tự)
Found := 0 ;
x := length(S) ;
For i := 1 to x Div 2 do
If S[i] S[x – i + 1] then Found := 1 ;
A. Found bằng 0 nếu S là xâu đối xứng;
B. Found bằng 0 nếu S là xâu không đối xứng;
C. Found bằng 1 nếu S là xâu đối xứng;
D. Found không có giá trị gì;
Câu 25: Trong ngôn ngữ lập trình Pascal, đoạn chương trình thực hiện công việc nào trong các công việc sau:
i := pos(‘ ’, S); { ‘ ’ là 2 dấu cách }
while i 0 do
Begin
Delete(S, i, 1) ;
i := pos(‘ ’, S) ;
End;
A. Xóa 2 dấu cách liền nhau đầu tiên trong xâu;
B. Xóa đi một trong 2 dấu cách đầu tiên trong xâu;
C. Xóa các dấu cách trong xâu S để S không còn 2 dấu cách liền nhau;
D. Xóa các dấu cách liền nhau cuối cùng trong xâu;
Câu 26: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau làm công việc gì :
i := pos(‘ ’, X) ;
while i 0 do
Begin
Delete(X, i, 1) ;
i := pos(‘ ’, X) ;
End;
A. Xóa tất cả các dấu cách trong xâu X ;
B. Xóa tất cả các dấu cách phía bên trái trong xâu X ;
C. Xóa tất cả các dấu cách phía bên phải trong xâu X ;
D. Xóa tất cả các dấu cách ở hai đầu của xâu X ;
Câu 27: Trong ngôn ngữ lập trình Pascal, sau khi thực hiện đoạn chương trình sau, biến X có giá trị là gì?
S := ‘Hoang Anh Tuan’ ; X := ‘ ’ ; i := length(S) ;
while S[i] ‘ ’ do
Begin
X := X + S[i] ;
i := i + 1 ;
End ;
A. Xâu rỗng
B. ‘Hoang’
C. ‘Anh’
D. ‘Tuan’
Câu 28: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?
d := 0 ;
For i := 1 to length(S) do
if S[i] = ‘ ’ then d := d + 1 ;
A. Xóa đi các dấu cách trong xâu;
B. Đếm số ký tự có trong xâu;
C. Đếm số dấu cách có trong xâu;
D. Xóa đi các ký tự số;
Câu 29: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?
d := 0 ;
For i := 1 to length(S) do
if ( S[i] >= ‘ 0 ’ ) AND ( S[i] <= ‘ 9 ’ ) then d := d + 1 ;
A. Đếm số ký tự là ký tự số trong xâu S;
B. Đếm xem có bao nhiêu ký tự số trong xâu S;
C. Xóa đi các chữ số có trong S;
D. Xóa đi ký tự đầu tiên trong S;
Tài liệu đính kèm: