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

Giải Đề thi HSG Tin học cấp huyện NH 2015 2016

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 (120.49 KB, 5 trang )

PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
QUẬN THỐT NỐT
ĐỀ CHÍNH THỨC
(Đề gồm 02 trang)

KỲ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN
NĂM HỌC 2015-2016
Khóa ngày
tháng 01 năm 2016
MÔN: TIN HỌC
Thời gian làm bài: 150 phút (không kể thời gian phát đề)

BÀI 1. (6,0 điểm) XẺ GỖ
Bài toán: Tại một xưởng gỗ, người thợ mộc có nhiệm vụ xẻ những thanh gỗ dài
thành những thanh gỗ ngắn hơn với một độ dài nhất định. Để giúp cho người thợ mộc đỡ
vất vả và tiết kiệm thời gian, em hãy giúp người thợ mộc tìm ra số lần xẻ là ít nhất.
*Lưu ý: Mỗi lần xẻ có thể xẻ được nhiều thanh gỗ cùng một lúc.
Yêu cầu: Các thanh gỗ có chiều dài N mét (N là số tự nhiên chẵn) cần xẻ thành
những thanh gỗ có độ dài là 2 mét. Em hãy viết chương trình để tìm ra số lần xẻ ít nhất.
Dữ liệu nhập từ bàn phím: Số tự nhiên N chẵn (N>2) là độ dài của thanh gỗ cần xẻ.
Kết quả xuất ra màn hình: Số lần cần xẻ.
Ví dụ:
Dữ liệu nhập từ bàn phím

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

10

3

BÀI 2. (6,0 điểm) ĐỔI TIỀN


Bài toán: Tại các cửa hàng, nhân viên bán hàng thường đưa lại tiền thừa (thồi tiền)
rất nhiều lần cho khách. Khi cửa hàng có nhiều khách, thì công việc thồi tiền rất mất thời
gian. Em hãy giúp cho nhân viên bán hàng đổi số tiền cần thồi thành số lượng các tờ tiền
với mệnh giá khác nhau để công việc thồi tiền được nhanh chóng.
*Lưu ý: Tổng số tờ tiền phải là ít nhất.
Yêu cầu: Em hãy viết chương trình để đổi tiền thành các mệnh giá.
Dữ liệu nhập từ bàn phím:
- Dòng 1: Số tự nhiên k là số lượng của các mệnh giá tiền hiện có.
- Dòng 2: Dãy số T là dãy giá trị của các mệnh giá tiền hiện có.
- Dòng 3: Số tự nhiên N là số tiền cần đổi.
Kết quả xuất ra màn hình:
- Cột 1: Giá trị của các mệnh giá tiền.
- Cột 2: Số lượng tờ tương ứng với các mệnh giá tiền.

Trang 1/2


Ví dụ:
Dữ liệu nhập từ bàn phím

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

3

56

125

21


33

11

BÀI 3: (8,0 điểm) MÃ HÓA CHUỖI KÝ TỰ
Bài toán: Tại Văn phòng Y, các văn bản rất quan trọng nên khi truy cập cần có mật
khẩu để bảo mật. Khi mã hóa mật khẩu, Trưởng phòng Văn phòng Y dùng cách mã hóa theo
nguyên tắc: các ký tự giống nhau trong mật khẩu được gom thành 1 kí tự kèm theo các vị trí
của ký tự đó trong mật khẩu.
Yêu cầu: Em hãy viết chương trình giúp Văn phòng Y mã hóa các mật khẩu theo
nguyên tắc nêu trên.
Dữ liệu nhập từ bàn phím: Chuỗi ký tự S là mật khẩu.
Kết quả xuất ra màn hình: Chuỗi Y có dạng “A.n1-n2-B.n3....”, trong đó A, B,..: ký
tự được sơ lược; n1, n2, n3,…: vị trí xuất hiện của ký tự trong mật khẩu (chuỗi S).
Ví dụ:
Dữ liệu nhập từ bàn phím
M0815033

Kết quả xuất ra màn hình
M.1-0.2-6-8.3-1.4-5.5-3.7-8-

------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.
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………………………….

Trang 2/2


PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
QUẬN THỐT NỐT


KỲ THI CHỌN HỌC SINH GIỎI CẤP HUYỆN
NĂM HỌC 2015-2016
Khóa ngày
tháng 01 năm 2016
MÔN: TIN HỌC
Thời gian làm bài: 150 phút (không kể thời gian phát đề)

ĐỀ CHÍNH THỨC
(Đề gồm 02 trang)

HƯỚNG DẪN CHẤM
BÀI 1. (6,0 điểm) XẺ GỖ
Dữ liệu nhập từ bàn phím

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

Điểm

10

3

1,5 đ

32

5

1,5 đ


24

5

1,5 đ

2

0

1,5 đ

BÀI 2. (6,0 điểm) ĐỔI TIỀN
Dữ liệu nhập từ bàn phím

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

Điểm

3
152
33

56
21
11

6
5 20 10 50 2 1

555

50 11
51

6
1 10 50 2 5 20
779

50 15
20 1
51
22

1,5 đ

5
1 5 100 10 50
643

100 6
10 4
13

1,5 đ

1,5 đ

1,5 đ


BÀI 3: (8,0 điểm) MÃ HÓA CHUỖI KÝ TỰ
Dữ liệu nhập từ bàn phím

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

Điểm

M0815033

M.1-0.2-6-8.3-1.4-5.5-3.7-8-

2,0 đ

33355555

3.1-2-3-5.4-5-6-7-8-

2,0 đ

01110008686

0.1-5-6-7-1.2-3-4-8.8-10-6.9-11-

2,0 đ

NS12012001

N.1-S.2-1.3-6-10-2.4-7-0.5-8-9-

2,0 đ


------HẾT-----Bai 1:
program xego;
var dem,n,i:integer;
Trang 3/2


begin
write('Nhap vao mot so chan: ');readln(n);
if n<=2 then dem:=0
else
begin
dem:=1;
while n>2 do
begin
i:= n mod 2;
n:= n div 2;
dem:=dem+1;
end;
end;
writeln('So la xe it nhat la: ',dem);
readln;
end.
Bai 2:
Program doitien;
var st,tam,i,j,n,k:integer;
a:array[1..100] of integer;
procedure nhapmang;
begin
write('So luong tien: ');readln(k);

for i:=1 to k do
begin
write('a[',i,']: ');readln(a[i]);
end;
for i:=1 to k-1 do
for j:=i+1 to k do
if a[i]begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
end;
begin
nhapmang;
write('Nhap so tien can doi: ');readln(n);
for i:=1 to k do
begin
st:=n div a[i];
if st<>0 then writeln(a[i]:5,st:5);
n:=n mod a[i];
end;
readln;
end.

Bai 3:
program chuoi;
var s,st:string;
Trang 4/2



n,j,i:integer;
a:array[0..255] of boolean;
begin
write('Nhap xau: ');readln(s);
st:='';
for i:=1 to length(s) do
if not a[ord(s[i])] then
begin
a[ord(s[i])]:=true;
st:=st+s[i];
end;
for i:=1 to length(st) do
begin
write(st[i],'.');
for j:=1 to length(s) do
if st[i]=s[j] then write(j,'-');
end;
readln;
end.

Trang 5/2



×