Tải bản đầy đủ (.pdf) (29 trang)

bộ đề thi chọn HSG cấp huyện 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 (950.6 KB, 29 trang )

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

KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2015 – 2016

ĐỀ CHÍNH THỨC

MÔN THI: TIN HỌC
Thời gian làm bài: 150 phút
Ngày thi: 17/01/2016

Họ và tên thí sinh: .......................................... Số báo danh: ..........................
Chữ ký của giám thị 1: ...................... Chữ ký của giám thị 2: ............................
NỘI DUNG ĐỀ THI
(Đề thi có 02 trang, gồm 3bài)
Hạn chế kỹ thuật: Thời gian thực hiện chương trình khơng q 5 giây
BÀI 1. (7 điểm) GIA CƠNG SẢN PHẦM
Một cơ sở sản xuất hàng thủ công mỹ nghệ vừa nhận được một đơn đặt hàng
gia công n sản phẩm. Với số lượng đặt hàng lớn như vậy, cơ sở đã huy động hết
tồn bộ cơng nhân bắt tay vào làm ngay. Tuy nhiên đây lại là một sản phẩm mới
nên ngày đầu tiên cơ sở chỉ làm ra được k sản phẩm. Sang ngày thứ hai, các
công nhân đã thành thạo hơn nên số sản phẩm làm ra được nhiều gấp đôi ngày
thứ nhất. Và cứ như vậy, năng suất của ngày hôm sau lại cao gấp đôi ngày hôm
trước.
Yêu cầu: Hãy cho biết cơ sở cần bao nhiêu ngày để hoàn thành hết n sản
phẩm?
Dữ liệu vào: Nhập từ bàn phím các số nguyên n, k (1≤n,k≤100000). Giả thiết
dữ liệu được nhập đúng, không cần kiểm tra.
Kết quả ra: Xuất ra màn hình số ngày hồn thành các sản phẩm theo đơn đặt
hàng.


Ví dụ :
Nhập từ bàn phím
Số sản phẩm đặt hàng = 11
Số sản phẩm sản xuất trong ngày đầu tiên = 2

Xuất ra màn hình
Số ngày hồn thành = 3

Giải thích:
- Ngày thứ nhất làm 2 sản phẩm (còn lại 9 sản phẩm).
- Ngày thứ hai làm 4 sản phẩm (tổng cộng là 6, cịn lại 5 sản phẩm).
- Ngày thứ ba có thể làm được 8 sản phẩm nhưng chỉ làm 5 sản phẩm còn lại.
BÀI 2. (6 điểm) DÃY KÝ TỰ SỐ
Bạn Nam rất u thích lập trình, nhất là khi gặp những bài tốn khó thì bạn ấy
càng cố gắng để giải cho xong. Có một lần, trong lúc suy nghĩ về một bài toán,
tay bạn ấy lại gõ ngẫu nhiên các phím trên bàn phím, đến khi nhìn lại thì trên
màn hình đã là một dãy ký tự. Kỳ lạ thay, mặc dù là gõ ngẫu nhiên khơng nhìn
bàn phím nhưng có những lúc bạn ấy chỉ tồn gõ vào các phím số.


Yêu cầu: Cho xâu ký tự S là dãy các ký tự mà bạn Nam đã gõ vào, hãy cho
biết bạn Nam đã gõ liên tiếp các phím số nhiều nhất là bao nhiêu lần?
Dữ liệu vào: Cho từ tệp văn bản có tên BL2.INP gồm một dịng chứa xâu ký
tự S (độ dài xâu không quá 250 ký tự).
Kết quả: Ghi ra tệp văn bản có tên BL2.OUT có dạng:
- Dòng đầu ghi số lần nhiều nhất mà bạn Nam gõ liên tiếp các phím số.
- Nếu có ký tự số được gõ vào thì dịng thứ hai ghi dãy các số mà bạn nam gõ
liên tiếp nhiều nhất đó. Nếu có nhiều dãy cùng có số lần gõ nhiều nhất như nhau
thì in ra dãy đầu tiên.
Ví dụ:

BL2.INP
azp572gkxt8906dqsh13dj

BL2.OUT
4
8906

