Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 18:15   #1
miniZadrot9000
 
Регистрация: 22.12.2008
Сообщений: 4
По умолчанию Определить принадлежность точек к окружности, помогите составить блок схему :)

Дана произвольная окружность и несколько точек, нужно составить блок схемму с проверкой условия на принадлежность точек к этой окружности
Кто может помогите )
miniZadrot9000 вне форума Ответить с цитированием
Старый 22.12.2008, 19:55   #2
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Теорему Пифагора знаешь?
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 24.12.2008, 21:23   #3
miniZadrot9000
 
Регистрация: 22.12.2008
Сообщений: 4
Печаль

Да что там сумма квадратов катетов ровна квадрату гиппотенузе так кажется
miniZadrot9000 вне форума Ответить с цитированием
Старый 24.12.2008, 21:39   #4
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

x0, x0 - координаты центра окружности.
xp, yp - координаты точки
расстояние от окружности до точки это гипотенуза, катеты это xp-x0 и yp-y0.
Соответственно если это расстояние меньше радиуса окружности - точка внутри, равно - на границе, больше - за пределами.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 25.12.2008, 09:54   #5
PARNISHA
Новичок
Джуниор
 
Регистрация: 25.12.2008
Сообщений: 2
По умолчанию

Решал эту задачу ооочень давно...можно и без теоремы пифагора.
Если одна из координат больше радиуса, значит точка не принадлежит окружности.
PARNISHA вне форума Ответить с цитированием
Старый 25.12.2008, 12:25   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
uses crt;
var x,y,xp,yp,r:real;
begin
clrscr;
writeln('Введите координаты центра окружности и радиус');
readln(x,y,r);
repeat
clrscr;
writeln('Окружность с центром в (',x:3:3,',',y:3:3,') и радиусом ',r:3:3);
Writeln('Введите координаты точки');
readln(xp,yp);
if r=sqrt(sqr(x-xp)+sqr(y-yp)) then writeln('Принадлежит')
   else writeln('Не принадлежит');
 writeln('Продолжиьт(y/n)?');
until readkey='n';
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 18:19   #7
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Цитата:
Сообщение от PARNISHA Посмотреть сообщение
Если одна из координат больше радиуса, значит точка не принадлежит окружности.
Это уже квадрат а не круг.

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

Последний раз редактировалось 0nni; 25.12.2008 в 18:24.
0nni вне форума Ответить с цитированием
Старый 25.12.2008, 18:27   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Где ошибка?
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:37   #9
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Код:
if r=sqrt(sqr(x-xp)+sqr(y-yp)) then
Код будет верно выполняться только если точка лежит на границе окружности, а не внутри.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 25.12.2008, 19:38   #10
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от 0nni Посмотреть сообщение
Код:
if r=sqrt(sqr(x-xp)+sqr(y-yp)) then
Код будет верно выполняться только если точка лежит на границе окружности, а не внутри.
Это не ошибка:Если внутри, то это будет круг поэтому пусть автор темы решает что ему нужно
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить блок-схему pymba Помощь студентам 6 20.12.2008 22:34
помогите составить блок схему zaq2000 Паскаль, Turbo Pascal, PascalABC.NET 5 04.12.2008 12:41
помогите составить блок схему ДЖО Помощь студентам 1 29.10.2008 02:20