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 và thủ tục 4.. 3 điểm Viết chương trình nhập dãy số nguyên a1, a2, …, a
Trang 1SỞ 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 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);
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?
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ố nguyên a1, a2, …, aN 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 (ai 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ố nguyên;
+ HOANDOI : dùng để tráo đổi hai số nguyên 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 + 5an (a số thực, n số nguyên) 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;
Trang 2SỞ 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 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);
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?
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ố nguyên a1, a2, …, aN 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 (ai 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ố nguyên;
+ HOANDOI : dùng để tráo đổi hai số nguyên 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 + 5an (a số thực, n số nguyên) 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;
Trang 3ĐÁP ÁN 11A7
I/ PHẦN TRẮC NGHIỆM: (3 điểm)
Câu Đề A1 Đề A2
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