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

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

5 1,3K 15

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

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

Nội dung

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.. Yêu cầu: Các thanh gỗ có chiều dài N m

Trang 1

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

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 2

Ví dụ:

Dữ liệu nhập từ bàn phím Kết quả xuất ra màn hình

3

1 2 5

33

5 6

2 1

1 1

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 Kết quả xuất ra màn hình

-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 3

QUẬN THỐT NỐT

ĐỀ CHÍNH THỨC

(Đề gồm 02 trang)

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 đề)

HƯỚNG DẪN CHẤM BÀI 1 (6,0 điểm) XẺ GỖ

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

3

1 5 2

33

5 6

2 1

6

5 20 10 50 2 1

555

50 11

6

1 10 50 2 5 20

779

50 15

20 1

5 1

2 2

1,5 đ

5

1 5 100 10 50

643

100 6

10 4

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

-HẾT -Bai 1:

program xego;

var dem,n,i:integer;

begin

write('Nhap vao mot so chan: ');readln(n);

Trang 4

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]<a[j] then

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;

n,j,i:integer;

a:array[0 255] of boolean;

Trang 5

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.

Ngày đăng: 16/09/2016, 13:47

TỪ KHÓA LIÊN QUAN

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

w