Tải bản đầy đủ (.doc) (4 trang)

Đề thi HSG tin cấp huyện, có đáp án

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (132.74 KB, 4 trang )

ĐỀ THI CHỌN HỌC SINH GIỎI HUYỆN NĂM HỌC 2009 – 2010
MÔN TIN HỌC 9
Thời gian làm bài : 120 phút (không kể thời gian phát đề)
Họ và tên ………………………………… Trường THCS …………...…….…… SBD ….
Câu 1 (3 điểm): Sử dụng ngôn ngữ lập trình Pascal viết chương trình tính tổng
S =1/2+1/3+…+1/n. Với n được nhập từ bàn phím.
Câu 2 (3 điểm) : Hãy viết chương trình tính khoảng cách từ một điểm I có tọa độ là
(x
i
,y
i
) đến đường thẳng có phương trình là D: Ax + By + C = 0, biết rằng khoảng cách
từ I đến đường thẳng D là:
i i
2 2
Ax +By +C
d =
A -B
Câu 3 (3 điểm): Viết chương trình nhập một xâu kí tự, sau đó chỉ ra xem xâu đó có
phải là xâu đối xứng không (xâu đối xứng là xâu có các kí tự giống nhau và đối xứng
nhau qua điểm giữa xâu, ví dụ ‘ABBA’ hoặc ‘ABCBA’).
Câu 4 (5 điểm): Viết chương trình đổi một số nguyên dương từ hệ đếm cơ số 10
sang hệ đếm cơ số 2
Câu 5 (2 điểm). Viết chương trình nhập vào ba số thực a, b, c. Xét xem a, b, c có
thành lập ba cạnh của một tam giác hay không ? Nếu có hãy tính diện tích của tam
giác đó.
Câu 6 (4 điểm). Định mức tiền điện hàng tháng của một hộ gia đình như sau:
+ 50 kWh đầu tiên có giá là 600vnđ/1kWh.
+ 50 kWh tiếp theo có giá là 1004vnđ/1kWh.
+ 50 kWh tiếp theo nữa có giá là 1214vnđ/1kWh.
Viết chương trình nhập chỉ số điện năng tiêu thụ cũ, chỉ số điện năng tiêu thụ


mới. Hãy tính và in ra số điện năng tiêu thụ và tiền điện phải trả trong tháng của hộ
gia đình trên. Mức giá này chưa bao gồm thuế giá trị gia tăng (VAT). Hãy viết
chương trình tính thuế VAT 10%.
Ví dụ : Hộ gia đình A sử dụng 145kWh trong 1 tháng thì phải trả 148.313đ
(trong đó, thuế 10% là 13.483đ, tiền chưa thuế là 134.830đ).
HẾT.
Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không được giải thích gì thêm.
ĐỀ CHÍNH THỨC
KÌ THI CHỌN HỌC SINH GIỎI HUYỆN LỚP 9 (NH 2009 – 2010)
HƯỚNG DẪN CHẤM MÔN TIN HỌC
Yêu cầu : chương trình chạy không bị lỗi logic. Thí sinh có thể trình bày thuật toán sáng tạo,
khác với đáp án mà vẫn đảm bảo yêu cầu đề ra thì vẫn được điểm tối đa của câu đó.
Các giám khảo dựa trên chương trình trên máy tính để chấm bài cho thí sinh. Thảo luận để
thống nhất thang điểm chi tiết cho từng bài.
Trong khi coi thi, cần để ý đến độ nhanh nhạy, sáng tạo của HS để khuyến khích điểm
Chương trình chạy không bị lỗi logic: 0,5đ
Kiểm tra thuật toán: chạy thử đúng kết quả: 1,5đ
Câu 1 (2điểm):
Program Tinh_tong;
Var S:real;
i,n:integer;
begin
s:=0;
write(' Enter n=');readln(n);
for i:=1 to n do s:=s+1/i;
write('s=',s:5:2);
end.
Câu 2(2điểm):
Program khg_cach;
Var d, A, B, C, Xo, Yo:real;

