Для области, описываемые логическими выражениями данных областей составить линейную
Для области, описываемые логическими выражениями данных областей составить линейную программку, которая печатает 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
В 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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов