1. Trang chủ
  2. » Cao đẳng - Đại học

de-thi-hoc-sinh-gioi-lop-9-mon-tin-hoc-nam-hoc-2013-20147

11 23 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 104,17 KB

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

Nội dung

c) Tìm chỉ số k để chia dãy thành hai phần (mỗi phần đều có ít nhất một phần tử) sao cho tổng k phần tử đầu tiên của dãy và tổng các phần tử còn lại có khoảng cách lớn nhất. Nếu có nhiều[r]

Trang 1

UBND HUYỆN QUẾ SƠN

PHÒNG GIÁO DỤC & ĐÀO TẠO KỲ THI HỌC SINH GIỎI LỚP 9 CẤP HUYỆN NĂM HỌC 2013-2014

Môn: Tin học

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

ĐỀ CHÍNH THỨC - VÒNG I

Bài 1: Số nguyên tố (3,0 điểm).

Viết chương trình cho phép nhập số tự nhiên N từ bàn phím rồi thực hiện:

a) Cho biết số tự nhiên N có phải là số nguyên tố không?

b) Cho biết số nguyên tố bé nhất lớn hơn N.

c) Số song tố là số nguyên tố mà tổng các chữ số của nó cũng là một số nguyên tố Hãy in ra các số song tố không lớn hơn N.

Yêu cầu: Thông báo KHONG CO khi không tìm thấy.

Bài 2: Tứ giác (3,0 điểm).

Viết chương trình cho phép nhập độ dài bốn cạnh AB, BC, CD, DA của tứ giác ABCD từ bàn phím rồi thực hiện:

a) Kiểm tra xem ABCD có phải là hình bình hành không?

b) Nếu ABCD là hình bình hành thì yêu cầu nhập độ dài đường chéo AC của

tứ giác rồi thực hiện:

- Kiểm tra sự phù hợp của độ dài đường chéo AC Yêu cầu nhập lại khi

độ dài đường chéo AC không phù hợp.

- Khẳng định chính xác hình dạng của tứ giác ABCD (là hình bình hành,

hình thoi, hình chữ nhật hay hình

vuông?).

- Tính diện tích tứ giác ABCD.

Trang 2

Bài 3: Phân số (4,0 điểm).

Viết chương trình cho phép nhập hai số nguyên a, b là tử và mẫu của phân số a

b từ bàn phím rồi thực hiện:

a) Rút gọn phân số

a

b để được phân số tối giản

m

n . b) Khi viết phân số

m

n dưới dạng số thập phân, hãy cho biết chữ số thập phân thứ nhất.

c) Phân số

m

n luôn biểu diễn được dưới dạng liên phân số:

0 1 2

k 1 k

a

1

1 a

1 a

a

 

 

ví dụ:

0

1

1 2 2

 

 Trong đó a0; a1; … ak là các số nguyên được xác định như sau:

- Chia tử cho mẫu lấy phần nguyên để được a0, lấy phần dư để được tử mới, giữ nguyên mẫu số.

- Lấy nghịch đảo phân số vừa có để được phân số mới.

- Lặp lại quá trình trên để được a1; a2 …

- Quá trình kết thúc khi được phân số có tử chia hết cho mẫu.

Quá trình biến đổi phân số

5

7 được thực hiện như sau:

         

Hãy in ra dãy số nguyên a0; a1; … ak trong biểu diễn phân số

m n

Trang 3

UBND HUYỆN QUẾ SƠN

PHÒNG GIÁO DỤC & ĐÀO TẠO KỲ THI HỌC SINH GIỎI LỚP 9 CẤP HUYỆN NĂM HỌC 2013-2014

Môn: Tin học

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

ĐỀ CHÍNH THỨC - VÒNG II

Bài 1: Ước số (3,0 điểm).

Viết chương trình cho phép nhập từ bàn phím số nguyên dương N rồi thực hiện: a) In ra số X < N sao cho X là ước của N và X có giá trị lớn nhất.

