Java - Xác định vị trí của một điểm so với đường tròn và hiển thị thông báo.
Viết chương trình nhập vào tọa độ điểm O (XO,YO) là tâm của một đường tròn, tọa độ điểm M (XM,YM) và bán kính R của đường tròn. Xác định và thông báo lên màn hình điểm M nằm trong, trên hay ngoài đường tròn đó.
Bài giải
-------------------- ######## --------------------
Hướng dẫn: Để biết được điểm M nằm trong, trên hay ngoài 1 đường tròn thì chúng ta sẽ tính khoảng cách từ điểm M tới tâm O của đường tròn. Sau đó xét 3 trường hợp sau đây:
Nếu bình phương khoảng cách từ điểm M tới tâm O nhỏ hơn bình phương bán kính R thì điểm M nằm trong đường tròn.
Nếu bình phương khoảng cách từ điểm M tới tâm O bằng bình phương bán kính R thì điểm M nằm trên đường tròn.
Nếu bình phương khoảng cách từ điểm M tới tâm O lớn hơn bình phương bán kính R thì điểm M nằm ngoài đường tròn.
Bài viết này được đăng tại [free tuts .net]
Chúng ta giải bài này như sau:
package cau_truc_ifelse; import java.util.Scanner; public class XacDinhViTriCua1DiemSoVoiDuongTron { public static void main(String[] args) { int hoanhDoDiemM, tungDoDiemM, hoanhDoTamO, tungDoTamO, banKinhR; String viTri; Scanner scanner = new Scanner(System.in); System.out.println("Nhập vào hoành độ tâm O: "); hoanhDoTamO = scanner.nextInt(); System.out.println("Nhập vào tung độ tâm O: "); tungDoTamO = scanner.nextInt(); System.out.println("Nhập vào hoành độ điểm M: "); hoanhDoDiemM = scanner.nextInt(); System.out.println("Nhập vào tung độ điểm M: "); tungDoDiemM = scanner.nextInt(); System.out.println("Nhập vào bán kính R: "); banKinhR = scanner.nextInt(); // tính bình phương khoảng cách từ tâm O tới điểm M. int khoangCachOM = (hoanhDoDiemM - hoanhDoTamO) * (hoanhDoDiemM - hoanhDoTamO) + (tungDoDiemM - tungDoTamO) * (tungDoDiemM - tungDoTamO); // tính bình phương bán kính int banKinh = banKinhR * banKinhR; // so sánh bình phương khoảng cách OM với bình phương bán kính if (khoangCachOM < banKinh) { viTri = "Điểm M nằm bên trong đường tròn."; } else if (khoangCachOM == banKinh) { viTri = "Điểm M nằm trên đường tròn."; } else { viTri = "Điểm M nằm ngoài đường tròn."; } System.out.println(viTri); } }
Kết quả sau khi biên dịch chương trình:
Câu hỏi thường gặp liên quan:
- Java - So sánh 1 số nguyên nhập từ bàn phím với số 5 và hiển thị kết quả.
- Java - Nhập điểm 2 môn học, so sánh điếm của 2 môn đó và hiển thị kết quả
- Java - Nhập vào 1 năm bất kỳ và kiểm tra năm đó có phải là năm nhuận hay không.
- Java - Nhập vào điểm một môn học của sinh viên và xếp loại kết quả môn học của sinh viên đó.
- Java - Tính và hiển thị chu vi của một tam giác thường.
- Java - Xác định vị trí của một điểm so với đường tròn và hiển thị thông báo.
- Java - Giải phương trình bậc một ax + b = 0
- Java - Xác định nhóm tuổi của một người với năm sinh nhập từ bàn phím.