Lớp: STT: Họ và tên: KIỂM TRA 1 TIẾT LẦN 2 MÔN TIN HỌC 11. I. TRẮC NGHIỆM (4 ĐIỂM) 1. Cho a là biến nguyên a=3, và khai báo thủ tục: Procedure TT( x : Integer) ; Begin x:=x+2; End; Sau khi gọi thủ tục TT(a); thì Giá trị của biến a là : A. 2 B. 5 C. 3 D. 0 2. Cho khai báo biến và khai báo đầu của thủ tục TT: Var x, y : Integer ; St :String ; Procedure TT( Var a : Integer ; b : String); Lệnh nào đúng : A. TT(x +1, St) ; B. TT(10, St) ; C. TT(x, st); D. y:= TT(St, x) ; 3. 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; 3.1) 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: string; C. Var X: Integer; D. Var X : Char 3.2) Muốn in Write( F(y) ); thì biến y phải khai báo kiểu gì : A. Var y : Real; B. Var y : String; C. Var y: integer; D. Var y : Char; 4. Cho x, y là hai biến nguyên và khai báo thủ tục : Procedure Doicho( Var a : Integer; b : Integer); Var z : Integer; Begin z:=a; a:=b; b:=z; End; -Sau khi thực hiện các lệnh: x:=7; y:=3; Doicho(x, y); thì giá trị của x, y là: A. x=7, y=7 B. x = 3 ; y = 3 ; C. x=3, y=7 D. x=7, y=3 5. Để khai báo hàm trong Pascal bắt đầu bằng từ khóa A. Program B. Procedure C. Function D. Begin 6. Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa A. Program B. Procedure C. Function D. Begin 7. Đoạn chương trình sau có lỗi gì? Procedure End (key:char); Begin If key = ’q’ then Writeln(’ket thuc’); End; 8. Khai báo nào sau đây về phần đầu của hàm là đúng? A. function nhan(x,y: real); B. procedure nhan(x,y: real) : real; C. function nhan(x,y) : real; D. function nhan(x,y: real) : real; 9. Kiểu dữ liệu của hàm A. chỉ có thể là kiểu integer. C. có thể là các kiểu integer, real, char, boolean, string. B. chỉ có thể là kiểu real. D. có thể là integer, real, char, boolean, string, record, kiểu mảng. 10. Muốn khai báo x, y là tham số giá trị và z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “Max” thì khai báo nào sau đây là đúng? A. Procedure Max(x, Var y: Byte; var z: Byte); B. Procedure Max(x, y: Byte; Var z: Byte); C. Procedure Max(x: Byte; Var y: Byte; var z: Byte); D. function Max(x, y: Byte; var x: Byte); B A. End không thể dùng làm tên của thủ tục B. Thiếu dấu “;” sau từ khóa begin; C. Không thể dùng câu lệnh if trong thủ tục D. Dấu “;” sau End là sai phải là dấu “.” 11. Program Tham_so; Var a, b: integer; Procedure Nhan_biet_ts(x: integer; var y: integer); begin x:=x-1; y:=y-1; writeln(x: 6; y: 6); end; Begin a:=1; b:=4; ………………?………………… writeln(a: 6; b: 6); End. 11. 1) Câu lệnh điền vào (…? ) để gọi chương trình con Nhan_biet_ts cho 2 biến a và b là: A. Nhan_biet_ts; B. Nhan_biet_ts(a,b); C. Nhanbietts(a,b); D. Writeln(Nhan_biet_ts(a,b)); 11. 2). C¸c biÕn x, y lµ c¸c : A. Tham số hình thức B. Tham số thực sự C. Biến toàn cục D. Biến cục bộ 11.3) Tham số biến trong chương trình con trên là: A. a, b. B. x, y C. x D. y 12. Trong các đoạn chương trình sau, đoạn nào là một thủ tục đúng để in ra dòng chữ “Welcome to Pascal” ? A. Procedure Welcome to Pascal; Begin Writeln(’Welcome’); End; B. Procedure Welcome; Begin Writeln(’Welcome to Pascal’); End; C. Procedure Welcome Begin Writeln(“Welcome to Pascal”); End; D. Procedure Welcome; Begin Welcome to Pascal; End; 13. Trong một chương trình, tham số thực sự (nếu có) thường sẽ gặp ở: A. Lời gọi thực hiện chương trình con. B. Phần khai báo của chương trình chính. C. Phần khai báo của chương trình con. D. Phần đầu của chương trình con. II. TỰ LUẬN (6 ĐIỂM) 1). Chương trình con là gì? Cho ví dụ. (0.75 điểm) 2) So sánh sự giống và khác nhau giữa biến toàn cục và biến cục bộ? (1.25 điểm) 3). Xác định tính đúng (Đ), sai (S) của các phát biểu sau: (1.0 điểm) a. Mọi chương trình con viết dưới dạng hàm đều có thể chuyển về viết dưới dạng thủ tục. b. Tên của chương trình con không được đặt trùng với từ khoá. c. Cả hàm và thủ tục đều có thể có hoặc không có tham số hình thức. d. Số lượng tham số thực sự trong lời gọi chương trình con phải bằng với số lượng tham số hình thức ở phần khai báo chương trình con. 4). a. Hãy viết cấu trúc của hàm? (0.75 điểm) b. Tại sao phải khai báo kiểu dữ liệu cho tên hàm còn tên thủ tục thì không?. (0.75 điểm) 5). Viết chương trình tính (a b ) c , với a, b, c là các số nguyên được nhập từ bàn phím. Trong đó có xây dựng và sử dụng hàm tính n k (n, k là các số nguyên). (1.5 điểm) . 6); End. 11 . 1) Câu lệnh điền vào (…? ) để gọi chương trình con Nhan_biet_ts cho 2 biến a và b là: A. Nhan_biet_ts; B. Nhan_biet_ts(a ,b) ; C. Nhanbietts(a ,b) ; D. Writeln(Nhan_biet_ts(a ,b) ); 11 . 2) Writeln(Nhan_biet_ts(a ,b) ); 11 . 2) . C¸c biÕn x, y lµ c¸c : A. Tham số hình thức B. Tham số thực sự C. Biến toàn cục D. Biến cục b 11 .3) Tham số biến trong chương trình con trên là: A. a, b. B. x, y C. x D. y 12 . Trong các. “.” 11 . Program Tham_so; Var a, b: integer; Procedure Nhan_biet_ts(x: integer; var y: integer); begin x:=x -1; y:=y -1; writeln(x: 6; y: 6); end; Begin a: =1; b: =4; ………………?………………… writeln(a: 6; b: