CHUYÊN đề bồi DƯỠNG học SINH GIỎI môn TIN học CHUYÊN đề HÌNH học

33 1.1K 1
CHUYÊN đề bồi DƯỠNG học SINH GIỎI môn TIN học CHUYÊN đề HÌNH học

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC CHUYÊN ĐỀ HÌNH HỌC MÃ: TI08 Để đáp ứng yêu cầu công tác giảng dạy đội tuyển Tin học Bản thân giáo viên phải tìm tòi, nghiên cứu, trao đổi kiến thức kinh nghiệm giảng dạy với đồng nghiệp Bên cạnh đó, nguồn tài liệu mạng nguồn quý giá giáo viên Tuy nhiên, việc tổng hợp, biên tập thành tài liệu có nội dung phù hợp cho đối tượng học sinh lại vấn đề quan trọng Vì vậy, với chuyên đề xin đề cập đến tài liệu sưu tầm mà thường dùng để giảng dạy cho học sinh đội tuyển, toán mà thân thấy tâm đắc Nguồn đề giải chuyên đề sưu tầm từ: spoj, laptrinh.ntu, kienthuc24h Tài liệu bố cục thành hai phần: • Kiến thức hình học • Hệ thống tập quan trọng hình học A KIẾN THỨC HÌNH HỌC CƠ BẢN I Tọa độ Hệ trục toạ độ oxy gồm ba trục ox, oy đôi vuông góc với với ba vectơ r ur đơn vị i , j r r ( i = j = 1) uur ur a ( a1; a2 ) ⇔ a ur uur = a1i + a2 j ; uuuuur ur uur M(x;y)⇔ OM = xi + y j r r Tọa độ vectơ: cho u( x; y), v( x '; y ') r r a u = v ⇔ x = x '; y = y ' ur r d u.v = xx '+ yy ' g r r r e u ⊥ v ⇔ xx '+ yy ' = ur r u.v r r cos u, v = r r ( ) r b u ± v = ( x ± x '; y ± y ') u.v r c ku = (kx; ky) r f u = x + y Tọa độ điểm: cho A(xa;ya), b(xb;yb) uuur a AB = ( xB b AB = ( xB − x A )2 + ( yB − y A )2 − x A ; yB − y A ) c G trọng tâm tam giác ABC ta có: xG = x A + xB + xC ; yG = y A + yB + yC d M chia AB theo tỉ số k: xM = x A − kxB y − kyB ; yM = A 1− k 1− k Đặc biệt: M trung điểm AB: xM = x A + xB y + yB ; yM = A 2 II Phương trình đường thẳng Một đường thẳng Δ xác định biết điểm M(x0;y0) vectơ pháp r r tuyến n = ( A; B ) vectơ phương a = ( a; b ) Phương trình tổng quát A ( x − x0 ) + ( y − y0 ) = ⇔ Ax + By + C = ⎧ x = x0 + at , (t ∈ R ) ⎩ y = y0 + bt Phương trình tham số: ⎨ n a Phương trình đường thẳng qua M có hệ số góc k: y = k ( x − x0 ) + y0 Khoảng cách từ điểm M(xM;yM) đến đường thẳng Δ: Δ Ax + By + C = là: d (M , Δ) = AxM + ByM + C A2 + B Δ III Phương trình đường tròn Một đường tròn xác định biết tâm I(a;b) bán kính r Phương trình: r M I (C) Dạng 1: ( x − a )2 + ( y − b )2 = r Dạng 2: x2 + y − 2ax − 2by + d = , điều kiện a + b2 − d > r = a + b2 − d Điều kiện để đường thẳng Δ: Ax + By + C = tiếp xúc với đường tròn (C) là: d ( I , Δ) = Aa + Ba + C A2 + B =r IV Hình học phẳng Các công thức tính diện tích tam giác - Dùng hình học Diện tích S S = ½bh, b độ dài cạnh tam giác (thường gọi đáy) h độ dài đường cao hạ từ đỉnh đối diện xuống cạnh Có thể giải thích công thức cách dùng diện tích hình chữ nhật sau: Diện tích tam giác nửa diện tích hình bình hành, diện tích hình bình hành diện tích hình chữ nhật Từ tam giác (màu xanh cây), ta tam giác nó,(màu xanh lam), quay góc 180°, ghép chúng thành hình bình hành Cắt phần hình bình hành, ghép lại thành hình chữ nhật Vì diện tích hình chữ nhật bh, nên diện tích tam giác ½bh Nói cách khác, diện tích tam giác độ dài cạnh đáy nhân với chiều cao chia 2: - Dùng vectơ Diện tích hình bình hành tích có hướng hai vectơ Nếu tứ giác ABDC hình bình hành diện tích tính công thức: tích có hướng hai vectơ Diện tích tam giác ABC nửa diện tích hình bình hành ABDC nên: - Dùng lượng giác Sử dụng lượng giác để tính diện tích tam giác Vì nên ta có: - Dùng tọa độ Nếu đỉnh A đặt gốc tọa độ (0, 0) hệ tọa độ Descartes tọa độ hai đỉnh B = (xB, yB) C = (xC, yC), diện tích S tam giác ABC nửa giá trị tuyệt đối định thức Trong trường hợp tổng quát, ta có: Trong không gian ba chiều, diện tích tam giác cho {A = (xA, yA, zA), B = (xB, yB, zB) C = (xC, yC, zC)} tổng 'Pythagor' diện tích hình chiếu chúng mặt phẳng tọa độ (nghĩa x=0, y=0 and z=0): - Dùng công thức Heron Cũng tính diện tích tam giác S theo Công thức Heron: V Đa giác lồi nửa chu vi tam giác Số đường chéo đa giác lồi có N đỉnh: !(!!!) ! Cho n điểm đôi phân biệt mặt phẳng (n ≥ 3) Có n(n-1)(n-2)/6 tam giác có đỉnh đỉnh phân biệt số n điểm (bao gồm tam giác bị suy biến, nghĩa đỉnh thẳng hàng) Tổng khoảng cách từ điểm tứ giác đến đỉnh bé tổng hai đường chéo Chứng minh qua điểm (a, b) dựng đường thẳng cắt góc tọa độ thứ tạo thành tam giác vuông, cho cạnh tam giác có tất 2ab+a+b+1 điểm với tọa độ nguyên công thức tính diện tích đa giác lồi theo tọa độ S = |∑(xⁿ+¹ - xⁿ)(yⁿ+¹ + yⁿ)/2| Hoặc: S = |∑(xⁿ+¹ + xⁿ)(yⁿ+¹ - yⁿ)/2| Trong n chạy từ đến số đỉnh đa giác, đỉnh thứ n+1 coi đỉnh đỉnh là: VI Điểm, đường thẳng, đoạn thẳng a Điểm (Point): Trong hình học, xét hệ Đề xoy, điểm có toạ độ: (x,y) Chính ta lưu tọa độ điểm ghi Record: Type point = Record x , y : integer ; End ; xét tới toạ độ P(x,y) ta xét P.x, P.y Chúng ta biết khoảng cách hai điểm P(x1,y1)và Q(x2,y2) mặt phẳng: Function Khoang_Cach(P,Q: Point_Chung ) : Real ; Begin Khoang_Cach:=Sqrt(Sqr(P.x-Q.x)+Sqr(P.y-Q.y)); End ; b Đường thẳng (line): Trong hình học, có phương trình đường thẳng mặt phẳng: Ax+By+C =0 Chúng ta coi A, B, C biểu diễn cho đường thẳng Nếu đường thẳng (d): Ax + By + C = 0, qua điểm A (x1,y1) B(x2,y2) có: A:= y1- y2; B:= x2 – x1; C:= -(A.x1+B.y1) Chính dùng thủ tục xác định A, B, C đường thẳng qua điểm sau: Procedure Xac_DinhABC(P, Q: Point, var A , B , C: Longint ); Begin A := P.y-Q.y ; B := Q.x-P.x ; C := -(A*P.x+B*P.y ) ; End ; Và coi đường thẳng kiểu: Type Lines = Record a , b , c : Longint; End ; c Đoạn thẳng: Đoạn thẳng phần đường thẳng, bị giới hạn x, y Chúng ta xét đoạn thẳng thông thường cho qua điểm Chính toạ độ x, y bị giới hạn khoảng Phương trình tương quan điểm đường thẳng, đoạn thẳng: a Tương quan điểm đường thẳng: Cho đường thẳng (d) có phương trình: Ax +By + C = P(x,y) Thì phương trình: F(x,y) = A*P.x + B*P.y + C, phương trình tương quan P với (d) Đúng vậy: * Nếu F (x,y)=0 P thuộc (d) Ngược lại F(x,y)0 P không thuộc (d) * Nếu Q (x1,y1) mà nằm phía không thuộc (d) F (x1,y1)*F(x,y)>0, khác phía F(x1,y1)*F(x,y)0) r((P.y-A.y) * (P.y-B.y)>0) then Exit ; thuoc_doan:=True; End ; Cắt nhau: a Đường thẳng cắt đường thẳng: (1): A1*x+B1*y+C1=0 (2): A2*x+B2*y+C2=0 Thì ta gọi mối tương quan (1)và (2) biểu diễn qua hệ phương trình sau: A1*x+B1*y=-C1 A2*x+B2*y=-C2 đặt: D=A1*B2-A2*B1; Dx=B1*C2 – B2*C1; Dy=C1*B2-A1*C2 * Hai đường thẳng cắt khi: D≠0 Toạ độ điểm giao hai đường thẳng là: x=Dx/D, y= Dy/D * Hai đường thẳng song song với khi: D=0 Dx ≠ Dy ≠ * Hai đường thẳng trùng khi: D=Dx=Dy=0 Chúng ta xây dựng hàm kiểm tra cắt hai đường thẳng Hàm Lines_Cut có giá trị: 1: Nếu hai đường thẳng cắt 2: Nếu hai đường thẳng song song 3: Nếu hai đường thẳng trùng Function Lines_cut ( L1 , L2 : Lines ) : Byte ; var D, Dx,Dy : Longint ; Begin D := L1.a*L2.b -L2.a*L1.b; Dx :=L1.b*L2.c-L1.c*L2.B ; Dy:=L1.c*L2.b-L1.b*L2.c ; If D0 then Lines_cut:=1 else If D=0 then Begin If (Dx0)Or(Dy0)Then Lines_cut:=2 ; If (Dx=0)And(Dy=0) ThenLines_Cut:=3; End ; End ; b Đường thẳng cắt đoạn thẳng: (1): A1*x+B1*y+C1=0 đoạn AB, A (x1,y1), B(x2,y2) Đặt A2:=y1-y2; B2:=x2-x1; C2:=-(A2*x1+B2*y) D=A1*B2-A2*B1; Dx=B1*C2 -B2*C1; Dy=C1*B2-A1*C2 Mối quan hệ (1) AB thể hiện: * Nếu D ≠ điểm P(Dx/D,Dy/D) nằm đoạn AB (1) cắt AB * Nếu D ≠ điểm P(Dx/D,Dy/D) nằm đoạn AB (1) cắt đường thẳng chứa AB không cắt AB * Nếu D=Dx=Dy=0 AB(1) * Nếu D=0, Dx/D0 Dy/D0 AB song song với (1) Chúng ta xây dựng hàm: Lines_Cut_AB Lines_Cut_AB bằng: 1: Nếu đoạn thẳng cắt đường thẳng 2: Nếu đoạn thẳng song song với đường thẳng 3: Nếu đoạn thẳng thuộc đường thẳng 4: Nếu đường thẳng chứa đoạn thẳng cắt đường thẳng điểm nằm đường thẳng Function Lines_Cut_AB (L1:Lines ; P,Q : Point ): Byte; Var L2 : Lines; Giao : Point_Chung ; D , Dx , Dy : Longint ; Begin With L2 Xac_DinhABC (P,Q,a,b,c); D := L1.a*L2.b -L2.a*L1.b; Dx :=L1.b*L2.c-L1.c*L2.B ; Dy:=L1.c*L2.b-L1.b*L2.c ; If D=0 Then Begin If (Dx=0)And (Dy=0)Then Lines_Cut_AB:=3; If ( Dx0)Or(Dy0)Then Lines_Cut_AB:=2 ; End ; If D0 Then Begin Giao.x := Dx/D ; Giao.y := Dy/D ; If Thuoc_Doan (Giao,P,Q) then Lines_Cut_AB:=1 Else Lines_Cut_AB:=4 ; End ; End ; c Đoạn thẳng cắt đoạn thẳng: Xét hai đoạn thẳng AB CD chúng cắt hay không xét theo hai cách Trong xin đề nghị hai cách, cách có ưu, nhược điểm khác Cách 1: Cách Theo Phương Trình Đường Thẳng: Function Cat_Nhau1 (P,Q,M,N: Point) : Boolean ; Var L : Lines ; Begin Cat_Nhau1:=False; With L Do Xac_DinhABC(P,Q,a,b,c); If Lines_Cut_AB(L,M,N)1 then Exit; With L Do Xac_DinhABC(M,N,a,b,c); If Lines_Cut_AB(L,P,Q)1 then Exit ; Cat_Nhau1:=True ; End ; Cách 2: (Tham khảo sách Cẩm nang thuật toán - tập 2) Function ccw ( P0 , p1 , p2 : Point ) : Integer ; Var Dx1,Dx2,Dy1,Dy2: Integer ; Begin Dx1 := P1 x -P0.x ; Dy1 :=P1.y-P0.y ; Dx2 := P2 x -P0.x ; y2 :=P2.y-P0.y ; If Dx1*Dy2>Dy1*Dx2 then ccw :=1 ; If Dx1*Dy2 ccw := -1 ; If Dx1*Dy2=Dx2*Dy1 then Begin If (Dx1*Dx2 -infinite then write(max :0 :3) else write( -1); close(output); end; begin doctep; chuanbi; thuchien; ghikq; end Xây cầu Khu resort thầy Minh trải khắp vịnh Hạ Long, với hàng trăm nghìn đảo lớn nhỏ Để quản lí hiệu hoạt động khu resort, thầy Minh vẽ đồ với hệ tọa độ vuông góc oxy - mà gốc tọa độ (0,0) nhà Khi đảo thứ i N đảo có tọa độ (xi,yi) Với số tiền T có được, thầy Minh đầu tư xây dựng cầu nối hai đảo khu resort để tăng lợi nhuận kinh doanh Vấn đề đặt chọn xây cầu nối hai đảo với số tiền mà cầu phải đảm bảo tính thẩm mĩ kiểm soát độ rủi ro xảy thi công? Biết độ thẩm mĩ (dtmij) độ rủi ro (dij) cầu nối đảo có tọa độ (xi,yi) với đảo có tọa độ (xj,yj) tính theo công thức: 𝑑!" =   (𝑥! − 𝑥𝑗)! + (𝑦! − 𝑦! )! 𝑇 ! (−1)!!! cos 𝑑𝑡𝑚!" = 𝑑!" + 𝑖𝜋 𝑗𝜋 + (−1)!!! sin 𝑇 𝑇 !!! Với dij < dik cầu nối cặp đảo (i,j) an toàn cầu nối cặp đảo (i,k) Với dtmij < dtmik tất nhiên cầu nối cặp đảo (i,k) đẹp cầu nối cặp đảo (i,j) Yêu cầu: Hãy chọn hai đảo để xây cầu cho rủi ro Dữ liệu vào: Từ tệp văn ‘L_ISLAND.INP’ gồm: • Dòng 1: Ghi số nguyên dương N, T – số đảo khu resort số tiền để xây cầu ( N ≤ 100000, T < 109) • N dòng tiếp theo, dòng thứ i ghi số thực x y tọa độ đảo thứ i |x|< 10000000, |y| [...]... tôi xin đề cập vào dịp khác Với hệ thống kiến thức cơ sở như trên, đây sẽ là cẩm nang hữu ích cho học sinh khi làm bài tập về chuyên đề hình học Phần nội dung này, tôi thường tạo thành ebook và giao cho học sinh tự nghiên cứu và sử dụng trong quá trình làm bài B HỆ THỐNG BÀI TẬP QUAN TRỌNG VỀ HÌNH HỌC B1 Mức cơ bản Nội dung bài tập ở mức này giúp học sinh làm quen với các bài tập về hình học và sử... quyết được các bài tập hình học thì học sinh cần phải có những yếu tố sau: Thứ nhất là có kiến thức hình học cơ bản, thứ hai là có kĩ năng lập trình tốt (kĩ năng cài đặt + thuật toán) Đây cũng là điều rất đánh lưu tâm đến nếu muốn việc dạy và học chuyên đề hình học có hiệu quả Việc nắm vững được công thức, phương pháp và cài đặt được các thuật toán giải quyết các bài toán về hình học là những nội dung,... phương pháp và cài đặt được các thuật toán giải quyết các bài toán về hình học là những nội dung, kĩ năng quan trọng đối với học sinh trong đội tuyển Tin học Tôi hi vọng, tham luận này trở thành nguồn tài liệu nhỏ bé có ích trong vô vàn nguồn tài liệu đã có hướng dẫn học nội dung hình học Tôi mong nhận được ý kiến đóng góp của các thầy, cô để tham luận hoàn thiện hơn ... "NO"); } 7 GHVU - Ghép hình vuông Ba bé Bo mua cho bé Bo 03 miếng ghép đồ chơi hình chữ nhật và hỏi bé Bo có ghép 03 hình chữ nhật trên thành một hình vuông lớn được hay không Bé Bo đang loay hoay tìm cách ghép Bạn hãy giúp bé Bo tìm cách ghép để ba tiếp tục mua đồ chơi cho bé nhé Dữ liệu nhập: gồm 3 dòng - Tại dòng thứ i gồm hai số nguyên ai, bi là chiều dài và chiều rộng của hình chữ nhật thứ i (1... L_ISLAND.OUT 1.414 Thuật toán: Bài toán thực chất là bài tìm cặp điểm gần nhất – một bài tập nổi tiếng về chủ đề hình học Ta có hai thuật toán: • Duyệt tất cả các cặp điểm, tính dij và tìm max Độ phức tạp thuật toán O(N2) • Thuật toán đề xuất bởi Preparata (Preparata) vào năm 1975 và được Shamos trong các mô hình cây quyết định trong các thuật toán tối ưu Thuật toán này có độ phức tạp là O(NlogN) Const fi='L_ISLAND.INP';... là chiều dài và chiều rộng của hình chữ nhật thứ i (1 ≤ ai, bi ≤ 10) Hai số cách nhau một khoảng trắng Dữ liệu xuất: - Nếu có cách ghép thành hình vuông được, in ra "YES", nếu không, in ra "NO" Chú ý các hình chữ nhật phải ghép vừa khớp, hình này không đè lên hình kia Ví dụ input 16 26 36 output YES input 26 24 44 output YES input 22 11 33 output NO #include using namespace std; struct... readln(c1,c2,c3); end; close(input); close(output); end; begin doctep; end 2 Điểm còn lại của hình chữ nhật - PTIT124H Cho một hình chữ nhật có cạnh song song với các trục Biết tọa độ 3 đỉnh Hãy tìm tọa độ của điểm còn lại của hình chữ nhật Input Gồm 3 dòng: Mỗi điểm trên một dòng chứa tạo độ của điểm đó Output In ra điểm còn lại của hình chữ nhật Example Input: 55 57 75 Output: 77 Const fi=''; fo=''; type diem=record... mặt phẳng tọa độ Đề- các của vị trí và màu của các bi hiện tại trên bàn, bạn hãy giúp Hùng chọn 3 bi để chơi Input Dòng đầu ghi số nguên dương n Dòng thứ i trong số n dòng tiếp theo ghi hai số nguyên là hoành độ và tung độ trên mặt phẳng tọa độ Đề- các của vị trí đặt bi xanh với chỉ sô i Dòng thứ i trong số n dòng cuối cùng ghi hai số nguyên là hoàng độ và tung độ trên mặt phẳng tọa độ Đề- các của vị trí... hạng của dãy, mỗi số đều không vượt quá 105 Các số hạng được ghi cách nhau bởi ít nhất một dấu cách Kết quả: Ghi ra file văn bản TGCAN.OUT một số nguyên, là số tam giác cân tìm được Ví dụ: TGCAN.INP TGCAN.OUT 853295495 22 Ràng buộc: 40% số test ứng với 40% số điểm của bài ứng với N < 103 70% số test ứng với 70% số điểm của bài ứng với N ≤ 105 2 Hình hộp chữ nhật - P147PROA Bạn có một hình hộp chữ nhật... nhật có kích thước nguyên và biết được diện tích của 3 mặt có chung 1 đỉnh Nhiệm vụ của bạn là tính tổng tất cả các cạnh của hình hộp chữ nhật này Input Gồm một dòng duy nhất chứa 3 số nguyên dương không vượt quá 10^4 là diện tích 3 mặt của hình hộp chữ nhật Output In ra màn hình duy nhất một số nguyên là kết quả bài toán Example Input: 111 Output: 12 3 Điểm gần nhất Xem vị trí của 4 kho chứa dầu như

Ngày đăng: 06/06/2016, 10:09

Từ khóa liên quan

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

Tài liệu liên quan