Đề thi tuyển sinh vào Lớp 10 môn Tin học - Đề 04 - Năm học 2018-2019 - Trường THCS Yên Mô (Có đáp án)
CÂU 1. TAM GIÁC (8 điểm).
Trong mặt phẳng cho N (1≤N≤104) tam giác, mỗi tam giác được xác định bởi ba tham số là chiều dài ba cạnh của tam giác đó.
- Yêu cầu: Hãy đưa ra các tam giác theo thứ tự tăng dần theo chu vi.
- Dữ liệu vào: Trong file TG.INP gồm N+1 dòng.
+ Dòng 1. Chứa số N
+ N dòng tiếp theo mỗi dòng ghi ba số nguyên dương a, b, c là độ dài ba cạnh của một tam giác (mỗi số ghi cách nhau bằng 1 dấu cách).
- Dữ liệu ra: Tệp TG.OUT ghi dãy các tam giác sau khi sắp xếp theo thứ tự tăng dần của chu vi.
Bạn đang xem tài liệu "Đề thi tuyển sinh vào Lớp 10 môn Tin học - Đề 04 - Năm học 2018-2019 - Trường THCS Yên Mô (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Đề thi tuyển sinh vào Lớp 10 môn Tin học - Đề 04 - Năm học 2018-2019 - Trường THCS Yên Mô (Có đáp án)
ĐỀ THI TUYỂN SINH LỚP 10 THPT
Năm học 2018-2019
MÔN: TIN HỌC
Thời gian làm bài:150 phút
( Đề thi gồm 03 câu, 02 trang)
CÂU 1. TAM GIÁC (8 điểm).
Trong mặt phẳng cho N (1≤N≤10 4) tam giác, mỗi tam giác được xác định bởi ba tham
số là chiều dài ba cạnh của tam giác đó.
- Yêu cầu: Hãy đưa ra các tam giác theo thứ tự tăng dần theo chu vi.
- Dữ liệu vào: Trong file TG.INP gồm N+1 dòng.
+ Dòng 1. Chứa số N
+ N dòng tiếp theo mỗi dòng ghi ba số nguyên dương a, b, c là độ dài ba cạnh của một
tam giác (mỗi số ghi cách nhau bằng 1 dấu cách).
- Dữ liệu ra: Tệp TG.OUT ghi dãy các tam giác sau khi sắp xếp theo thứ tự tăng dần
của chu vi.
Ví dụ:
TG.INP TG.OUT
4 1 3 3
8 8 8 3 4 5
1 3 3 8 8 8
3 4 5 8 8 8
8 8 8
5 1 1 1
1 1 1 1 3 3
1 3 3 3 4 5
3 4 5 8 8 8
8 8 8 9 9 9
9 9 9
CÂU 2: CHỮ SỐ THỨ N ( 6 ĐIỂM)
Khi viết các số tự nhiên tăng dần từ 1, 2, 3, liên tiếp nhau, ta nhận được một dãy các chữ
số thập phân vô hạn, ví dụ: 1234567891011121314151617181920...
Yêu cầu: Hãy tìm chữ số thứ N của dãy số vô hạn trên.
Dữ liệu vào: từ file Number.inp gồm một số dòng, mỗi dòng ghi một số nguyên dương N
(N<109).
Dữ liệu ra: file Number.out với mỗi số N đọc được từ file Number.inp, ghi trên dòng
tương ứng chữ số thứ N của dãy.
1 Ví dụ:
Number.inp Number.out
5 5
10 1
54 3
CÂU 3. TỔ CHỨC THAM QUAN (6 điểm).
Trong đợt tổ chức đi tham quan danh lam thắng cảnh của thành phố Ninh Bình, Ban tổ chức
hội thi tổ chức cho N đoàn ( đánh số từ 1 đến N) mỗi đoàn đi tham quan một địa điểm khác
nhau. Đoàn thứ i tham quan địa điểm cách Khách sạn Hoàng Đế di km ( i = 1,2,...,n). Toàn
đoàn có M xe taxi đánh số từ 1 đến M (M N). Xe thứ j có mức tiêu thụ xăng là v lít/km.
Yêu cầu: Hãy chọn N xe để phục vụ việc đưa các đoàn đi tham quan sao cho tổng chi phí
xăng cần sử dụng là ít nhất.
Dữ liệu vào: Vào từ file THAM QUAN.INP
- Dòng đầu tiên chứa hai số nguyên dương N,M (1 N,M 30000).
- Tiếp theo là N dòng, dòng thứ i ghi số nguyên di (1 di 30000).
- Cuối cùng là M dòng, dòng thứ j ghi vj (1 vj 30000).
Dữ liệu ra: Ghi ra file THAMQUAN.OUT
- Dòng đầu tiên ghi tổng lượng xăng cần dùng cho việc đưa các đoàn đi tham quan
(không tính lượt về).
- Dòng thứ i trong số N dòng tiếp theo ghi chỉ số xe phục vụ đoàn i.
Ví dụ:
THAMQUAN.INP THAMQUAN.OUT
3 4 256
7 2
5 3
9 4
17
13
15
10
-----------------------------------Hết---------------------------------------------
2 HƯỚNG DẪN CHẤM ĐỀ THI TUYỂN SINH
LỚP 10 THPT
Năm học 2018-2019
MÔN: TIN HỌC
(Hướng dẫn chấm gồm 09 trang)
I. ĐÁP ÁN VÀ THANG ĐIỂM
1. Hướng dẫn chung:
- Có thể chấm tự động bằng phần mềm AMM2.
- Hoặc chạy trực tiếp trên FreePascal hoặc Turbo Pascal.
2. Cấu trúc bộ test và thang điểm.
Bài Test Điểm
Bài 1 Gồm 8 bộ test, mỗi bộ 1 điểm. 8 điểm
Bài 2 Gồm 6 bộ test, mỗi bộ 1 điểm. 6 điểm
Bài 3 Gồm 6 bộ test, mỗi bộ 1 điểm. 6 điểm
A. Bộ test câu 1.
TEST TG.INP TG.OUT
01 1 5 9 8
5 9 8
02 2 11 11 11
10 15 20 10 15 20
11 11 11
03 4 1 3 3
8 8 8 3 4 5
1 3 3 8 8 8
3 4 5 8 8 8
8 8 8
04 5 1 1 1
1 1 1 1 3 3
1 3 3 3 4 5
3 4 5 8 8 8
8 8 8 9 9 9
9 9 9
05 6 11 11 11
10 15 20 11 11 11
11 11 11 11 11 11
10 15 20 10 15 20
3 11 11 11 10 15 20
10 15 20 10 15 20
11 11 11
06 6 1 1 1
100 150 200 5 5 5
410 580 670 8 9 7
8 9 7 100 150 200
880 500 400 410 580 670
1 1 1 880 500 400
5 5 5
07 8 1 1 1
2 8 7 2 2 2
8 9 12 2 8 7
1 1 1 9 9 9
9 9 9 8 9 12
88 77 55 88 77 55
200 200 50 80 90 99
80 90 99 200 200 50
2 2 2
08 10 7 9 6
11000 12000 9000 8 9 7
7 9 6 88 77 55
100 150 200 88 77 55
410 580 670 200 200 50
8 9 7 200 200 50
880 500 400 100 150 200
88 77 55 410 580 670
200 200 50 880 500 400
88 77 55 12000 15000 16000
200 200 50
B. Bộ test câu 2.
TEST Number.inp Number.out
01 5 5
10 1
54 3
02 8 8
7 7
11 0
14 1
03 7 7
4 4
15 2
9 9
17 3
13 1
04 23 6
4 6 6
25 7
30 2
05 55 2
56 3
06 100 5
105 7
C. Bộ test câu 3.
TEST THAMQUAN.INP THAMQUAN.OUT
01 3 4 256
7 2
5 3
9 4
17
13
15
10
02 3 6 327
15 2
17 1
11 6
7
8
9
10
11
8
03 4 7 462
7 4
15 5
9 3
17 6
13
15
10
12
9
9
12
04 3 5 621
17 2
15 4
19 5
5 17
13
15
14
10
05 3 4 75
3 1
5 3
4 4
7
8
6
6
06 9 11 903
7 6
15 3
9 8
17 5
13 4
15 9
10 1
12 7
9 11
9
12
7
8
7
11
9
10
8
11
10
II. Chương trình nguồn.
Câu 1
Program BAI3;
const fi='TG.INP' ;
fo='TG.OUT';
var a:array[1..100,1..3] of longint;
p:array[1..100]of longint;
i,j,n:integer;
procedure HV(var x,y:longint);
var tg:longint;
begin
tg:=x;
6 x:=y;
y:=tg;
end;
procedure doc;
begin
assign(input,fi);
reset(input);
readln(n);
for i:=1 to n do
for j:=1 to 3 do
read(a[i,j]);
close(input);
end;
procedure cvtg;
begin
for i:=1 to n do
p[i]:=a[i,1]+a[i,2]+a[i,3];
end;
procedure sapxep;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if p[i]>=p[j] then
begin
HV(p[i],p[j]);
HV(a[i,1],a[j,1]);
HV(a[i,2],a[j,2]);
HV(a[i,3],a[j,3]);
end;
end;
procedure ghi;
begin
assign(output,fo);
rewrite(output);
for i:=1 to n do
begin
for j:=1 to 3 do
write(a[i,j],' ');
writeln;
end;
close(output);
end;
{-------------main---------------------------}
BEGIN
doc;
cvtg;
sapxep;
7 ghi;
end.
Câu 2.
Uses crt;
Const fi ='number.inp';
fo ='number.out';
cs:array[1..8] of longint = (9, 180, 2700, 36000, 450000, 5400000, 63000000,
720000000);
Var n : longint;
f,g :text;
Function num(n:longint):char;
var k, so, mu : longint;
s : string;
Begin
k:=1; mu:=1;
while (k<9)and(cs[k]<n) do
begin
n:=n-cs[k];
inc(k); mu:=mu*10;
end;
if mu=1 then so:=n div k
else so:=n div k+mu+ord(n mod k>0)-1;
str(so,s);s:=s[k]+s;
num:=s[n mod k+1];
End;
BEGIN
assign(f,fi); reset(f);
assign(g,fo); rewrite(g);
while not seekeof(f) do
begin
readln(f,n);
writeln(g,num(n));
end;
close(f);
close(g);
END.
Câu 3.
const
tfi='THAMQUAN.INP';
tfo='THAMQUAN.OUT';
maxN=30000;
type
mang=array[1..maxN] of integer;
var
fi, fo: text;
8 N,M: integer;
a : array[1..maxN] of integer;
b : ^mang;
name1,name2: ^mang;
Tong: extended;
x: array[1..maxN] of integer absolute a;
procedure CapPhat;
begin
New(b);
new(name1);
new(name2);
end;
procedure Docdl;
var i: integer;
begin
assign(fi,tfi); reset(fi);
read(fi,N,M);
for i:=1 to N do read(fi,a[i]);
for i:=1 to M do read(fi,b^[i]);
close(fi);
for i:=1 to N do name1^[i]:=i;
for i:=1 to M do name2^[i]:=i;
end;
procedure DoiCho(var u,v: integer);
var tg: integer;
begin
tg:=u;
u:=v;
v:=tg;
end;
procedure SortA(k,l: integer);
var r: integer;
i,j: integer;
begin
r:=a[k];
i:=k;
j:=l;
repeat
while a[i]<r do inc(i);
while a[j]>r do dec(j);
if i<=j then
begin
DoiCho(a[i],a[j]);
DoiCho(name1^[i],name1^[j]);
9 inc(i); dec(j);
end;
until i>j;
if k<j then SortA(k,j);
if i<l then SortA(i,l);
end;
procedure SortB(k,l: integer);
var r: integer;
i,j: integer;
begin
r:=b^[k];
i:=k;
j:=l;
repeat
while b^[i]<r do inc(i);
while b^[j]>r do dec(j);
if i<=j then
begin
DoiCho(b^[i],b^[j]);
DoiCho(name2^[i],name2^[j]);
inc(i); dec(j);
end;
until i>j;
if k<j then SortB(k,j);
if i<l then SortB(i,l);
end;
procedure Tinh;
var i: integer;
T: extended;
begin
SortA(1,N);
SortB(1,M);
Tong:=0;
for i:=1 to N do
begin
T:=a[i];
Tong:=Tong+T*b^[N-i+1];
end;
for i:=1 to N do
x[name1^[i]]:=name2^[n-i+1];
end;
procedure Inkq;
var i: integer;
begin
assign(fo,tfo); rewrite(fo);
writeln(fo,Tong:0:0);
10File đính kèm:
de_thi_tuyen_sinh_vao_lop_10_mon_tin_hoc_de_04_nam_hoc_2018.doc