BÀI 3. (7 điểm) CHẠY TIẾP SỨC
Trong kỳ thi hội khỏe phù đổng cấp huyện vừa qua có n vận động viên tham
gia chạy ngắn, các vận động viên được đánh số báo danh từ 1 đến n. Kết quả
thời gian chạy của vận động viên thứ i là ti (miligiây). Để chuẩn bị cho môn
chạy tiếp sức trong kỳ thi hội khỏe phù đổng cấp tỉnh, ban huấn luyện muốn
chọn ra 4 vận động viên chạy nhanh nhất trong số n vận động viên này.
Yêu cầu: Hãy cho biết số báo danh của 4 vận động viên được chọn. Biết rằng
khơng có hai vận động viên nào có cùng thành tích.
Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INP có dạng như sau:
- Dịng đầu tiên ghi số nguyên n (4≤n≤1000)
- n dòng tiếp theo, dòng thứ i ghi số nguyên dương ti là thời gian chạy của vận
động viên thứ i ( ti ≤ 30000, i=1..n)
Kết quả: Ghi ra tệp văn bản có tên BL3.OUT gồm một dòng ghi 4 số nguyên
tương ứng là 4 số báo danh của 4 vận động viên được chọn (không cần ghi theo
thứ tự).
Các số trên cùng một dòng ghi cách nhau ít nhất một dấu cách.
Ví dụ:
BL3.INP
7
13000
9800
10200
11500

10060
12050
11200

BL3.OUT
2357

--- HẾT --Lưu ý: Thí sinh khơng được sử dụng tài liệu. Giám thị khơng giải thích gì thêm.


PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
HUYỆN LAI VUNG
Hướng dẫn chấm gồm 03 trang

HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM
KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2015 – 2016
MÔN: TIN HỌC

BÀI 1. (7 điểm) GIA CƠNG SẢN PHẨM
a. Thuật tốn:
Dùng cấu trúc lặp tăng dần để đếm số ngày
b. Chương trình tham khảo:
Program BL1;
Var n,k,S,dem:Longint;
Begin
Write('So san pham dat hang = ');
Readln(n);
Write('So san pham san xuat trong ngay dau tien = ');
Readln(k);

S:=0;
dem:=0;
While SBegin
dem:=dem+1;
S:=S+k;
k:=k*2;
End;
Write('So ngay hoan thanh = ',dem);
Readln;
End.
c. Bộ TEST:
TEST
1
2
3
4
5
6
7

Dữ liệu nhập
n = 10
k = 20
n = 300
k = 299
n = 250
k = 250
n = 5000
k=1

n = 15700
k=5
n = 50000
k=2
n = 100000
k=3

Kết quả

Điểm

1

1,0

2

1,0

1

1,0

13

1,0

12

1,0


15

1,0

16

1,0


BÀI 2. (6 điểm) DÃY KÝ TỰ SỐ
a. Thuật toán:
Bài tốn thuộc dạng tìm từ dài nhất trong xâu
b. Chương trình tham khảo:
Program BL2;
Const fin = 'BL2.INP';
fout= 'BL2.OUT';
Var S:String;
i,max,dem,vitri:Integer;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Read(f,S);
Close(f);
max:=0;
dem:=0;
For i:=1 to Length(S) do
If (S[i]>='0') and (S[i]<='9') then
Begin

dem:=dem+1;
If dem>max then
Begin
max:=dem;
vitri:=i;
End;
End
Else dem:=0;
Assign(f,fout);
ReWrite(f);
Writeln(f,max);
Write(f,Copy(S,vitri-max+1,max));
Close(f);
End.

c. Bộ TEST:
TEST

Dữ liệu nhập

Kết quả

sjdh25jsh00491sadjh2763smdajk

5
00491

skldjl;a s';asdl'askasjdfajsj

0


3

sjdh;';7634re57834dfg57346gfh738947fkjash
3987ueirtjkdf,./l834782342907jshjlhk

12
834782342907

4

nb3478jdf348jgfh9038fgj348975dkj0-347dfg
83475jkfjk89-\=-aksdjh347jh000000000jksh

9
000000000

07304657018963457627456

23
07304657018963457627456

