Вторник, 08.10.2024, 22:27
Информатика и математика в Плесской школе
Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

Задачи на принадлежность точки фигуре на плоскости.

Задачи на принадлежность точки фигуре на плоскости очень часто вызывают затруднение. Эти, на первый взгляд, абстрактные задачи используются при программировании игр и создании различных моделей. Эти задачи можно решать как в одну, так и в другую сторону. В первом случае дан рисунок, а нужно составить программу, во втором по строке, условию принадлежности точки фигуре, необходимо восстановить рисунок.
К самым простым отнесем фигуры прямоугольной формы. Требуется определить какими прямыми ограничена данная фигура и составить неравенства объединив их связкой  And. Иногда необходимо разбить сложную фигуру на несколько прямоугольников и объединить их при помощи связки Or. 
Дальше идет усложнение в сторону математики. Более сложные задачи могут содержать фигуры состоящие из прямоугольников и окружностей. Которые могут пересекаться, накладываться, исключать друг друга. Нам потребуется  разделить данную фигуру на несколько простых, объединив их связкой Or.
Самые сложные задачи,  содержат различные пересекающиеся фигуры с тем отличием, что в место прямоугольников используются треугольники, трапеции и произвольные четырехугольники. Основную сложность здесь представляет составление уравнений прямых, которыми ограничена фигура. Для этих целей можно воспользоваться уравнением прямой проходящей через две точки:

 

 

Можно еще больше усложнить задачу, если использовать в качестве линий ограничивающих фигуру, параболу, гиперболу, синусоиду и т.д.

Приведу решение задачи:

 

 

 

 

 

 

 

 

Здесь нет необходимости использовать уравнение прямой проходящей через две точки. Прямые идут под углом 45 градусов (из угла в угол клеточки). Следовательно они похожи на y=-x. Если к этому уравнению добавить смещение по оси Y. Получим искомые уравнения прямых y=-x+6 для верхнего треугольника y=-x-6 для нижнего треугольника. 

 

Program n9;
Uses Crt;
Var x,y:real;
    a:Boolean;
Begin
 ClrScr;
 Write('ВВеди x '); ReadLn(x);
 Write('ВВеди y '); ReadLn(y);
 a:= ((x>=0) and (y>=0) and (y<=6-x))
        or ((x<=0) and (y<=0) and (y>=-x-6));
 if a then writeln('Попадает')
      else writeln('Не попадает');
end.

 

 

Поиск
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Учительский портал
    Copyright MyCorp © 2024