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

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

5 1,7K 37

Đ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 93 KB

Nội dung

Lập chương trình PASCAL thực hiện yêu cầu sau: Anh Việt đi chợ mua một mặt hàng có giá trị là N đồng.. Anh Việt có thể có nhiều cách trả tiền để mua mặt hàng đó anh Việt chỉ dù

Trang 1

UBND HUYỆN THANH SƠN

PHÒNG GD&ĐT

( Đề thi có 01 trang )

ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 - THCS CẤP HUYỆN

NĂM HỌC 2012 - 2013 Môn: Tin học

(Thời gian làm bài 150 phút không kể thời gian giao đề )

Bài 1 (4,0 điểm) Khởi động chương trình PASCAL, viết chương trình nhập số tự

nhiên n sao cho 5 < n ≤100, nếu nhập sai yêu cầu nhập lại khi nào nhập đúng thì tính tổng sn:

1.2 2.3 3.4 ( 1)

3.4 4.5 5.6 ( 2)( 3)

n

n n S

+

- Lưu bài với tên tệp tin: D:\THIHUYEN\B1SBDxxx.pas (trong đó xxx là số báo danh của thí sinh).

Bài 2 (6,0 điểm) Viết chương trình trên ngôn ngữ lập trình PASCAL, nhập vào hai số

tự nhiên x, y sao cho chương trình chỉ cho nhập các số tự nhiên x, y thỏa mãn 4 ≤ x

< 53 và 59 < y ≤ 121.

- In ra màn hình các số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm có bao nhiêu số như vậy?

- In ra màn hình các số chính phương m sao cho x < m < y và đếm có bao nhiêu số m?

- Lưu bài với tên tệp tin: D:\THIHUYEN\B2SBDxxx.pas (trong đó xxx là số báo danh của thí sinh).

Bài 3 (4,0 điểm) Lập chương trình PASCAL thực hiện yêu cầu sau:

