SỞ GD - ĐT BÌNH ĐỊNH ĐỀKIỂMTRA HỌC KÌ II - Năm học: 2008 - 2009 Trường THPT số 2 Phù Cát Môn: Tin học – Lớp 11A7 - Thời gian: 45 phút Mã đề: A1 I/ PHẦN TRẮC NGHIỆM: (3 điểm) 1. Dữ liệu kiểu tệp được lưu trữ lâu dài ở đâu? A. RAM B. Bộ nhớ ngồi C. ROM D. Bộ nhớ trong 2. Trong khai báo hàm Function ABC (m, n : Byte) : Byte; thì biến m, n gọi là gì? A. Biến cục bộ B. Tham số thực sự C. Tham số biến D. Biến tồn cục 3. Biến tồn cục là gì? A. Biến được khai báo trong thủ tục B. Biến được khai báo trong chương trình chính C. Biến được khai báo trong hàm D. Biến được khai báo trong hàm và thủ tục 4. Câu lệnh nào dưới đây dùng để mở tệp văn bản DATA.TXT trong thư mục gốc của đĩa C để đọc dữ liệu? A. Assign(m1, 'C:\DATA.TXT'); Reset(m1); B. Assign(m1, 'C:\DATA.TXT'); Rewrite(m1); C. Rewrite(m1); D. Reset(m1); 5. Các biến trong lời gọi chương trình con (nếu có) được gọi là gì? A. Tham số hình thức B. Tham số biến C. Tham số thực sự D. Tham số giá trị 6. Với khai báo hàm F như sau, thì trong chương trình chính lời gọi hàm F(2) sẽ trả về giá trị nào sau đây? A. 0 B. 5 C. 2 D. 8 II/ PHẦN TỰ LUẬN: (7 điểm) Bài 1. (2 điểm) Hãy đọc chương trình sau đây và cho biết kết quả hiện trên màn hình? Program Bai1; Var a, b :integer; Function UCLN(Var x :integer; y: integer):integer; Var r:integer; Begin while y<>0 do begin r := x mod y; x := y; y := r; end; UCLN:=x; End; BEGIN {main program} a := 27; b:= 36; writeln(a,‘ ‘, b); writeln(UCLN(a,b)); writeln(a,‘ ‘, b); writeln(2 + 2*UCLN(a,b)); readln; END. Bài 2. (3 điểm) Viết chương trình nhập dãy số ngun a 1 , a 2 , …, a N từ bàn phím rồi xuất ra màn hình dãy số được sắp xếp thành dãy khơng giảm (a i ≤ a i+1 ), trong chương trình chính có sử dụng chương trình con gồm các thủ tục sau: + NHAP : dùng để nhập dãy số ngun; + HOANDOI : dùng để tráo đổi hai số ngun x và y; + XUAT : dùng để xuất ra màn hình dãy số được sắp xếp; + SAPXEP : dùng để sắp xếp dãy số có sử dụng thủ tục HOANDOI – tráo đổi hai phần tử kề nhau. Bài 3. (2 điểm) Viết chương trình tính giá trị của biểu thức y = 3 + 5a n (a số thực, n số ngun) với dữ liệu đầu vào được đọc từ tệp BAI3.INP và kết quả ghi vào tệp BAI3.OUT đã tạo trong thư mục gốc của đĩa F. Function F (Var a: Integer) : Integer; Begin a := a mod 5; F := a; End; SỞ GD - ĐT BÌNH ĐỊNH ĐỀKIỂMTRA HỌC KÌ II - Năm học: 2008 - 2009 Trường THPT số 2 Phù Cát Môn: Tin học – Lớp 11A7 - Thời gian: 45 phút Mã đề: A2 I/ PHẦN TRẮC NGHIỆM: (3 điểm) 1. Dữ liệu kiểu tệp được lưu trữ lâu dài ở đâu? A. ROM B. Bộ nhớ trong C. RAM D. Bộ nhớ ngồi 2. Câu lệnh nào dưới đây dùng để mở tệp văn bản DATA.TXT trong thư mục gốc của đĩa C để đọc dữ liệu? A. Assign(m1, 'C:\DATA.TXT'); Rewrite(m1); B. Assign(m1, 'C:\DATA.TXT'); Reset(m1); C. Reset(m1); D. Rewrite(m1); 3. Các biến trong lời gọi chương trình con (nếu có) được gọi là gì? A. Tham số hình thức B. Tham số thực sự C. Tham số biến D. Tham số giá trị 4. Trong khai báo hàm Function ABC (m, n : Byte) : Byte; thì biến m, n gọi là gì? A. Biến cục bộ B. Biến tồn cục C. Tham số biến D. Tham số thực sự 5. Biến tồn cục là gì? A. Biến được khai báo trong thủ tục B. Biến được khai báo trong hàm C. Biến được khai báo trong chương trình chính D. Biến được khai báo trong hàm và thủ tục 6. Với khai báo hàm F như sau, thì trong chương trình chính lời gọi hàm F(2) sẽ trả về giá trị nào sau đây? A. 0 B. 2 C. 5 D. 8 II/ PHẦN TỰ LUẬN: (7 điểm) Bài 1. (2 điểm) Hãy đọc chương trình sau đây và cho biết kết quả hiện trên màn hình? Program Bai1; Var a, b :integer; Function UCLN(Var x :integer; y: integer):integer; Var r:integer; Begin while y<>0 do begin r := x mod y; x := y; y := r; end; UCLN:=x; End; BEGIN {main program} a := 27; b:= 36; writeln(a,‘ ‘, b); writeln(UCLN(a,b)); writeln(a,‘ ‘, b); writeln(2 + 2*UCLN(a,b)); readln; END. Bài 2. (3 điểm) Viết chương trình nhập dãy số ngun a 1 , a 2 , …, a N từ bàn phím rồi xuất ra màn hình dãy số được sắp xếp thành dãy khơng giảm (a i ≤ a i+1 ), trong chương trình chính có sử dụng chương trình con gồm các thủ tục sau: + NHAP : dùng để nhập dãy số ngun; + HOANDOI : dùng để tráo đổi hai số ngun x và y; + XUAT : dùng để xuất ra màn hình dãy số được sắp xếp; + SAPXEP : dùng để sắp xếp dãy số có sử dụng thủ tục HOANDOI – tráo đổi hai phần tử kề nhau. Bài 3. (2 điểm) Viết chương trình tính giá trị của biểu thức y = 3 + 5a n (a số thực, n số ngun) với dữ liệu đầu vào được đọc từ tệp BAI3.INP và kết quả ghi vào tệp BAI3.OUT đã tạo trong thư mục gốc của đĩa F. Function F (Var a: Integer) : Integer; Begin a := a mod 5; F := a; End; ĐÁP ÁN 11A7 I/ PHẦN TRẮC NGHIỆM: (3 điểm) Câu Đề A1 Đề A2 1 B D 2 A B 3 B B 4 A A 5 C C 6 C B II/ PHẦN TỰ LUẬN: (7 điểm) Bài 1. (2 điểm) Bài 2. (3 điểm) Program BT2; Var a : array[1 100] of integer; Procedure NHAP; Var i,n: integer; Begin write('Nhap N:');readln(N); for i:=1 to N do begin write(‘a[‘,i,’]=’); readln(a[i]); end; End; Procedure HOANDOI(Var x,y:integer); Var tg : integer; Begin tg := x; x := y; y := tg; End; Procedure SAPXEP; Var i,j : integer; Begin for j := N downto 2 do for i := 1 to j-1 do if a[i] > a[i+1]then HOANDOI(a[i],a[i+1]); End; Procedure XUAT; Begin for i:=1 to N do write(a[i]:4); End; BEGIN NHAP; SAPXEP; XUAT; Readln; END. Bài 3. (2 điểm) Program BT3; Var n,i : integer; t,y,a : real; f1,f2 : text; BEGIN Assign(f1, 'F:\Bai3.Inp');Reset(f1); Assign(f2, 'F:\Bai3.Out');Rewrite(f2); read(f1,a,n); {readln(f1,a,n);} t := 1; for i:=1 to n do t := t*a; y:= 3 + 5*t; writeln(f2,‘Gia tri bieu thuc la:’, y:6:2); close(f1);close(f2); Readln; END. 27 36 9 9 36 20 . GD - ĐT BÌNH ĐỊNH ĐỀ KIỂM TRA HỌC KÌ II - Năm học: 2008 - 2009 Trường THPT số 2 Phù Cát Môn: Tin học – Lớp 11A7 - Thời gian: 45 phút Mã đề: A1 I/ PHẦN TRẮC. GD - ĐT BÌNH ĐỊNH ĐỀ KIỂM TRA HỌC KÌ II - Năm học: 2008 - 2009 Trường THPT số 2 Phù Cát Môn: Tin học – Lớp 11A7 - Thời gian: 45 phút Mã đề: A2 I/ PHẦN TRẮC