c) In ra số nguyên dương Y ≤ N sao cho tổng các ước nguyên dương của Y là lớn nhất Nếu có nhiều số cùng thỏa mãn điều kiện thì in số có giá trị bé nhất

b) In ra số nguyên dương Z ≤ N sao cho Z có số lượng các ước nguyên dương nhiều nhất Nếu có nhiều số cùng thỏa mãn điều kiện thì in số có giá trị bé nhất.

Bài 2: Dãy số (3,0 điểm).

Viết chương trình cho phép nhập dãy số thực a1; a2; a3; …; an Khoảng cách giữa hai số là khoảng cách giữa hai điểm khi biểu diễn chúng trên trục số Thực hiện:

a) Tìm giá trị của cặp số (am, an) sao cho chúng có khoảng cách lớn nhất.

b) Tìm chỉ số k để cặp số liên tiếp trong dãy (ak; ak+1) có khoảng cách bé nhất Nếu có nhiều cặp số thỏa mãn thì in cặp có chỉ số k bé nhất.

c) Tìm chỉ số k để chia dãy thành hai phần (mỗi phần đều có ít nhất một phần tử) sao cho tổng k phần tử đầu tiên của dãy và tổng các phần tử còn lại có khoảng cách lớn nhất Nếu có nhiều chỉ số k thỏa mãn thì in chỉ số k bé nhất.

Trang 4

Bài 3: Phân tích số (4,0 điểm).

Viết chương trình cho phép nhập vào từ bàn phím số tự nhiên N (1< N < 1000) Xuất ra màn hình các kết quả sau:

a) Phân tích số N thành tổng ba số nguyên dương a, b, c khác nhau (Các hoán vị của ba số a, b, c chỉ xem là một cách phân tích nên chỉ in ra một lần)

b) In ra số nguyên dương x và số nguyên dương k (k>1) sao cho tổng k số tự nhiên liên tiếp bắt đầu từ x bằng N Nếu có nhiều cặp số x, k thoả mãn thì in ra tất cả các cặp số x, k.

c) Tìm cặp số tự nhiên x, y lớn hơn 1 sao cho N = xy

Yêu cầu: Thông báo KHONG CO khi không tìm thấy.

Trang 5

UBND HUYỆN QUẾ SƠN

PHÒNG GIÁO DỤC & ĐÀO TẠO KỲ THI HỌC SINH GIỎI LỚP 9 CẤP HUYỆN NĂM HỌC 2013-2014

Môn: Tin học

HƯỚNG DẪN CHẤM – VÒNG I

Bài 1: Số nguyên tố (3,0 điểm)

a) Code tham khảo:

Program So_nguyen_to;

Var n,nn,i:integer;

ok: boolean;

Function nguyento(x:integer):Boolean;

var i:integer;

Begin

nguyento:=x>1;

For i:=2 to x-1 do if x mod i = 0 then nguyento:=false;

End;

0,50

Function tong(n:integer):integer;

Var s:integer;

Begin

s:=0;

while n>0 do

Begin

s:=s+n mod 10; n:=n div 10;

End;

tong:=s;

End;

0,50

Begin

Write('Nhap N: ');Readln(n);

if nguyento(n) then writeln('a) So n la so nguyen to')

else writeln('a) So n khong la so nguyen to');

0,25

nn:=n; nn:=nn+1;

While not nguyento(nn) do nn:=nn+1;

ok:=false;

Write('c) Cac so song to khong lon hon n la: ');

For i:=2 to n do

if nguyento(i) and nguyento(tong(i)) then

Begin write(i,'; '); ok:=true end;

1,00

Trang 6

if not ok then Write('KHONG CO');

Readln;

End.

b) Biểu điểm:

Bài 2: Tứ giác (3,0 điểm)

a) Code tham khảo:

Program Tu_giac;

Var AB,BC,CD,DA,AC,p,s:real;

Begin

Repeat

Write('Nhap AB = ');Readln(AB);

Write('Nhap BC = ');Readln(BC);

Write('Nhap CD = ');Readln(CD);

