Đề thi, đáp án môn Tin thi chọn HSG_THCS cấp tỉnh năm 2018

Chú ý:Đây là bản xem thử online, xin hãy chọn download miễn phí bên dưới để xem bản đẹp dạng .pdf
!--[if IE]>
SỞ GIÁO DỤC VÀ ĐÀO TẠO LÀO CAI  
ĐỀ CHÍNH THỨC  
KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THCS  
NĂM 2018  
Môn thi: Tin học  
Thời gian làm bài 150 phút không kể thời gian giao đề)  
(
Đề thi gồm: 03 trang, 04 câu  
TỔNG QUAN BÀI THI  
Câu  
Tệp chương trình  
Tệp dữ liệu vào Tệp dữ liệu ra Điểm Giới hạn  
1
a
CAU1A.SB2  
CAU1B.SB2  
CAU2.PAS  
CAU3.PAS  
CAU4.PAS  
3,0  
2,0  
1

2
CAU2.INP  
CAU3.INP  
CAU4.INP  
CAU2.OUT  
CAU3.OUT  
CAU4.OUT  
5,0  
6,0  
4,0  
0.05s  
0.05s  
0.05s  
3
4
Câu 1 (5,0 điểm).  
a. (3,0 điểm) Sử dụng ngôn ngữ lập trình Scratch tạo chương trình vẽ hình khối sau:  
b. (2,0 điểm) Sử dụng ngôn ngữ lập trình Scratch xây dựng Game Hứng bóng  
theo mô tả sau:  
Game gồm 2 nhân vật một quả bóng và một thanh ngang đỡ bóng (như hình  
dưới). Bắt đầu trò chơi bằng cách nhấn phím dấu cách.  
-
-
Người chơi điều khiển thanh ngang hứng bóng bằng các phím mũi tên trái, phải.  
Mỗi lần đỡ được bóng thì được tính 10 điểm (quả bóng biến mất khi chạm  
Trang 1/3  




thanh ngang hoặc cạnh dưới sân khấu).  
Bóng rơi thẳng 20 lần liên tiếp từ vị trí bất kì ở cạnh trên sân khấu, sau 20 lần  
-
rơi thì kết thúc trò chơi. Khi kết thúc trò chơi, nếu người chơi được từ 100 điểm trở lên  
thì thông báo người chơi đã thắng, ngược lại thông báo người chơi đã thua.  
Câu 2 (5,0 điểm). Cho số nguyên dương N (2≤N≤1000).  
a. Hãy đếm số lượng số nguyên tố trong đoạn từ 1 đến N.  
b. Số nguyên dương a được gọi là số hoàn hảo nếu tổng các ước thực sự của nó  
(
trừ a) bằng chính nó (Ví dụ: Số 6 là số hoàn hảo vì 6 có 3 ước thực sự là 1, 2, 3 và  
1
+2+3=6). Tính tổng các số hoàn hảo trong đoạn từ 1 đến N.  
Dữ liệu vào: File vào ghi một số nguyên dương N.  
Dữ liệu ra: File ra ghi 2 số nguyên dương được viết cách nhau bởi một dấu cách  
là số lượng số nguyên tố và tổng các số hoàn hảo trong đoạn từ 1 đến N.  
Ví dụ:  
CAU2.INP  
CAU2.OUT  
4 6  
1
0
Câu 3. (6,0 điểm)  
Viết chương trình nhập họ và tên của một người và thực hiện các yêu cầu sau:  
a. Xóa các kí tự trắng thừa trong xâu họ tên (kí tự trắng thừa là kí tự trắng ở đầu,  
cuối họ tên và nhiều hơn một kí tự trắng giữa hai từ trong họ tên)  
b. Đổi các chữ cái đầu từ trong họ tên thành chữ in hoa  
c. Hãy cho biết từ dài nhất trong họ và tên của người đó, nếu có nhiều từ có độ  
dài bằng nhau thì in ra từ đầu tiên.  
d. Cho biết tên được tạo nên từ bao nhiêu chữ cái Tiếng Anh (không phân biệt  
chữ hoa chữ thường)  
*
Dữ liệu vào: Đọc từ tập tin CAU3.INP có cấu trúc như sau:  
-
Một dòng ghi họ tên của một người  
*
Kết quả: Ghi ra tệp văn bản CAU3.OUT với cấu trúc như sau:  
-
Dòng 1: In họ tên sau khi đã xóa hết các kí tự trắng thừa và các chữ cái đầu từ  
trong họ tên được viết in hoa;  
Dòng 2: In ra từ dài nhất đầu tiên trong họ tên;  
-
Trang 2/3  




-
Dòng 3: In ra số lượng chữ cái Tiếng Anh khác nhau được dùng trong họ tên.  
Ví dụ:  
CAU3.INP  
CAU3.OUT  
nguyen thi thu huong  
Nguyen Thi Thu Huong  
Nguyen  
9
Câu 4 (4,0 điểm)  
Cho mảng số nguyên A gồm các phần tử a  
ảng B gồm các phần tử b ,b ,b …b với (0
i
1
,a  
2
,a  
3
m i  
…a với (0 

1
1
2
3
n
phần tử của mảng A và B có thể giống nhau. Sử dụng ngôn ngữ lập trình Pascal viết  
chương trình thực hiện:  
a. Tìm số nguyên C nhỏ nhất được ghép từ tất cả các phần tử của mảng A. Biết  
số có số không (0) đứng đầu không được gọi là số nguyên C. Nếu mảng A chỉ gồm  
toàn số 0 thì C=0.  
b. Tìm số nguyên D lớn nhất được ghép từ tất cả các phần tử khác nhau lấy từ  
mảng A và B (các chữ số của D khác nhau).  
*
Dữ liệu vào: Đọc từ tệp văn bản CAU4.INP  
-
Dòng 1: số phần của mảng A;  
-
-
-
Dòng 2: số phần tử của mảng B;  
Dòng 3: giá trị các phần tử của mảng A mỗi phần tử cách nhau một kí tự trống  
Dòng 4: giá trị các phần tử của mảng B mỗi phần tử cách nhau một kí tự trống  
*
Kết quả: Ghi ra tệp văn bản CAU4.OUT với cấu trúc như sau:  
-
Dòng 1: số nguyên C  
Dòng 2: số nguyên D  
-
CAU4.INP  
CAU4.OUT  
20034557  
8
1
2
2
1
987654320  
5 7 4 0 5 3 0  
3 3 9 8 6 5 7 9 5 5  
-
------------------------------- HẾT --------------------------------  
Họ và tên thí sinh ........................................................ SBD..............  
Lưu ý: - Thí sinh chỉ được sử dụng máy vi tính không có kết nối mạng khi làm bài.  
-
Cán bộ coi thi không giải thích gì thêm.  
Trang 3/3  




-
SỞ GIÁO DỤC VÀ ĐÀO TẠO KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THCS  
LÀO CAI  
NĂM 2018  
Môn thi: Tin học  
-
ĐÁP ÁN ĐỀ THI CHÍNH  
THỨC  
I. Hướng dẫn chấm  
. Phần lập trình Scratch:  
Giám khảo chạy chương trình của thí sinh, so sánh kết quả với chương  
trình mẫu và chấm điểm theo thang điểm  
Câu Nội dung  
1
-
Điểm  
Xác định được hình cơ sở cần vẽ là hình thoi và vẽ được hình  
thoi cơ sở  
0
,5  
0,5  
Xác định đúng được góc quay để vẽ các hình thoi lặp  
Xác định đúng độ dài bước di chuyển để vẽ được đường tròn  
trong cùng  
0
,25  
,25  
1
a
Xác định được đúng vị trí đặt bút vẽ đầu tiên để luôn vẽ đúng  
được hình mỗi khi chạy chương trình  
0
Vẽ đúng được hình theo yêu cầu  
1,5  
3,0  
Tổng điểm câu 1a  
Đặt đúng lệnh nhấn phím dấu cách để bắt đầu chương trình  
Thêm được biến để tính điểm cho người chơi  
Xác định đúng lệnh để bóng rơi ở vị trí ngẫu nhiên  
Viết đúng đoạn lệnh lặp cho mỗi lần bóng rơi  
Viết đúng lệnh tính điểm cho người chơi  
Viết đúng lệnh thông báo kết quả chơi  
Viết đúng lệnh di chuyển giá đỡ bằng phím mũi tên bên phải  
Viết đúng lệnh di chuyển giá đỡ bằng phím mũi tên bên trái  
Tổng điểm câu 1b  
0,25  
0,25  
0,25  
0,25  
0,25  
0,25  
0,25  
0,25  
2,0  
1

2
. Phần lập trình Pascal  
Cách 1: Giám khảo cho chạy chương trình của thí sinh với lần lượt file input và  
so sánh với file out của đáp án, đúng thì cho điểm theo thang điểm không đúng  
thì không cho điểm.  
Cách 2: Copy bài thí sinh vào chương trình chấm tự động THEMIS có sẵn  
trong đĩa CD, chạy chương trình chấm.  
-
Chú ý kiểm tra những bài luôn cho một kết quả và những bài bị 0 điểm.  
Câu 2: Có 10 test = 0.5 x 10 = 5 điểm  
Câu 3: Có 10 test = 10 x 0.6 = 6 điểm  
Câu 4: Có 10 test = 10 x 0.4 = 4 điểm  
Trang 4/3  




II. Chương trình tham khảo  
Câu 1.  
a.  
b.  
-
Đoạn lệnh lập trình cho quả bóng:  
-
Đoạn lệnh lập trình cho giá đỡ:  
-
Đoạn lệnh thông báo:  
Trang 5/3  



Câu 2.  
$MODE OBJFPC}  
{
const fi='CAU2.INP';  
fo='CAU2.OUT';  
var N, dem, tong_hh: integer;  
f:text;  
function NT(a:integer):boolean;  
var i:integer;  
ok:boolean;  
begin  
if (a
else if (a
else  
begin  
ok:=true;  
for i:=2 to trunc(sqrt(a)) do  
if (a mod i=0) then  
begin  
ok:=false;  

eak;  
end;  
end;  
NT:=ok;  
end;  
function HH(a:integer):boolean;  
var i,tong:integer;  
begin  
tong:=1;  
for i:=2 to trunc(sqrt(a)) do  
if (a mod i=0) then  
tong:=tong+i+(a div i);  
if tong=a then HH:=true  
else HH:=false;  
end;  
procedure doc;  
begin  
assign(f,fi);  
reset(f);  
readln(f,N);  
close(f);  
end;  
procedure xuli;  
var j:integer;  
begin  
dem:=0;  
Trang 6/3  



tong_hh:=0;  
for j:=2 to N do  
begin  
if (NT(j)) then dem:=dem+1;  
if (HH(j)) then tong_hh:=tong_hh+j;  
end;  
end;  
procedure ghi;  
begin  
assign(f,fo);  
rewrite(f);  
write(f,dem,' ',tong_hh);  
close(f);  
end;  
BEGIN  
doc;  
xuli;  
ghi;  
END.  
Câu 3.  
$MODE OBJFPC}  
{
program CAU3;  
uses crt;  
var s,s1:string;  
dem:a
ay['A'..'Z'] of byte;  
tumax:string[20];  
i,j,d:byte;  
kt:boolean;  
ch:char;  
fi,fo:text;  
BEGIN  
assign(fi,'CAU3.INP');  
reset(fi);  
read(fi,s);  
close(fi);  
assign(fo,'CAU3.OUT');  
rewrite(fo);  
{
chuan hoa}  
while s[1]=' ' do delete(s,1,1);  
while s[length(s)]=' ' do delete(s,length(s),1);  
while pos(' ',s)0 do delete(s,Pos(' ',s),1);  
s[1]:=upcase(s[1]);  
for i:=1 to length(s) do  
if (s[i]=' ') and (s[i+1]'') then s[i+1]:=upcase(s[i+1]);  
Trang 7/3  



writeln(fo,s);  
tu max}  
{
s1:=s+' ';  
while pos(#32,s1)0 do  
begin  
if (pos(#32,s1)>length(tumax)) then  
tumax:=copy(s1,1,pos(#32,s1));  
delete(s1,1,Pos(#32,s1));  
end;  
writeln(fo,tumax);  
{
dem so ki tu khac nhau}  
d:=0;  
for ch:='A' to 'Z' do dem[ch]:=0;  
for j:=1 to length(s) do s[j]:=upcase(s[j]);  
for j:=1 to length(s) do  
if s[j] in ['A'..'Z'] then dem[s[j]]:=dem[s[j]]+1;  
for ch:='A' to 'Z' do  
if (dem[ch]>0) then d:=d+1;  
writeln(fo,d);  
close(fo);  
end.  
Câu 4.  
$MODE OBJFPC}  
{
type mang=a
ay[1..1001] of byte;  
const fi='CAU4.INP';  
fo='CAU4.OUT';  
var m,n,i:integer;  
a, b:mang;  
d:a
ay[1..10] of byte;  
f:text;  
procedure doc;  
begin  
assign(f,fi);  
reset(f);  
readln(f,m);  
readln(f,n);  
for i:=1 to m do read(f,a[i]);  
readln(f);  
for i:=1 to n do read(f,b[i]);  
close(f);  
end;  
procedure Qsort1(l,r:integer);  
var j,k:integer;  
Trang 8/3  



x,tg:byte;  
begin  
x:=a[(l+r)div 2];  
j:=l;  
k:=r;  
repeat  
while a[j]
while a[k]>x do k:=k-1;  
if j
begin  
tg:=a[j];  
a[j]:=a[k];  
a[k]:=tg;  
j:=j+1;  
k:=k-1;  
end;  
until j>k;  
if j
if k>l then Qsort1(l,k);  
end;  
procedure Qsort2(var c:mang;l,r:integer);  
var j,k:integer;  
x,tg:byte;  
begin  
x:=c[(l+r)div 2];  
j:=l;  
k:=r;  
repeat  
while c[j]>x do j:=j+1;  
while c[k]
if j
begin  
tg:=c[j];  
c[j]:=c[k];  
c[k]:=tg;  
j:=j+1;  
k:=k-1;  
end;  
until j>k;  
if j
if k>l then Qsort2(c,l,k);  
end;  
procedure SoMin;  
begin  
Qsort1(1,m);  
Trang 9/3  



i:=1;  
while (a[i]=0)and(i
if i>m then writeln(f,0)  
else  
if (i1) then  
begin  
a[1]:=a[i];  
a[i]:=0;  
end;  
for i:=1 to m do write(f,a[i]);  
writeln(f);  
end;  
procedure SoMax;  
var j,k:integer;  
begin  
Qsort2(a,1,m);  
Qsort2(b,1,n);  
i:=1;  
j:=1;k:=0;  
while (i
begin  
while (a[i]=a[i+1])and(i
while (b[j]=b[j+1])and(j
k:=k+1;  
if a[i]
[j] then  
begin  
d[k]:=a[i];  
i:=i+1;  
end  
else  
if a[i]
begin  
d[k]:=b[j];  
j:=j+1;  
end  
else  
begin  
d[k]:=a[i];  
i:=i+1;  
j:=j+1;  
end;  
end;  
while (i
begin  
while (a[i]=a[i+1])and(i
Trang 10/3  



k:=k+1;  
d[k]:=a[i];  
i:=i+1;  
end;  
while (j
begin  
while (b[j]=b[j+1])and(j
k:=k+1;  
d[k]:=b[j];  
j:=j+1;  
end;  
for i:=1 to k do write(f,d[i]);  
end;  
procedure ghi;  
begin  
assign(f,fo);  
rewrite(f);  
SoMin;  
SoMax;  
close(f);  
end;  
BEGIN  
doc;  
ghi;  
END.  
Trang 11/3  



Có thể download miễn phí file .pdf bên dưới
Đăng ngày 2018-10-07 19:09:10 | Thể loại: | Lần tải: 7 | Lần xem: | Page: 11 | FileSize: 0.57 M | File type: pdf
lần xem

đề thi Đề thi, đáp án môn Tin thi chọn HSG_THCS cấp tỉnh năm 2018, . <!DOCTYPE html !--[if IE]> <![endif]--> SỞ GIÁO DỤC VÀ ĐÀO TẠO LÀO CAI ĐỀ CHÍNH THỨC KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH THCS NĂM 2018 Môn thi: Tin học Thời gian làm bài 150 phút không kể thời gian

https://tailieuhoctap.com/dethi/de-thi-dap-an-mon-tin-thi-chon-hsgthcs-cap-tinh-nam-2018.zj810q.html

Bạn có thể Tải về miễn phí đề thi này , hoặc tìm kiếm các đề thi khác



đề thi liên quan