hjhdf346576347895hjfgsdasdjklh8930247508
3740fghjdfhgjkdhfjk5389034750834750-812
ajkgjksdf12389374508723489057346587413
67jhjk32762637ghsdgfsd7826789623457862
3478gsdgfhjsdggduyrtpy76789165789165018
6jhkjlasdggfhjasdgy576157645gfsgdfhlsgadfl
3478gwdhjsdhsa


31
123893745087234890573465874
1367

1
2

5

6

Điểm

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


BÀI 3. (7 điểm) CHẠY TIẾP SỨC
a. Thuật toán:
Sắp xếp dãy t theo thứ tự tăng dần và chọn 4 phần tử đầu. Lưu ý khi sắp xếp lưu
lại số báo danh của vận động viên.

b. Chương trình tham khảo:

Program BL3;
Const fin = 'BL31.INP';
fout= 'BL31.OUT';
Var t,sbd:Array[1..1000] of Integer;
n,i,j,tam:Integer;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Readln(f,n);
For i:=1 to n do Readln(f,t[i]);
Close(f);
For i:=1 to n do sbd[i]:=i;
For i:=1 to 4 do
For j:=i+1 to n do
If t[i]>t[j] then
Begin
tam:=t[i];
t[i]:=t[j];
t[j]:=tam;
tam:=sbd[i];
sbd[i]:=sbd[j];
sbd[j]:=tam;
End;
Assign(f,fout);
ReWrite(f);
For i:=1 to 4 do Write(f,sbd[i],' ');
Close(f);

End.
c. Bộ TEST: Các dữ liệu nhập xem trong file BL3.INP
TEST
1
2
3
4
5
6
7

File Input
BL31.INP
BL32.INP
BL33.INP
BL34.INP
BL35.INP
BL36.INP
BL37.INP

BL3.OUT
7 10 12 14
16 33 66 97
67 130 178 195
262 369 398 524
15 358 536 598
116 211 511 736
83 168 713 937

---Hết---


Điểm
1,0
1,0
1,0
1,0
1,0
1,0
1,0


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

KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2016 – 2017

ĐỀ CHÍNH THỨC

MÔN THI: TIN HỌC
Thời gian làm bài: 150 phút
Ngày thi: 15/01/2017

Họ và tên thí sinh:.......................................... Số báo danh:..........................
Chữ ký của giám thị 1:...................... Chữ ký của giám thị 2:............................
Tổng quan đề thi:
Bài
Tên tệp chương trình
Bài 1
BL1.PAS

Bài 2
BL2.PAS
Bài 3
BL3.PAS

Dữ liệu vào
Nhập từ bàn phím
BL2.INP
BL3.INP

Kết quả ra
Xuất ra màn hình
BL2.OUT
BL3.OUT

Hạn chế kỹ thuật: Thời gian thực hiện chương trình khơng q 5 giây.
BÀI 1 (7,0 điểm) ĐÁNH SỐ.
Để quản lý các cây xanh dọc theo con đường trung tâm thành phố, công ty
cây xanh đã tiến hành đánh số cho các cây. Tuy nhiên công ty đã không đánh số
liên tiếp từ một đến hết mà đánh số theo cách sau: cây đầu tiên tính từ đầu
đường được đánh số 1, hai cây tiếp theo được đánh số 2, ba cây tiếp theo được
đánh số 3, ... và cứ thế cho đến cây xanh cuối đường.
Yêu cầu: Hãy cho biết cây xanh thứ N tính từ đầu đường được đánh số bao
nhiêu?
Dữ liệu vào: Nhập từ bàn phím số nguyên dương N (1N109).
Kết quả ra: Xuất ra màn hình số được đánh trên cây xanh thứ N.
Ví dụ:
Nhập từ bàn phím
Nhap N = 12


Xuất ra màn hình
So tren cay la : 5

Giải thích: Các cây được đánh số lần lượt: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 ...
BÀI 2 (6,0 điểm) MẬT KHẨU.
Cu Tí thường xun tham gia thi lập trình trên mạng. Vì đạt được thành tích
cao nên Tí được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm
cung cấp cho Tí một mã số là một dãy gồm các bộ ba chữ số ngăn cách nhau bởi
dấu chấm và có chiều dài khơng q 255 (kể cả chữ số và dấu chấm). Để cài đặt
được phần mềm, Tí phải nhập vào mật khẩu của phần mềm. Mật khẩu là một số
nguyên dương M được tạo ra bằng cách tính tổng giá trị các bộ ba chữ số trong
dãy mã số, các bộ ba này được đọc từ phải sang trái.
Yêu cầu: Cho biết mã số của phần mềm, hãy tìm mật khẩu của phần mềm đó.


