Trang 1/3 - Mã đề 194
SỞ GD & ĐT QUẢNG NAM
TRƯỜNG THPT LƯƠNG THÚC KỲ
KIỂM TRA GIỮA KÌ II NĂM HỌC 2022 - 2023
MÔN TIN HỌC - KHỐI LỚP 11
Thời gian làm bài : 45 Phút; (Đề có 30 câu)
(Đề có 3 trang)
Họ tên : ............................................................... Số báo danh : ...................
Câu 1: Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp
A. Var <tên tệp> : Text; B. Var <tên biến tệp> : String;
C. Var <tên tệp> : String; D. Var < tên biến tệp > : Text;
Câu 2: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh?
A. Assign(‘KQ.TXT’,f1); B. f1 := ‘KQ.TXT’;
C. KQ.TXT := f1; D. Assign(f1,‘KQ.TXT’);
Câu 3: Phát biểu nào sau đây về mảng là không chính xác ?
A. Độ dài tối đa của mảng là 255; B. Có thể xây dựng mảng nhiều chiều;
C. Chỉ số của mảng không nhất thiết bắt đầu từ 1;
D. Xâu kí tự cũng có thể xem như là một loại mảng;
Câu 4: Thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp
A. Gán tên tệp cho biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp.
B. Mở tệp => Đọc dữ liệu từ tệp => Gán tên tệp với biến tệp => Đóng tệp.
C. Mở tệp => Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp.
D. Gán tên tệp cho biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp.
Câu 5: Cho chương trình sau:
var f:array[0..50] of word; i:byte;
Begin
f[0]:=0; f[1]:=1;
for i:=2 to 10 do
begin f[i]:=f[i-1]+f[i-2];
write(f[i]:4); end;
End.
Phần tư f[6] có giá trị là:
A. 6 B. 8 C. 7 D. 9
Câu 6: Cú pháp câu lệnh nào sau đây là đúng?
A. For i:=1 to n do if a[i] mod 2 = 0 then writeln(a[i] ‘la so le’);
B. For i:=1 to n do if a[i] mod 2 = 0 then writeln(‘a[i], ‘la so le’);
C. For i:=1 to n do; if a[i] mod 2 = 0 then writeln(a[i], ‘la so le’);
D. For i:=1 to n do if a[i] mod 2 = 0 then writeln(a[i], ‘la so le’);
Câu 7: Tệp songuyen.dat chứa n số nguyên, các số cách nhau một kí tự trống. Để in tất cả các số nguyên
trong tệp ra màn hình, sau khi thực hiện 2 thủ tục Assign(f,'songuyen.dat'); reset(f); ta thực hiện lệnh nào?
A. While not eof(f) do
begin read(f,a); write(a:5);end;
B. For i:=1 to n do read(f,a); write(a:5);
C. For i:=1 to n do
begin read(f,a); write(a:5); end;
D.
While not eof(f) do read(f,a); write(a:5);
Câu 8: 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. Đếm số ký tự có trong xâu; B. Xóa đi các dấu cách trong xâu;
C. Xóa đi các ký trống; D. Đếm số dấu cách có trong xâu;
Câu 9: Chương trình VD_bt1 dưới đây sẽ ghi kết quả nào trong các kết quả cho dưới đây vào tệp văn bản
KT.TXT ?
Program VD_bt1;
Mã đề 194
Trang 2/3 - Mã đề 194
Uses crt ;
Var f : text ;
Begin
Clrscr;
Assign(f, ‘KT.TXT ’) ;
Rewrite(f) ;
Write(f, 123 + 456) ;
Close(f) ;
End .
A. 123456 B. 579 C. 123 456 D. 123 + 456
Câu 10: Lệnh dùng để nhập giá trị cho các phần tử trong mảng là
A. readln(<Tên mảng>[<Kiểu chỉ số>]); B. readln(<Tên mảng>[<Chỉ số cuối>]);
C. readln(<Tên mảng>[<Biến đếm>]); D. readln(<Tên mảng>[<Chỉ số đầu>]);
Câu 11: Để khai báo biến xâu ta sử dụng tên dành riêng:
A. Const B. String C. Array D. Type
Câu 12: Số lượng phần tử trong tệp được quy định là
A. không được lớn hơn 128. B. không được lớn hơn 255.
C. không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa. D. phải được khai báo trước
Câu 13: Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết
A. Var f1 : f2 : Text; B. Var f1 ; f2 : Text;
C. Var f1.. f2 : Text; D. Var f1 , f2 : Text;
Câu 14: Phát biểu nào sau đây đúng nhất:
A. Kiểu chỉ số thuộc kiểu gì cũng được B. Kiểu chỉ số phải là đoạn số nguyên
C. Kiểu chỉ số thường là một đoạn số nguyên liên tục D. Kiểu chỉ số có thể là đoạn số thực
Câu 15: Xâu kí tự có độ dài bằng 0 gọi là:
A. Chứa 1 kí tự B. Xâu rỗng
C. Xâu chứa kí tự 0 và kí tự 1 D. Chứa kí tự 0
Câu 16: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất ?
A. Dùng để truy cập đến một phần tử bất kì trong mảng;
B. Dùng trong vòng lặp với mảng để quản lí kích thước của mảng;
C. Dùng để quản lí kích thước của mảng; D. Dùng trong vòng lặp với mảng;
Câu 17: Cú pháp khai báo trực tiếp biến mảng 1 chiều:
A. Var <tên biến mảng>: array [kiểu chỉ số] of <kiểu phần tử>;
B. Var <tên biến mảng>: array [chỉ số đầu … chỉ số cuối] of <kiểu phần tử>;
C. Var <tên biến mảng>: array [kiểu chỉ số] of <kiểu dữ liệu>;
D. Var <tên biến mảng>: array [chỉ số đầu .. chỉ số cuối] of <kiểu phần tử>;
Câu 18: Phương án nào dưới đây là khai báo mảng hợp lệ ?
A. Var mang : ARRAY[0..10] OF INTEGER;
B. Var mang : INTEGER OF ARRAY[0..10];
C. Var mang : ARRAY[0..10] OF INTERGER;
D. Var mang : ARRAY(0..10) : INTEGER;
Câu 19: Phát biểu nào sau đây đúng nhất:
A. Kiểu phần tử là kiểu của chỉ số đầu và chỉ số cuối
B. Kiểu phần tử phải cùng kiểu với kiểu chỉ số
C. Kiểu phần tử phải là kiểu số
D. Kiểu phần tử là kiểu dữ liệu của các phần tử trong mảng
Câu 20: Cú pháp khai báo biến xâu là:
A. Var tên biến :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 tên biến :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 21: Cho xâu S là “Ha Noi–Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:
A. 11 B. 12 C. 8 D. 9
Câu 22: Thủ tục Delete(a,b,c) có nghĩa là:
A. Xóa a kí tự của biến xâu c bắt đầu từ vị trí b
Trang 3/3 - Mã đề 194
B. Xóa c kí tự của biến xâu a bắt đầu từ vị trí b
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 b bắt đầu từ vị trí c
Câu 23: Trong Pascal, cho trước tệp văn bản BT2.TXT một dòng, chứa dòng chữ : CHUC BAN KIEM
TRA GIUA KI DIEM CAO ngay ở đầu dòng. Thực hiện chương trình VD_bt2, trên màn hình sẽ hiện kết quả
nào trong các kết quả cho dưới đây ?
Program VD_bt2;
Var f : text ;
S : string[13] ;
Begin
Assign(f, ‘BT2.TXT ’) ;
Reset(f) ;
Read(f, S) ;
Write(S) ;
Close(f) ;
End .
A. GIUA KI DIEM CAO B. BAN KIEM TRA GIUA
C. CHUC BAN KIEM TRA GIUA KI DIEM CAO D. CHUC BAN KIEM
Câu 24: Thủ tục Assign dùng để?
A. Ghi dữ liệu vào tệp B. Mở tệp
C. Đóng tệp D. Gắn tên tệp cho biến tệp
Câu 25: Đoạn chương trình sau dùng để làm gì?
M:=a[1];
For i:=2 to n do
If a[i]<M then M:=M else M:=a[i];
A. Tìm số nhỏ nhất của dãy số B. Đếm số chẵn trong dãy
C. So sánh các số trong dãy với số đầu tiên D. Tìm số lớn nhất của dãy số
Câu 26: Hàm Copy(a,b,c) dùng để?
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í b của xâu a
D. 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
Câu 27: Tham chiếu đến phần tử của xâu,ta dựa vào cú pháp:
A. <Tên biến xâu> “chỉ số” B. <Tên biến xâu>[chỉ số]
C. <Tên biến xâu>{chỉ số} D. <Tên biến xâu>(chỉ số)
Câu 28: 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, 1, i); { i là biến có giá trị #1 }
C. Delete(S, i, 1); { i là biến có giá trị #1}
D. Delete(S, length(S), 1);
Câu 29: Thủ tục Insert(a,b,c) có nghĩa là:
A. Chèn xâu b vào xâu a bắt đầu ở vị trí c
B. Chèn xâu c vào xâu b bắt đầu ở vị trí a
C. Chèn xâu a vào xâu b bắt đầu ở vị trí c
D. Chèn xâu a vào xâu c bắt đầu ở vị trí b
Câu 30: Câu lệnh reset(<biến tệp>), dùng để?
A. Mở tệp để ghi B. Đóng tệp
C. Mở tệp để chuẩn bị đọc D. Ghi dữ liệu vào tệp
------ HẾT ------