- Thí sinh không đợc sử dụng tài liệu.. - Cán bộ coi thi không giải thích gì thêm.. Bài 12 điểm: Tạo file mang tên BAI1.PAS thực hiện chơng trình: Nhập vào 2 số nguyên dơng a, b từ bàn p
Trang 1
Phòng GD&ĐT quảng Trạch Đề thi HSG lớp 9 Môn tin học –
năm học 2010 – 2011
Thời gian làm bài: 150 phút - (Không kể thời gian giao đề)
L
u ý:
- Mỗi thí sinh tạo một Folder (Th mục) mang tên là: Tên và Số báo danh của thí sinh (Ví dụ: Long25) nằm trong D:\ và lu các file sau vào đúng Folder vừa tạo.
- Thí sinh không đợc sử dụng tài liệu.
- Cán bộ coi thi không giải thích gì thêm.
Bài 1(2 điểm): Tạo file mang tên BAI1.PAS thực hiện chơng trình:
Nhập vào 2 số nguyên dơng a, b từ bàn phím rồi kiểm tra xem hai số đó có phải là hai số nguyên tố cùng nhau không và tìm BCNN(a ; b).
Bài 2(2,5 điểm): Tạo file mang tên BAI2.PAS thực hiện chơng trình sau:
Nhập vào 3 cạnh a, b, c của tam giác ABC
a) Tính diện tích tam giác
b) Tính độ dài các đờng cao
Bài3(2 điểm):
Tạo file mang tên BAI3.PAS thực hiện chơng trình tỡm lời giải cho bài toỏn cổ sau:
“Trăm trâu trăm cỏ, trâu đứng ăn 5, trâu nằm ăn 3, lụ khụ trâu già 3 con một bó Hỏi bao nhiêu trâu đứng, trâu nằm, trâu già”
Bài 4(3,5 điểm): Tạo file mang tên BAI4.PAS thực hiện các yêu cầu sau :
a) Nhập một số n ( 5 n 15 ≤ ≤ ) từ bàn phím, sau đó sinh ra dãy gồm n số ngẫu nhiên
có giá trị từ 15 đến 300 và in ra màn hình dãy số trên Cho biết thuật toán sinh ra
số ngẫu nhiên từ a đến b là a+random(b-a+1).
b) Sắp xếp dãy tăng dần và in ra dãy sau sắp xếp
c) In ra cỏc phần tử là số nguyờn tố của dóy.
năm học 2010 – 2011
L
u ý :
- Các bài chạy đợc và có kết quả đúng thì đợc điểm tối đa theo biểu điểm Nếu không thì giám khảo căn cứ vào biểu điểm dới đây (trừ 0,5 điểm của bài đó).
- Đáp án chỉ trình bày cho một phơng án trả lời đúng, nếu thí sinh có lời giải khác đáp
án nhng đúng thì vẫn cho điểm tối đa.
Bài 1(2 điểm):
Trang 2Test NhËp 2 sè a, b KÕt qu¶
Uses crt;
Var a,b,aa,bb:integer;
Begin
Write('Nhap a : '); Readln(a);
Write('Nhap b : '); Readln(b);
aa:=a; bb:=b;
While aa<>bb Do
Begin
If aa>bb Then aa:=aa-bb Else bb:=bb-aa;
End;
If aa = 1 then writeln(a,',',b,' la hai so nguyen to cung nhau')
Else writeln(a,',',b,' khong la hai so nguyen to cung nhau'); Writeln('BCNN= ',a*b DIV aa);
Readln;
End
Bµi 2(2,5 ®iÓm):
program Bai2;
var
a, b, c,ha,hb,hc, S,p: real;
begin
write('Nhap 3 canh cua tam giac a, b, c : ');
readln(a,b,c);
{cau a}
p := (a+b+c)/2;
S := sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Dien tich S = ', S:0:5);
{cau b}
ha := 2*S/a;
hb := 2*S/b;
hc := 2*S/c;
writeln('Do dai cac duong cao: ');
writeln(' xuong canh a: ha = ', ha:0:5);
writeln(' xuong canh b: hb = ', hb:0:5);
writeln(' xuong canh c: hc = ', hc:0:5);
0,25 ®
0,25 ®
0,5 ® 0,25 ®
0, 5 ®
0,25 ®
0,25 ®
0,25 ®
0,5 ® 0,5 ®
Trang 3readln;
end
Bµi 3(2 ®iÓm):
program Bai3;
var
td,tn,tg : integer;
begin
writeln('Giai bai toan tram trau tram co.');
for td := 1 to 20 do
for tn := 1 to 33 do
begin
tg := 100 - td -tn;
if (tg mod 3=0) and (5*td + 3*tn + (tg div 3)=100) then
begin
writeln('Mot dap so la: ');
writeln('Trau dung: ',td);
writeln('Trau nam: ',tn);
writeln('Trau gia: ',tg);
writeln;
end;
end;
readln;
end
Bµi 4(3,5 ®iÓm):
Tes
t NhËp
kÕt qu¶
var
n,i,j,tam : integer;
a : array[1 15] of integer;
kt:boolean;
begin
{Cau a}
write('NHAP VAO SO PHAN TU N = ');
repeat
readln(n);
if (5<=n) and (n<=15) then break;
writeln('Khong hop le (5<=n<=15) Nhap lai!!!');
until false;
for i := 1 to n do
a[i]:= 15 + random(300-15+1);
for i := 1 to n do write(a[i],' ');
writeln;
{Cau b}
writeln('Cau b');
for i:=1 to n-1 do
for j:=i+1 to n do
0,5 ®
0,25 ®
0,25 ® 0,25 ®
0,25 ®
0,25 ®
0,5 ®
0,25 ®
0,25 ®
0,5 ®
Trang 4if a[i]>a[j] then
for i:=1 to n do
write(a[i],' ');
writeln;
{Cau c}
writeln('Cau c');
writeln('CAC SO NGUYEN TO TRONG DAY:');
for i := 1 to n do
begin kt:=true;
for j := 2 to round(sqrt(a[i])) do
if a[i] mod j = 0 then begin kt:=false;break; end;
if kt then write(a[i],' ');
end;
readln;
end
0,25 ® 0,25 ®
0,25 ® 0,25 ®
0,25 ®