Anh Việt đi chợ mua một mặt hàng có giá trị là N đồng Trong túi anh Việt có nhiều tờ tiền với mệnh giá là 100 đồng, 200 đồng và 1000 đồng Anh Việt có thể có nhiều cách trả tiền để mua mặt hàng đó (anh Việt 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: nhập vào từ bàn phím số N (N nguyên và 2<N<100 000); đưa ra màn hình tất cả các cách trả tiền của anh Việt thỏa mãn (Mỗi cách trả tiền trên một dòng, nếu không có cách trả tiền thì không cần thông báo gì; ch¬ng tr×nh kh«ng cÇn kiÓm tra d÷ liÖu vµo tõ bµn phÝm).

- Lưu bài với tên tệp tin: D:\THIHUYEN\B3SBDxxx.pas (trong đó xxx là số báo danh của thí sinh).

Bài 4 ( 6,0 điểm) Khởi động chương trình PASCAL, viết chương trình nhập vào một

dãy số nguyên n phần tử, n nhập từ bàn phím.

- In ra màn hình dãy số vừa nhập xếp theo thứ tự tăng dần.

- In ra màn hình các số nguyên tố trong dãy số vừa nhập và đếm xem đã nhập vào bao nhiêu số nguyên tố.

- Lưu bài với tên tệp tin: D:\THIHUYEN\B4SBDxxx.pas (trong đó xxx là số báo danh của thí sinh).

––––––––––––––––––– Hết ––––––––––––––––––––

Họ và tên thí sinh SBD

Chú ý: Cán bộ coi thi không giải thích gì thêm

ĐỀ CHÍNH THỨC

Trang 2

PHÒNG GD&ĐT THANH SƠN

HƯỚNG DẪN CHẤM THI CHỌN HSG LỚP 9 - THCS CẤP HUYỆN

NĂM HỌC 2012 – 2013

Môn: Tin học

Yêu cầu chung:

- Chương trình chạy cho kết quả đúng (có thể làm theo cách khác đáp án): khai báo đầy đủ, trình bày có cấu trúc rõ ràng cho điểm tối đa Không khai báo mỗi biến trừ 0.25 điểm

- Chương trình cho kết quả sai: Chỉ chấm phần các ý chính của thuật toán, mỗi ý đúng cho điểm không vượt quá 40% số điểm của câu

Bài 1 (4,0 điểm) Khởi động chương trình PASCAL, viết chương trình nhập số

tự nhiên n sao cho 5 < n ≤100, nếu nhập sai yêu cầu nhập lại khi nào nhập đúng thì tính tổng sn:

1.2 2.3 3.4 ( 1)

3.4 4.5 5.6 ( 2)( 3)

n

n n S

+

Uses Crt;

Var

n,i:Integer;

s:Real;

0,5

BEGIN

ClrScr;

Write(‘Nhap so tu nhien n=');Readln(n);

While ((n<=5) OR (n>100) do

Begin

Write(‘Nhap lai n thoa man 5 < n <=100, n = ');Readln(n);

end;

1

s:=0;

Readln

Bộ Test thư

Trang 3

Bài 2 (6,0 điểm) Viết chương trình trên ngôn ngữ lập trình PASCAL, nhập vào

hai số tự nhiên x, y sao cho chương trình chỉ cho nhập các số tự nhiên x, y thỏa mãn 4 ≤ x < 53 và 59 < y ≤ 121

- In ra màn hình các số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm có bao nhiêu số như vậy

- In ra màn hình các số chính phương m sao cho x < m < y và đếm có bao nhiêu số m

Uses Crt;

var x,y,i,d:longint;

BEGIN

ClrScr;

d:=0;

Write(‘Nhap so tu nhien x, y =');Readln(x,y);

While ((x<4) OR (x>=53) OR ( y<=59) OR (y>121) ) do

Begin

Write(‘Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121’);

Readln(n);

end;

writeln(‘Cac so le chia het cho 3 thoa man la:');

0,5

0,5

0,5 0,5 for i:=x to y do

if (i mod 2<>0)and(i mod 3=0) then

begin

write(i:6);

d: = d+1; end;

0,5 0,5

0,5 writeln;

writeln('Co tat ca:',d,' so le chia het cho 3');

writeln('Cac so chinh phuong lon hon’, x:4,’va nho hon’, y:4, ‘la: ‘);

d:=0;

For i: = x +1 to y -1 do

IF sqr(trunc(sqrt(i))) = i then

Begin write (I: 7); d:=d+1; end;

writeln; writeln(‘ Co tat ca ‘,d:6,’ so chinh phuong’);

readln;

End.

0,5 0,5 0,5 0,5

0,5

Bộ Test thư

3 64

4 64

Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121 Cac so le chia het cho 3 thoa man la:

9 15 21 27 33 39 45 51 57 63

Co tat ca: 10 so le chia het cho 3 Cac so chinh phuong lon hon 4 va nho hon 64 la:

9 16 25 36 49

Co tat ca 5 so chinh phuong

Trang 4

Bài 3 (4,0 điểm) Lập chương trình thực hiện yêu cầu sau:

Anh Việt đi chợ mua một mặt hàng có giá trị là N đồng Trong túi anh Việt có nhiều tờ tiền với mệnh giá là 100 đồng, 200 đồng và 1000 đồng Anh Việt có thể có nhiều cách trả tiền để mua mặt hàng đó (anh Việt 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: nhập vào từ bàn phím số N (N nguyên và 2<N<100 000); đưa ra màn hình tất cả các cách trả tiền của anh Việt thỏa mãn (Mỗi cách trả tiền trên một dòng, nếu không có cách thì không cần thông báo gì)

Lưu bài với tên tập tin: D:\THI\CAPHUYEN\Bai3.pas

Program tinhtien;

Begin

Write('Vao N='); Readln(N);

K:=0;

If N mod 100=0 Then

For a:=0 to N div 1000 do

For b:=0 to (N-1000*a) div 200 do

Begin c:=(N-1000*a-200*b) div 100;

Writeln(c,' x 100 +',b,' x 200 + ',a,' x 1000');

End;

readln;

End.

0.5

0,5 0,5 0,5 1,0 0,5

Bộ Test thư

Vao N=1000

10 x 100 + 0 x 200 + 0 x 1000

8 x 100 + 1 x 200 + 0 x 1000

6 x 100 + 2 x 200 + 0 x 1000

4 x 100 + 3 x 200 + 0 x 1000

2 x 100 + 4 x 200 + 0 x 1000

0 x 100 + 5 x 200 + 0 x 1000

0 x 100 + 0 x 200 + 1 x 1000

Bài 4 ( 6,0 điểm) Khởi động chương trình PASCAL, viết chương trình nhập vào

một dãy số nguyên n phần tử, n nhập từ bàn phím

- In ra màn hình dãy số vừa nhập xếp theo thứ tự tăng dần

- In ra màn hình các số nguyên tố trong dãy số vừa nhập và đếm xem đã nhập vào bao nhiêu số nguyên tố

Lưu bài với tên tập tin: D:\THI\CAPHUYEN\Bai4.pas

Uses crt;

Var

Trang 5

A: Array[1 100] of Integer;

n,i,j,dem: Byte;

tg: Integer;

function NT(n:longint):boolean;

var i:longint;

Kt:boolean;

begin

Kt:=true;

for i:=2 to round(sqrt(n)) do

if n mod i=0 then Kt:=false;

NT:=Kt;

end;

Begin

Write('Hay nhap vao so phan tu cua mang:');

Readln(n);

For i:= 1 to n do

Begin

Write('Nhap a[',i,']= '); Readln(a[i]);

End;

For i:= 1 to n-1 do

For j:= i to n do

If a[i]>a[j] then

Begin

End;

Writeln('Mang sau khi da sap xep la');

For i:= 1 to n do Write(a[i]:6);

Writeln;dem:=0;

Writeln('Nhung so nguyen to trong mang la');

For i:=1 to n do

If (a[i]>=2) and NT(a[i]) then

Begin

Write(a[i]:7); dem:= dem+1;

End;

Writeln; Writeln('so phan tu la so nguyen to trong mang la:',dem) ;

Readln;End.

0,5

1,5

0,5

1,5

0,5

0,5 0,5

0,5

Ghi chú: Học sinh có thể không sử dụng chương trình con nhưng chạy đúng

kết quả test vẫn cho điểm tối đa

Bộ Test thư

N = 6;a[1]=3; a[2]=-12; a[3]=-789; a[4]=71; a[5]=8; a[6]=3456;

Mang sau khi sap xep: -789 -12 3 8 71 3456

Nhung so nguyen to trong mang 3 71

So phan tu la so nguyen to trong mang la: 2

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w