Write('Nhap DA = ');Readln(DA);

Until (AB>0) and (BC>0) and (CD>0) and (DA>0);

if (AB = CD) and (BC = DA) then

Begin

Writeln('Tu giac ABCD la hinh binh hanh');

0,50

Repeat

Write('Nhap duong cheo AC = ');Readln(AC);

if (AB <> BC) and (AB*AB+BC*BC <> AC*AC) then

Writeln('ABCD la hinh binh hanh');

if (AB <> BC) and (AB*AB+BC*BC = AC*AC) then

Writeln('ABCD la hinh chu nhat');

if (AB = BC) and (AB*AB+BC*BC <> AC*AC) then

Writeln('ABCD la hinh thoi');

if (AB = BC) and (AB*AB+BC*BC = AC*AC) then

Writeln('ABCD la hinh vuong');

1,00

p:= (AB+BC+AC)/2;

s:=2*sqrt(p*(p-AB)*(p-BC)*(p-AC));

Writeln('Dien tich cua tu giac la: ',S:4:2);

End

0,75

else Write('Tu giac ABCD khong la hinh binh hanh');

Readln;

b) Biểu điểm:

a) Kiểm tra được ABCD có/không là hình bình hành

Kiểm tra được số đo các cạnh tứ giác là số dương

3 1

0,50 0,25 b)

Xác định chính xác hình tính của tứ giác ABCD.

(Xây dựng 3 test tương ứng với 3 hình Riêng trường hợp hình vuông

căn cứ code để cho điểm)

0,25

Trang 7

Bài 3: Phân số (4,0 điểm)

a) Code tham khảo:

Program Phan_so;

Var a,b,d :integer;

x:real;

Function UCLN(a,b:integer):integer;

Var r:integer;

Begin

if b=0 then r := 0 else r:= a mod b;

while r<>0 do

Begin

a:=b;

b:=r;

r:=a mod b;

End;

if b<>0 then UCLN:=b else UCLN:=a;

End;

0,50

Begin

Write('Nhap a: ');Readln(a);

Repeat

Write('Nhap b: ');Readln(b);

until b<>0;

0,50

d:=UCLN(a,b);

a:=a div d; b:=b div d;

if b<>1 then Writeln('a) Phan so sau khi rut gon:

',a,'/',b)

else Writeln('a) Phan so sau khi rut gon: ',a) ;

0,75

Writeln('b) Chu so thap phan thu nhat la: ', (a mod b)*10

Write('c) Day so bieu dien: ');

while (a mod b) <> 0 do

Begin

Write(a div b,'; '); a:=a mod b;

d:=a; a:=b; b:=d;

End;

Write (a div b,';');

Readln;

End.

1,50

b) Biểu điểm:

a)

Test đúng với b = 0 (Yêu cầu nhập lại b)

In đúng phân số khi kết quả rút gọn là số nguyên.

1 1

0,25 0,25

Trang 8

UBND HUYỆN QUẾ SƠN

PHÒNG GIÁO DỤC & ĐÀO TẠO KỲ THI HỌC SINH GIỎI LỚP 9 CẤP HUYỆN NĂM HỌC 2013-2014

Môn: Tin học

HƯỚNG DẪN CHẤM – VÒNG II

Bài 1: Ước số (3,0 điểm).

a) Code tham khảo:

Program Uoc_so;

Var N,i,x,y,z,Maxt, Max: Integer;

ok:boolean;

Function souoc(a:integer):integer;

Var i,d:integer;

Begin

d:=0;

For i:=1 to a do if a mod i = 0 then d:=d+1;

souoc:=d;

End;

0,50

Function tonguoc(a:integer):integer;

Var i,d:integer;

Begin

d:=0;

For i:=1 to a do if a mod i = 0 then d:=d+i;

tonguoc:=d;

End;

0,50

Function Uoclon(x:integer):integer;

Var a:integer;

Begin

a:=x-1;

while (x mod a) <>0 do a:=a-1;

Uoclon :=a;

End;

0,50

Begin

