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

Đề HSG tin học các năm (đề và đáp án trong file đính kèm)

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 (134.09 KB, 6 trang )

K THI HC SINH GII THPT TON TNH
NM HC 2008 - 2009
Mụn: TIN HC Lp 12

S GIO DC O TO
NAM NH
CHNH THC

(Thi gian lm bi: 180 phỳt, khụng k thi gian giao )
Đề thi gồm 02 trang

Lập chơng trình giải các bài toán sau:
Bi 1: (6 im) Nhõn hai phõn s
Cho hai phõn s BA v CD .
Hóy xỏc nh 2 s nguyờn dng E v F tha món 2 iu kin sau:
+ iu kin 1:

E A C
x
F B D

+ iu kin 2:

E
F

l phõn s ti gin

D liu vo: t tp vn bn NHAN.INP, cú cu trỳc
+ Dũng 1 cha hai s A v B.
+ Dũng 2 cha hai s C v D.


( A, B, C, D l cỏc s nguyờn dng v khụng ln hn 10000)
D liu ra: kt qu a ra tp vn bn NHAN.OUT
Cú mt dũng cha hai s E v F tỡm c tha món hai iu kin trờn.
Vớ d v d liu vo/ra
NHAN.INP
2
3

5
6

NHAN.OUT
1 5

Bi 2: (7 im) Tỡm dóy con chung
Dóy C gi l dóy con chung ca dóy A v dóy B nu C l dóy gm cỏc phn
t nm liờn tip c trong A v B.
Cho hai dóy s A v B, mi dóy u cú N phn t (cỏc phn t u nguyờn
dng v khụng quỏ 1000). Yờu cu tỡm dóy C l dóy con chung ca A v B m cú
nhiu phn t nht.
D liu vo: t tp vn bn DAYCON.INP, cú cu trỳc:
- Dũng 1 cha s N (N nguyờn dng v khụng quỏ 500)
- Dũng 2: cha N s thuc dóy s A.
- Dũng 3: cha N s thuc dóy s B.
D liu ra: a ra tp vn bn DAYCON.OUT
Cha duy nht mt s l s phn t ca dóy C tha món yờu cu.
(Trong tp d liu vo hoc ra, cỏc s trờn cựng mt dũng cỏch nhau ớt nht
mt du cỏch).

Trang 1



Ví dụ về dữ liệu vào /ra:
DAYCON.INP
6
2
8

DAYCON.OUT
2

1
5

7 10
1 7

6 3
9 10
(dãy con thỏa mãn: 1, 7)

Bài 3: (7 điểm) Công ty kinh doanh xăng dầu
Công ty kinh doanh xăng dầu BX hiện có N lít xăng. Công ty nhận được M
yêu cầu mua xăng của khách hàng (khách hàng được đánh số từ 1 đến M), mỗi yêu
cầu cần mua một lượng xăng nhất định. Nếu công ty BX không đáp ứng đủ lượng
xăng cần thiết thì sẽ bị mất lòng với khách hàng. Vì lượng xăng có thể không đủ
cho tất cả các yêu cầu của khách hàng nên phải từ chối một số khách hàng nào đó.
Công ty BX nhờ em tìm cách bán xăng cho các khách hàng chỉ làm mất lòng
khách hàng ít nhất.
Dữ liệu vào: từ tệp văn bản BX.INP, có cấu trúc

- Dòng 1 chứa 2 số N và M.
(N và M nguyên dương, N<1 000 000, M<2 000)
- Dòng 2 chứa M số nguyên dương, số thứ I trong M số là số lít xăng mà
khách hàng thứ I yêu cầu mua (mỗi yêu cầu của khách đều nguyên dương và
không quá 10 000 lít).
Dữ liệu ra: Kết quả đưa ra tệp văn bản BX.OUT, theo cấu trúc
- Dòng 1: chứa số S là số lượng các khách hàng mất lòng ít nhất.
- Nếu S>0 thì dòng 2 chứa S số theo thứ tự tăng, số thứ j trong S số thể hiện
khách hàng j mất lòng. Nếu có nhiều trường hợp thỏa mãn S thì chỉ cần đưa
ra một trường hợp.
(Trong tệp dữ liệu vào hoặc ra, các số trên cùng một dòng cách nhau ít nhất một
dấu cách).
Ví dụ về dữ liệu vào /ra:
BX.INP
BX.OUT
100 5
2
50 20 60 40 30
1 3
Chú ý: tệp chương trình của bài 1 đặt tên là CHIA.PAS.
của bài 2 đặt tên là DAYCON.PAS.
của bài 3 đặt tên là BX.PAS.
HÕt
Hä vµ tªn thÝ sinh: . . . . . . . . . . . . . . . . . . .
sè 1: . . . . . . . . . . . . . .
Sè b¸o danh: . . . . . . . . . . . . . . . . . . . . . . .
sè 2: . . . . . . . . . . . . . .

