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

Напишите условие на любом языке программирования для проверки попадания вводимой точки.A(x, y) в область, ограниченную функциями f1(y) =0.5, f2(y) = 3.5, f3(x) =sin(x), f4(y) =cos(x). Область включает границы. Мне нужно подробно. ​

Показать ответ
Ответ:
tambovtsevanat
tambovtsevanat
15.10.2020 15:36

Насколько я понял, четвёртая функция должна быть f4(x) =cos(x). Видимо там опечатка (вместо икс записан игрек). Скорее всего так, а иначе не получится область между этими функциями.

То есть, все четыре уравнения выглядят так:

x = 0.5

x = 3.5

y = sin(x)

y = cos(x)

Решить можно например так (проверял в PascalABCNET):

begin

var x := ReadReal('x=');

var y := ReadReal('y=');

if (x>=0.5) and (x<=3.5) and (y>=Min(Sin(x),Cos(x))) and (y<=Max(Sin(x),Cos(x)))

then write('принадлежит')

else write('не принадлежит');

end.

Объяснение:

А вообще, для таких заданий я сначала рисую графики всех заданных функций в любой удобной графической программе (например см. первую приложенную внизу картинку). Это чтобы понять, что вообще за область- какой формы и как и чем ограничена.

А уже потом составляю алгоритм, определяющий попала ли точка в заданную область. Алгоритм я составляю внутри моей специально написанной для таких заданий программки (на PascalABCNET). Эта программка рисует область (заданную алгоритмом) в окне, что позволяет сразу визуально оценить, всё ли правильно задано, и нет ли пропущенных областей (это иногда бывает в непродуманных нагромождениях if-then-else  -для некоторые точки может просто пропустить, без вывода ответа, либо с неверным).

Когда алгоритм составлен, переношу его в простую программу, которая (как и требуется обычно в таких заданиях) запрашивает координаты точки и сообщает, попадает ли она в область.

Вот, собственно моя программка, отрисовывающая в окне область, заданную алгоритмом (результат работы программы см.  на второй приложенной внизу картинке):

uses GraphABC;

begin

var x, y: real;

var a, b, c: integer;

SetWindowPos(15, 56);

SetWindowSize(801, 801); // квадратное окно (по 400 пикселей в плюс и минус и один пиксель для нуля)

LockDrawing; // повысим скорость, отключив вывод на экран (рисование будет идти только во внеэкранном буфере)

for a := 0 to 801 do // два цикла (по x и y) перебирают все точки окна

begin

x := (a - 401) / 50; // пересчёт из пикселей в координаты (масштаб задан тут)

for b := 0 to 801 do

begin

y := (b - 401) / 50;

c:=2; // точки будут выделены красным цветом, если их пропустит основной алгоритм (ниже)

// тут располагаем основной алгоритм (любое нагромождение if-then-else и других условий или просто одну строку, как сейчас)

// алгоритм должен записать в переменную c единицу (если нужно ставить точку), либо ноль (если не нужно)

c := ( (x>=0.5) and (x<=3.5) and (y>=Min(Sin(x),Cos(x))) and (y<=Max(Sin(x),Cos(x))) ) ? 1 : 0; // условная операция (вместо if-then-else)

if c=1 then // если алгоритм присвоил единицу переменной c, то ставим чёрную точку

SetPixel(Round(401 + x * 50), Round(401 - y * 50), clBlack);

if c=2 then // если алгоритм не изменил значение переменной c, то ставим красную точку

SetPixel(Round(401 + x * 50), Round(401 - y * 50), clRed);

end;

end;

Pen.Color := clBlue; // рисуем оси

Line(0, 401, 801, 401);

Line(401, 0, 401, 801);

Redraw; // обновляем кадр (вывод внеэкранного буфера на экран)

end.


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