Repeat Write('Nhap N: ');Readln(n);

until n>0;

if n>1 then Writeln('a) So X la uoc lon nhat cua ', n, ' la:

',uoclon(n))

else Writeln('a) Khong ton tai so X');

0,50

maxt:=tonguoc(1); y:=1;

For i:=1 to n do

if tonguoc(i)>maxt then

Begin

maxt:=tonguoc(i); y:=i;

0,50

Trang 9

End;

Writeln('b) So Y co tong uoc lon nhat la: ',y);

max:=souoc(1); z:=1;

For i:=1 to n do

if souoc(i)>max then

Begin max:=souoc(i); z:=i;

End;

Writeln('c) So Z co so uoc nhieu nhat la: ',z);

Readln;

End.

0,50

b) Biểu điểm:

a)

Bài 2: Dãy số (3,0 điểm).

a) Code tham khảo:

Program day_so;

Var n,i,k,kk:integer;

M:array[1 10] of real;

Max, Min, S,ss:real;

Begin

repeat

Write('Nhap so phan tu cua day: ');Readln(n);

until n>1;

For i:=1 to n do

Begin

Write('M[',i,']= '); Readln(M[i]);

End;

0,25

Min:=M[1];Max:=M[1];

For i:=2 to n do

Begin

if M[i]> Max then Max:=M[i];

if M[i]< Min then Min:=M[i];

End;

Writeln('Cap so co khoang cach lon nhat la:

',Max:2:1,';',Min:2:1);

0,75

k:=1; Min:=abs(M[1]-M[2]);

For i:=2 to n-1 do

if abs(m[i]-m[i+1]) < Min then

Begin

Min:=abs(m[i]-m[i+1]);

k:=i;

End;

Writeln('Vi tri k cua cap lien tiep co khoang cach be nhat la:

',k);

1,00

S:=0;

For i:=1 to n do S:=S+M[i];

kk:=1; Max:=abs(s-2*m[1]);

For k:=1 to n-1 do

Begin

ss:=0;

for i:=1 to k do ss:=ss+m[i];

if abs(s-2*ss)>Max then

Begin

kk:=k;

Max:=abs(s-2*ss);

End;

End;

Writeln('Vi tri de chia la: ',kk);

1,00

Trang 10

Readln;

End.

b) Biểu điểm

Bài 3: Phân tích số (4,0 điểm).

Program phan_tich_so;

Var n,x,y,z,k:longint;

ok:boolean;

Function tongk(x,k:integer):integer;

Var s,i:integer;

Begin

s:=0;

For i:=1 to k do s:=s+x+i-1;

tongk:=s;

End;

0,50

Function mu(x,y:longint):longint;

var p,i:longint;

Begin

p:=1;

For i:=1 to y do p:=p*x;

mu:=p;

End;

0,50

Begin

Write('Nhap so N: ');Readln(n); ok:=false;

Writeln('a) Phan tich n thanh tong ba so:');

For x:=0 to n do

For y:=x+1 to n do

For z:=y+1 to n do

if x+y+ z = n then

Begin Writeln(x,'+',y,'+',z,'=',n); ok:=true end;

if not ok then writeln('KHONG CO');

1,00

ok:=false;

Writeln('b) Phan tich n thanh tong k so tu nhien lien tiep: ');

For x:=1 to n do

For k:=2 to n do

if tongk(x,k)=n then

Begin Writeln('x= ',x,';k= ',k); ok:=true

End;

if not ok then writeln('KHONG CO');

1,00

ok:=false;

Writeln('c) Phan tich n thanh luy thua: ');

For x:=2 to n do

Begin

y:=2;

while mu(x,y)<=n do

Begin

if mu(x,y)=n then

Begin Writeln(x,'^',y,' = ',n); ok:=true

End;

y:=y+1;

1,00

Trang 11

End;

End;

if not ok then writeln('KHONG CO');

Readln;

End.

b) Biểu điểm:

a)

c)

Ngày đăng: 20/02/2021, 05:15

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w