Ch÷ ký cña Gi¸m thÞ
Ch÷ ký cña Gi¸m thÞ

Trang 2


Trang 3


S GIO DC O TO
NAM NH
CHNH THC

K THI HC SINH GII THPT TON TNH
NM HC 2008 - 2009
ỏp ỏn v hng dn chm
Mụn : TIN HC
Lp 12

Chấm bài bằng các test, chơng trình không chạy hoặc dữ
liệu vào ra không phù hợp sẽ không đợc điểm. Mỗi test đúng đợc
0,5 điểm.
Trờng hợp sai tên tệp chơng trình hoặc tệp dữ liệu vào ra
thì sửa lại cho đúng. Tiến hành chấm nh bình thờng, kết quả
trừ 1/4 số điểm của bài đó đạt đợc.
Bài 1: Nhân hai phân số
6 điểm
- Đọc vào 4 số A, B, C, D
- E=A x C,
F=B x D
- Tìm U là ớc chung lớn nhất của E và F
- E = E Div U ;
F = F Div U

- Xuất: E và F
- Chỉ chú ý: Các biến phải khai báo kiểu longint.
Bài 2: Tỡm dóy con chung
7 điểm
- Đọc vào 2 dãy số A, B
kmax:=0;
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then
begin k:=0;
repeat inc(k);
until (i+k>n)or(j+k>n)or(a[i+k]<>b[j+k]);
if kmaxend;
writeln(f2,kmax);
Bài 3:
Cụng ty kinh doanh xng du
7 điểm
Cách 1 :
- Sắp xếp các yêu cầu theo thứ tự tăng dần (chú ý số hiệu
khách hàng).
- Tìm K nhỏ nhất mà tổng các yêu cầu từ 1 đến K lớn hơn lợng xăng N.
- Kết quả : Số khách hàng mất lòng (N-K+1) (có thể lợng xăng
đủ cho các khách hàng)
- Đa ra theo chỉ số của các khách từ K không đợc đáp ứng.
(Sắp xếp theo thứ tự tăng hoặc trong quá trình sắp xếp ở
trên phải dùng cách sắp xếp kiểu chèn dần).
Cách 2:
- Dùng thêm mảng đánh dấu chuaxet.
Trang 4



- Víi N >0 th× t×m min( yªu cÇu), (gi¶ sö lµ yªu cÇu i tháa
m·n),
- N=N- yc[i]
- LÆp

Trang 5


Cách dùng chơng trình chấm :
- Tạo các th mục tên của thí sinh, chứa bài làm. Đặt cùng nơi
có th mục các bài chấm
- Yêu cầu : các tệp chơng trình của turbo pascal (có cả tệp
TPC.EXE) đặt trong th mục TP tại th mục gốc cùng ổ đĩa.
- Chấm bài nào vào th mục bài đó, chạy tệp _tenbai.exe
- Nhập tên của thí sinh (tên thí sinh trùng tên th mục chứa bài
làm tơng ứng)
- Kết thúc thì nhấn Enter

Quá trình chấm có những lỗi sau :
1- Vào ra dữ liệu không đúng yêu cầu
+ Nhập xuất với bàn phím, màn hình mà yêu cầu là từ tệp
văn bản.
+ Tệp vào có cấu trúc nhng toàn dùng While not eof(f) do
để đọc dữ liệu
+ Xuất dữ liệu không đúng quy cách : kiểu số thực, dấu
cách giữa các số.
2- Sử dụng các vòng lặp không phù hợp.
+ Lặp vô hạn : không thay đổi biến đếm

+ Thay đổi biến đếm trong vòng lặp For
3- Sử dụng kiểu dữ liệu, khai báo, xử lí biến không phù hợp
+ Hay bị lỗi Rancheck: tác động đến phạm vi không có
thực của mảng
+ Hay lỗi Arithmetic overflow tính toán ngoài phạm vi của
biến
4- Dùng các công việc không nên có trong khi làm bài thi
+ Dùng Readln cuối chơng trình
+ Dùng Clrscr xóa màn hình

Trang 6



×