Опеределить четверть (квадратнт) по координатам

Главная Форумы Программирование Помощь с решением задач на Prolog Общие вопросы Опеределить четверть (квадратнт) по координатам

В этой теме 1 ответ, 1 участник, последнее обновление  Васильев Владимир Сергеевич 2 мес., 1 неделя назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #4282

    Заданы система координат на плоскости и произвольная точка (х,у). Определить, где лежит точка:

    • на осях координат;
    • в первом квадранте;
    • во втором квадранте;
    • в третьем квадранте;
    • в четвёртом квадранте.

    На картинке показаны четверти.

    #4285

    Код на SWI Prolog должен выглядеть примерно следующим образом:

    point_quadrant(0, _Y, axes).
    point_quadrant(_X, 0, axes).
    point_quadrant(X, Y, one):-
      X > 0, Y > 0.
    point_quadrant(X, Y, two):-
      X > 0, Y < 0.
    point_quadrant(X, Y, three):-
      X < 0, Y < 0.
    point_quadrant(X, Y, four):-
      X > 0, Y < 0.

    Если у вас этот код нужно просто сдать преподавателю — то должно сойти. Однако, если код будет где-то использоваться, то нужно учитывать, что в первых двух правилах выполняется проверка на равенство. Однако, в результате вычисления какого-нибудь sin(180) вы можете получить не 0, а что-то типа 0.0000000000000032001 и вот тогда проверка покажет, что точка находится во втором квадранте, хотя она должна быть на оси. Т.е. вероятно проверку осей в реальной работе надо будет либо совсем убрать, либо выполнять сравнение с заданной допустимой погрешностью.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.