Tải bản đầy đủ (.docx) (14 trang)

tuyen tap de thi hoc sinh gioi tin 8

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 (241.08 KB, 14 trang )

PHÒNG GD-ĐT HOÀI NHƠN

KÌ THI CHỌN HỌC SINH GIỎI CẤP TRƯỜNG

TRƯỜNG THCS HOÀI MỸ

NĂM HỌC 2013-2014

ĐỀ CHÍNH THỨC

MÔN: TIN HỌC 8
Thời gian: 150 phút (Không kể thời gian giao đề)
Đề thi có 3 trang 5 bài
Hãy lập trình giải các bài toán sau:
BÀI 1: CHỈ SỐ BMI ( 5 điểm).

Tên chương trình : BMI.PAS

Chỉ số BMI (Body Mass Index) được dùng để đánh giá mức độ gầy hay béo của một người. Chỉ số này
có thể giúp xác định một người bị bệnh béo phì hay bị bệnh suy dinh dưỡng.
Gọi W là khối lượng của một người (Kg) và H là chiều cao của người đó (m), chỉ số khối cơ thể được
tính dựa theo hệ đo lường sau:
BMI =
Theo hệ đo lường metric (Mỹ):

W
H2

Sau đây là định nghĩa phổ biến của loại BMI với 6 cấp độ:
1.
2.


3.
4.
5.
6.

Người gầy (GAY): BMI<15
Người dưới cân (DUOICAN): 15<= BMI <18.5
Người lý tưởng (LYTUONG): 18.5<= BMI <25
Người quá cân (QUACAN): 25< BMI <=30
Người béo phì (BEOPHI): 30< BMI <=40
Người rất béo (RATBEO): BMI >40

