1. Trang chủ
  2. » Thể loại khác

Đề thi HSG Tin Học huyện Hạ Hòa 20152016

5 651 8

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

Nội dung

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 1

PHÒ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 2

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

HƯỚ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 4

Hướ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 5

Write(' 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 đó.

Ngày đăng: 16/12/2016, 20:06

TỪ KHÓA LIÊN QUAN

w