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

Đề thi HSG 9 lâm thao 2018 (7)

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 (106.72 KB, 5 trang )

PHÒNG GD&ĐT LÂM THAO

ĐỀ THI CHỌN HSG LỚP 9 CẤP HUYỆN
NĂM HỌC 2017 - 2018

Môn: Tin học
Thời gian làm bài: 150 phút
(Đề thi có 01 trang)
Tạo Folder mang tên số báo danh của thí sinh và lưu theo đường dẫn:
D:\SBD_L9. Các file trong bài được đặt tên lần lượt là BAI1.PAS, BAI2.PAS,
BAI3.PAS và lưu vào Folder vừa tạo.
Bài 1: (7,0 điểm). Viết chương trình tính tiền taxi biết:
- 1 km đầu là: 15 000 đồng.
- Từ km thứ 2 đến km thứ 10 là: 14 000 đồng.
- Từ km thứ 11 đến km thứ 20 là: 12 500 đồng.
- Từ km thứ 21 đến km thứ 30 là: 11000 đồng.
- Từ 30 km trở đi là: 9 000 đồng.
Bài 2: (6,0 điểm). Viết chương trình trên ngôn ngữ lập trình PASCAL, nhập vào
hai số tự nhiên x, y sao cho chương trình chỉ cho nhập các số tự nhiên x, y thỏa
mãn 4 � x < 53 và 59 < y �121.
- In ra màn hình các số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm
có bao nhiêu số như vậy?
- In ra màn hình các số chính phương m sao cho x < m < y và đếm có bao
nhiêu số m?
Bài 3: (7,0 điểm) Cho số tự nhiên n và xâu có độ dài n điều kiện (n < 40). Hãy
biến đổi xâu đã cho bằng cách thay đổi trong đó :
a. Tất cả các dấu ! bằng dấu chấm .
b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm .
Ví dụ:

Dữ liệu vào


!!!gfhd........TRE3....!sade...!!!...

Dữ liệu ra màn hình
...gfhd........TRE3.....sade.........
.gfhd.TRE3.sade.

-------------------- Hết -------------------Họ và tên thí sinh ........................................................................... SBD........
Ghi chú: Cán bộ coi thi không giải thích gì thêm.


HƯỚNG DẪN CHẤM THI CHỌN HSG LỚP 9 - THCS CẤP HUYỆN
NĂM HỌC 2017 – 2018
Môn: Tin học
Bài 1 (7,0 điểm). Khởi động chương trình PASCAL, viết chương trình nhập số
tự nhiên n sao cho 5 < n ≤100, nếu nhập sai yêu cầu nhập lại khi nào nhập đúng
thì tính tổng sn: (làm tròn đến chữ số thập phân thứ 3)
Sn 

1.2 2.3 3.4
n.(n  1)


 ... 
3.4 4.5 5.6
(n  2)(n  3)

Chương trình tham khảo
Uses Crt;
Var
n,i:Integer;

s:Real;
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;
s:=0;
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3));
Write(‘s=’,s:4:3);
Readln
END.
Bộ Test thư

n nhập vào
Kết quả thông báo hoặc kết quả S trên màn hình
4
Nhap lai n thoa man 5 < n <=100, n =
6
2,462
7
3,084
8
3,739
Bài 2 (6,0 điểm). Viết chương trình trên ngôn ngữ lập trình PASCAL, nhập vào
hai số tự nhiên x, y sao cho chương trình chỉ cho nhập các số tự nhiên x, y thỏa
mãn 4 � x < 53 và 59 < y �121.
- In ra màn hình các số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm
có bao nhiêu số như vậy.

- In ra màn hình các số chính phương m sao cho

x < m < y và đếm có bao nhiêu số

m.

Chương trình tham khảo
Uses Crt;
var x,y,i,d:longint;
BEGIN


ClrScr;
d:=0;
Write(‘Nhap so tu nhien x, y =');Readln(x,y);
While ((x<4) OR (x>=53) OR ( y<=59) OR (y>121) ) do
Begin
Write(‘Nhap lai x, y thoa man 4<=x< 53 va 59end;
writeln(‘Cac so le chia het cho 3 thoa man la:');
for i:=x to y do
if (i mod 2<>0)and(i mod 3=0) then
begin
write(i:6);
d: = d+1; end;
writeln;
writeln('Co tat ca:',d,' so le chia het cho 3');
writeln('Cac so chinh phuong lon hon’, x:4,’va nho hon’, y:4, ‘la: ‘);
d:=0;
For i: = x +1 to y -1 do

IF sqr(trunc(sqrt(i))) = i then
Begin write (I: 7); d:=d+1; end;
writeln; writeln(‘ Co tat ca ‘,d:6,’ so chinh phuong’);
readln;
End.
Bộ Test thư

Dữ liệu vào
3 64
4 64

Dữ liệu ra
Nhap lai x, y thoa man 4<=x< 53 va 59
Cac so le chia het cho 3 thoa man la:
9 15 21 27 33 39 45 51 57 63
Co tat ca: 10 so le chia het cho 3
Cac so chinh phuong lon hon 4 va nho hon 64 la:
9 16 25 36 49
Co tat ca 5 so chinh phuong
Bài 3: (7,0 điểm) Cho số tự nhiên n và xâu có độ dài n điều kiện (n < 40). Hãy
biến đổi xâu đã cho bằng cách thay đổi trong đó :
a. Tất cả các dấu ! bằng dấu chấm .
b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm .
Chương trình tham khảo
a)
Var S: string;
i: byte;



BEGIN
Write(' Cho mot xau ki tu S = '); Readln(S);
For i:=1 to length(S) do
If S[i] = '!' then S[i]:= '.';
Write( ' Chuoi sau khi da bien doi la : ', S);
Readln;
END .
b)
Uses crt;
Var S : string;
i : byte;
BEGIN
Clrscr;
Write(' Cho mot xau ki tu S = '); Readln(S);
i:=1;
While i< length(S) do
If (S[i]='.')and(S[i+1]='.') then Delete(S,i,1)
Else inc(i);
Write('Chuoi sau khi da bien doi la: ' ,S);
Readln;
END .
Bộ Test thử
Dữ liệu vào
!!!gfhd........TRE3....!sade...!!!...

Dữ liệu ra màn hình
...gfhd........TRE3.....sade.........
.gfhd.TRE3.sade.





×