1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề thi đáp án thi học sinh giỏi tin lớp 9

5 333 5

Đ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 5
Dung lượng 56 KB

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

Nội dung

PHềNG GIÁO DỤC–ĐÀO TẠOTRỰC NINH ĐỀ THI CHỌN HỌC SINH GIỎI NĂM HỌC 2009-2010 Mụn: TIN HỌC Lớp 9 ơ Thời gian làm bài: 120 phỳt khụng kể thời gian giao đề Lập chơng trình giải các bài toán

Trang 1

PHềNG GIÁO DỤC–ĐÀO TẠO

TRỰC NINH ĐỀ THI CHỌN HỌC SINH GIỎI NĂM HỌC 2009-2010

Mụn: TIN HỌC Lớp 9

ơ

Thời gian làm bài: 120 phỳt (khụng kể thời gian giao đề)

Lập chơng trình giải các bài toán sau:

Bài 1 (6,0 điểm): Dãy số

Nhập vào một dãy số nguyên, mỗi số nằm trên một dòng

cho đến khi gặp số 0 thì dừng lại (số 0 không đợc tính vào

dãy) Yêu cầu in ra màn hình:

- Số lợng các số thoả mãn trong dãy

- Số lợng các số nguyên dơng

- Số lợng các số là số nguyên tố

- Số lợng các số chia hết cho 3

Ví dụ minh hoạ màn hình thực hiện chơng trình:

Nhap mot day so nguyen vao:

2

3

11

12

6

9

17

-8

2009

0

So cac so thoa man la:9

So cac so nguyen duong la:8

So cac so nguyen to la:4

So cac so chia het cho 3 la:4

Bài 2 (7,0 điểm): Trả tiền

Anh Nam đi chợ mua một mặt hàng có giá trị là N đồng Trong túi anh Nam có nhiều tờ tiền với mệnh giá là 50 đồng, 100

đồng và 200 đồng Anh Nam có thể có nhiều cách trả tiền để

mua mặt hàng đó (anh Nam chỉ dùng các tờ tiền mà anh có

sẵn Anh không đa thừa tiền cho ngời bán vì ngời bán không có tiền trả lại).

Yêu cầu: Cho biết số tiền N (N nguyên và 10<=N<=30000);

đa ra tất cả các cách trả tiền của anh Nam thỏa mãn

Input: Vào từ file văn bản TRATIEN.INP chứa duy nhất số tự nhiờn N

(10<= N<=30000)

Output: Ghi ra file văn bản TRATIEN.OUT nếu cú nhiều cỏch thỡ in mỗi

cỏch trờn một dũng, nếu khụng cú cỏch nào thỡ in ra số -1

Ví dụ minh hoạ màn hình thực hiện chơng trình:

ĐỀ CHÍNH THỨC

Trang 2

200 0 x 50 + 0 x 100 + 1 x 200

0 x 50 + 2 x 100 + 0 x 200

2 x 50 + 1 x 100 + 0 x 200

4 x 50 + 0 x 100 + 0 x 200

Bài 3 ( 7,0 điểm) Mật khẩu

Một nhóm gồm k học sinh góp tiền mua một phần mềm dùng chung Khi cài đặt phần mềm này, người sử dụng cần phải nhập vào một mật khẩu Khi biết các khách hàng của mình là các học sinh say mê tin học, chủ cửa hàng thay vì đưa mật khẩu đã đưa cho mỗi bạn một con số khác nhau và sau đó nói rằng: Mật khẩu để cài đặt phần mềm là số nguyên dương nhỏ nhất gồm không quá chín chữ số chia hết cho bất cứ số nào trong các số tôi đã đưa cho các bạn

Yêu cầu: Biết tất cả các số mà chủ cửa hàng đã đưa cho các học sinh, hãy

tìm mật khẩu để cài đặt phần mềm.

Input: Vào từ file văn bản MATKHAU.INP Dòng đầu tiên chứa số học

sinh k (k <20) Dòng thứ hai chứa k số nguyên dương nhỏ hơn 20 mà ông chủ cửa hàng đã đưa cho các học sinh, hai số liên tiếp cách nhau bởi dấu cách

