Đề 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.

doc 12 trang Bạch Hải 13/06/2025 40
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 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);
 10

File đính kèm:

  • docde_thi_tuyen_sinh_vao_lop_10_mon_tin_hoc_de_04_nam_hoc_2018.doc