Đề 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); 10
File đính kèm:
de_thi_tuyen_sinh_vao_lop_10_mon_tin_hoc_de_04_nam_hoc_2018.doc