Viết chương trình nhập vào ba số thực a, b, c.. Nếu có hãy tính diện tích của tam giác đó.. 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
Trang 1ĐỀ 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à
(xi,yi) đế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à:
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
Trang 2KÌ 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;
Trang 3BEGIN
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
Trang 4Câ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(thue_VAT:=sotien*0.1 :',diennang:5:1, ' VND');
Writeln('So tien phai tra :',sotien+thue_VAT:10:2, ' VND'); End;
Readln;
End.