Dữ liệu vào: Cho từ tệp văn bản có tên BL2.INP gồm một dòng chứa xâu ký
tự S (độ dài xâu không quá 255 ký tự) là mã số của phần mềm.
Kết quả: Ghi ra tệp văn bản có tên BL2.OUT gồm một số ngun là mật
khẩu tìm được.
Ví dụ:
BL2.INP
218.042.693

BL2.OUT
1448

Giải thích: Mật khẩu 1448 là tổng các số 812 + 240 + 396.
BÀI 3 (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ.
Trên một cuộn giấy dài, người ta lần lượt viết N số nguyên dương, giá trị mỗi
số không vượt quá 106.

Yêu cầu: Hãy cắt cuộn giấy thành nhiều đoạn nhất sao cho tổng các số được
viết trong các đoạn là bằng nhau.
Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INP có dạng như sau:
- Dịng đầu tiên ghi số nguyên dương N (1≤N≤103).
- Dòng thứ hai ghi N số nguyên theo thứ tự là các số được viết trên cuộn giấy,
các số nguyên cách nhau ít nhất một dấu cách.
Kết quả: Ghi ra tệp văn bản có tên BL3.OUT gồm một dòng ghi một số
nguyên là số đoạn nhiều nhất có thể chia được.
Ví dụ:
BL3.INP
8
10 2 6 2 5 2 1 2

BL3.OUT
3

Giải thích:
+ Đoạn 1: 10
+ Đoạn 2: 2 + 6 + 2 =10
+ Đoạn 3: 5 + 2 + 1 + 2 = 10
--- HẾT --Lưu ý: Thí sinh khơng được sử dụng tài liệu. Giám thị khơng giải thích gì thêm.


PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
HUYỆN LAI VUNG
Hướng dẫn chấm gồm 04 trang

HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC
KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2016 – 2017

MÔN: TIN HỌC

I. HƯỚNG DẪN CHUNG:
1. Bài thi được chấm thủ công theo bộ TEST. Thời gian thực hiện chương
trình khơng q 5 giây. Bộ TEST chấm bài được lưu trong đĩa kèm theo.
2. Giám khảo chỉ chấm những bài khơng cịn lỗi và có thể sửa đường dẫn,
tên tệp dữ liệu vào, tên tệp dữ liệu ra để phù hợp với từng bộ TEST chấm bài.
3. Việc chi tiết hóa thang điểm (nếu có) trong hướng dẫn này hoặc xử lý
các trường hợp đặc biệt phải đảm bảo không làm sai lệch hướng dẫn chấm và
được thực hiện thống nhất trong tổ chấm.
II. HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM:
BÀI 1 (7,0 điểm) ĐÁNH SỐ.
a. Thuật tốn:
Cách 1: Lần lượt chạy vịng lặp theo số được đánh trên cây và tính tổng cộng
dồn cho đến khi tổng lớn hơn hoặc bằng N.
Cách 2:
Giả sử cây cần tìm được đánh số là x. (x>0)
Ta có tổng số cây từ đầu đến cây cuối cùng được đánh số x là:
1+2+3+...+x = x(x+1)/2
Vì cây thứ N được đánh số là x nên ta phải có
x(x+1)/2  N  x2 + x -2N  0
1  1  8 N
1  1  8 N
(loại) hoặc x 
2
2
1  1  8 N
Kết luận: x là số tự nhiên nhỏ nhất sao cho x 
2


 x

b. Chương trình tham khảo (theo cách 1):
Program BL1;
Var S,N,x:Longint;
Begin
Write('Nhap N = ');
Readln(N);
x:=0;
S:=0;
Repeat
x:=x+1;
S:=S+x;
Until S>=N;


Writeln('So tren cay la : ',x);
Readln;
End.

c. Bộ TEST:
TEST
1
2
3
4
5
6
7


Dữ liệu nhập
N=
579
N=
32.961
N=
173.526
N=
8.095.217
N=
67.430.291
N = 524.891.327
N = 1.000.000.000

Kết quả
34
257
589
4024
11613
32400
44721

Điểm
1,0
1,0
1,0
1,0
1,0
1,0

1,0

BÀI 2 (6,0 điểm) MẬT KHẨU.
a. Thuật tốn:
Duyệt xâu đổi sang số và tính tổng.
Chú ý tùy theo cách duyệt có thể cần phải xóa khoảng trống ở đầu và cuối
xâu trước khi duyệt.
b. Chương trình tham khảo:
Program BL2;
Const fin ='BL2.INP';
fout='BL2.OUT';
Var S:String;
i,Sum,T:Longint;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Read(f,S);
Close(f);
Sum:=0;
T:=0;
For i:=Length(S) downto 1 do
If S[i] in ['0'..'9'] then T:=T*10+(ord(S[i])-48)
Else
Begin
Sum:=Sum+T;
T:=0;
End;
Sum:=Sum+T;
Assign(f,fout);

ReWrite(f);
Write(f,Sum);
Close(f);
End.


c. Bộ TEST:

TES
T
1
2
3

4

5

6

Dữ liệu nhập
945.395.517.448.306
875.720.262.005.191.989.046.750.847.511
416.220.879.339.665.810.071.482.893.204
.744.013.804.876.593.166.731.071.573.30
9.480.629.372.168.026.887.041.346.356.9
49.243.683.333.990.568.589.628
536.907.107.894.210.662.929.902.510.405
.119.832.359.395.658.907.450.755.651.38
1.665.816.800.188.917.383.316.602.892.4

33.072.543.781.165.664.780.473.917.425.
873.551.278.532.319.495
289.722.600.645.749.758.561.584.341.169
.005.518.253.572.184.001.605.478.598.51
4.492.060.361.923.280.077.692.747.042.6
85.727.535.377.860.564.876.328.342.562.
952.507.564.391.623.224.159.035.441.998
.833
446.575.386.028.883.765.533.297.268.080
.794.835.604.008.103.785.181.552.223.96
5.866.319.186.812.575.793.764.164.146.1
41.913.071.498.290.595.372.171.035.540.
457.148.915.316.821.358.980.317.920.455
.792.609.693.484.881.136.489.643.470.75
7.904

Kết quả

Điểm

3304
4107
18642

1,0
1,0
1,0

20994


1,0

23908

1,0

29018

1,0

BÀI 3 (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ.

a. Thuật tốn:
Tính tổng các phần tử của dãy, sau đó xét những giá trị là ước của tổng
này. Để ý rằng ta chỉ chia được tối đa thành N phần do đó ta chỉ xét từ N trở
xuống, không cần phải xét tất cả các ước của tổng.
b. Chương trình tham khảo:
Program BL3;
Const fin ='BL3.INP';
fout='BL3.OUT';
Var a:array[1..1000] of Longint;
N,K,i,S,tong:Longint;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Readln(f,N);


For i:=1 to N do Read(f,a[i]);

Close(f);
S:=0;
For i:=1 to N do S:=S+a[i];
For K:=N downto 1 do
If S mod K=0 then
Begin
tong:=0;
For i:=1 to n do
Begin
tong:=tong+a[i];
If tong=S div K then tong:=0;
End;
If tong=0 then Break;
End;
Assign(f,fout);
ReWrite(f);
Write(f,K);
Close(f);
End.

c. Bộ TEST: Các dữ liệu nhập xem trong file BL3.INP
TEST
1
2
3
4
5
6
7


File Input
BL31.INP
BL32.INP
BL33.INP
BL34.INP
BL35.INP
BL36.INP
BL37.INP

BL3.OUT
7
2
4
2
7
1
1000
---HẾT---

Điểm
1,0
1,0
1,0
1,0
1,0
1,0
1,0


PHÒNG GIÁO DỤC VÀ ĐÀO TẠO

HUYỆN LAI VUNG

KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2016 – 2017

ĐỀ CHÍNH THỨC

MÔN THI: TIN HỌC
Thời gian làm bài: 150 phút
Ngày thi: 15/01/2017

Họ và tên thí sinh:.......................................... Số báo danh:..........................
Chữ ký của giám thị 1:...................... Chữ ký của giám thị 2:............................
Tổng quan đề thi:
Bài
Tên tệp chương trình
Bài 1
BL1.PAS
Bài 2
BL2.PAS
Bài 3
BL3.PAS

Dữ liệu vào
Nhập từ bàn phím
BL2.INP
BL3.INP

Kết quả ra
Xuất ra màn hình

BL2.OUT
BL3.OUT

Hạn chế kỹ thuật: Thời gian thực hiện chương trình khơng q 5 giây.
BÀI 1 (7,0 điểm) ĐÁNH SỐ.
Để quản lý các cây xanh dọc theo con đường trung tâm thành phố, công ty
cây xanh đã tiến hành đánh số cho các cây. Tuy nhiên công ty đã không đánh số
liên tiếp từ một đến hết mà đánh số theo cách sau: cây đầu tiên tính từ đầu
đường được đánh số 1, hai cây tiếp theo được đánh số 2, ba cây tiếp theo được
đánh số 3, ... và cứ thế cho đến cây xanh cuối đường.
Yêu cầu: Hãy cho biết cây xanh thứ N tính từ đầu đường được đánh số bao
nhiêu?
Dữ liệu vào: Nhập từ bàn phím số nguyên dương N (1N109).
Kết quả ra: Xuất ra màn hình số được đánh trên cây xanh thứ N.
Ví dụ:
Nhập từ bàn phím
Nhap N = 12

Xuất ra màn hình
So tren cay la : 5

Giải thích: Các cây được đánh số lần lượt: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 ...
BÀI 2 (6,0 điểm) MẬT KHẨU.
Cu Tí thường xun tham gia thi lập trình trên mạng. Vì đạt được thành tích
cao nên Tí được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm
cung cấp cho Tí một mã số là một dãy gồm các bộ ba chữ số ngăn cách nhau bởi
dấu chấm và có chiều dài khơng q 255 (kể cả chữ số và dấu chấm). Để cài đặt
được phần mềm, Tí phải nhập vào mật khẩu của phần mềm. Mật khẩu là một số
nguyên dương M được tạo ra bằng cách tính tổng giá trị các bộ ba chữ số trong
dãy mã số, các bộ ba này được đọc từ phải sang trái.

Yêu cầu: Cho biết mã số của phần mềm, hãy tìm mật khẩu của phần mềm đó.


Dữ liệu vào: Cho từ tệp văn bản có tên BL2.INP gồm một dòng chứa xâu ký
tự S (độ dài xâu không quá 255 ký tự) là mã số của phần mềm.
Kết quả: Ghi ra tệp văn bản có tên BL2.OUT gồm một số ngun là mật
khẩu tìm được.
Ví dụ:
BL2.INP
218.042.693

BL2.OUT
1448

Giải thích: Mật khẩu 1448 là tổng các số 812 + 240 + 396.
BÀI 3 (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ.
Trên một cuộn giấy dài, người ta lần lượt viết N số nguyên dương, giá trị mỗi
số không vượt quá 106.
Yêu cầu: Hãy cắt cuộn giấy thành nhiều đoạn nhất sao cho tổng các số được
viết trong các đoạn là bằng nhau.
Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INP có dạng như sau:
- Dịng đầu tiên ghi số nguyên dương N (1≤N≤103).
- Dòng thứ hai ghi N số nguyên theo thứ tự là các số được viết trên cuộn giấy,
các số nguyên cách nhau ít nhất một dấu cách.
Kết quả: Ghi ra tệp văn bản có tên BL3.OUT gồm một dòng ghi một số
nguyên là số đoạn nhiều nhất có thể chia được.
Ví dụ:
BL3.INP
8
10 2 6 2 5 2 1 2


BL3.OUT
3

Giải thích:
+ Đoạn 1: 10
+ Đoạn 2: 2 + 6 + 2 =10
+ Đoạn 3: 5 + 2 + 1 + 2 = 10
--- HẾT --Lưu ý: Thí sinh khơng được sử dụng tài liệu. Giám thị khơng giải thích gì thêm.


PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
HUYỆN LAI VUNG
Hướng dẫn chấm gồm 04 trang

HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC
KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2016 – 2017
MÔN: TIN HỌC

I. HƯỚNG DẪN CHUNG:
1. Bài thi được chấm thủ công theo bộ TEST. Thời gian thực hiện chương
trình khơng q 5 giây. Bộ TEST chấm bài được lưu trong đĩa kèm theo.
2. Giám khảo chỉ chấm những bài khơng cịn lỗi và có thể sửa đường dẫn,
tên tệp dữ liệu vào, tên tệp dữ liệu ra để phù hợp với từng bộ TEST chấm bài.
3. Việc chi tiết hóa thang điểm (nếu có) trong hướng dẫn này hoặc xử lý
các trường hợp đặc biệt phải đảm bảo không làm sai lệch hướng dẫn chấm và
được thực hiện thống nhất trong tổ chấm.
II. HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM:
BÀI 1 (7,0 điểm) ĐÁNH SỐ.

a. Thuật tốn:
Cách 1: Lần lượt chạy vịng lặp theo số được đánh trên cây và tính tổng cộng
dồn cho đến khi tổng lớn hơn hoặc bằng N.
Cách 2:
Giả sử cây cần tìm được đánh số là x. (x>0)
Ta có tổng số cây từ đầu đến cây cuối cùng được đánh số x là:
1+2+3+...+x = x(x+1)/2
Vì cây thứ N được đánh số là x nên ta phải có
x(x+1)/2  N  x2 + x -2N  0
1  1  8 N
1  1  8 N
(loại) hoặc x 
2
2
1  1  8 N
Kết luận: x là số tự nhiên nhỏ nhất sao cho x 
2

 x

b. Chương trình tham khảo (theo cách 1):
Program BL1;
Var S,N,x:Longint;
Begin
Write('Nhap N = ');
Readln(N);
x:=0;
S:=0;
Repeat
x:=x+1;

S:=S+x;
Until S>=N;


Writeln('So tren cay la : ',x);
Readln;
End.

c. Bộ TEST:
TEST
1
2
3
4
5
6
7

Dữ liệu nhập
N=
579
N=
32.961
N=
173.526
N=
8.095.217
N=
67.430.291
N = 524.891.327

N = 1.000.000.000

Kết quả
34
257
589
4024
11613
32400
44721

Điểm
1,0
1,0
1,0
1,0
1,0
1,0
1,0

BÀI 2 (6,0 điểm) MẬT KHẨU.
a. Thuật tốn:
Duyệt xâu đổi sang số và tính tổng.
Chú ý tùy theo cách duyệt có thể cần phải xóa khoảng trống ở đầu và cuối
xâu trước khi duyệt.
b. Chương trình tham khảo:
Program BL2;
Const fin ='BL2.INP';
fout='BL2.OUT';
Var S:String;

i,Sum,T:Longint;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Read(f,S);
Close(f);
Sum:=0;
T:=0;
For i:=Length(S) downto 1 do
If S[i] in ['0'..'9'] then T:=T*10+(ord(S[i])-48)
Else
Begin
Sum:=Sum+T;
T:=0;
End;
Sum:=Sum+T;
Assign(f,fout);
ReWrite(f);
Write(f,Sum);
Close(f);
End.


c. Bộ TEST:

TES
T
1
2

3

4

5

6

Dữ liệu nhập
945.395.517.448.306
875.720.262.005.191.989.046.750.847.511
416.220.879.339.665.810.071.482.893.204
.744.013.804.876.593.166.731.071.573.30
9.480.629.372.168.026.887.041.346.356.9
49.243.683.333.990.568.589.628
536.907.107.894.210.662.929.902.510.405
.119.832.359.395.658.907.450.755.651.38
1.665.816.800.188.917.383.316.602.892.4
33.072.543.781.165.664.780.473.917.425.
873.551.278.532.319.495
289.722.600.645.749.758.561.584.341.169
.005.518.253.572.184.001.605.478.598.51
4.492.060.361.923.280.077.692.747.042.6
85.727.535.377.860.564.876.328.342.562.
952.507.564.391.623.224.159.035.441.998
.833
446.575.386.028.883.765.533.297.268.080
.794.835.604.008.103.785.181.552.223.96
5.866.319.186.812.575.793.764.164.146.1
41.913.071.498.290.595.372.171.035.540.

457.148.915.316.821.358.980.317.920.455
.792.609.693.484.881.136.489.643.470.75
7.904

Kết quả

Điểm

3304
4107
18642

1,0
1,0
1,0

20994

1,0

23908

1,0

29018

1,0

BÀI 3 (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ.


a. Thuật tốn:
Tính tổng các phần tử của dãy, sau đó xét những giá trị là ước của tổng
này. Để ý rằng ta chỉ chia được tối đa thành N phần do đó ta chỉ xét từ N trở
xuống, không cần phải xét tất cả các ước của tổng.
b. Chương trình tham khảo:
Program BL3;
Const fin ='BL3.INP';
fout='BL3.OUT';
Var a:array[1..1000] of Longint;
N,K,i,S,tong:Longint;
f:Text;
Begin
Assign(f,fin);
Reset(f);
Readln(f,N);


For i:=1 to N do Read(f,a[i]);
Close(f);
S:=0;
For i:=1 to N do S:=S+a[i];
For K:=N downto 1 do
If S mod K=0 then
Begin
tong:=0;
For i:=1 to n do
Begin
tong:=tong+a[i];
If tong=S div K then tong:=0;
End;

If tong=0 then Break;
End;
Assign(f,fout);
ReWrite(f);
Write(f,K);
Close(f);
End.

c. Bộ TEST: Các dữ liệu nhập xem trong file BL3.INP
TEST
1
2
3
4
5
6
7

File Input
BL31.INP
BL32.INP
BL33.INP
BL34.INP
BL35.INP
BL36.INP
BL37.INP

BL3.OUT
7
2

4
2
7
1
1000
---HẾT---

Điểm
1,0
1,0
1,0
1,0
1,0
1,0
1,0


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

KỲ THI CHỌN HỌC SINH GIỎI LỚP 9
NĂM HỌC 2015 – 2016

ĐỀ CHÍNH THỨC

MÔN THI: TIN HỌC
Thời gian làm bài: 150 phút
Ngày thi: 17/01/2016

Họ và tên thí sinh: .......................................... Số báo danh: ..........................

Chữ ký của giám thị 1: ...................... Chữ ký của giám thị 2: ............................
NỘI DUNG ĐỀ THI
(Đề thi có 02 trang, gồm 3bài)
Hạn chế kỹ thuật: Thời gian thực hiện chương trình khơng q 5 giây
BÀI 1. (7 điểm) GIA CƠNG SẢN PHẦM
Một cơ sở sản xuất hàng thủ công mỹ nghệ vừa nhận được một đơn đặt hàng
gia công n sản phẩm. Với số lượng đặt hàng lớn như vậy, cơ sở đã huy động hết
tồn bộ cơng nhân bắt tay vào làm ngay. Tuy nhiên đây lại là một sản phẩm mới
nên ngày đầu tiên cơ sở chỉ làm ra được k sản phẩm. Sang ngày thứ hai, các
công nhân đã thành thạo hơn nên số sản phẩm làm ra được nhiều gấp đôi ngày
thứ nhất. Và cứ như vậy, năng suất của ngày hôm sau lại cao gấp đôi ngày hôm
trước.
Yêu cầu: Hãy cho biết cơ sở cần bao nhiêu ngày để hoàn thành hết n sản
phẩm?
Dữ liệu vào: Nhập từ bàn phím các số nguyên n, k (1≤n,k≤100000). Giả thiết
dữ liệu được nhập đúng, không cần kiểm tra.
Kết quả ra: Xuất ra màn hình số ngày hồn thành các sản phẩm theo đơn đặt
hàng.
Ví dụ :
Nhập từ bàn phím
Số sản phẩm đặt hàng = 11
Số sản phẩm sản xuất trong ngày đầu tiên = 2

Xuất ra màn hình
Số ngày hồn thành = 3

Giải thích:
- Ngày thứ nhất làm 2 sản phẩm (còn lại 9 sản phẩm).
- Ngày thứ hai làm 4 sản phẩm (tổng cộng là 6, còn lại 5 sản phẩm).




×