Đề và đáp án chọn HSG 12 môn TIN học năm học 2015 2016

9 326 1
Đề và đáp án chọn HSG 12 môn TIN học năm học 2015  2016

Đang tải... (xem toàn văn)

Thông tin tài liệu

Đề và đáp án chọn HSG 12 môn TIN học năm học 2015 2016 Sở Giáo dục và Đào tạo Hải Dương. Đề và đáp án chọn HSG 12 môn TIN học năm học 2015 2016 Sở Giáo dục và Đào tạo Hải Dương. Đề và đáp án chọn HSG 12 môn TIN học năm học 2015 2016 Sở Giáo dục và Đào tạo Hải Dương.

SỞ GIÁO DỤC VÀ ĐÀO TẠO HẢI DƯƠNG ĐỀ CHÍNH THỨC KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 12 NĂM HỌC 2015 - 2016 Môn: Tin học Thi ngày 07/10 /2015 Thời gian thi: 180 phút (Đề thi gồm 03 trang) Tổng quan thi đề TT Tên Bán kính Số đẹp Đếm chữ Siêu thị Dãy chia hết Tên file chương trình Dữ liệu vào Kết in bai1.* bai2.* bai3.* bai4.* bai5.* Bàn phím Bàn phím Bàn phím bai4.inp bai5.inp Màn hình Màn hình Màn hình bai4.out bai5.out Giới hạn thời gian test chấm giây giây giây giây giây Điểm 2,0 2,0 2,0 2,0 2,0 (Dấu * thay pas cpp tùy theo ngôn ngữ lập trình sử dụng pascal C++)  Chú ý chương trình in kết theo yêu cầu, ngồi khơng in thơng tin khác  Chương trình sử dụng lệnh in (write, writeln Pascal; printf(…), cout C+ +) để in kết  Đối với tập đọc vào từ file văn in kết file văn bản, tên file phải đặt theo u cầu đề Khơng có đường dẫn phía trước Viết chương trình giải tốn sau: Bài 1: Bán kính (Ghi chú: Trong chương trình khơng sử dụng dòng lệnh uses crt; lệnh clrscr;) Trên mặt phẳng tọa độ Oxy cho điểm A(x1,y1), B(x2,y2), C(x3,y3) Tính bán kính đường tròn ngoại tiếp tam giác ABC Dữ liệu: Nhập vào từ bàn phím tọa độ điểm A, B, C, điểm dòng, dòng giá trị cách dấu cách, tọa độ số nguyên Kết quả: In hình:  Nếu ABC tạo thành tam giác đưa bán kính đường tròn ngoại tiếp tam giác cần tìm, kết làm tròn chữ số sau dấu chấm thập phân  Ngược lại đưa No Ví dụ: input 0 0 output input 0.707 1 2 3 1/3 output No Bài 2: Số đẹp (Ghi chú: Trong chương trình khơng sử dụng dòng lệnh uses crt; lệnh clrscr;) Định nghĩa số đẹp N số mà tổng ước số ngun dương khơng tính N Ví dụ: 6=1+2+3; số đẹp Hãy viết chương trình nhập vào số tự nhiên N (0c) and (b+c>a) and (c+a>b) ABC độ dài ba cạnh tam giác tính: p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); R=abc/(4*s); 4/3 Nếu a/b = a/c = b/c ba điểm A, B, C thẳng hàng => Thông báo “NO” Code: Var x1,x2,x3,y1,y2,y3:longint; a,b,c,p,s,r:real; Begin Readln(x1,y1,x2,y2,x3,y3); a:=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); b:=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)); c:=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); if (a+b>c) and (b+c>a) and (c+a>b) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); r:=abc/(4*s); writeln(r:0:3); end else writeln(“NO”); end Bài 2: Số đẹp (Ghi chú: Trong chương trình khơng sử dụng dòng lệnh uses crt; lệnh clrscr;) Định nghĩa số đẹp N số mà tổng ước số nguyên dương khơng tính N Ví dụ: 6=1+2+3; số đẹp Hãy viết chương trình nhập vào số tự nhiên N (0max then max:=dem; end; writeln(max); for i:=1 to dem write(‘e’); end Bài 4: Siêu thị (Ghi chú: Trong chương trình khơng sử dụng dòng lệnh uses crt; lệnh clrscr;) Phương tiện lại người dân làng chủ yếu xe máy Giá xăng khơng giảm, mua sắm người dân ngơi làng ln tìm tới cửa hàng gần nhà để mua hàng giá hàng hóa cửa hàng Những người kinh doanh nhạy bén để đáp ứng nhu cầu người dân, họ chọn vị trí để xây siêu thị cho tổng khoảng cách từ siêu thị tới vị trí ngơi làng mà người dân sinh sống nhỏ Dữ liệu: Đọc vào từ file văn BAI4.INP gồm có:  Dòng chứa số nguyên dương N số ngơi làng  N dòng sau, dòng chứa hai số thực x, y tọa độ làng, hai giá trị cách dấu cách (0≤N≤10 6, |x|,|y|≤109, coi tọa độ trung tâm làng) Kết quả: Ghi file văn BAI4.OUT giá trị tổng khoảng cách cần tìm Kết làm tròn đến ba chữ số sau dấu chấm thập phân Ví dụ: BAI4.INP 00 BAI4.OUT 4.000 6/3 33 34 Thuật toán: Có nhiều cách để giải tốn, nhiên thuật toán tối ưu xếp dãy tọa độ nhà theo thứ tự không giảm (khi mảng x thay đổi kéo theo mảng y thay đổi) Dùng thuật tốn quicksort để xếp nhanh n≤106 Nếu dùng thuật toán bọt để xếp thù chương trình chạy chậm khơng điểm tối đa Sau xếp xong ta tìm vị trí tọa độ xây siêu thị xp=(x[1]+y[n])/2; yp=(y[1]+y[n])/2; Sau tính tổng khoảng cách từ điểm tới xp, yp đáp án cần tìm S=d1+d2+…+dn (di=sqrt((x[i]-xp)*( x[i]-xp)+ y[i]-yp)*( y[i]-yp)); Code: Const tfi= “BAI4.INP”; tfo= “BAI4.OUT”; Var x,y:array[1 maxn] of double; S,Xp,Yp:double ; N:longint; fi,fo:text; Procedure doc; Begin Readln(N); For i:=1 to N Readln(x[i],y[i]); End; Procedure quicksort(k,l:longint) Var tg,tgx,tgy:double; i,j:longint; Begin tg:=(x[l]+x[l])/2; i:=k; j:=l; repeat While (tg>x[i]) i:=i+1; While (tg

Ngày đăng: 20/01/2019, 08:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan