Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как определить расположение точки относительно окружности (http://forum.oszone.net/showthread.php?t=249357)

максим19.94 17-12-2012 18:14 2047418

Как определить расположение точки относительно окружности
 
Задано координати крапки А(х, у) . Визначити її розташування щодо окружності x2 + y2 = 9 .

lxa85 17-12-2012 18:27 2047426

максим19.94, первый и самый главный вопрос: понятно ли вам задание?
Если да, то пересказать задание своими словами.
Если нет, читать и думать до полного понимания.
Как начинали решать?
Что именно не выходит?
Учтите, что ответы вопросы принимаются только после полного понимания задачи и заданного в ней вопроса.

Нарисуйте данную окружность в декартовой системе координат.
Как относительно нее могут располагаться точки?
Задайте не менее 5ти точек в различных четвертях плоскости.

максим19.94 17-12-2012 18:30 2047431

Я не понимаю как ЗАПИСАТЬ из Этого уравнения програмку в VBA?

lxa85 17-12-2012 19:08 2047462

максим19.94, а я и не спрашиваю, как записать из этого уравнения программу на VBA.
Я прошу объяснить, как вы поняли условие задачи. Расскажите что требуется своими словами.
Потому что вы сейчас летите вперед паровоза, не понимая того, что от вас требуется.

Поэтому перечитываем задание и думаем о том, что хотят спросить авторы.

максим19.94 17-12-2012 19:15 2047471

Совет хороший я понял! проблема в другом, в том что я полный ноль в VBA!

lxa85 17-12-2012 19:25 2047477

максим19.94,
Цитата:

Цитата максим19.94
проблема в том что я полный ноль в VBA! »

пиши программу в псевдокоде, т.е. словами. (ЕСЛИ, ТО, ПОКА, ЦИКЛ и т.д.)
Вообще алгоритм решения задач таков:
прочитать условие, еще раз прочитать условие, постараться понять, что хочет спристь автор и что он предлагает в качестве начального материала.
В третий раз перечитать условие и убедиться в собственной правоте.
Сочинить схемку решения. Схема решения становится основой блок-схемы программы.
И вот только сейчас, после серьезной предварительной подготовки, можно говорить о программировании задачи в некоторой среде. (VBA)

Поэтому :
Смысл, схема, блок-схема, псевдокод, VBA код, проверка работоспособности программы, выводы.

максим19.94 17-12-2012 19:31 2047482

А можете просто помочь с написанием кода????

lxa85 17-12-2012 19:34 2047486

максим19.94,
Цитата:

Цитата максим19.94
А можете просто помочь с написанием кода? »

когда ты мне напишешь, что от меня требуется, тогда помогу.
Т.к. лично я могу интерпретировать фразу "Определить ее расположение относительно окружности x2 + y2 = 9" как мне только заблагорассудится.

максим19.94 17-12-2012 19:48 2047493

Написать програмку, что бы можно было если подставить любые числа вместо координат (X,Y)! и решалалось за формулой
x2 + y2 = 9

lxa85 17-12-2012 20:20 2047528

как я понимаю, это
Цитата:

Цитата максим19.94
x2 + y2 = 9 »

уравнение окружности. Соотв уравнение определяет только те точки, координаты которых удовлетворяют заданному условию.
Соотв. подставить любые числа в данное уравнение за решением их формулой не представляется возможным.
Т.е. условие мне не понятно, решить я эту задачу не могу в принципе.

На пальцах.
Либо точка принадлежит окружности, либо не принадлежит. Т.е. часть пространства (плоскости) принадлежит окружности, часть нет.
Подставить любые числа туда нельзя.
Пример.
Точки (0;3), (3;0), (3/корень(2) ; 3/корень(2)) - принадлежат окружности.
Точки (1;2), (2,2), (3,2), (1,4), (5,2) - не принадлежат окружности.

Соотв. повторяю вопрос:
Что требуется?

максим19.94 17-12-2012 20:29 2047538

Что бы при вводе точек выщитывало расположение входят или не входят точки в эту формулу

lxa85 17-12-2012 20:49 2047547

VB под руками нет. Поэтому в черновике:

Код:

Const Epsilon = 0.01 ' Можно меньше, на усмотрение автора
Const R = 3
Dim Answer AS String
Dim Circle_Min, Circle_Max As Single
Dim X, Y As Single

Circle_Min = R*R-Epsilon
Circle_Max = R*R+Epsilon

Input ("Введите X,Y",x,y)

If (x*x + y*y  < Circle_Min ) Then answer = "Точка лежит внутри окружности"
If (x*x + y*y  > Circle_Min ) and (x*x + y*y  <Circle_Max) Then answer = "Точка принадлежит окружности"
If (x*x + y*y  > Circle_Max) Then answer = "Точка лежит вне окружности"

Print answer


Iska 17-12-2012 23:30 2047701

lxa85, таки не утерпели ;)?

Tau_0 18-12-2012 00:12 2047737

Цитата:

Цитата lxa85
Задайте не менее 5ти точек в различных четвертях плоскости. »

Да здесь совершенно по барабану в каких квадрантах точка лежит, да и неважно внутри окружности точка или вне её....

Delirium 18-12-2012 01:42 2047776

максим19.94, Предупреждаю в последний раз - или начинаем читать правила раздела "Программирование" на форуме, или все подобные темы будут удалены.

lxa85 18-12-2012 09:03 2047832

Iska, да все равно ему не поможет.
Потому что на простейший вопрос, "Зачем нужен эпсилон?" ответа не последует.
Да и смысл задания ТС так и не понял.
Tau_0, вопрос не ко мне.

Tau_0 18-12-2012 17:31 2048162

Цитата:

Цитата lxa85
"Зачем нужен эпсилон?" ответа не последует. »

Без эпсилон никак нельзя...

ЗЫ Вы поняли/расшифровали ентот примерчик гораздо глубже, чем он того заслуживает....:)

lxa85 21-12-2012 18:46 2050516

Ради интереса, задал эту задачку порешать своим студентам.
"Определить принадлежность точки к формуле."
6 из 6 с ней не справились.
4 честно написали свое решение
If (x*x)+(y*y) == 9
Отдельные решения были полностью прокомментированны, 2жды использовался паскаль (Я не знаю, как админам удалось поставить Turbo Pascal на Windows 7, я не пробовал). 2 раза Java, среда Eclipse.
Открытый pyScipter (среда разработки под питон) был дружно проигнорирован.
2ое списавших, один честно (с моего разрешения), второй из-под тишка.
Были попытки поймать исключения при ошибочно введенных данных, ведения интерактивного консольного диалога с пользователем.
Во время разбора полетов час вспоминали геометрию 7-8ого класса.
Соотношение мальчик/девочка поровну -- 3/3
Возрастная группа 20-21 год.
Может я как то не так спрашиваю? Народ то, не сказать, что совсем глупые.
Или надо строже с ними общаться? Ерунда какая то.

XPEHOMETP 22-12-2012 11:16 2050828

Цитата:

Цитата lxa85
Я не знаю, как админам удалось поставить Turbo Pascal на Windows 7, я не пробовал »

Кроме среды разработки "Труба-Паскаль" есть более современные варианты, поддерживающие старый синтаксис. Вроде Free Pascal, Pascal ABC и т.д. А в конце концов, словно для для хардкорных юзеров старых компиляторов были созданы виртуальные машины.

Tau_0 22-12-2012 23:16 2051258

Цитата:

Цитата lxa85
Ради интереса, задал эту задачку порешать своим студентам. »

А введение эрсилон неявно подразумевает толщину линии. Чистого математика от этого передёрнет... А без EPS численными методами на машине не порещать...:(

ЗЫ Попасть в линию можно только из ружья (пуля имеет конечный размер). А вот точку попробуйте воткнуть....???...


Время: 20:09.

Время: 20:09.
© OSzone.net 2001-