Người ta cắt chuỗi từ trái sang phải thành n chuỗi con, mỗi chuỗi con có đúng n ký tự.. Viết mỗi chuỗi con thành một cột, ta có một bảng gồm n hàng và n cột ký tự.. a In các hàng có tổng
Trang 1PHÒNG GD&ĐT HẠ HÒA
Đề chính thức
KÌ THI HỌC SINH GIỎI LỚP 9 Năm học: 2015 – 2016 Môn: TIN HỌC Ngày thi: 4 tháng 12 năm 2015
Thời gian: 150 phút (không kể thời gian giao đề)
(Đề thi có 2 trang)
* Các file chương trình và file dữ liệu được đặt tên chính xác như sau:
Thí sinh tạo thư mục và lưu các bài làm theo đường dẫn D:\Thi HSG<SBD>
Bài 1 (4,0 điểm)
Khởi động chương trình PASCAL, viết chương trình đọc vào một số tự nhiên n
từ tệp “BAI1.INP” sao cho 4 < n ≤1000000, tính tổng sn: và in lên tệp “BAI1.OUT”, nếu dữ liệu nhập sai in số 0..
3.4 4.5 5.6 ( 2)( 3)
n
n n S
+
Bài 2.(4,0 điểm)
Viết chương trình kiểm tra một số tự nhiên n (n<10000) được nhập vào từ tệp
“BAI2.INP” Kiểm tra xem có phải là số hoàn chỉnh hay không?
In lên tệp “BAI2.OUT” số 1 nếu n là số hoàn chỉnh và số 0 nếu n không phải là
số hoàn chỉnh
Biết rằng số hoàn chỉnh là một số có tổng các ước nhỏ hơn nó bằng chính nó
Ví dụ: Số 6 có các ước nhỏ hơn nó là 1, 2, 3 Tổng các ước 1 + 2 + 3 = 6 Vậy 6 được gọi là số hoàn chỉnh
Bài 3 (7,0 điểm)
Viết chương trình nhập từ tệp “BAI3.INT” hai số nguyên dương a, b cách nhau một dấu cách và thực hiện in lên tệp đầu ra “BAI3.OUT”:
a) Dòng 1 in ra số đối xứng của số nguyên dương a và đối xứng của số nguyên dương b Cách nhau một dấu “ ;”
b) Dòng 2 in ra tổng của số đối xứng với a và số đối xứng với b
Biết rằng ta gọi số “đối xứng” với số a là số nguyên dương thu được từ a bằng cách đảo ngược thứ tự các chữ số của a
Ví dụ: nhập số a = 12, số b = 23 cho kết quả:
a) Số đối xứng với số a = 12 là 21; Số đối xứng với số b = 23 là 32
b) Tổng của số đối xứng với a = 12 và số đối xứng với b = 23 là: 21 + 32 = 53
Bài 4.(5,0 điểm)
Trang 2Cho một chuỗi gồm n2 ký tự từ tệp “BAI4.INP” Người ta cắt chuỗi từ trái sang phải thành n chuỗi con, mỗi chuỗi con có đúng n ký tự Viết mỗi chuỗi con thành một cột, ta có một bảng gồm n hàng và n cột ký tự
Yêu cầu: Viết chương trình nhập vào một chuỗi gồm n2 ký tự (4 ≤ n2≤ 255) In lên tệp
“BAI4.OUT”
a) In các hàng có tổng mã ASCII của các ký tự là lớn nhất mỗi hàng trên một dòng
b) Dòng tiếp theo in giá trị tổng ở câu a
Ví dụ:
abcdefghi a d g
b e h
c f i
c f i 306
-Hết -Họ và tên thí sinh: SBD
Trang 3HƯỚNG DẪN CHẤM THI - CHỌN HỌC SINH GIỎI LỚP 9
CẤP HUYỆN NĂM HỌC 2015 – 2016
Môn: Tin học
Chấm theo bộ Test thử, đúng test nào giám khảo cho điểm test đó
Bài 1 (4,0 điểm)
Bộ Test thử
Bài 2 (4,0 điểm)
Bài 3 (7,0 điểm)
Số đối xứng số a
Số đối xứng số b
Tổng của hai
số đối xứng a,b
Bài 4 (5,0 điểm)
2 HOCSINHGIOILOPCHINCAPTINH O H L I T 0,5
A E I J
D H L A
0,5 0,5
4 asdfghjklzxcvbqm
s h z b
d j x q 0.50,5
Trang 4Hướng dẫn chấm trên giấy.
1
(4,0đ)
Điểm Uses Crt;
Var
n,i:Integer;
s:Real;
0,5
BEGIN
ClrScr;
Write(‘Nhap so tu nhien n=');Readln(n);
While ((n<=5) OR (n>100) do
Begin
Write(‘Nhap lai n thoa man 5 < n <=100, n =
');Readln(n);
end;
1
s:=0;
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3)); 1,5
2
(4,0đ)
Readln
s:= 0;
For i:= 1 to n - 1 do
If n mod i = 0 then s:= s + i;
1,5 đ
If s = n then writeln(n, ‘ : la so hoan chinh ’)
Else writeln(n, ‘ : khong la so hoan chinh ’)
Readln END.
1,0 đ
3
(7,0đ)
Program Bai3;
Uses crt;
Var a, b: Longint;
1,0 đ
Function DX(a: integer):integer;
Var so: Integer;
Begin
so:= 0;
Repeat
so:= so*10+a mod 10; a:= a div 10;
Until a = 0;
DX:= so;
end;
2,0 đ
Trang 5Write(' Nhap so a= '); readln(a);
Write(' Nhap so b= '); readln(b);
Writeln('So doi xung so ',a,' la: ',DX(a));
Writeln('So doi xung so ',b,' la: ',DX(b)); 2,0 đ Writeln('Tong cua hai so doi xung la: ',DX(a)+DX(b));
readln;
END.
1,0 đ
4
(5,0đ)
Program Bai4;
Uses crt;
Var
a:Array[1 1000] of Integer;
i, n: Byte;
j, k: Integer;
kt:boolean;
2,0 đ
BEGIN
clrscr;
Write(' Nhap kich thuoc N cua mang: '); Readln(n);
a[1]:= 2;
For i:= 2 to n do
Begin
j:= a[i-1];
Repeat
Inc(j);
kt:= True;
For k:= 2 to j div 2 do
If j mod k = 0 then kt:= False;
Until kt;
2,0 đ
a[i]:= j;
End;
Writeln(' Mang N so nguyen to dau tien: ');
For i:=1 to n do Write(a[i]:4);
Readln;
END.
1,0 đ
* Lưu ý: Học sinh có nhiều cách giải khác nhau, nếu đúng giám kháo cho điểm
tương ứng của phần đó.