BEGIN
Writeln('Chuong trinh tinh khoang cach tu I(Xo,Yo)den Ax+By+C=0');
Writeln('Hay nhap vao ba he so');
Write('He so A='); Readln(A);
Write('He so B='); Readln(B);
Write('He so C='); Readln(C);
Writeln('Go vao toa do Xi,Yi cua diem I');
Write('Xi='); Readln(Xo);
Write('Yi='); Readln(Yo);
d:=((A*Xo)+(B*Yo)+C)/SQRT(SQR(A)+SQR(B));
Writeln('Khoang cach d = ',d:6:2);
Readln
End.
Câu 3(3điểm):
Uses Crt;
Var St : string;
dx : Boolean;
i, len: byte;
BEGIN
Clrscr;
Write(' Nhap xau St = '); Readln(St);
dx:= True;
i:=1;
len:= Length(St);
While dx and (i<=(len div 2)) do
Begin
dx:=(St[i] = St[len - i+1]);
inc(i);
End;
If dx then Write(' St la xau doi xung ')

Else Write(' St khong phai la xau doi xung ') ;
Readln;
END .
Câu 4(5điểm):
PROGRAM DOI_SO;
USES Crt;
Type
Hehai=0..1;
Kyso=Array[1..15]of hehai;
Var i,k,n:Integer;
Vt:Kyso;
BEGIN
CLRSCR;
Write('Nhap vao mot so nguyen :');
Readln(n);
Writeln('So ',n,' doi sang he hai la: ');
k:=0;
While n<>0 do
Begin
Vt[k]:=n mod 2;
n:=n div 2;
k:=k+1
end;
If k>0 then
k:=k-1;
For i:=k downto 0 do
Write(Vt[i]);
Readln
End.
Câu 5 (2đ). Viết chương trình nhập vào ba số thực a, b, c. Xét xem a, b, c có thành lập

ba cạnh của một tam giác hay không? Nếu có hãy tính diện tích của tam giác đó.
Program Tam_giac;
Var a, b, c, p, s: real;
Begin
Writeln(‘Nhap 3 so thuc’);
Write(‘Nhap a = ’);readln(a);
Write(‘Nhap b = ’);readln(b);
Write(‘Nhap c = ’);readln(c);
If (a+b>c) and (b+c>a) and (c+a>b) and (a>0) and (b>0)and (c>0) then
Begin
Writeln(‘Ba so lap thanh 3 canh cua tam giac’);
p:=(a+b+c)/2;
s:= sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘Dien tich cua tam giac la:’, s);
End
Else
Writeln(‘Ba so nay khong lap thanh 3 canh cua tam giac’);
Readln;
End.
Câu 6 (4đ). Định mức tiền điện hàng tháng của một hộ gia đình như sau:
+ 50 kWh đầu tiên có giá là 600vnd/1kWh.
+ 50 kWh tiếp theo có giá là 1004vnd/1kWh.
+ 50 kWh tiếp theo có giá là 1214vnd/1kWh.
Viết chương trình nhập chỉ số điện năng tiêu thụ cũ, chỉ số điện năng tiêu thụ mới.
Hãy tính và in ra số điện năng tiêu thụ và tiền điện phải trả trong tháng của hộ gia đình trên.
Mức giá này chưa bao gồm thuế giá trị gia tăng (VAT). Hãy viết chương trình tính thuế VAT
10%.
Ví dụ : hộ gia đình A sử dụng 145kWh trong 1 tháng thì phải trả 148.313đ (trong đó,
thuế 10% là 13.483đ, tiền chưa thuế là 134.830đ).
Program tiendien;

Var diennang,socu,somoi,sotien,thue_VAT:real;
Begin
Write('Nhap vao chi so cu: ');
Readln(socu);
Write('Nhap vao chi so moi: ');
Readln(somoi);
if socu>somoi then writeln('Ban da nhap sai')
Else
Begin
diennang:=somoi-socu;
if diennang<=50 then sotien:=diennang*600
else if diennang<=100 then sotien:=50*600+(diennang-
50)*1004
Else sotien:=50*600+50*1004+(diennang-
100)*1214;
Writeln('So dien n ng tieu thu :',diennang:5:1, ' kWh');ă
Writeln(thue_VAT:=sotien*0.1 :',diennang:5:1, ' VND');
Writeln('So tien phai tra :',sotien+thue_VAT:10:2, ' VND');
End;
Readln;
End.

×