Составить программу, содержащую ветвления и определяющую, принадлежит ли точка с...

0 голосов
53 просмотров

Составить программу, содержащую ветвления и определяющую, принадлежит ли точка с координатами (Х,У) зашифрованной области. Помогите пожалууйста)


image

Информатика (108 баллов) | 53 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1. Составляем уравнение "нижней" прямой, проходящей через точки с координатами (0;4) и (2;0):
\frac{y-y_1}{y_2-y_1} = \frac{x-x_1}{x_2-x_1}; \ \frac{y-4}{0-4}= \frac{x-0}{2-0}; \ \frac{y-4}{-4}= \frac{x}{2}; \ 2(y-4)=-4x \to y=4-2x
2. Составляем уравнение "верхней" прямой, проходящей через точки с координатами (0;6) и (6;0):
\frac{y-y_1}{y_2-y_1} = \frac{x-x_1}{x_2-x_1}; \ \frac{y-6}{0-6}= \frac{x-0}{6-0}; \ \frac{y-6}{-6}= \frac{x}{6}; \ 6(y-6)=-6x \to y=6-x
3. Составляем функцию F(x), которая определяет условие попадание точки с координатами (x;y) в заштрихованную область. Для этого дополнительно понадобится определить принадлежность точки первой четверти системы координат: значения x и y не должны быть отрицательными.
F=(x \geq 0) \land (y \geq 0) \land (y \geq 4-2x) \land (y \leq 6-x)
4. Записываем программу на языке Pascal.

var
  x,y:real;
begin
  Write('Введите координаты х, y: ');
  Readln(x,y);
  if (x>0) and (y>0) and (y>=2*x-4) and (y<=6-x) then Writeln('Принадлежит')<br>  else Writeln('Не принадлежит')
end.

Тестовое решение:
Введите координаты х, y: 3.1 2.9
Принадлежит

Замечание.
Если кому-то нужно, чтобы программа содержала заумные и корявые ветвления, то вместо одного оператора if-then-else можно было бы нагромоздить следующее:

if (x>0) then
    if (y>0)
      then if (y>=2*x-4)
          then if (y<=6-x) then Writeln('Принадлежит')<br>  else Writeln('Не принадлежит')



(142k баллов)