TRƯỜNG THPT NGUYỄN CÔNG PHƯƠNG LỚP HỌ, TÊN: KIỂM TRA HỌC KỲ I MÔN: TIN HỌC 11 Thời gian làm bài: 45 phút Đề số 01 Câu hỏi và câu trả lời đều được thể hiện bằng ngôn ngữ Pascal. I/ PHẦN TRẮC NGHIỆM (6 điểm). Chọn câu trả lời đúng nhất trong từng câu hỏi và đánh dấu (x) vào bảng trả lời trắc nghiệm sau (mỗi câu trả lời đúng được 0,5 điểm): 1 2 3 4 5 6 7 8 9 10 11 12 A B C D 1. Tổ hợp phím nào dùng để thoát khỏi Pascal? A) Ctrl – F9 B) Shift – F9 C) Alt – F4 D) Alt – X 2. Để mở chương trình đã lưu, ta dùng: A) Tổ hợp phím Ctrl – O B) Phím F2 C) Phím F3 D) Tổ hợp phím Alt – F9 3. Tên nào sau đây không phải tên do người lập trình đặt? A) Progam B) User C) Conts D) Const 4. Kiểu dữ liệu chuẩn nào sau đây không phải của Pascal? A) Logic B) Boolean C) Longint D) Char 5. Khai báo nào sau đây là đúng? A) Var a=byte ; B) Program _T_H_; C) Uses CRT D) Const x:=3; 6. Phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if … then … (dạng thiếu)? A) Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu < > B) Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa cặp từ khóa begin và end C) Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa cặp từ khóa begin và end; D) Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa cặp từ khóa begin và end. 7. Giá trị của biến x bằng bao nhiêu sau khi kết thúc câu lệnh sau đây? if (9+1>=10) then x:=9+1 else x:=9*1-1; A) 10 B) 9 C) 8 D) 1 8. Giá trị của biến a bằng bao nhiêu sau khi kết thúc đoạn lệnh sau đây? a:=1; if (a-1<>0) then a:=a+2 else a:=a*a; A) 2 B) 0 C) 1 D) 3 9. Giá trị của biểu thức (2011 mod 2010)*2+(2011 div 2010)*2 bằng: A) 2 B) 4 C) 2010 D) 2011 10. Giá trị của biểu thức sqrt(10-sqr(4-sqrt(4))-2) A) 2 B) 4 C) 6 D) 10 11. Câu lệnh for-do nào sau đây là đúng cú pháp? A) for i=1 to 2 do z:=z+i; B) for i:=1 to 1 do z:=z+i; C) for i:=1 downto 1 do z=z+i; D) for i=2 downto 1 do z=z+i; 12. Câu lệnh nào dùng để tính tổng 5 1 4 1 3 1 2 1 +++= S ? Trang 1/2 A) For i:=1 to 5 do S:=S+1/(i+1); B) For i:=5 downto 1 do S:=S+1/(i-1); C) For i:=1 to 4 do S:=S+1/i; D) For i:=5 downto 2 do S:=S+1/i; II/ PHẦN TỰ LUẬN (4 điểm). Bài 1: (1 điểm) Viết biểu thức từ dạng toán học sang dạng biểu diễn tương ứng trong Pascal: a) yxyxyx +<+≤− → sqrt(x)+sqrt(y) >= sqrt(x-y) AND sqrt(x)+sqrt(y) <= sqrt(x+y) . b) yx x y x x − − + 2 → abs(sqr(x+x/y)-(x/(x-y))) . Bài 2: (1 điểm) Chuyển biểu thức từ dạng biểu diễn trong Pascal sang dạng biểu diễn toán học: a) abs(x-y)/(x*x+sqr(y)+1) → 1 22 ++ − yx yx b) d=sqrt(sqr(x-u)+sqr(y-v))→ 22 )()( vyuxd −+−= . Bài 3: (2 điểm) Cho chương trình viết bằng NNLT Pascal sau: Program Hoc_ky; {dòng 1} Var i, X, Y: byte; {dòng 2} Begin {dòng 3} X:=0; Y:=0; {dòng 4} For i:=1 to 2 do {dòng 5} If (i=2) then X:=X+i {dòng 6} Else Y:=Y+i; {dòng 7} End. {dòng 8} a) (Đề lẻ): Sau khi kết thúc chương trình thì giá trị của i và X lần lược là bao nhiêu? (Đề chẵn): Sau khi kết thúc chương trình thì giá trị của i và Y lần lược là bao nhiêu? b) Viết lại câu lệnh lặp tiến trong chương trình bằng câu lệnh lặp lùi. c) (Dành riêng cho lớp B1) Trong chương trình trên, có thể thay thế câu lệnh if… then dạng đủ bằng if… then dạng thiếu được không? Nếu được, hãy viết lại câu lệnh. a) (Mỗi đápán đúng được 0,5đ) (Đề lẻ): i = 3 và X = 2 . (Đề chẵn): i = 3 và Y = 1 b) (0,5đ cho lớp B1 – 1đ cho các lớp còn lại) for i:=2 downto 1 do . c) (0,5đ cho lớp B1) Có thể thay thế if… then (dạng đủ) bằng if… then (dạng thiếu) như sau: . begin if (i=2) then X:=X+i; . if (i<>2) then Y:=Y+i; end; Trang 2/2 . với câu lệnh rẽ nhánh if … then … (dạng thiếu)? A) Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu < > B) Nếu sau then. (9+1>=10) then x:=9+1 else x:=9*1-1; A) 10 B) 9 C) 8 D) 1 8. Giá trị của biến a bằng bao nhiêu sau khi kết thúc đoạn lệnh sau đây? a:=1; if (a-1<>0)