Tải bản đầy đủ (.doc) (25 trang)

TUYỂN TẬP ĐỀ THI HỌC SINH GIỎI TIN HỌC LỚP 9

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (298.5 KB, 25 trang )

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

HUYỆN

PHÒNG GD&ĐT

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

ĐỀ CHÍNH THỨC

(Thời gian làm bài 150 phút không kể thời gian giao đề )
( Đề thi có 01
trang )
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:
Sn =

1.2 2.3 3.4
n.(n + 1)
+
+
+ ... +
3.4 4.5 5.6
(n + 2)(n + 3)

- 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à 2mà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
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:
Yêu cầu chương trình chạy thông suốt.

( 2-3 điểm)

+ Hoàn thành đúng phần khai báo các biến:

(0,25 điểm)

+ Viết đúng chương trình nhập mảng:

(0,25 điểm)

+ Viết đúng thuật toán (cách giải) tính tổng:

(1-2 điểm)

2


+ Viết đúng thủ tục tạo và ghi kết quả vào tệp:

(0,5 điểm)


- 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:
Sn =

1.2 2.3 3.4
n.(n + 1)
+
+
+ ... +
3.4 4.5 5.6
(n + 2)(n + 3)

Chương trình tham khảo
Uses Crt;

Điểm

Var

0,5

n,i:Integer;
s:Real;
BEGIN

