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

Đề thi học sinh giói cấp tỉnh lớp 10 môn Tin học bảng B

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 (217.88 KB, 3 trang )

1
Họ và tên thí sinh:…………………… ………… Chữ ký giám thị 1:
Số báo danh:…………………………… ……… …………….………………
SỞ GDĐT BẠC LIÊU KỲ THI CHỌN HSG LỚP 10 VÒNG TỈNH
NĂM HỌC 2011 - 2012

* Môn thi: TIN HỌC


* Lớp: 10 (Bảng B)
* Thời gian: 180 phút (Không kể thời gian giao đề)

ĐỀ
Câu 1:(6 điểm)
Viết chương trình tính toán ước số chung lớn nhất của hai số nguyên không âm (sử dụng
đệ qui)
Ví dụ:
Dữ liệu nhập Dữ liệu xuất
A=5 B=10
A=7 B=2
USCLN là:5
USCLN là:1


Câu 2:(7 điểm)

Nhập vào từ bàn phím xâu s. Hãy loại bỏ tất cả các khoảng trắng dư thừa của xâu s. Biết
khoảng trắng dư thừa là những khoảng trắng xuất hiện ở đầu xâu hoặc cuối xâu, những
khoảng trắng đứng cạnh một khoảng trắng khác.

Ví dụ: Nhập s: ‘ a b c ’


Î Xuất: ‘a b c’
Câu 3 (7 điểm) Phân tích số
Cho số tự nhiên n (n ≤
100). Hãy cho biết có bao nhiêu cách phân tích số n thành tổng
của dãy các số nguyên dương, các cách phân tích là hoán vị của nhau chỉ tính là một
cách.

Ví dụ: Với n=5, có 7 cách phân tích:
1. 5 = 1 + 1 + 1 + 1 + 1
2. 5 = 1 + 1 + 1 + 2
3. 5 = 1 + 1 + 3
4. 5 = 1 + 2 + 2
5. 5 = 1 + 4
6. 5 = 2 + 3
7. 5 = 5
Dữ liêu vào
: Cho trong file PTS.INP là 1 số tự nhiên n.
Dữ liêu ra
: Ghi vào file PTS.OUT duy nhất một số m là số cách phân tích số tự nhiên
n thành tổng của dãy các số nguyên dương.
Ví dụ:
PTS.INP PTS.OUT
5 7
HẾT
(Gồm 01 trang)
ĐỀ CHÍNH THỨC
1
SỞ GDĐT BẠC LIÊU KỲ THI CHỌN HSG LỚP 10 VÒNG TỈNH
NĂM HỌC 2011 - 2012


* Môn thi: TIN HỌC


* Lớp: 10 (Bảng B)
* Thời gian: 180 phút (Không kể thời gian giao đề)

HƯỚNG DẪN CHẤM

Câu 1: (6 điểm)
Code tham khảo:
Var A,B:Integer;
Function UCLN(A,B:Integer):Integer;
Var R:Integer;
Begin
R:=A Mod B;
If R=0 Then UCLN:=B
Else UCLN:=UCLN(B,R);
End;
Begin
Write('Nhap vao hai so');Readln(A,B);
Write('UCLN cua 2 so la',UCLN(A,B));
Readln
End.
Ví dụ:
Dữ liệu nhập Dữ liệu xuất
A=5 B=10
A=7 B=2
USCLN là:5
USCLN là:1
# Nếu học sinh không dùng đệ qui mà kết quả vẫn đúng thì chỉ được 2 điểm.

# Nếu học sinh viết code chưa xong nhưng có ý tưởng thì chỉ được 1 điểm.
# Nếu học sinh chưa viết code xong hoặc viết code xong nhưng kết quả không đúng thì chỉ
được 0,5 điểm.

Câu 2: (7 điểm)
Hướng dẫn chấm: (Chú ý không còn khoảng trắng cuối xâu).
Test1: 2 điểm: s: ‘ a b c ’ -> a b c
Test2: 2 điểm: s: ‘ aa bb cc dd ’ -> aa bb cc dd
Test3: 3 điểm: s: ‘ 1 a b Q q ‘ -> 1 a b Q q
Code tham khảo:

Var s:string; i:byte; c:char;
Begin
Readln(s); c:=’ ’;
While s[length(s)] = ‘ ‘ do delete(s,length(s),1);
For i:=1 to length(s) do
Begin
If (s[i]=’ ’) and (c=’ ’) then else write(s[i]);
C:=s[i];
(Gồm 02 trang)
ĐỀ CHÍNH THỨC
2
End;
End.

Bài 3 (7 điểm)

TEST 1 (1.5 ĐIỂM)

PTS.INP PTS.OUT

10 42

TEST 2 (1.5 ĐIỂM)

PTS.INP PTS.OUT
20 627

TEST 3 (2 ĐIỂM)

PTS.INP PTS.OUT
50 204226

TEST 4 (2 ĐIỂM)

PTS.INP PTS.OUT
99 169229875

Code tham khảo
program dem_cach_phan_tich_so;
var
n,i,j:integer;
a:array[0 100,0 100] of longint;
f,f1:text;
begin
Assign(f,'PTS.inp');
Reset(f);
Readln(f,n);
close(f);
for i:=1 to n do begin a[0,i]:=0; a[i,0]:=1; end;
for i:=1 to n do

for j:=1 to n do
if i>j then a[i,j]:=a[i-1,j]
else a[i,j]:=a[i-1,j]+a[i,j-i];
Assign(f1,'PTS.out');
Rewrite(f1);
write(f1,a[n,n]);
close(f1);
end.
HẾT

×