Другие языки программирования и технологии

Класс: Окружность, заданная радиусом и координатами центра. Нужно узнать будут ли пересекатся две заданных окружности.

Слово "Класс" подразумевает ООП? Тогда на одном из самых объектно-ориентированных языков это будет выглядеть так:

class
N74845686
create
make
feature {NONE}
make
local
c1, c2: CIRCLE
do
print("Первая окружность. %N")
create c1.make
io.put_new_line
print("Вторая окружность. %N")
create c2.make
io.put_new_line
if c1.test (c2) then
print("Окружности пересекаются или касаются")
else
print("Окружности не пересекаются")
end
end

end

class
CIRCLE
create
make
feature {ANY}
x, y, r: DOUBLE

test(c:CIRCLE): BOOLEAN
local
l: DOUBLE
do
l := (x - c.x) ^ 2 + (y - c.y) ^ 2
Result := l <= (r + c.r) ^ 2 and then l >= (r - c.r) ^ 2
end

feature {NONE}
make
do
print("Введите координату Х центра окружности: ")
io.read_double
x := io.last_double
print("Введите координату Y центра окружности: ")
io.read_double
y := io.last_double
print("Введите радиус окружности: ")
io.read_double
r := io.last_double
end

end

Класс окружность - CIRCLE имеет три свойства x, y и r (координаты центра окружности и радиус соответственно) и два метода.
Метод make - создание экземпляра класса и ввод параметров окружности с клавиатуры.
Метод test - проверяет пересекаются/касаются или не пересекаются окружность, представленная заданным экземпляром класса и окружность, экземпляр класса которой, передаётся этому методу в качестве параметра.
Метод возвращает булево значение "Истина", если окружности пересекаются или касаются и "Ложь" в противном случае.
Александр Ковалёв
Александр Ковалёв
51 590
Лучший ответ
Какие свойства класса??? ?
Наверняка есть координаты ценра. Тогда ТУПО считайте расстояние по теореме Пифагора.
Лучше и проще, а главное быстрее, в обычной процедуре или функции.
Иван Поляков
Иван Поляков
71 594
Пиши на мыло
Рассмотри граничный случай - касание. Все, что ближе - пересечение, дальше - не пересечение.