Câu 4: 4,5đCho mảng T gồm 20 phần tử thuộc kiểu nguyên?. Viết chương trình con thực hiện các yêu cầu sau: a Viết thủ tục nhập giá trị cho mảng T từ bàn phím?. b Viết hàm tính giá trị tru
Trang 1ĐỀ THI HỌC KỲ II NĂM HỌC 2010 - 2011 MÔN TIN HỌC KHỐI 11 (Thời gian: 45phút)
KiÓu tÖp
1
C©u 2 1
1
1
Ch¬ng tr×nh con 3 c©u 1,3
3
2 c©u 4a, Câu 5
3
3 C©u 4b,c 3
8
9
Tæng céng
4
4
2
3
3 3
9
10.0
Đề 1
Câu 1: Hàm là gì? cho ví dụ? Nêu cấu trúc cú pháp của hàm? (1,5đ)
Câu 2: (1đ)
Cho chương trình sau:
Var f:text;
Begin
Assign(f, ‘ABC.txt’);
Rewrite(f)
Write(f, 105+304-234);
close(f)
end
Sau khi thực hiện chương trình tệp ABC.txt có nội dung như thế nào?
Câu 3: (1.5đ)
CHo chương trình sau:
Var a,b :Integer;
Procedure Hoandoi(Var a,b:Integer);
Var tg: Integer;
Begin
tg:= a; a:=b; b:= tg;
end;
Begin
a:= 10; b:= 11;
Hoandoi(b,a);
Write(a, ‘’, b);
end
Câu 4: (4,5đ)Cho mảng T gồm 20 phần tử thuộc kiểu nguyên? Viết chương trình con thực hiện các yêu cầu sau:
a) Viết thủ tục nhập giá trị cho mảng T từ bàn phím?
b) Viết hàm tính giá trị trung bình của các phần tử vừa nhập?
Câu hỏi Quan sát và cho biết:
+ CTC 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ộ?
+ CTC trên dùng để làm gì?
+ Lời gọi của CTC trong chương trình chính là lệnh nào?
Trang 2c) Tính tổng các phần tử lẻ , chẵn trong mảng T?
Câu 5(1,5) Viết chương trình con nhập vào 1 xâu s1 dài 15 kí tự và in ra xâu vừa nhập?
Đề 2
Câu 1: Thủ tục là gì? cho ví dụ? Nêu cấu trúc cú pháp của thủ tục? (1,5đ)
Câu 2: (1đ)
Cho chương trình sau:
Var f:text;
Begin
Assign(f, ‘ABC.txt’);
Rewrite(f)
Write(f, 105+304-234);
close(f)
end
Sau khi thực hiện chương trình tệp ABC.txt có nội dung như thế nào?
Câu 3: (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 x, y, z:’);
readln(x,y,z);
S:= tong(x,y,z);
writeln(‘tong:’,S);
readln
end
Câu 4: (4,5đ)Cho mảng A gồm 10 phần tử thuộc kiểu nguyên? Viết chương trình con thực hiện các yêu cầu sau:
a) Viết thủ tục nhập giá trị cho mảng A từ bàn phím?
b) Đếm xem trong mảng có bao nhiêu phần tử chẵn, lẻ;
c) In ra màn hình giá trị trung bình của các phần tử trongmảng A
Câu 5(1,5) Viết chương trình con nhập vào 1 xâu s dài 10 kí tự và in ra xâu vừa nhập?
Câu hỏi Quan sát và cho biết:
+ CTC 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ộ?
+ CTC trên dùng để làm gì?
+ Lời gọi của CTC trong chương trình chính là lệnh nào?
Trang 3Đáp án:
Đề 1:
1 - Hàm là chương trình con thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó. 0,5điểm
- Cấu trúc cú pháp của hàm:
Function <tên hàm>[<Danh sách tham số >] : <kiểu dữ liệu>;
[<phần khai báo>]
Begin [<dãy các lệnh>]
end;
0,5 điểm
2 - Sau khi thực hiện chương trình tệp ABC.txt có nội dung là kết quả: 175 1điểm
3 -- Chương trình con trên viết theo dạng thủ tục Các tham số thực sự là a= 10 ; b= 11 0,5điểm
- Tên các biến cục bộ: tg
- Chương trình con trên dùng để hoán đổi gia trị của 2 số nguyên cho nhau
0,5điểm
- Lời gọi của chương trình con trong chương trình chính là: Hoandoi(b,a) 0,5điểm
4
a) Thủ tục nhập giá trị của mảng T từ bàn phím:
Procedure nhap(var B:km);
var i:byte;
begin for i:= 1 to 10 do begin
writeln(`nhap b[`,i,`]=`);
readln(b[i]);
end;
end;
1,5điểm
b) Hàm tính giá trị trung bình của các phần tử của mảng:
function tbinh(var b:km):real;
var i, tong: integer;
begin tong:= 0;
for i:= 1 to 10 do tong:= tong+b[i];
tbinh:= tong/10;
end;
1điểm
c) Tính tổng các phần tử lẻ, chẵn trong mảng T *) function tongchan(var b:km):real;
var i, tong: integer;
begin tong:= 0;
for i:= 1 to 10 do
if b[i]mod 2 = 0 then tong:= tong+b[i];
tongchan:= tong;
end;
*) function tongchan(var b:km):real;
var i, tong: integer;
begin tong:= 0;
1điểm
1điểm
Trang 4for i:= 1 to 10 do
if b[i]mod 2 <>0 then tong:= tong+b[i];
tongchan:= tong;
end;
5 Chương trình con nhập xâu và in ra xâu:
Procedure nhap;
var s:string[15];
Begin write(`nhap xau`); readln(s);
writeln(s);
End;
1,5điểm
Đề 2:
1 - Thủ tục là chương trình con thực hiện một số thao tác nhất định nhưng không trả về một giá trị qua tên của nó. 0,5điểm
- Cấu trúc cú pháp của hàm:
Procedure <tên thủ tục>[<Danh sách tham số >] ; [<phần khai báo>]
Begin [<dãy các lệnh>]
end;
0,5 điểm
2 - Sau khi thực hiện chương trình tệp ABC.txt có nội dung là kết quả: 175 1điểm
3 -- Chương trình con trên viết theo dạng hàm Các tham số thực sự là x, y, z 0,5điểm
- Tên các biến cục bộ: không có
- Chương trình con trên dùng tính tổng ba số nguyên nhập từ bàn phím
0,5điểm
- Lời gọi của chương trình con trong chương trình chính là: tong(x,y,z) 0,5điểm
4
a) Thủ tục nhập giá trị của mảng A từ bàn phím:
Procedure nhap(var A:km);
var i:byte;
begin for i:= 1 to 10 do begin
writeln(`nhap b[`,i,`]=`);
readln(b[i]);
end;
end;
1,5điểm
b) Đếm các phần tử lẻ, chẵn trong mảng T *) function demchan(var b:km):real;
var i, sochan: integer;
begin sochan:= 0;
for i:= 1 to 10 do
if b[i]mod 2 = 0 then sochan:=sochan+1;
demchan:=sochan;
end;
*) function demle(var b:km):real;
var i, sole: integer;
1điểm
1điểm
Trang 5begin sole:= 0;
for i:= 1 to 10 do
if b[i]mod 2 <> 0 then sole:=sole+1;
demle:=sole;
end;
c) Hàm tính giá trị trung bình của các phần tử của mảng:
Procedure inTB(var b:km);
var i, tong: integer;
tb:real;
begin tong:= 0;
for i:= 1 to 10 do tong:= tong+b[i];
tb:= tong/10;
writeln(`gia trị trung binh cua mang la:`,tb:8:3);
end;
1điểm
5 Chương trình con nhập xâu và in ra xâu:
Procedure nhap;
var s:string[15];
Begin write(`nhap xau`); readln(s);
writeln(s);
End;
1,5điểm