Показать полную графическую версию : Как определить расположение точки относительно окружности
максим19.94
17-12-2012, 18:14
Задано координати крапки А(х, у) . Визначити її розташування щодо окружності x2 + y2 = 9 .
максим19.94, первый и самый главный вопрос: понятно ли вам задание?
Если да, то пересказать задание своими словами.
Если нет, читать и думать до полного понимания.
Как начинали решать?
Что именно не выходит?
Учтите, что ответы вопросы принимаются только после полного понимания задачи и заданного в ней вопроса.
Нарисуйте данную окружность в декартовой системе координат.
Как относительно нее могут располагаться точки?
Задайте не менее 5ти точек в различных четвертях плоскости.
максим19.94
17-12-2012, 18:30
Я не понимаю как ЗАПИСАТЬ из Этого уравнения програмку в VBA?
максим19.94, а я и не спрашиваю, как записать из этого уравнения программу на VBA.
Я прошу объяснить, как вы поняли условие задачи. Расскажите что требуется своими словами.
Потому что вы сейчас летите вперед паровоза, не понимая того, что от вас требуется.
Поэтому перечитываем задание и думаем о том, что хотят спросить авторы.
максим19.94
17-12-2012, 19:15
Совет хороший я понял! проблема в другом, в том что я полный ноль в VBA!
максим19.94, проблема в том что я полный ноль в VBA! »
пиши программу в псевдокоде, т.е. словами. (ЕСЛИ, ТО, ПОКА, ЦИКЛ и т.д.)
Вообще алгоритм решения задач таков:
прочитать условие, еще раз прочитать условие, постараться понять, что хочет спристь автор и что он предлагает в качестве начального материала.
В третий раз перечитать условие и убедиться в собственной правоте.
Сочинить схемку решения. Схема решения становится основой блок-схемы программы.
И вот только сейчас, после серьезной предварительной подготовки, можно говорить о программировании задачи в некоторой среде. (VBA)
Поэтому :
Смысл, схема, блок-схема, псевдокод, VBA код, проверка работоспособности программы, выводы.
максим19.94
17-12-2012, 19:31
А можете просто помочь с написанием кода????
максим19.94, А можете просто помочь с написанием кода? »
когда ты мне напишешь, что от меня требуется, тогда помогу.
Т.к. лично я могу интерпретировать фразу "Определить ее расположение относительно окружности x2 + y2 = 9" как мне только заблагорассудится.
максим19.94
17-12-2012, 19:48
Написать програмку, что бы можно было если подставить любые числа вместо координат (X,Y)! и решалалось за формулой
x2 + y2 = 9
как я понимаю, это 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
Что бы при вводе точек выщитывало расположение входят или не входят точки в эту формулу
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
lxa85, таки не утерпели ;)?
Задайте не менее 5ти точек в различных четвертях плоскости. »
Да здесь совершенно по барабану в каких квадрантах точка лежит, да и неважно внутри окружности точка или вне её....
Delirium
18-12-2012, 01:42
максим19.94, Предупреждаю в последний раз - или начинаем читать правила раздела "Программирование" на форуме, или все подобные темы будут удалены.
Iska, да все равно ему не поможет.
Потому что на простейший вопрос, "Зачем нужен эпсилон?" ответа не последует.
Да и смысл задания ТС так и не понял.
Tau_0, вопрос не ко мне.
"Зачем нужен эпсилон?" ответа не последует. »
Без эпсилон никак нельзя...
ЗЫ Вы поняли/расшифровали ентот примерчик гораздо глубже, чем он того заслуживает....:)
Ради интереса, задал эту задачку порешать своим студентам.
"Определить принадлежность точки к формуле."
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
Я не знаю, как админам удалось поставить Turbo Pascal на Windows 7, я не пробовал »
Кроме среды разработки "Труба-Паскаль" есть более современные варианты, поддерживающие старый синтаксис. Вроде Free Pascal, Pascal ABC и т.д. А в конце концов, словно для для хардкорных юзеров старых компиляторов были созданы виртуальные машины.
Ради интереса, задал эту задачку порешать своим студентам. »
А введение эрсилон неявно подразумевает толщину линии. Чистого математика от этого передёрнет... А без EPS численными методами на машине не порещать...:(
ЗЫ Попасть в линию можно только из ружья (пуля имеет конечный размер). А вот точку попробуйте воткнуть....???...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.