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 A)
* Thời gian: 180 phút (Không kể thời gian giao đề)
ĐỀ
Câu 1:(6 điểm)
Đọc một số nguyên dương, sau đó viết ra màn hình số đó dưới dạng nhị phân đầy đủ
16 bit, nhóm thành từng nhóm 4 chữ số nhị phân cho dễ đọc.
Ví dụ:
Dữ liệu nhập Dữ liệu xuất
Số: 254
Số: 16384
0000 0000 1111 1110
0100 0000 0000 0000
Câu 2:(7 điểm)
Nhập vào từ bàn phím xâu s.
- Kiểm tra xem s có đối xứng hay không?
- Tính tổng các mã Ascii của các kí tự trong s?
Ví dụ: Nhập s: ‘ABA’
Î Xuất: - Xau doi xung
- 196
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 A)
* 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 N,M,I:Integer;
Chuso: Byte;
Begin
Write('N=');Readln(N);
M := 16384;
Write(0);
For I:=1 To 15 Do
Begin
Chuso := N Div M;
Write(Chuso);
If (I+1) Mod 4 =0 Then Write(' ');
N := N-M*Chuso;
M := M Div 2;
End;
Readln
End.
Ví dụ:
Dữ liệu nhập Dữ liệu xuất
Số: 254
Số: 16384
0000 0000 1111 1110
0100 0000 0000 0000
# Nếu học sinh làm cách khác mà kết quả đúng thì vẫn được 6 điểm.
# Nếu học sinh làm chưa xong mà có ý tưởng thì chỉ được 2 điểm.
# Nếu học sinh chỉ làm ra kết quả đúng một vài trường hợp thì chỉ được 3 điểm.
Câu 2: (7 điểm)
Test1: 2 điểm: s: 123aaAbb -> Khong doi xung -> 605
Test2: 2 điểm: s: abba -> Xau doi xung -> 390
Test3: 3 điểm: s: 1abQqba1 -> Khong doi xung -> 682
Code tham khảo:
Var s:string; i,c:byte; d:longint;
Begin
Readln(s); d:=0;c:=0;
For i:=1 to length(s) do
Begin
Inc( d,ord(s[i]));
Inc(c, ord(s[i]= s[length(s)-i+1]));
(Gồm 02 trang)
ĐỀ CHÍNH THỨC
2
End;
If c= length(s) then writeln(‘Xau doi xung‘) else writeln(‘Khong doi xung‘);
Writeln(d);
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