Header Ads

Bài Tập Java Số 1: Xác Định Vị Trí Một Điểm So Với Đường Tròn

Đề Bài:

Cho 1 điểm A có tọa độ (xA;yA) và đường tròn có tâm O  có tọa độ (xO;yO) và bán kính r.
Input: Tọa độ điểm A, tâm O và r.
Output: Vị trí điểm A so với đường tròn ( A nằm trong đường tròn, nằm ngoài đường tròn hay nằm trên đường tròn)

Giải Thuật:  

Ta tính bình phương khoảng cách của điểm A tới tâm O của đường tròn. Có ba trường hợp sẽ xảy ra:
- Nếu nó nhỏ hơn bình phương bán kính: điểm A nằm trong đường tròn.
- Nếu nó bằng bình phương bán kính: điểm A nằm trên đường tròn.
- Nếu nó lớn hơn bình phương bán kính: điểm A nằm ngoài đường tròn.

Code Mẫu: 

package baitap1;

import java.util.Scanner;

public class baitap1 {

 public static void main(String[] args) {
     int xA, yA, xO, yO, r;
     Scanner nhap = new Scanner (System.in);
     System.out.println("Nhap hoanh do cua diem A : ");
     xA = nhap.nextInt();
     System.out.println("Nhap tung do cua diem A : ");
     yA = nhap.nextInt();
     System.out.println("Nhap hoanh do tam O cua duong tron : ");
     xO = nhap.nextInt();
     System.out.println("Nhap tung do tam O cua duong tron : ");
     yO = nhap.nextInt();
     System.out.println("Nhap ban kinh : ");
     r = nhap.nextInt();
     int rbinh = r*r; // Tính bình phương bán kính.
     int OAbinh = (xA - xO)*(xA - xO)  + (yA - yO)*(yA - yO); //Tính bình phương khoảng cách đoạn OA.
     if (OAbinh < rbinh)
         System.out.println("A nam trong duong tron");
     else if(OAbinh == rbinh)
         System.out.println("A nam tren duong tron");
     else
         System.out.println("A nam ngoai duong tron");
  } 
}

Không có nhận xét nào

Được tạo bởi Blogger.