ClrScr;
Write(‘Nhap so tu nhien n=');Readln(n);
While ((n<=5) OR (n>100) do

1

Begin
Write(‘Nhap lai n thoa man 5 < n <=100, n = ');Readln(n);
end;
s:=0;
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3));
Write(‘s=’,s:4:3);
Readln
END.
Bộ Test thư
n nhập vào
4
5

Kết quả thông báo hoặc kết quả S trên màn hình
Nhap lai n thoa man 5 < n <=100, n =
1.879
3

1,5
0,5
0,5


6

2.462
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.
Chương trình tham khảo
Uses Crt;

Điểm

var x,y,i,d:longint;

0,5

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

0,5

Begin
Write(‘Nhap lai x, y thoa man 4<=x< 53 va 59

Readln(n);
end;
writeln(‘Cac so le chia het cho 3 thoa man la:');
for i:=x to y do

0,5
0,5
0,5

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

0,5

write(i:6);
d: = d+1;
writeln;

end;

0,5

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

0,5

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

0,5


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


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

0,5

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

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

0,5

readln;
End.

0,5
Bộ Test thư

Dữ liệu vào
3 64

Dữ liệu ra
Nhap lai x, y thoa man 4<=x< 53 va 59
4 64


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
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à 2mà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
Chương trình tham khảo
Program tinhtien;

Điểm
0,5

Var N,K,a,b,c:Longint;
Begin
Write('Vao N='); Readln(N);

0.5

5


K:=0;
If N mod 100=0 Then

0,5

For a:=0 to N div 1000 do

0,5

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

0,5

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

1,0

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

0,5

End;
readln;
End.
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
Chương trình tham khảo
Uses crt;

Điểm

Var
A: Array[1..100] of Integer;
n,i,j,dem: Byte;

0,5

tg: Integer;
6


function NT(n:longint):boolean;
var i:longint;
Kt:boolean;

begin
Kt:=true;

1,5

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

0,5

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
tg:= a[i];

1,5
a[i]:=a[j];


a[j]:= tg;

End;
Writeln('Mang sau khi da sap xep la');
For i:= 1 to n do Write(a[i]:6);
Writeln;dem:=0;

0,5

Writeln('Nhung so nguyen to trong mang la');
For i:=1 to n do
If (a[i]>=2) and NT(a[i]) then
Begin

0,5

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


End;

0,5

Writeln; Writeln('so phan tu la so nguyen to trong mang la:',dem) ;
Readln;End.
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

Nhung so nguyen to trong mang

3

8

3

71

3456

71

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


PHÒNG GD&ĐT
VĨNH TƯỜNG
ĐỀ CHÍNH THỨC

ĐỀ THI CHỌN HSG 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

Lưu ý: Đề thi có 02 trang
Bài 1. (3 đ). Bộ số Py – ta – go (Tên file Pytago.pas)
Một bộ ba số tự nhiên được gọi là bộ số Py-ta-go nếu thỏa mãn điều kiện: bình phương
một số bằng tổng bình phương hai số còn lại.
Ví dụ: Bộ số (3; 4, 5) là một bộ số Pytago vì: 52 = 32 + 42 .

(

6
Yêu cầu: Nhập vào từ bàn phím số nguyên dương X, 1 ≤ X ≤ 10

)

Kết quả: - In ra màn hình số 1 nếu có thể tách X thành tổng của ba số nguyên dương a,
b, c sao cho (a; b; c) là một bộ ba số Py-ta-go.
- In ra màn hình số 0 nếu không thể tách X thành tổng của ba số nguyên
dương a, b, c sao cho (a; b; c) là một bộ ba số Py-ta-go.
Ví dụ:
Nhập
Kết quả
Giải thích
30 = 5 + 12 + 13
X = 30
1
Mà 132 = 52 + 122
Bài 2. (3 đ). Nguyên liệu sản xuất (Tên file Promate.pas)
Một người dùng số tiền là U đô-la và V Euro để mua một loại nguyên liệu sản xuất.
Có N công ty nước ngoài bán nguyên liệu trên được đánh số từ 1 đến N. Công ty thứ i

( 1 ≤ i ≤ N ) có giá bán Ai đô la/1 kg nguyên liệu và Bi Euro/1 kg nguyên liệu. Tuy
nhiên, tại mỗi công ty chỉ bán nguyên liệu cho một khách hàng hoặc theo đô-la, hoặc
theo Euro. Hãy giúp người đó tìm cách chọn ra 2 công ty để mua hàng sao cho số
lượng nguyên liệu sản xuất có thể mua được là nhiều nhất.
Nhập vào: Từ bàn phím 3 số theo thứ tự: N U V ( 1 ≤ N ≤ 20;1 ≤ U ,V ≤ 1000 ) và N
cặp số nguyên Ai , Bi ( 1 ≤ Ai , Bi ≤ 1000 ) , mỗi cặp trên một dòng.
8


In ra : Số lượng nguyên liệu S(kg) người đó mua được với 2 chữ số thập phân.
Ví dụ:
Nhập
In ra
Giải thích
3 2 5
S = 1.92
N = 3, U = 2, V = 5
6 4
Người đó mua nguyên liệu của công ty
3 5
thứ 2 bằng đô-la và mua nguyên liệu
8 7
của công ty thứ nhất bằng Euro

S = 2 : 3 + 5 : 4 = 1.92

Bài 3 (2,5 đ). Số đơn điệu (Tên file: Wiggle.pas)
Các số nguyên dương: 3748, 58, 859, 32435465768 được gọi là các số đơn điệu do
nếu quan sát các chữ số của các số này, ta thấy chúng luân phiên tăng giảm hoặc giảm
tăng. Chẳng hạn:

3 < 7 > 4 < 8 và 3 > 2 < 4 > 3 < 5 > 4 < 6 > 5 < 7 > 6 < 8
Số chỉ có một chữ số là số đơn điệu chiều dài 1.
Nhiệm vụ:Viết chương trình xác định số chữ số đầu tiên lớn nhất tạo thành số đơn điệu
của một số cho trước.
Nhập vào: Từ bàn phím một số nguyên dương N có không quá 75 chữ số.
In ra: Số nguyên K duy nhất chỉ số chữ số đầu tiên lớn nhất tạo thành số đơn điệu của
số N.
Ví dụ:
Nhập vào
In ra
N = 37489
4
Bài 4. (1,5
đ) Trò chơi
với băng số
(Tên file
Div.pas)
Cho một băng số gồm n số nguyên dương, mỗi số được viết trên một ô. Hãy cắt
băng số này thành nhiều đoạn nhất sao cho tổng các phần tử trong các đoạn là bằng
nhau.
Nhập vào: Từ bàn phím + Dòng đầu ghi n

( 2 ≤ N ≤ 1000 )

+ Dòng tiếp theo ghi n số nguyên dương a1, a2, ..., an
(các số nằm trên một dòng cách nhau bởi một dấu cách, ai ≤ 1000)
In ra: màn hình
Ghi K là số đoạn cần chia.
Ví dụ:


10

102625212

Nhập
8
10 2 6 2 5 2 1 2

2
6
2

Giải thích

In ra

Đoạn 1: 10
Đoạn 2: 2 + 6 + 2 =10
Đoạn 3: 5 + 2 + 1 + 2 5= 10

3



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

2
1
2



Họ và tên thí sinh: ..........................................................SBD: ......................

PHÒNG GD&ĐT VĨNH TƯỜNG

HD CHẤM THI HSG HUYỆN
NĂM HỌC 2013-2014
MÔN: TIN HỌC LỚP: 9
Thời gian làm bài: 150 phút

Bài 1 (3 đ)
Nhập X =

In ra

Điểm

Test 1

12

1



Test 2

100


0



Test 3

936

1



Bài 2 (3 đ)

Nhập

Test 1

Test 2

In ra

5 10 12
7 5
9 9
6 6
10 7
8 6

Điểm




4.1

7 213 90
11 9
12 12
8 8
10 11
9 10
11 10
11 12

36.63



Bài 3 . (2, 5 đ)
Nhập N =

In ra

Điểm

Test 1

912042805000

10


0,5 đ

Test 2

2013

3

0,5 đ

Test 3

9999999999999999999999999999999999999

1

0,5 đ

Bài 4 (1, 5 đ)
Nhập: N = 15
5
7
12

1

1

10


3

4

5
10

9

3

12

12

6

6


Kết quả: 8
Điểm: 1,5 đ
UBND THÀNH PHỐ HUẾ
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO

THI CHỌN HỌC SINH GIỎI CẤP THÀNH PHỐ
MÔN TIN HỌC LỚP 9 - NĂM HỌC: 2013-2014
Thời gian: 120 phút ( Không kể thời gian giao đề)


Tạo Folder mang tên là số báo danh của thí sinh và lưu theo đường dẫn:
D:\SBD_K9. Các file trong bài được đặt tên lần lượt là BAI1.PAS, BAI2.PAS,
BAI3.PAS và lưu vào Folder vừa tạo.
Bài 1 (3 điểm): Hai số tự nhiên n, m được gọi là nguyên tố tương đương nếu
chúng có chung các ước số nguyên tố. Hãy viết chương trình nhập vào hai số n, m và
kiểm tra chúng có là nguyên tố tương đương với nhau hay không.
Ví dụ: số 75 và số 15 là nguyên tố tương đương vì chúng có cùng các ước số
nguyên tố là 3 và 5.
Bài 2 (3 điểm): Cho hệ phương trình bậc nhất hai ẩn:

ax +by =c

a ' x +b' y =c '

(I)

Hãy viết chương trình giải hệ phương trình trên, đồng thời xác định vị trí tương
đối của hai đường thẳng d: ax+by=c và d’=a’x+b’y =c’ đã tạo nên hệ phương trình (I).
Bài 3 (4 điểm): Cho hai xâu X, Y chứa các kí tự số từ 0 đến 9 và được biểu
diễn như sau:
X = x1, x2, x3…xn ; Y= y1, y2, y3…ym (n,m ≤ 250 ). Hãy viết chương trình tạo ra
xâu ST thoả mãn các điều kiện sau:
-

Gồm các kí tự số vừa có mặt ở xâu X, vừa có mặt ở xâu Y;

-

Các kí tự số trong xâu ST chỉ xuất hiện duy nhất một lần;


-

Giá trị xâu ST nhận được là một số đạt giá trị lớn nhất.

Dữ liệu vào cho bởi file INPUT.INP chứa giá trị xâu X và xâu Y, mỗi xâu nằm trên
một dòng.
Dữ liệu ra chứa ở file OUTPUT.OUT là số lớn nhất nhận được.
Ví dụ: Xâu X= ‘19012304’; xâu Y= ‘034012’, kết quả là 43210.
Thí sinh không được sư dụng tài liệu
Giám thị coi thi không giải thích thêm.
11




HƯỚNG DẪN CHẤM ĐỀ HSG TIN HỌC HUYỆN
KHÁNH HÓA
Bài 1: (3 đ ) Tính tổng các số nguyên dương có trong một chuỗi.
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_1.pas
- Chương trình cho phép nhập vào một chuỗi gồm nhiều ký tự và có ít nhất một
số nguyên dương
- Xuất ra màn hình chuỗi đã nhập
- Xuất tổng các số nguyên dương có trong chuỗi
Ví dụ:
Input
Output
abcAcb90acgH3abcb12bdcnhag
Chuoi da nhap:
abcAcb90acgH3abcb12bdcnhag

Tong cac so co trong chuoi: 105
bacDgfhrthg
Nhap sai! Yeu cau nhap lai:
Bài 2: (3đ) Sắp xếp các số nguyên dương theo thứ tự giảm dần theo số ước của
chúng.
Nhiệm vụ của chương trình:
- Tên tập tin: Bai_2.pas
- Chương trình tạo ra 20 số nguyên dương ngẫu nhiên trong khoảng [20..100]
- Xuất ra màn hình các số đã tạo
- Xuất ra màn hình các số đã tạo sau khi đã sắp xếp các số đó theo thứ tự giảm
dần theo số ước của chúng.
Ví dụ:
Input
Output
47; 78; 32; 38; 30; 56; 35; 31; 51;
Cac so da tao:
66;
47; 78; 32; 38; 30; 56; 35; 31; 51; 66;
Cac so sau khi da sap xep giam dan theo so uoc:
78; 30; 56; 66; 32; 35; 51; 38; 47; 31;
Bài 3 (3đ)
Nhập vào một dãy số nguyên
Cho biết dãy đã sắp xếp chưa tăng dần hay giảm dần
Nếu dãy dã sắp xếp hãy cho nhập số n bất kì và chèn vào dãy sao cho dãy vẫn
bảo đảm được sắp xếp (không được xếp lại sau khi chèn thêm).
Nếu dãy chưa sắp xếp thì sắp xếp lại dãy tăng dần
Nhiệm vụ của chương trình:
12



- Tên tập tin: Bai_3.pas
- Dữ liệu vào là dãy số nguyên
- Dữ liệu ra dãy vừa nhập
- Nếu dãy đã được sắp xếp thì xuất dãy sau khi chèn thêm n
- Nếu dãy chưa được sắp xếp thì xuất dãy đã sắp xếp lại
Ví dụ
dữ liệu vào
dữ liệu ra
5 6 7 8 9
dãy đã được sắp xếp tăng
N =6
dần
dãy sau khi chèn thêm n

5 6 6 7 8 9
dữ liệu vào
dữ liệu ra
3 8 9 5 7
dãy chưa được sắp xếp
sắp xếp lại dãy là
3 5 7 8 9

Bài 1:
program bai1;
Uses crt;
Var
st,s1,tam:string;
i,n,e,tong:integer;
kt:boolean;
BEGIN

clrscr;
kt:=false;
repeat
write('Nhap chuoi gom ky tu va so: ');
readln(st);
for i:=1 to length(st) do if st[i] in
['0'..'9'] then kt:=true;
if kt = false then
begin
write('Nhap sai! Yeu cau nhap lai:
'); readln(st)
end;
until kt=true;
s1:=st;
for i:=1 to length(s1) do if not(s1[i] in
['0'..'9']) then s1[i]:=#32;
repeat
13


delete(s1,pos(#32#32,s1),1);
until pos(#32#32,s1) = 0;
if s1[1]=#32 then delete(s1,1,1);
if s1[length(s1)]=#32 then
delete(s1,length(s1),1);
tam:=''; s1:=s1+#32; tong:=0;
for i:=1 to length(s1) do if s1[i]<>#32 then
tam:=tam+s1[i]
else begin
val(tam,n,e);

tong:=tong+n;
tam:='';
end;
writeln('Chuoi da nhap: ',st);
write('Tong cac so co trong chuoi: ', tong);
readln
end.
Bài 2:
program bai2;
Uses crt;
Type Data = record
n,u:integer;
end;
Var
a:array[1..10] of Data; tam: Data;
i, j, d: integer;
Begin
clrscr;
Randomize;
writeln('Cac so ngau nhien da tao: ');
For i:=1 to 10 do
Begin
a[i].n:=random(81)+20;
write(a[i].n,'; ');
end;
d:=0;
for i:=1 to 10 do
begin
d:=0;
for j:=1 to a[i].n do if a[i].n mod j = 0

then inc(d);
a[i].u:=d;
end;
14


for i:=1 to 9 do
for j:=i+1 to 10 do if a[i].u < a[j].u then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
writeln; writeln('Cac so sau khi da sap xep giam
dan theo so uoc: ');
for i:=1 to 10 do write(a[i].n,'; ');
readln
end.
Tổng điểm: 3 điểm
- Thực hiện đúng phần nhập theo nhiệm vụ của chương trình (0,75 điểm)
- Xác định được số ước của các số đã tạo
(0,75 điểm)
- Sắp xếp được các số theo nhiệm vụ của chương trình và xuất kết quả ra màn
hình (1,5 điểm)
Bài 3:
program bai3;
uses crt;
var n,i,v,j,b,p,m:integer;
a:array[1..50]of integer;
kt:boolean;

begin
clrscr;
write('ban dinh nhap day so co bao nhieu phan
tu: ');
readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
write('day da nhap la:');
for i:=1 to n do write(a[i]:3);
writeln;
kt:=true;
for i:=1 to n-1 do
if a[i]begin
kt:=false;
break;
end;
15


if kt=true then
begin
writeln('day da duoc sap xep theo chieu
tang dan');
m:=1;
end;
kt:=true;

for i:=1 to n-1 do
if a[i]>a[i+1] then kt:=true else
begin
kt:=false;
break;
end;
if kt=true then
begin
writeln('day da duoc sap xep theo chieu
giam dan');
m:=2;
end;
if (m=1)or(m=2) then
begin
write('ban dinh chen vao day phan tu:
');
readln(p);
if m=1 then
begin
for i:=1 to n do
if (p>=a[i])and(p<=a[i+1]) then
break ;
j:=i+1;
for i:=n+1 downto j+1 do
a[i]:=a[i-1];
a[j]:=p;
write('day sau khi chen la: ');
for i:=1 to n+1 do write(a[i]:5);
end;
if m=2 then

begin
for i:=1 to n do
if (p<=a[i])and(p>=a[i+1]) then
break ;
j:=i+1;
for i:=n+1 downto j+1 do
a[i]:=a[i-1];
a[j]:=p;
write('day sau khi chen la: ');
16


for i:=1 to n+1 do write(a[i]:5);

la:');

end;
end;
if (m<>1)and(m<>2) then
begin
writeln('day chua duoc sap xep');
for i:=1 to n do
for j:=i+1 to n do
if a[i]>a[j] then
begin
b:=a[i];
a[i]:=a[j];
a[j]:=b;
end;
write('day sap xep theo chieu tang dan

for i:=1 to n do write(a[i]:3);

end;
readln;
end.
Tổng điểm: 3 điểm
- Nhập được dữ liệu
- Kiểm tra được dãy tăng hay giảm
- Chèn được dữ liệu
- Sắp xếp và viết ra được dữ liệu

(0,5 điểm)
(0,5 điểm)
(1điểm)
(1điểm)


PHÒNG GIÁO DỤC VÀ ĐÀO
TẠO
HUYỆN PHỤNG HIỆP

KÌ THI HỌC SINH GIỎI THCS
NĂM HỌC 2016 - 2017

ĐỀ THI MÔN TIN HỌC
Thời gian làm bài: 120 phút
Bài 1: (4,0 điểm)
Viết chương trình nhập vào một dãy số gồm n số nguyên, với n là số tự
nhiên cho trước.
Yêu cầu: Tách dãy số trên thành hai dãy số: dãy số chẵn, dãy số lẻ theo thứ tự

tăng dần và xuất ra màn hình dãy số đã nhập, dãy số chẵn, dãy số lẻ.
Ví dụ nhập n= 10;
5 2 7 9 1 3 9 4 -2 0
Dãy số nguyên chẵn : -2 0 2 4
Dãy số nguyên lẻ: 1 3 5 7 9 9
Bài 2: (4,0 điểm)
Viết chương trình nhập vào một số thực n bất kỳ. Yêu cầu:
17


Xuất ra màn hình số vừa nhập dưới dạng phân số.
Ví dụ: nhập n =2.5
Kết quả phân số tương ứng là 5/2
N = 4.48
Kết quả phân số tương ứng là 112/25
Bài 3: (6,0 điểm)
Số điện thoại di động của nhà mạng Viettel bao gồm các đầu số sau:
- Đối với số có 10 chữ số sẽ có đầu số : 096; 097; 098
- Đối với số có 11 chữ số sẽ có đầu số : 0162; 0163; 0164; 0165; 0166;
0167; 0168; 0169
Yêu cầu:
Nhập vào một số điện thoại bất kì, kiểm tra xem số đó có thuộc số di động
của nhà mạng Viettel hay không ?
Ví dụ: Nhập số 01631211589
Kết quả số điện thoại trên thuộc nhà mạng Viettel với 11 chữ số
Bài 4:(6,0 điểm)
Nhập vào một dãy số gồm m nguyên bất kỳ, với m là số tự nhiên nhỏ hơn
100. Yêu cầu:
Tìm trong dãy đã nhập và xuất ra màn hình số có nhiều ước nhất, với các
ước là các số thuộc dãy vừa nhập.

Ví dụ: Dãy số đã nhập: 2 5 8 4 10 12 28 15 20
Số tìm được là 20


Sở GD&ĐT Hậu Giang
HỌC 2014-2015
Phòng GD&ĐT Long Mỹ

ĐỀ THI HỌC SINH GIỎI HUYỆN NĂM
Môn: Tin Học 8
Thời gian làm bài: 120 phút

(Các tập tin lưu trong thư mục D:\SBD\, trong đó SBD là số báo danh của thí sinh)
Bài
Tên tập tin
1
Bai1.pas
2
Bai2.pas
3
Bai3.pas
Bài 1: (6 điểm) Viết chương trình cho phép nhập vào số nguyên n (1≤n≤10000). In ra
màn hình giá trị của biểu thức: T = 1 +

1 1 1
1
+ 2 + 2 ..... + 2 . (Kết quả làm tròn 2 chữ số
2
2 3 4
n


ở phần thập phân)
Ví dụ:
Dữ liệu vào (bàn phím)
10
105

Dữ liệu ra (màn hình)
1.55
1.64

Bài 2: (7 điểm) Viết chương trình cho phép nhập vào dãy số nguyên gồm n phần tử
(1≤n≤100)
a) Tinh trung bình cộng của các phần tử lớn hơn 0 có trong dãy số.
18


(Kết quả làm tròn 2 chữ số ở phần thập phân)
b) Hiện ra màn hình các số nguyên tố có trong dãy số trên.
Ví dụ:
Dữ liệu vào (bàn phím)
Dữ liệu ra (màn hình)
12 -6 5 14 11 31 -7
14.600
5 11 31
32 -9 -7 7 3 -23
14.000
7 3
Bài 3: (7 điểm) Nhập vào 1 số tự nhiên N với (0 < N ≤ 65535).
a) Hãy cho biết chữ số lớn nhất của số tự nhiên vừa nhập.

b) Kiểm tra xem số đó có đối xứng không.
Ví dụ:
Dữ liệu vào (bàn phím)
Dữ liệu ra (màn hình)
3521
5
Khong doi xung
32123
3
Doi xung
------------------Hết-----------------• Thí sinh không được sử dụng tài liệu
• Giám thị không giải thích gì thêm

19


Bài
Bai1.pas
(6 điểm)

Bai2.pas
(7 điểm)

Bai3.pas
(7 điểm)

HƯỚNG DẪN CHẤM ĐIỂM
(Chấm theo bộ Test)
Dữ liệu vào (bàn
Dữ liệu ra (màn hình)

phím)
1
1.00
15
1.58
605
1.64
7
7
7
6 3 4 7
5
3 7
-5 -8 -3
<Khoảng trắng>
<Khoảng trắng>
-8 2 7 11 9 13 -21
8.400
2 7 11 13
7
7
Doi xung
4589
9
Khong doi xung
44788744
8
Doi xung
56165


6
Doi xung

Điểm













UBND HUYỆN THANH SƠN

PHÒNG GD&ĐT
ĐỀ CHÍNH THỨC

ĐỀ THI HỌC SINH GIỎI LỚP 9 CẤP HUYỆN
Năm học 2016 - 2017
Môn: Tin học

Thời gian 150 phút không kể thời gian giao đề

(Đề thi có 02 trang)
TỔNG QUAN BÀI THI

Tên bài
Bài
Bài
Bài
Bài

1
2
3
4

Chữ số tận cùng
Xử lí hồ sơ
Chia kẹo
Nguyên tố

File chương trình

File dữ liệu vào

File kết quả

Điểm

Chuso.pas
Hoso.pas
Chiakeo.pas
Nguyento.pas

Chuso.inp

Hoso.inp
Chiakeo.inp
Nguyento.inp

Chuso.out
Hoso.out
Chiakeo.out
Nguyento.out

6,0
6,0
5,0
3,0

(Lưu ý: Học sinh có thể vào dữ liệu bằng bàn phím)
Lập trình giải các bài toán sau:
Bài 1: Chữ số tận cùng
Hai bạn Thanh và Sơn rất thích chơi những trò chơi liên quan đến con số. Một
hôm Thanh nói: “Nếu bạn chọn một số tự nhiên, tớ chọn một số tự nhiên thì chữ số
tận cùng của tích hai số đã chọn là số nào nhỉ?”. Là một người yêu thích Toán học,
20


Thanh yêu cầu Sơn phải chọn số thật lớn để thử khả năng tính toán của mình. Bạn hãy
giúp Thanh tìm chữ số tận cùng đó nhé.
Yêu cầu: Cho hai số a,b (a,b ≤ 1050) hãy tìm chữ số tận cùng của tích a * b .
Dữ liệu vào file Chuso.inp
• Dòng 1: Ghi số nguyên dương a (a ≤ 1050).
• Dòng 2: Ghi số nguyên dương b (b ≤ 1050).
Kết quả ghi ra file Chuso.out

• Ghi một chữ số là kết quả tìm được.
Ví dụ:
Chuso.inp
31102017
20162017

Chuso.out
9

Bài 2: Xư lí hồ sơ
Tại văn phòng một cửa của Ủy ban nhân dân thị trấn có N người nộp hồ sơ,
theo số thứ tự từ 1 đến N. Tùy theo từng loại hồ sơ, thời gian xử lí công việc cho người
thứ i là ti phút (i=1..N). Hãy tính thời gian (phút) chờ của người thứ k (k=1..N) để đến
lượt xử lí hồ sơ của mình.
Yêu cầu: Tính thời gian chờ của người thứ k (k=1..N).
Dữ liệu vào file Hoso.inp
• Dòng 1: Ghi số nguyên dương N (N<104).
• Dòng 2: Ghi số nguyên dương k (k=1..N).
• Dòng 3: Ghi các phần tử ti (i=1..N, 0< ti ≤ 102), mỗi phần tử cách nhau
ít nhất một dấu cách.
Kết quả ghi ra file Hoso.out
• Dòng duy nhất ghi thời gian chờ.
Ví dụ:
Hoso.inp
Hoso.out
5
10
4
34362
Bài 3: Chia kẹo

Trong năm học vừa qua, các bạn học sinh trong lớp của Nam đã đạt kết quả rất
tốt. Điều này khiến cô giáo chủ nhiệm rất hài lòng và cô quyết định thưởng kẹo cho tất
cả các bạn.
Cô giáo có một túi gồm N cái kẹo và cô muốn chia đều cho tất cả K bạn học
sinh trong lớp. Cô muốn mỗi bạn đều có một số kẹo như nhau và số lượng kẹo được
chia phải càng lớn càng tốt, do đó chừng nào số kẹo trong túi còn lớn hơn hoặc bằng
K, cô sẽ chia thêm một chiếc cho mỗi bạn.
Nhiệm vụ của bạn là tính số kẹo mà mỗi bạn học sinh sẽ nhận được và số kẹo
còn lại trong túi kẹo của cô giáo sau khi chia.
Dữ liệu vào file Chiakeo.inp
• Dòng 1: Ghi hai số nguyên dương N, K ( 0< K ≤ 45, 0Kết quả ghi ra file Chiakeo.out
• Ghi ra hai số nguyên cách nhau bởi một dấu cách. Số thứ nhất là số kẹo
của mỗi học sinh, số thứ hai là số kẹo còn lại của cô giáo.
21


Ví dụ:
Chiakeo.inp Chiakeo.out
100 30
3 10
Bài 4: Nguyên tố
Theo giả thuyết Golbach. Mọi số tự nhiên chẵn lớn hơn 2 là tổng của 2 số
nguyên tố. Cho số tự nhiên N chẵn (N< 107), hãy liệt kê tất cả các cách phân tích N
thành tổng 2 số nguyên tố.
Dữ liệu vào file Nguyento.inp
• Dòng duy nhất ghi số nguyên dương N (N<107)
Kết quả ghi ra file Nguyento.out
• Ghi hai số nguyên tố có tổng bằng N (nếu có nhiều trường hợp thì mỗi
trường hợp ghi trên một dòng).

Ví dụ:
Nguyento.inp Nguyento.out
22
3 19
5 17
11 11
-------------Hết-----------(Giáo viên coi thi không giải thích gì thêm)
Họ và tên thí sinh:.....................................................Số báo danh:......................
UBND HUYỆN THANH SƠN
HƯỚNG DẪN CHẤM THI
PHÒNG GD&ĐT
HỌC SINH GIỎI LỚP 9 CẤP HUYỆN
Năm học 2016 - 2017
Môn: Tin học
Chú ý: Học sinh có thể vào dữ liệu từ file hoặc vào dữ liệu bằng bàn phím.
I.
Thang điểm: 20 điểm
Bài 1 (6,0 điểm):
Gồm 6 test. Mỗi test đúng được 1,0 điểm.
Bài 2 (6,0 điểm):
Gồm 6 test. Mỗi test đúng được 1,0 điểm.
Bài 3 (5,0 điểm):
Gồm 5 test. Mỗi test đúng được 1,0 điểm.
Bài 4 (3,0 điểm):
Gồm 3 test. Mỗi test đúng được 1,0 điểm.
(Test của các bài được lưu trong phần mềm chấm)
Nội dung các Test nếu học sinh ra vào dữ liệu bằng bàn phím
Bài 1: Gồm 6 Test

Test

1
2
3
4
5
6

Chuso.inp
14 5678
35673 500
23877 2872
986358686834 2325252798799789
76526592859285862956298653
6327562876536191358193591357293857
7568275632659287597107350173572758235823753
22

Chuso.out Điểm
2
1,0
0
1,0
4
1,0
6
1,0
1

1,0


5

1,0


2738562756287562616918659165983258328528561283475
Bài 2: Gồm 6 Test

Test
1
2
3
4

5

Hoso.inp
5
4
56745
7
6
3256434
10
7
3 4 6 5 7 45 23 8 12 20
15
1
32 48 60 51 72 45 23 82 12 20 24
40

31
3
4
6
5
5
7
7
7
7
7
4
4
4
4
4
12
12
12
12
12
10
10
10
10
10
10
50
18
3


6

4
7
4
12
10
5
8

6
7
4
12
10
6

5
7
4
12
10
7

5
7
4
12
10

9

7
4
12
10
10
4

Hoso.out

Điểm

18

1,0

20

1,0

70

1,0

0

1,0

237


1,0

95

1,0

35 26 57 21
7
4
32
10
10

7
4
12
10
11

7
4
12
10

7
4
32
10
10

3

7
4
12
10
11
2

7
4
12
10
3
6

Bài 3: Gồm 5 Test

Test
1
2
3
4
5

Chiakeo.inp

Chiakeo.out Điểm
6 17
1,0

5 0
1,0
378 15
1,0
657 38
1,0
2191035 21
1,0

Nguyento.inp

Nguyento.out Điểm
3 19
5 17
1,0
11 11
Trong file test
1,0
kết quả
Trong file test 1,0

155 23
200 40
13245 35
27632 42
89832456 41

Bài 3: Gồm 3 Test

Test

1

22

2

34750

3

50000
23


kết quả
II.

-

Cách chấm
Giáo khảo có thể chấm điểm bằng cách test file trên máy hoặc nhập dữ liệu từ bàn
phím.
Đúng file test nào thì cho điểm test đó.

- Trong trường hợp chương trình không chạy, giám khảo kiểm tra đường dẫn file hoặc
dữ liệu nhập vào cho học sinh.

- 
PHÒNG GD&ĐT NAM TRỰC
ĐỀ CHÍNH THỨC


ĐỀ KHẢO SÁT CHỌN HỌC SINH GIỎI
Năm học 2015 – 2016
MÔN:TIN HỌC 9
(Thời gian làm bài 150 phút, không kể thời gian giao đề)
Đề thi gồm 04 câu, trong 02 trang

- Bài 1: Số siêu nguyên tố (5 điểm)
- Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số, theo họ số
nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố còn may
mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý các chữ số
bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số siêu nguyên tố
vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố.

- Dữ liệu vào: từ tệp văn bản SNT.INP Chứa một số nguyên dương n (n ≤ 109)
- Dữ liệu ra: kết quả đưa ra tệp văn bản SNT.OUT Nếu N là siêu nguyên tố ghi giá trị
1, ngược lại ghi giá trị 0

- Ví dụ:
SNT.INPSNT.OUT130
SNT.INPSNT.OUT23331
- Bài 2: Xâu kí tự (5 điểm)
- Cho một xâu kí tự gồm các chữ cái in thường và các chữ số. Hãy tìm số lớn nhất và độ
dài từ dài nhất. Từ là một dãy các kí tự liền nhau khác chữ số
- Dữ liệu vào: từ tệp văn bản XAUKT.INP gồm duy nhất một xâu kí tự có độ dài
không quá 255.
- Dữ liệu ra: ghi vào tệp XAUKT.OUT hai số số lớn nhất và độ dài từ dài nhất cách
nhau một dấu cách.
- Ví dụ:
XAUKT.INP

XAUKT.OUT
nam dinh ki niem thien truong tron 1000 tuoi va don nhan do thi loai 1
1000
6
Chuc
127378

cac

thi sinh biinnh

38748

2981928

tiinnhh tuuuu tiiin thi tot
2121 2121 21212

- Bai 3: Pháo hoa ( 5 điểm)
24

0
127378

6
0


-


-

Trong một màn pháo hoa chào đón năm mới 2016 có N loại pháo hoa. Mỗi loại
pháo hoa có màu sắc và hình dạng khác nhau sẽ được bắn lên theo những chu kỳ khác
nhau. Tính từ khi bắt đầu màn pháo hoa, loại pháo hoa thứ i sẽ được bắn lên vào
những giây chia hết cho i. Tuấn là một khán giả do điều kiện thời gian hạn hẹp chỉ có
M giây để chiêm ngưỡng màn pháo hoa này, cậu ta muốn nhìn thấy càng nhiều loại
pháo hoa được bắn lên cùng một lúc càng tốt. Bạn hãy tính xem Tuấn phải đợi ít nhất
bao nhiêu giây trong thời gian cho phép của mình để đạt được điều cậu ta mong muốn.
Dữ liệu vào : tệp PHAOHOA.INP
Ghi hai số nguyên dương N, M (0Dữ liệu ra: tệp PHAOHOA.OUT
Ghi số giây nhỏ nhất mà Tuấn phải đợi.
Ví dụ về dữ liệu vào/ra:
PHAOHOA.INP
PHAOHOA.OUT
5 25
12
Bài 4: Egg (5điểm)

- Nhà hàng Pizza_Egg có một số nông dân chuyên cung cấp trứng sạch và mỗi người có

một giá bán khác nhau. Mỗi người nông dân chỉ có một số lượng trứng nhất định mỗi
ngày, nhà hàng có thể mua một số trứng từ mỗi người nông dân, ít hơn hoặc bằng số
lượng trứng của mỗi người nông dân đó. Biết số lượng trứng mỗi ngày mà nhà hàng
cần, giá mỗi quả trứng và số lượng trứng mà mỗi người nông dân có. Hãy tính số tiền
ít nhất mà nhà hàng cần để mua được số trứng đó. Giả thiết tổng số trứng của người
nông dân đủ đáp ứng nhu cầu của nhà hàng.
Dữ liệu vào: tệp EGG.INP


- Dòng đầu tiên chứa hai số nguyên N,M. N là số trứng mà nhà hàng cần mỗi ngày (
0 ≤ N ≤ 100000 ), M là số người nông dân cung cấp trứng cho nhà hàng (
0 ≤ M ≤ 5000 ).

- Dòng thứ i trong M dòng tiếp theo, chứa hai số nguyên A i và Bi cách nhau một dấu
cách. Ai ( 0 ≤ Ai ≤ 5000 ) là giá một quả trứng của người nông dân i; B i (

0 ≤ Bi ≤ 50000 ) là số trứng tối đa mà một người nông dân có thể bán cho nhà hàng.

- Dữ liệu ra: tệp EGG.OUT
- Ghi trên một dòng duy nhất một số nguyên là số tiền nhỏ nhất mà nhà hàng có thể mua
-

trứng mỗi ngày.
Ví dụ:
EGG.INP

50 5
5 30
10 40
3 10
8 80
7 30

EGG.OUT

250

-


25


×