Hotline: 024.62511017

024.62511081

  Trang chủ   Sản phẩm   Phần mềm Dành cho nhà trường   Phần mềm Hỗ trợ học tập   Kho phần mềm   Liên hệ   Đăng nhập | Đăng ký

Tìm kiếm

School@net
 
Xem bài viết theo các chủ đề hiện có
  • Hoạt động của công ty (727 bài viết)
  • Hỗ trợ khách hàng (494 bài viết)
  • Thông tin tuyển dụng (57 bài viết)
  • Thông tin khuyến mại (81 bài viết)
  • Sản phẩm mới (218 bài viết)
  • Dành cho Giáo viên (552 bài viết)
  • Lập trình Scratch (3 bài viết)
  • Mô hình & Giải pháp (155 bài viết)
  • IQB và mô hình Ngân hàng đề kiểm tra (126 bài viết)
  • TKB và bài toán xếp Thời khóa biểu (242 bài viết)
  • Học tiếng Việt (182 bài viết)
  • Download - Archive- Update (289 bài viết)
  • Các Website hữu ích (71 bài viết)
  • Cùng Học (98 bài viết)
  • Learning Math: Tin học hỗ trợ học Toán trong nhà trường (74 bài viết)
  • School@net 15 năm (153 bài viết)
  • Mỗi ngày một phần mềm (7 bài viết)
  • Dành cho cha mẹ học sinh (123 bài viết)
  • Khám phá phần mềm (122 bài viết)
  • GeoMath: Giải pháp hỗ trợ học dạy môn Toán trong trường phổ thông (36 bài viết)
  • Phần mềm cho em (13 bài viết)
  • ĐỐ VUI - THƯ GIÃN (360 bài viết)
  • Các vấn đề giáo dục (1209 bài viết)
  • Bài học trực tuyến (1033 bài viết)
  • Hoàng Sa - Trường Sa (17 bài viết)
  • Vui học đường (276 bài viết)
  • Tin học và Toán học (220 bài viết)
  • Truyện cổ tích - Truyện thiếu nhi (181 bài viết)
  • Việt Nam - 4000 năm lịch sử (97 bài viết)
  • Xem toàn bộ bài viết (8222 bài viết)
  •  
    Đăng nhập/Đăng ký
    Bí danh
    Mật khẩu
    Mã kiểm traMã kiểm tra
    Lặp lại mã kiểm tra
    Ghi nhớ
     
    Quên mật khẩu | Đăng ký mới
    
     
    Giỏ hàng

    Xem giỏ hàng


    Giỏ hàng chưa có sản phẩm

     
    Bản đồ lưu lượng truy cập website
    Locations of visitors to this page
     
    Thành viên có mặt
    Khách: 6
    Thành viên: 0
    Tổng cộng: 6
     
    Số người truy cập
    Hiện đã có 93385906 lượt người đến thăm trang Web của chúng tôi.

    PHƯƠNG PHÁP GIẢI TOÁN HÌNH HỌC BẰNG NGÔN NGỮ LẬP TRÌNH PASCAL (tiếp theo)

    Ngày gửi bài: 15/10/2010
    Số lượt đọc: 7330

    PHẦN II. MỘT SỐ DẠNG BÀI TOÁN HÌNH HỌC THƯỜNG GẶP

    Dạng 1. Mối quan hệ giữa điểm, đoạn thẳng, đa giác.

    Phương pháp: Đây là một trong số dạng bài toán hình học đơn giản nhất. Việc giải bài toán dạng này chủ yếu sử dụng các kiến thức hình học cơ bản (đã trình bày đầy đủ trong phần trên)

    VD1 Ba điểm thẳng hàng

    Cho N điểm, hãy kiểm tra xem có bao nhiêu bộ 3 điểm thẳng hàng.

    Input: Cho trong tệp văn bản DL.INP

    - Dòng thứ 1 ghi số N

    - N dòng tiếp theo, mỗi dòng ghi toạ độ của một điểm.

    Output: Ghi vào tệp KQ.OUT chứa một số duy nhất là số bộ 3 điểm thẳng hàng.

    (Giới hạn: 1<=N<=2000, toạ độ các điểm có giá trị tuyệt đối không quá 10000)

    Chương trình:

    VD2. Đường thẳng cắt nhau

    Cho n đường thẳng AiBi (1 i n) phân biệt với Ai, Bi là các điểm cho trước. Hãy thông báo ra màn hình các cặp đường thẳng đôi một cắt nhau.

    Dữ liệu: Cho trong file DL.INP gồm N dòng (N không biết trước). Dòng thứ i ghi 4 số thực xAi yAi xBi yBi. Các số trên cùng một dòng ghi cách nhau ít nhất một dấu cách.

    Ý tưởng:

    - Mỗi đường thẳng được đặc trưng bởi 3 thông số a,b,c được xác định:

    a:=(y1-y2); b:=(x2-x1) ; c:=x1*y2-x2*y1;

    - Hai đường thẳng cắt nhau khi: D:=a1*b2-a2*b1 ? 0;

    Chương trình:

    VD3. Điểm thuộc đa giác.

    Cho đa giác không tự cắt A1A2...AN với các đỉnh Ai(xi,yi) nguyên. Với điểm A(xA,yA) cho trước, hãy xác định xem A có nằm trong đa giác đã cho hay không (Trong trường hợp trên cạnh đa giác xem như nằm trong đa giác)

    Dữ liệu: Cho trong tệp Dagiac.inp

    + Dòng đầu là số N

    + N dòng tiếp theo mỗi dòng ghi xi,yi là toạ độ Ai

    + Dòng n+2 ghi 2 số xA và yA

    Dữ liệu là các số nguyên.

    Kết quả: Đưa ra màn hình thông báo điểm A có nằm trong đa giác hay không

    Ý tưởng:

    - Lưu toạ độ các đỉnh đa giác vào mảng A

    - Kiểm tra xem điểm A có trùng với đỉnh đa giác

    - Kiểm tra xem điểm A có nằm trên cạnh đa giác

    - Tìm giao điểm nếu có của tia Ax (Ax//Ox và Ax hướng theo phần dương trục hoành) với các cạnh của đa giác. Trường hợp tia Ax chứa đoạn thẳng cạnh đa giác ta xem như tia Ax có 1 điểm chung với cạnh này. Cụ thể:

    + Giả sử điểm A(x0,y0), chọn điểm B(xb,yb) với xb=x0+1,yb=y0

    + Kiểm tra tia AB có cắt đoạn thẳng CD bằng cách:

    B1. Tìm giao điểm N của 2 đường thẳng AB và CD

    Tính

    a1:=yb-ya; b1:=xa-xb; c1:=ya*xb-xa*yb;

    a2:=yd-yc; b2:=xc-xd; c2:=yc*xd-xc*yd;

    D:=a1*b2-a2*b1; Dx:=c2*b1-c1*b2; Dy:=a2*c1-a1*c2;

    Xác định: Nếu D 0 thì toạ độ giao điểm là N(Dx/D,Dy/D) B2. Kiểm tra N có thuộc tia AM và đoạn thẳng CD hay không.

    - Điểm N thuộc đoạn thẳng CD khi: Min(xC,xD) xN Max(xC,xD) và Min(yC,yD) yN Max(yC,yD)

    - Điểm N thuộc tia AB khi có nghĩa là N phải thoả mãn điều kiện: (xN-xA)(xB-xA) 0 và (yN-yA)(yB-yA) 0

    + Kiểm tra tia AB chưa cạnh CD hay không bằng cách: (yc=yd)and(yc=yo)

    - Đếm số giao điểm, nếu số giao điểm lẻ thì A thuộc đa giác

    Chương trình:

    VD4. Đếm số điểm có toạ độ nguyên thuộc đa giác

    Cho đa giác gồm n đỉnh (x1,y1), (x2,y2), ..., (xn,yn), biết (24), x và yi(i=1,...,n) là các số nguyên trong đoạn [-106,106]. Các đỉnh được liệt kê theo thứ tự cùng chiều kim đồng hồ.

    Viết chương trình tìm số điểm có toạ độ nguyên nằm trong hay trên biên đa giác.

    Dữ liệu: Cho trong tệp tin DL.INP.

    - Dòng đầu chứa số nguyên duy nhất cho biết số đỉnh.

    - Tiếp theo là các dòng, trên mỗi dòng có 2 số nguyên cách nhau một khoảng trắng lần lượt là hoành độ, tung độ các đỉnh đa giác.

    Kết quả: Xuất ra màn hình số điểm có toạ độ nguyên nằm trong hay trên biên đa giác

    Ý tưởng:

    - Tính a,b theo công thức:

    - Xác định số điểm có toạ độ nguyên: Sđ=round(abs(a/2)+b/2+1)

    Chương trình:

    Dạng 2.Tính diện tích đa giác

    Phương pháp: Giả sử cho đa giác có n đỉnh và toạ độ các đỉnh lưu vào mảng a. Để tính diện tích đa giác ta làm như sau:

    Bước 1. Gắn thêm đỉnh phụ:

    a[n+1].x:=a[1].x; a[n+1].y:=a[1].y;

    Bước 2. Diện tích đa giác tính theo công thức:

    Lưu ý: Có thể áp dụng công thức khác để tính diện tích trong các trường hợp đặc biệt.

    - Nếu đa giác là tam giác (n=3) thì diện tích tính theo công thức:

    - Nếu đa giác là hình chữ nhật (n=4) có các cạnh là a,b thì diện tích là: S=ab

    - Nếu đa giác là hình vuông (n=4) có cạnh là a thì diện tích là: S=a2

    - Nếu đa giác là hình tròn có bán kính R thì diện tích là

    VD1. Xác định diện tích đa giác

    Cho N đa giác lồi A1A2A3...AN-1AN với các đỉnh Ai(xi,yi) có toạ độ nguyên. Hãy tính diện tích đa giác trên.

    Dữ liệu: Cho trong file DL.INP gồm 2 dòng

    - Dòng 1: Chứa số nguyên dương N

    - Dòng 2: Chứa 2xN số nguyên dương x1 y1 x2 y2...xN yN là toạ độ các đỉnh của đa giác. Mỗi số ghi cách nhau một dấu cách.

    Kết quả: Xuất ra màn hình diện tích đa giác.

    Ý tưởng:

    - Lưu toạ độ các đỉnh đa giác vào mảng toado

    - Sử dụng công thức tính diện tích đa giác:

    VD2. Dãy hình chữ nhật

    Trong mặt phẳng toạ độ trực chuẩn, cho N hình chữ nhật có các cạnh song song với trục toạ độ. Mỗi HCN được xác định bởi toạ độ đỉnh dưới bên trái và đỉnh trên bên phải của nó. Hãy đưa ra dãy các hình chữ nhật theo thứ tự tăng dần diện tích .

    Dữ liệu: Cho trong file HCN.inp gồm N+1 dòng.

    - Dòng 1. Chứa số N

    -Dòng i+1 (1 i N): Ghi 4 số nguyên x1, y1, x2 ,y2 lần lượt là toạ độ đỉnh dưới bên trái và đỉnh trên bên phải của HCN i. (Các số ghi trên một dòng cách nhau ít nhất một dấu cách)

    Kết quả: Ghi vào tệp HCN.out dãy các hình chữ nhật sau khi sắp xếp.

    Ý tưởng:

    - Lưu toạ độ các đỉnh đa giác vào mảng a

    - Tính diện tích hình chữ nhật theo công thức:

    - Sắp xếp mảng a tăng dần theo diện tích

    Ý tưởng:

    Còn nữa

    Schoolnet (Theo TH&NT)



     Bản để in  Lưu dạng file  Gửi tin qua email


    Những bài viết khác:



    Lên đầu trang

     
    CÔNG TY CÔNG NGHỆ TIN HỌC NHÀ TRƯỜNG
     
    Phòng 804 - Nhà 17T1 - Khu Trung Hoà Nhân Chính - Quận Cầu Giấy - Hà Nội
    Phone: 024.62511017 - 024.62511081
    Email: kinhdoanh@schoolnet.vn


    Bản quyền thông tin trên trang điện tử này thuộc về công ty School@net
    Ghi rõ nguồn www.vnschool.net khi bạn phát hành lại thông tin từ website này
    Site xây dựng trên cơ sở hệ thống NukeViet - phát triển từ PHP-Nuke, lưu hành theo giấy phép của GNU/GPL.