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");
}
}
Post a Comment