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.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng