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.. 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 c
Trang 1PHÒ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ụ:
!!!gfhd TRE3 !sade !!! 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.
Trang 2HƯỚ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)
1.2 2.3 3.4 ( 1)
3.4 4.5 5.6 ( 2)( 3)
n
n n S
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 =
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
Trang 3ClrScr;
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 59<y<=121’); Readln(n);
end;
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ư
3 64
4 64
Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121
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;
Trang 4BEGIN
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ử
!!!gfhd TRE3 !sade !!! gfhd TRE3 sade
.gfhd.TRE3.sade