Output: Ghi ra file văn bản MATKHAU.OUT mật khẩu tìm được.

Ví dụ về input và output:

3

Chú ý: Bài 1 đặt tên là DAYSO.PAS

Bài 2 đặt tên là TRATIEN.PAS

Bài 3 đặt tên là MATKHAU.PAS

Hết

Trang 3

-HƯỚNG DẪN CHẤM Bài 1: 6,0 điểm

Văn bản chơng trình

- Mỗi Text đúng cho (chạy chơng trình để cho điểm)

2,0 đ

- Đa ra khuôn dạng không đúng yêu cầu trừ

0,5đ

- Thuật toán không tối u trừ

0,5đ

uses crt;

var N,dem,demd,dem3,snt,i:longint;

Nt:boolean;

g:text;

begin

clrscr;

writeln('Nhap mot day so nguyen vao:');

dem:=0;demd:=0;dem3:=0;snt:=0;

repeat

readln(N);inc(dem);

if N>0 then inc(demd);

if N>1 then

begin

Nt:=true;

for i:=2 to trunc(sqrt(N)) do

if N mod i=0 then NT:=False;

if NT then inc(snt);

end;

if N mod 3=0 then inc(dem3);

until N=0;

writeln('So cac so thoa man la:',dem-1);

writeln('So cac so nguyen duong la:',demd);

writeln('So cac so nguyen to la:',snt);

writeln('So cac so chia het cho 3 la:',dem3-1);

readln;

end

Bài 2: 7,0 điểm

- Đa ra khuôn dạng không đúng yêu cầu trừ

0,5đ

- Nếu dùng 3 vòng for trừ

0,5đ

Văn bản chơng trình

Var N,a,b:Integer;

f,g:text;

kt:boolean;

Begin

assign(f,'tratien.inp');reset(f);

assign(g,'tratien.out');rewrite(g);

read(f,N);

kt:=true;

If N mod 50=0 Then

Trang 4

For a:=0 to N div 50 do

For b:=0 to (N-50*a) div 100 do

If (N-50*a-100*b) mod 200 = 0 then

begin

Writeln(g,a,' x 50 + ',b,' x 100 + ',(N-50*a-100*b) div 200,' x 200'); kt:=false;

end;

if kt then write(g,-1);

close(f);close(g);

End

0 x 50 + 2 x 100 + 0 x 200

2 x 50 + 1 x 100 + 0 x 200

4 x 50 + 0 x 100 + 0 x 200

0 x 50 + 3 x 100 + 1 x 200

0 x 50 + 5 x 100 + 0 x 200

2 x 50 + 0 x 100 + 2 x 200

2 x 50 + 2 x 100 + 1 x 200

2 x 50 + 4 x 100 + 0 x 200

4 x 50 + 1 x 100 + 1 x 200

4 x 50 + 3 x 100 + 0 x 200

6 x 50 + 0 x 100 + 1 x 200

6 x 50 + 2 x 100 + 0 x 200

8 x 50 + 1 x 100 + 0 x 200

10 x 50 + 0 x 100 + 0 x 200

Bài 3: 7,0 điểm

- Mỗi Text đúng cho

1,0 đ

- Thuật toán không tối u trừ

0,5đ

Văn bản chơng trình

var f,g:text;

b,a:array[1 19] of Byte;

T,kq,du:longint;

N,i:Byte;

begin

assign(f,'matkhau.inp');reset(f);

assign(g,'matkhau.out');rewrite(g);

readln(f,N);

for i:=1 to N do read(f,a[i]):

kq:=a[1];

for i:=2 to N do

begin

T:=kq*a[i];

du:=kq mod a[i];

while du<>0 do

Trang 5

begin

kq:=a[i];

a[i]:=du;

du:=kq mod a[i];

end;

kq:=T div a[i];

end;

writeln(g,kq);

close(f);close(g);

end

3

5

15 16 17 18 19

232560

5

9 10 11 12 13

25740

10

1 2 3 4 5 6 7 8 9 10

2520

10

10 11 12 13 14 15 16 17 18 19

232792560

15

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

360360

19

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

232792560

Ngày đăng: 01/09/2017, 08:29

TỪ KHÓA LIÊN QUAN

w