Old school Easter eggs.

ĐỀ KIỂM TRA 1 TIẾT MÔN TIN

I. Phần Trắc Nghiệm: (4đ) Hãy tô đậm vào đáp án đúng nhất:
Câu 1 Tham số hình thức của thủ tục có mấy loại:
A. 1 loại. B. 2 loại. C. 3 loại. D. Không phân loại.
Câu 2: Chương trình con:
A Để giải một bài toán nào đó C. Là dãy lệnh mô tả một thao tác nhất định
B . Được gọi từ nhiều vị trí trong chương trình D. Tất cả đều đúng
Câu 3: Sự khác nhau giữa tham trị và tham biến trong khai báo chương trình con là:
A. Tham biến phải có từ khóa Var đứng trước B. Không khác nhau
C. Tham trị phải khai báo sau từ khóa Var D. Tham trị phải được định nghĩa sau từ khóa Type
Câu 4: Chỉ ra câu đúng trong phần đầu của thủ tục :
A. Procedure xuat( var a,b : byte); B. Procedure (var a,b): byte;
C. Procedure xuat(var a,b : byte):byte; D. Procedure xuat : byte;
Câu 5: Để gắn tên tệp kiemtra.dat cho tên biến tệp là Tep1, em sử dụng thủ tục nào sau đây?
A. assign(kiemtra.dat,'Tep1'); B. assign(Tep1,kiemtra.dat);
C. assign(Tep1,'kiemtra.dat'); D. assign('kiemtra',Tep1);
Câu 6: 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 khai báo có thể có hoặc không có tuỳ thuộc vào từng chương trình.
B. Phần đầu nhất thiết phải có để khai báo tên chương trình con
C. Phần đầu có thể có hoặc không có cũng được
D. Cả A, B. C đều không đúng.
Câu 7: Cho khai báo biến và khai báo hàm F (Giả sử hàm F có nội dung bất kỳ):
Var x, S : Real; n: Integer ;
FUNCTION F( y: Real; m : Integer) : Real;
+ Hỏi: Lời gọi hàm nào bên đây là đúng :
Câu 8: 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. thủ tục. C. Tham số D. hàm.
Câu 9: 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 văn bản đã khai báo)
A.Assign(f, ‘KQ.TXT’)->Rewrite(f)->Writeln(f,t)->Close(f)
B. Assign(f, ‘KQ.TXT’)->Readln(f,t)->Reset(f)->Close(f)
C. Assign(f, ‘KQ.TXT’)->Writeln(f,t)->Rewrite(f)->Close(f)
D. Assign(f, ‘KQ.TXT’)->Reset(f)->Readln(f,t)->Close(f)
Câu 10: Để đặt màu cho nền của màn hình ta sử dụng thủ tục
A.gotoxy(x,y); B. TextClolor(color);
C. clrscr; D. Textbackground(color) ;
Câu 11: 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
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, không nhất thiết phải có biến cục bộ.
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 12: Muốn kiểm tra xem đã hết tệp f chưa ta sử dụng thủ tục:
A. Close(f); B. Eof(f); C. eoln(f); D. Efo(f);
Câu 13: Muốn mở tệp t ra để đọc thì ta dùng thủ tục:
A. rewrite(t); B. Write(t); C. reset(t); D. Read(t) ;
Câu 14: Cho các thao tác để đọc dữ liệu từ 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 15: : 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 16: Chứa các thủ tục và hàm liên quan đến việc quản lí và khai thác màn hình, bàn phím của máy tính là thư viện :
A. graph B. clrscr C. crt D. Cả B và C
II. Phần Tự Luận: (6đ)
Câu 1: (1,5) cho chương trình sau:
var x,y,z:integer; s:longint;
Function tong(a,b,c:integer):longint;
Begin tong:=a+b+c;
end;
BEGIN
Write(‘Nhap gia tri cho x,y,z: ’);
Readln(x,y,z);
S:=tong(x,y,z);
Write(‘Tong la: ’, S);
Readln;

END.
Quan sát chương trình bên hãy cho biết?
+ Chương trình con trên viết theo dạng gì?

+ Nêu các tham số thực sự?
+ Nêu tên các biến cục bộ?
+ Nêu tên các biến toàn cục?
+ Chương trình con trên dùng để làm gì?

+ Lời gọi chương trình con trong chương trình chính là lệnh nào?



Câu 2(2đ) Hãy nêu các bước mà một chương trình Pascal thực hiện trong chương trình sau :
Program bt;
Var f: text;
a,b,c : integer;
P, s : real;
begin
assign(f,’DULIEU.TXT’);
reset(f);
while not eof(f) do
begin
readln(f,a,c,b);
p:= (a+ b+ c )/2;
s: = sqrt(p(p-a)(p-b)(p - c));
end;
close(f);
end.

Câu 3 (2.5đ):Viết chương trình bằng pascal để tính diện tích hình chữ nhật. Trong đó có sử dụng hàm tính chu vi hình chữ nhật.
-----------------------------------

ĐÁP ÁN
I TN
1B 2B 3A 4A 5C 6B 7D 8D 9A 10D11D 12B 13C 14A 15D 16C II. Tự luận Câu 1: Mỗi đáp án đúng được 0.25đ + Chương trình con trên viết theo dạng gì : hàm + Nêu các tham số thực sự : x,y,z + Nêu tên các biến cục bộ: không có + Nêu tên các biến toàn cục: x,y,z,s + Chương trình con trên dùng để làm gì : tính tổng của ba số được nhập từ bàn phím. + Lời gọi chương trình con trong chương trình chính là lệnh nào: S: = tong(x,y,z); Câu 2: Chương trình sẽ được thực hiện như sau : • Gán tệp ’DULIEU.TXT’ cho biến tệp f. • Mở tệp f ra để đọc • Trong khi chưa hết tệp thì : - Đọc từng bộ dữ liệu ba cạnh của tam giác trong tệp f - Tính nữa chu vi - Tính diện tích tam giác bằng công thức Hê – rông • Đóng tệp và kết thúc chương trình. Câu 3: Program bai1; var a,b: byte; function chuvi(var x,y: byte):byte; begin chuvi:=x*y; end; begin write(‘hay nhap chieu dai, chieu rong’); read(a,b); write(‘dien tich hcn la:’,chuvi(a,b):4:1); readln; end.