TRƯỜNG PTDTNT KON RẪY
TỔ: CÁC MÔN HỌC LỰA CHỌN
ĐỀ KIỂM TRA CUỐI KỲ II. NĂM HỌC 2022-2023
MÔN: TIN HỌC. Lớp:11
Thời gian: 45phút ( không kể thời gian phát đề)
Mã đề 002
Họ, tên thí sinh:...........................................Số báo danh:.................Lớp:.......................
I. Phần trắc nghiệm (7đ): Thời gian làm bài 27 phút
Câu 1: Trong ngôn ngữ lập trình Pascal, về mặt pháp câu lệnh nào sau đây là đúng với cấu trúc
lặp While có một lệnh con ?
A. While (a>5) and (a<17) do a := a – 1; B. While a>5 and a<17 do a := a – 1;
C. While (a>5) and (a<17) do a := a – 1 D. While (a>5) and (a<17) do ; a := a – 1;
Câu 2: Muốn ghi dữ liệu tệp ta dùng lệnh nào?
A. write(<tên biến tệp>, <danh sách kết quả>); B. write(<tên tệp>, <danh sách kết quả>);
C. rewrite(<tên biến tệp>, <danh sách kết quả>); D. readln(<tên biến tệp>, <danh sách kết quả>);
Câu 3: Chỉ ra câu đúng trong phần đầu của thủ tục?
A. Procedure xuat(var a,b : byte):byte; B. Procedure xuat : byte;
C. Procedure (var a,b: byte); D. Procedure xuat( var a,b : byte);
Câu 4: Để tính và in ra màn hình chu vi (C), diện tích (S) của hình chữ nhật có chiều dài, chiều rộng
lần lượt là a, b. Khai báo nào sau đây là đúng?
A. Procedure CV_DT(a, b : integer) : integer;
B. Procedure CV_DT(C, S : integer);
C. Procedure CV_DT(a, b, C, S : integer) : integer;
D. Procedure CV_DT(a, b : integer);
Câu 5: Trong Pascal mở tệp để ghi dữ liệu ta sử dụng thủ tục?
A. reset(<biến tệp>); B. rewrite(<tên biến tệp>);
C. rewrite(<tên tệp>); D. reset(<tên tệp>);
Câu 6: Các thao tác dùng để ghi giá trị biến t vào tệp 'KQ.TXT' (Giả sử f là biến tệp đã khai báo)
A. Assign(f, 'KQ.TXT')->Rewrite(f)->Writeln(f,t)->Close(f)
B. Assign(f, 'KQ.TXT')->Reset(f)->Readln(f,t)->Close(f)
C. Assign(f, 'KQ.TXT')->Writeln(f,t)->Rewrite(f)->Close(f)
D. Assign(f, 'KQ.TXT')->Readln(f,t)->Reset(f)->Close(f)
Câu 7: Khác với thủ tục, trong thân của hàm cần có?
A. Giống thân của thủ tục B. Lời gọi hàm
C. Các khai báo hằng, biến D. Lệnh gán giá trị cho tên hàm
Câu 8: Số lượng phần tử trong tệp?
A. phải khai báo trước B. không giới hạn chỉ phụ thuộc vào dung lượng đĩa
C. không được lớn hơn 256 ký tự D. không được lớn hơn 128 ký tự
Câu 9: Câu lệnh Assign(f, ‘file.dat’); có nghĩa là?
A. Tạo tệp tin file.dat trên đĩa. B. Mở tệp tin file.dat.
C. Đóng tệp tin file.dat. D. Gán tệp tin file.dat cho biến f.
Câu 10: Cho các thao tác về tệp như sau ?
(1) Mở tệp để ghi dữ liệu ; (2) Khai báo và gán tên tệp với biến tệp; (3) Đóng tệp;
(4) Mở tệp để đọc dữ liệu; (5) Ghi dữ liệu; (6) Đọc dữ liệu;
Hãy chọn phương án ghép đúng, để đọc dữ liệu vào tệp:
A. (2) ð (4) ð (6) ð (3); B. (2) ð (1) ð (5) ð (3);
C. (1) ð (2) ð (5) ð (3); D. (4) ð (6) ð (5) ð (2);
Câu 11: Hàm để tìm giá trị nhỏ nhất của hai số x, y cách nào sau là đúng?
A. Function gtnn(x, y: integer) : boolean; B. Function min(x, y: integer) : integer;
C. Function min(x, y) : integer; D. Function gtnn(x, y: integer);
Trang 1/3 - Mã đề 002
Câu 12: Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
A. Phần đầu nhất thiết phải có để khai báo tên chương trình con
B. Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không.
C. Phần đầu có thể có hoặc không có cũng được
D. Phần khai báo có thể có hoặc không có tuỳ thuộc vào từng chương trình cụ thể.
Câu 13: Để biết con trỏ tệp đã ở cuối dòng của tệp f hay chưa, ta sử dụng hàm:
A. close(f) B. eoln(f) C. eof(f) D. eof(f, 'trai.txt')
Câu 14: Khẳng định nào sau đây đúng?
A. Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ.
B. Một chương trình con nhất thiết phải có biến cục bộ
C. Một chương trình con nhất thiết phải có tham số hình thức
D. Một chương trình con có thể không có tham số hình thức và có thể không có biến cục bộ
Câu 15: Chương trình con thực hiện một số thao tác nào đó và trả về một giá trị thông qua tên của
nó gọi là?
A. Tên gọi B. hàm C. thủ tục. D. Tham số
Câu 16 : Cho khai báo của một hàm:
Function F( k : Integer) : String ;
Begin
If k mod 2=0 then F:=’Chan’ else F:=’Le’;
End;
Muốn gán X:= F(5); thì biến X phải khai báo kiểu gì?
A. Var X: Real; B. Var X : Char C. Var X: Integer; D. Var X: string;
Câu 17: Các thao tác với tệp câu lệnh Writeln(f, x); có nghĩa là?
A. Gán tệp x cho biến tệp f. B. Gán tệp f cho biến tệp x.
C. Ghi giá trị của biến x vào biến tệp f D. Đọc giá trị của biến x vào biến tệp f.
Câu 18 : Ở phần đầu thủ tục được khai báo bảng từ khóa nào :
A. Var B. Begin C. Procudure D.Function
Câu 19: Kiểu dữ liệu của hàm là?
A. chỉ có thể là kiểu real
B. có thể là các kiểu integer, real, char, boolean;
C. có thể là integer, real, char, boolean, string, kiểu mảng
D. chỉ cổ thể là kiểu integer.
Câu 20: : Trong ngôn ngữ lập trình Pascal, về mặc pháp câu lệnh o sau đây đúng với cấu
trúc lặp For có một lệnh con ?
A. For i := 1 to 100 do a := a – 1 ; B. For i := 1 to 100 do a := a – 1.
C. For i := 1 ; to 100 do a := a – 1 ; D. For i := 1 to 100 do; a := a – 1 ;
Câu 21: Trong Pascal để khai báo bên tệp văn bản ta sử dụng cú pháp?
A. Var <tên biến tệp> : Text; B. Var <tên biến tệp> . Text;
C. Var <tên tệp> : String; D. Var <tên tệp > : Text;
Câu 22. Các biến của chương trình con là:
A. Biến toàn cục B. Biến cục bộ. C. Tham số hình thức. D. Tham số thực sự
Câu 23. Cho CTC sau:
Procedure thutuc(a,b: integer);
Begin
......
End;
Trang 2/3 - Mã đề 002
Trong chương trình chính có thể gọi lại chương trình con như thế nào là hợp lệ:
A. thutuc; B. thutuc(5,10); C. thutuc(1,2,3); D. thutuc(5);
Câu 24: Muốn khai báo x, y là tham trị, z là tham biến. Khai báo nào sau đây đúng ?
A. Procedure thamso (x : byte ; var y : byte; var z : byte );
B. Procedure thamso (x : byte ; var z , y : byte);
C. Procedure thamso (x : byte ; y : byte; var z : byte );
D. Procedure thamso (var x : byte ; var y : byte; var z : byte );
Câu 25: Biến cục bộ là gì?
A. Biến được khai báo trong CTC nhưng được sử dụng trong chương trình chính
B. Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho CTC
C. Biến được khai báo trong chương trình con
D. Biến tự do không cần khai báo
Câu 26: Trong ngôn ngữ lập trình Pascal ta có đoạn chương trình sau (A là mảng số có N phần tử)
S:=0;
for i:=1 to N do
if a[i]>0 then S:= S+A[i];
Giả sử n=5 ta có mảng A như sau: 5 -1 -6 4 2 , sau khi thực hiện thì kết quả bằng bao
nhiêu?
A. 11 B. 7C. 3D. -7
Câu 27: Cho khai báo sau :
Phát biểu nào dưới đây là đúng ?
A. Xâu có độ dài lớn nhất là 255;
B. Cần phải khai báo kích thước của xâu sau đó;
C. Xâu có độ dài lớn nhất là 0;
D. Câu lệnh sai vì thiếu độ dài tối đa của xâu;
Câu 28: Trong ngôn ngữ lập trình Pascal, từ khóa để khai báo mảng một chiều là gì?
A. string B. text
C. program D. array
II. Phần tự luận (3đ): Thời gian làm bài 18 phút
Câu 1 (2đ): Nêu cú pháp khai báo mảng theo gián tiếp? Cho ví dụ minh họa?
Câu 2 (1đ): Viết chương trình nhập vào 1 dãy số thực bất kỳ cho tập tin sothuc . dat ?
----------HẾT----------
Trang 3/3 - Mã đề 002
Var hoten : String;