YÊU CẦU: Đọc vào chiều cao và trọng lượng của một người theo một hệ đo lường, hãy tính chỉ số
BMI của người đó.
DỮ LIỆU: Vào từ file văn bản BMI.INP gồm một dòng chứa hai số h và w, cách nhau bởi dấu cách,
biểu diễn chiều cao và trọng lượng của người (0KẾT QUẢ: Ghi ra file văn bản BMI.OUT chứa các thông tin theo thứ tự sau: chỉ số BMI (định dạng
hai số lẻ), dấu gạch nối (-) và một trong các cấp độ (GAY, DUOICAN, LYTUONG, QUACAN,
BEOPHI, RATBEO).
BMI.INP

BMI.OUT

1.50 80

37.78-BEOPHI

1.90 104

2.81-QUACAN


Trang 1/3


BÀI 2: BIỂU ĐỒ (3 điểm)

Tên chương trình : BIEUDO.PAS

Hãy vẽ biểu đồ dạng thanh ngang minh họa thí nghiệm của một học sinh trong 5 ngày, từ thứ hai đến
thứ sáu. Biểu đồ thanh ngang biểu diễn các giá trị không âm (1<=di<=9) với i=1..5.
DỮ LIỆU: Vào từ file văn bản CHART.INP gồm 1 dòng 5 số nguyên không âm di (1<=di<=9) với
i=1..5, cách nhau bởi dấu cách.
KẾT QUẢ: Ghi ra file văn bản CHART.OUT chứa 5 dòng biểu diễn biểu đồ thanh ngang. Biểu đồ có
trục đứng (trục Oy) là các chữ viết tắc (kí tự đầu tiên) của các ngày trong tuần. Dòng đầu tiên biểu
diễn cho ngày thứ hai, …., dòng cuối cùng biểu diễn cho ngày thứ sáu. Mỗi dòng trong 5 dòng chỉ
chứa các kí tự “#”, “|” và các chữ in hoa H(Hai), B(ba), T(Tư), N(Năm), S(Sáu).
CHART.INP
28351

CHART.OUT
H|##
B|########
T|###
N|#####
S|#

BÀI 3: MỘT CHỮ SỐ (4 điểm).

Tên chương trình : MOTCHUSO.PAS


Hãy cộng tất cả các chữ số của một số nguyên dương N cho trước. Nếu kết quả là số có 1 chữ số thì
kết thúc, ngược lại tiếp tục cộng các chữ số của nó cho đến khi kết quả là số chỉ có 1 chữ số.
Ví dụ: với N=1234567  Tổng các chữ số là 1+2+3+4+5+6+7=28  tổng các chữ số là 2+8=10 
Tổng các chữ số là 1+0=1. Dừng.
DỮ LIỆU: Vào từ file văn bản ONEDIGIT.INP gồm 1 dòng chứa số nguyên dương N.
KẾT QUẢ: Ghi ra file văn bản ONEDIGIT.OUT chứa số có một chữ số tìm được.
ONEDIGIT.INP
1234567

BÀI 4: ĐỔI DẤU (3 điểm)

ONEDIGIT.OUT
1

Tên chương trình : DOIDAU.PAS

Hãy đếm số lần đổi dấu giữa 2 số nguyên liên tiếp trong một dãy số nguyên khác 0.
DỮ LIỆU: Vào từ file văn bản SIGN.INP gồm 1 dòng chứa dãy số nguyên cách nhau bởi dấu cách.
Lưu ý: Số 0 cuối cùng ở cuối cùng là dấu hiệu kết thúc dãy.

Trang 2/3


KẾT QUẢ: Ghi ra file văn bản SIGN.OUT chứa số nguyên cho biết số lần đổi dấu tìm được.
SIGN.INP

SIGN.OUT

5 3 -2 -1 4 -9 7 0


4

BÀI 5: CHỈ SỐ ATOM (5 điểm)

Tên chương trình : ATOM.PAS

Mỗi công thức hóa học được biểu diễn bởi một dãy từng nhóm ký hiệu hóa học các nguyên tố (mỗi
nguyên tố là một kí tự) tiếp theo là một số nguyên mô tả số lượng của các nguyên tử của nguyên tố đó
(số này không vượt quá 99). Số 1 được bỏ qua khi chỉ có một nguyên tử của nguyên tố hiện diện trong
công thức. Dưới đây là một số ví dụ:
Tên gọi

Công thức hóa học

Các nhóm

Số nguyên tử

Methane

CH4

C, H4

5

Ammonium

NH4NO3


N, H4, N, O3

9

Dibutyl Phthalate

C6H4COOC4H9COOC4H
9

C6, H4, C, O, O, C4,
H9, C, O, O, C4, H9

42

YÊU CẦU: Hãy tính tổng các nguyên tử trong 1 công thức hóa học cho trước.
DỮ LIỆU: Vào từ file văn bản ATOM.INP gồm 1 dòng chứa công thức hóa học (không quá 64 kí tự).
Mỗi nguyên tố là chữ in hoa.
KẾT QUẢ: Ghi ra file văn bản ATOM.OUT chứa tổng số các nguyên tử tìm được.
ATOM.INP

ATOM.OUT

NH4NO3

9

................ HẾT ...............
GHI CHÚ:
- Các tập tin chương trình phải đặt tên theo đúng quy định (cả phần tên và phần mở rộng).
- Các tập tin lưu trong thư mục: D:\TENHS\.....

Ví dụ: D:\NGUYENVANA\BMI.PAS.
- Thí sinh không được phép sử dụng tài liệu.
- Giám thị không giải thích gì thêm.

Trang 3/3


ĐÁP ÁN VÀ BIỂU ĐIỂM
Lưu ý chung chấm thi:
-

Bài thi được chấm trên máy tính: chấm theo các test, mỗi test 1 điểm. Điểm bài thi là tổng
điểm các test.

-

Giám khảo dựa vào các bộ test đề nghị, tạo sẵn các file *.IN1, *.IN2, …trong 1 thư mục TEST
tạo trước.

-

Dùng chức năng CHANGE DIR của PASCAL để chuyển thư mục hiện hành vào thư mục
TEST (hoặc copy toàn bộ file *.in? vào thư mục bài làm của từng thí sinh) để chấm.

-

Dùng chức năng OPEN của PASCAL để mở từng file *.PAS của thí sinh để chấm theo test
(xóa đường dẫn đến file *.IN nếu thí sinh tạo sẵn).

-


Chạy chương trính và so sánh file kết quả của thí sinh (*.OUT) và đáp án. Ghi vào phiếu điểm
của môn Tin học.

-

Khi chấm bằng Free Pascal có sự cố mà không xác định được lỗi, cần sử dụng Turbo Pascal để
chấm lại.

-

Cần đề phòng ghi nhầm lên file dữ liệu nhập tạo sẵn (*.IN?) trong quá trình chấm (nên kiểm
tra lại file input).

Bài 1: Chỉ số BMI: (5 ĐIỂM)
Chương trình tham khảo:
Var height, weight, bmi:real;
mes: string;
f,g:text;
begin
assign(f,’BMI.INP’); reset(f);
assign(g,’BMI.out’); rewrite(g);
readln(f, height, weight);
bmi:=weight/(height*height);
if bmi<15.0 then mes:=’GAY’
else if bmi<18.5 then mes:=’DUOICAN’
else if bmi<=25.0 then mes:=’LYTUONG’
else if bmi<=30.0 then mes:=’QUACAN’

Trang 4/3



else if bmi<=40.0 then mes:=’BEOPHI’
else mes:=’RATBEO’;
writeln(g, bmi:5:2, ‘-‘, mes);
close(f); close(g);
end.
Bài 2: Biểu đồ (3 ĐIỂM)
Chương trình tham khảo:
Const day= ‘HBTNS’;
Var a: array[1..9] of integer;
i, j: integer;
f, g : text;
begin
assign(f, ‘chart.inp’);
reset(f);
assign(g, ‘chart.out’);
rewrite(g);
for i:=1 to 5 do
begin
read(f,a[i]);
write(g, day[i]);
write(g, ‘|’);
for j:=1 to a[i] do write(g, ‘#’);
writeln(g);
end;
close(f);
close(g);
end.
Bài 3: Một chữ số. (4 ĐIỂM)

Chương trình tham khảo:
Trang 5/3


var
sum, N, testValue: int64;
f, g: text;
begin
assign(f, ‘onedigit.inp’); reset(f);
assign(f, ‘onedigit.out’); rewrite(g);
readln(f, N);
sum:=0;
testValue:=N;
while (testValue <> 0) do
begin
sum:=sum+ (testValue mod 10);
testValue:= testValue div 10;
end;
while (sum >=10) do
begin
testValue:=sum;
sum:=0;
while (testValue<>0) do
begin
sum:=sum+ testValue mod 10;
testValue:= testValue div 10;
end;
end;
writeln(g, sum);
close(f);

close(g);
end.

Trang 6/3


Bài 4: Đổi dấu (3 ĐIỂM)
Chương trình tham khảo:
Program sign_changing;
var
num, a1, a2: integer;
f, g: text;
begin
assign(f, ‘sign.inp’); reset(f);
assign(g, ‘sign.out’); rewrite(g);
read(f, a2);
while a2 <>0 do
begin
a1:=a2;
read(f, a2);
if (a1<0) and (a2>0) or (a1>0) and (a2<0) then num:=num+1;
end;
writeln(g, num);
close(f); close(g);
end.
Bài 5: Chỉ số ATOM (5 ĐIỂM)
Chương trình tham khảo:
var
buf: string;
i, num, numElements: integer;

f, g: text;
begin
assign(f, ‘atom.inp’); reset(f);
assign(g, ‘atom.out’); rewrite(g);
readln(f, buf);
Trang 7/3


i:=1;
numElements:=0;
while (i<=length(buf)) do
begin
if (buf[i] >= ‘A’) and (buf[i]<= ‘Z’) then
begin
if (buf[i+1]>= ‘A’) and (buf[i+1] <= ‘Z’) then
begin
inc(numElements);
inc(i);
continue;
end;
i:=i+1;
num:=ord (buf[i])-ord(‘0’);
if (num<0) then inc(numElements); break; end;
if (buf[i+1] >= ‘0’) and (buf[i+1]<= ‘9’) then
begin
num:=num*10;
num:=num+ord(buf[i+1])-ord(‘0’);
i:=i+1;
end;
i:=i+1;

numElements:= numElements+num;
end;
end;
writeln(g, numElements);
close(f);
close(g);
end.
Trang 8/3


PHÒNG GD-ĐT HOÀI NHƠN

KÌ THI CHỌN HỌC SINH GIỎI CẤP TRƯỜNG

TRƯỜNG THCS HOÀI MỸ

NĂM HỌC 2016-2017

ĐỀ CHÍNH THỨC

MÔN: TIN HỌC 8
Thời gian: 150 phút (Không kể thời gian giao đề)
Đề thi có 3 trang 3 bài

Hãy lập trình giải các bài toán sau:
BÀI 1: CHỈ SỐ BMI ( 6 điểm).

Tên chương trình : BMI.PAS

Chỉ số BMI (Body Mass Index) được dùng để đánh giá mức độ gầy hay béo của một

người. Chỉ số này có thể giúp xác định một người bị bệnh béo phì hay bị bệnh suy dinh
dưỡng.
Gọi W là khối lượng của một người (Kg) và H là chiều cao của người đó (m), chỉ số
khối cơ thể được tính dựa theo hệ đo lường sau:
BMI =

Theo hệ đo lường metric (Mỹ):

W
H2

Sau đây là định nghĩa phổ biến của loại BMI với 6 cấp độ:
1.
2.
3.
4.
5.
6.

Người gầy (GAY): BMI<15
Người dưới cân (DUOICAN): 15<= BMI <18.5
Người lý tưởng (LYTUONG): 18.5<= BMI <25
Người quá cân (QUACAN): 25< BMI <=30
Người béo phì (BEOPHI): 30< BMI <=40
Người rất béo (RATBEO): BMI >40

YÊU CẦU: Đọc vào chiều cao và trọng lượng của một người theo một hệ đo lường,
hãy tính chỉ số BMI của người đó.
DỮ LIỆU: Vào từ file văn bản BMI.INP gồm một dòng chứa hai số h và w, cách nhau
bởi dấu cách, biểu diễn chiều cao và trọng lượng của người (0

KẾT QUẢ: Ghi ra file văn bản BMI.OUT chứa các thông tin theo thứ tự sau: chỉ số
BMI (định dạng làm tròn hai số thập phân), dấu gạch nối (-) và một trong các cấp độ
(GAY, DUOICAN, LYTUONG, QUACAN, BEOPHI, RATBEO).
BMI.INP
BMI.OUT
1.50 80

37.78-BEOPHI
Trang 9/3


1.90 104

2.81-QUACAN

BÀI 2: AI LÀ TRIỆU PHÚ(7 điểm)
TRIEUPHU.PAS

Tên chương trình :

Để tham gia trò chơi “Ai là triệu phú” của đài Truyền hình Việt Nam VTV3, các ứng cử
viên cần trả lời nhanh câu hỏi của người dẫn chương trình: Sắp xếp các từ theo thứ tự
bảng chữ cái (gọi là thứ tự từ điển). Ứng cử viên nào trả lời đúng và nhanh nhất sẽ được
chọn tham gia trò chơi này.
Người dẫn chương trình đưa cho các ứng cử viên một xâu kí tự S chỉ gồm các chữ cái in
hoa và kí tự trắng. Một từ trong xâu S là một dãy kí tự liên tiếp không chứa kí tự trắng,
giữa các từ ngăn cách với nhau bằng kí tự trắng.
Chẳng hạn: xâu ‘TOAN TIN’ là xâu người dẫn chương trình đưa cho ứng cử viên, xâu
này có hai từ là: ‘TOAN’ và ‘TIN’ được sắp xếp theo thứ tự từ điển là: ‘TIN TOAN’.
YÊU CẦU: Cho biết xâu S mà người dẫn chương trình đưa cho các ứng cử viên. Hãy

đếm số lượng từ trong xâu S và sắp xếp các từ này theo thứ tự từ điển.
DỮ LIỆU: Vào từ file văn bản TRIEUPHU.INP chỉ có một dòng duy nhất ghi xâu S
có độ dài không quá 255 kí tự.
KẾT QUẢ: Ghi vào tệp văn bản . TRIEUPHU.OUT có dạng:
- Dòng thứ nhất ghi số lượng từ trong xâu S.
- Dòng thứ hai ghi các từ đã sắp xếp theo thứ tự từ điển, giữa các từ cách nhau bằng một
kí tự trắng.
VÍ DỤ:
TRIEUPHU.INP
TOAN TIN HOC

TRIEUPHU.OUT
3
HOC TIN TOAN

Chuc ban thi tot

4
Trang 10/3


Ban chuc thi tot

BÀI 3: TAM GIÁC SỐ (7 điểm).

Tên chương trình : TAMGIACSO.PAS

Đề bài như sau: Tam giác pascal bậc n là tam giác có n + 1 dòng và có dạng:
n=0: 1
n=1: 1 1

n=2: 1 2 1
n=3: 1 3 3 1
n=4: 1 4 6 4 1
………………
Trong tam giác số này, giá trị các số trong hàng thứ n tuân theo quy luật sau:
- Số ở cột thứ n+1 và cột thứ nhất luôn bằng 1.
- Mỗi số ở cột n đến cột 2 bằng tổng hai số đứng ở hàng trên cùng cột và cột trước nó.
DỮ LIỆU: Vào từ file văn bản TAMGIAC.INP gồm 1 dòng chứa số nguyên dương N là
bậc của tam giác số.
KẾT QUẢ: Ghi ra file văn bản TAMGIAC.OUT chứa tam giác số.
TAMGIAC.INP
3

TAMGIAC.OUT
1
11
121
1331

(Học sinh dự thi khi làm bài lưu ý: Tất cả các tệp tin đều phải lưu ở thư mục:
D:\TENTHISINH\SBD\. Sau khi làm bài xong, thí sinh phải ký nộp bài, yêu cầu giám
thị coi thi kiểm tra tất cả các tệp tin có đầy đủ hay không. Mọi thất thoát tệp tin vì lý do

Trang 11/3


t thớ sinh, ban t chc khụng chu trỏch nhim; SBD l s bỏo danh ca thớ sinh d
thi)
Đề thi học sinh giỏi cấp trng THCS HOI M
( Thời gian 150 phút)

Bài 1 (4 đ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 =

Sn



:

1.2 2.3 3.4
n.( n + 1)
+
+
+ ... +
3.4 4.5 5.6
( n + 2)(n + 3)

- Lu bài với tên tệp tin: D:\HSGTIN8\TENHS\B1.pas
Bài 2 (6 đ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 ?
- Lu bài với tên tệp tin: D:\ HSGTIN8\TENHS \B2.pas.
Bài 3 (4 điểm):
Lập chơng trình PASCAL thực hiện yêu cầu sau:
Anh Việt đi chợ mua một mặt hàng có giá trị N đồng. Trong túi anh Việt có nhiều tờ tiền với mệnh giá
là 100 đồng, 200 đồng và 1000 đồng. Anh Việt có thể có nhiều cách trả tiền để mua mặt hàng đó
( Anh Việt chỉ dùng các tờ tiền mà anh có sẵn, anh không đa thừa tiền cho ngời bán vì ngời bán không
có tiền trả lại).
Yêu cầu: nhập vào từ bàn phím số N ( N nguyên và 2 trả tiền của anh Việt thỏa mãn. ( Mỗi cách trả tiền trên một dòng, nếu không có cách trả tiền thì không
cần thông báo gì; chơng trình không cần kiểm tra dữ liệu vào từ bàn phím).
- Lu bài với tên tệp tin: D:\ HSGTIN8\TENHS \B3.pas.
Bài 4: ( 6 điểm): Khởi động chơng trình PASCAL, viết chơng trình nhập vào một dãy số nguyên n
phần tử, n nhập từ bàn phím.
- In ra màn hình dãy số vừa nhập xếp theo thứ tự tăng dần.
- In ra màn hình các số nguyên tố trong dãy số vừa nhập và đếm xem đã nhập vào bao nhiêu số
nguyên tố.
- Lu bài với tên tệp tin: D:\ HSGTIN8\TENHS \B4.pas.

Trang 12/3


Lớp 8 - Năm học 2011-2012
Thời gian: 120 phút (Không kể thời gian giao đề)

Yêu cầu: Mỗi thí sinh tạo một Folder mang tên là: K8-<Số báo danh của thí sinh > chứa trong D:\ và lu các
file sau vào đúng Folder vừa tạo.
Câu 1 (3 điểm) : Tạo file mang tên BAI1.PAS thực hiện chơng trình sau :

Kết quả thi của học sinh gồm những thông tin sau: Họ tên, lớp, điểm toán (DT), điểm văn(DV), điểm trung bình
(DTB), xếp loại(XL). Trong đó:
-

Điểm trung bình đợc tính nh sau: DTB=(DT*2+DV)/3

-

Xếp loại dựa trên điểm trung bình nh sau:
Nếu
Nếu

DTB>=8.0, xếp loại giỏi
8.0>DTB>=6.5, xếp loại khá.

Nếu

6.5>DTB>=5.0, xếp loại trung bình

Còn

lại xếp loại cha đạt

Hãy viết chơng trình dới dạng các chơng trình con thực hiện việc in ra màn hình danh sách học sinh theo thứ tự
giảm dần của điểm trung bình kèm theo các thông tin: Họ tên, lớp, điểm trung bình, xếp loại.
Câu 2 (3 điểm) : Tạo file mang tên BAI2.PAS thực hiện chơng trình sau :
Viết chơng trình theo yêu cầu sau:
-

Khi nhấn phím n hoặc N: chơng trình thực hiện đổi một số thập phân sang dãy số nhị phân.


-

Khi nhấn phím t hoặc T: chơng trình thực hiện đổi dãy số nhị phân sang số thập phân.

Câu 3 (4 điểm) : Tạo file mang tên BAI3.PAS thực hiện chơng trình sau:

Trang 13/3


Hai file SN1.TXT, SN2.TXT chứa các số nguyên bất kì. Hãy viết chơng trình tạo file KQ.OUT chứa các số
nguyên đợc sắp xếp theo thứ tự tăng dần, mỗi số trong file KQ.OUT là tổng của hai số nguyên lấy từ file
SN1.TXT và SN2.TXT.
Ví dụ: File SN1.TXT chứa các số nguyên: 1 9 7 12; SN2.TXT chứa các số nguyên: 31 5 2 1 thì file
KQ.OUT có kết quả: 9 13 14 32.

Trang 14/3



×