Для области, описываемые логическими выражениями данных областей составить линейную

Для области, описываемые логическими выражениями данных областей составить линейную программку, которая печатает true, точка с координатами (х, у)принадлежит закрашенной области, и false-в неприятном случае:
Нужен текст программы на Паскаль помогите очень необходимо

Задать свой вопрос
1 ответ
Разбиваем заштрихованную область на контуры, ограниченные чертами, уравнения которых мы можем написать. Считаем, что сами полосы (границы области) тоже входят в нее. Если это не так, все неравенства, обозначенные ниже, обязаны быть требовательными.
В I четверти:
Контур - окружность. Уравнение окружности x + y = r.
Из графика видно, что r = 6, поэтому все, что лежит снутри круга и на нем, удовлетворяет уравнению x + y 6 или x + y 36
Принадлежность I четверти определяется условием (x 0) и (y 0).
Получаем логическое выражение (x + y 36) (x 0) (y 0)
В IV четверти:
Контур - прямоугольный треугольник. В соответствии с графиком уравнение его гипотенузы y = x - 6.
Принадлежность IV четверти определяется условием (x 0) и (y 0).
Получаем логическое выражение (y x - 6) (x 0) (y 0)

Точка, принадлежащая заштрихованной области или её контуру, может находиться в одной из осмотренных выше четвертей, потому приобретенные логические выражения соединяем через Либо:
[(x + y 36) (x 0) (y 0)] [(y x - 6) (x 0) (y 0)]
Создадим упрощение:
(x 0) [ (x + y 36) (y 0) ] [ (y x - 6) (y 0) ]
С учетом главенства логических операций можно часть скобок опустить
(x 0) [ (x + y 36) (y 0) (y x - 6) (y 0) ]
В языке Паскаль это выражение запишется так:
(xgt;=0) and ((x*x+y*ylt;=36) and (ygt;=0) or (ygt;=x-6) and (ylt;=0))

Теперь нетрудно написать саму программу.

// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var (x,y):=ReadReal2('Введите через пробел x и y:');
  Writeln((xgt;=0) and ((x*x+y*ylt;=36) and (ygt;=0) or (ygt;=x-6) and (ylt;=0)))
end.

Примеры
Введите через пробел x и y: 3 2.5
True

Введите через пробел x и y: 6 0
True

Введите через пробел x и y: 5.8 3
False

Введите через пробел x и y: 3 -2
True

Введите через пробел x и y: 4 -3
False
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт