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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 11:32   #1
Ксенька89
 
Регистрация: 13.05.2009
Сообщений: 5
По умолчанию определить, попадет ли точка с заданными координатами в область, закрашенную красным цветом

Помогите пожалуйста задачу решить

Написать программу, которая определяет, попадет ли точка с заданными координатами в область , закрашенную красным цветом. Значение R вводится с клавиатуры. Результат работы програмы вывести в виде текстового сообщения.
Изображения
Тип файла: jpg 123.jpg (3.2 Кб, 374 просмотров)
Ксенька89 вне форума Ответить с цитированием
Старый 25.05.2009, 21:20   #2
Ксенька89
 
Регистрация: 13.05.2009
Сообщений: 5
По умолчанию

Никто не хочет помочь)(
Ксенька89 вне форума Ответить с цитированием
Старый 25.05.2009, 21:26   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
определить, попадет ли точка с заданными координатами в область, закрашенную красным цветом
Нужно просто проверить, какой цвет у этой точки экрана.
Намек:
Код:
var
  DC: HDC;
  Color: Cardinal;
begin
  DC := CreateDC('MONITOR', nil, nil, nil);
  Color := GetPixel(DC, 300, 300);
  DeleteDC(DC);
end;

Последний раз редактировалось mihali4; 25.05.2009 в 22:23.
mihali4 вне форума Ответить с цитированием
Старый 25.05.2009, 21:29   #4
Ксенька89
 
Регистрация: 13.05.2009
Сообщений: 5
По умолчанию

Не не не это не то). Тут же ввести две координаты и радиус и определить попадет ли точка внутрь круга и полукруга))
Ксенька89 вне форума Ответить с цитированием
Старый 25.05.2009, 21:35   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Уравнение окружности:
Цитата:
X*X+Y*Y=R*R
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 25.05.2009, 21:42   #6
Evelin S
 
Регистрация: 25.05.2009
Сообщений: 2
По умолчанию

Мы такое делали на QuickBASIC))
попадает ли точка внутрь круга, вычисляется по формуле
x^2+y^2<R^2
например, попадает ли точка в круг радиусом 2 (центр круга находится в начале координат)
INPUT "X,Y"; X,Y
IF X^2+Y^2<4 THEN ?"YES" OR ?"NO"

Если нужно вычислить, попадает ли точка в полукруг, то просто надо дополнительно задать ограничения на x и y
например, то же задание, но только x и y принадлежат 1-й и 4-й четвертям оси координат (R вводится с клавиатуры)

INPUT "X,Y"; X,Y
INPUT "R="; R
IF X^2+Y^2<R^2 AND X>0 THEN ?"YES" OR ?"NO"
Evelin S вне форума Ответить с цитированием
Старый 25.05.2009, 21:47   #7
Evelin S
 
Регистрация: 25.05.2009
Сообщений: 2
По умолчанию

Если центр круга находится не в начале координат, то формула такая
(x-x1)^2+(y-y1)^2<R^2, где x1,y1 - координаты центра круга
Evelin S вне форума Ответить с цитированием
Старый 25.05.2009, 22:15   #8
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Ну вот примерный смысл такой:
Код:
// вводим X
// вводим Y
// вводим R
If ((x+r)*(x+r)+(y+r)*(y+r)<=(r*r)) Or (((x-r)*(x-r)+(y)*(y)<=(r*r)) And (y>=0)) Then
      // попадание
Else
      // промах
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 25.05.2009, 22:45   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну. как то так:

Код:
пусть у нас есть радиус R и координаты точки (X,Y)
 {вычисляем координаты центров окружностей}
 X1 := -R; Y1 := -R;
 X2 := R; Y2 := 0;
{проверка на попадание в нужные четверти системы координат}
if (X*Y)<0 then WriteLn('Точка НЕ принадлежит области (и даже в нужные четверти системы координат не попала!')
else
   begin
     if (sqrt(sqr(X1-X)+sqr(Y1-Y))<=R) or (sqrt(sqr(X2-X)+sqr(Y2-Y))<=R) then WriteLn('Точка в красной области')
     else WriteLn('Точка не принадлежит области')
   end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить принадлежит ли точка с координатами х,у заштрихованной части плоскости. Брутальный М. Паскаль, Turbo Pascal, PascalABC.NET 8 04.04.2011 20:32
Необходимо определить периметр многоугольника, заданного координатами вершин Андрю)(@ Паскаль, Turbo Pascal, PascalABC.NET 6 23.12.2008 12:30
Задана точка с координатами (x, y). Определить, на какой оси или в каком квадранте она находится. С++ Wia Помощь студентам 4 13.12.2008 14:17
Опредилите попадает ли точка с координатами(х,у) в круг радиуса R Dog Помощь студентам 2 19.05.2008 19:14
Определить попала ли точка в область? Iogan Gamba Puti Общие вопросы Delphi 7 13.05.2008 00:15