В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
berezovskayave
berezovskayave
20.07.2020 21:52 •  Информатика

Составить программу для определения, принадлежит ли точка с координатами (x y) области ограниченной неравенством { x²+(y-1)≤4 y≥x/2 находится на границе области или находится вне ее области

Показать ответ
Ответ:
samirsamir21ozrrps
samirsamir21ozrrps
01.10.2020 22:04
Доброго времени суток!
Для начала немного поработаем над системой неравенств.

Дана система:
\left \{ {{x^2+y-1 \leq 4} \atop {y \geq \frac{x}{2}}} \right.
произведем несколько манипуляций с числами чтобы выявить абсолютные величины:
\left \{ {{y \leq 5-x^2} \atop {x \leq 2y}} \right.

опираясь на абсолютные величины мы смело можем сказать что справедливы все "y" и "x" значения которые удовлетворяют двум неравенствам (отсюдого она и система). Можно канечно пошаманить и решить систему до конца указав области значений обоих переменных, но мы этого делать не будем, иначе для чего нам компьютер с потенциально огромной вычислительной мощностью? Правильно! Поэтому мы заставим его решать нашу систему неравенств ;)

программа будет написана на языке C++!

#include <iostream>

// определяем коды, которые покажут нам результат работы функции.
#define CODE_INCASE 1
#define CODE_ONLINE 2
#define CODE_OUTRANGE 0
#define CODE_ERROR -1

struct vector2
{
    int x,y;
};

unsigned char check_point(vector2 & point)
{
    if ((point.x < 2*point.y) && (point.y < 5-point.x^2)) //определяем принадлежность
    {
          return CODE_INCASE; // является исключительно вложенным и не пересекает границы
    }
    else if( ((point.x = 2*point.y) && (point.y <= 5-point.x^2))  || ((point.x <= 2*point.y) && (point.y = 5-point.x^2)) )
    {
        return CODE_ONLINE; // пересекает границы частично или полностью
    }
    else
    {
       return CODE_OUTRANGE; // не принадлежит
    }
    return CODE_ERROR; // код ошибки (в случае взбоя алгоритма определения значений)
}

void main()
{
    vector2 point1 = {-8, 12}; //тут мы задаем координату в виде простой линейной структуры.
    std::cout << "{" << point1.x << "," << point1.y << "}, code " << check_point(point1) << std::endl; //выводим на экран код обработчика.
    
}

Удачи ;)
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота