1. Trang chủ
  2. » Giáo án - Bài giảng

Đề, đáp án HSG môn Tin Cấp Huyện

4 196 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 177 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- 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 2

Test 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 3

readln;

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 4

if 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 ®

Ngày đăng: 21/05/2015, 04:00

TỪ KHÓA LIÊN QUAN

w