Даю 99 баллов. Программа на Паскале: Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее г...

Даю 99 баллов. Программа на Паскале: Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программа была написана неправильно. var x,y: real; begin readln(x,y); if y<=1 then if x>=0 then if y>=+1 then write('принадлежит') else write('не принадлежит') end (Точки с запятой и точки не стоят, я знаю). При каком(-их) значении(-ях) х и у программа выполняется неправильно? a. x = 0; y = -1; b. x=0; y=1; c. x=1; y=2; d. x = 1,5; y = -10,5;
Гость
Ответ(ы) на вопрос:
Гость
program point_in; var x, y: real; function ParabolicY(x: real): real; begin ParabolicY := -1 * x * x + 2 * x; end; begin readln(x, y); if ( (x < 0) or (x > 1) ) or ( (y < 0) or (y > 1) ) then writeln('не принадлежит') else begin if ( ParabolicY(x) <= y ) and (y <= 1) then writeln('принадлежит') else writeln('не принадлежит'); end; end.
Гость
Для исключения области, отмеченной зелёной штриховкой, можно использовать ограничение y>=x (см. рис.) var x,y: real; begin readln(x,y); if (x>=0)and(y<=1)and(y>=x)and(y>=-(x-1)*(x-1)+1) //(x-1)^2=-(y-1);  then write('принадлежит')  else write('не принадлежит') end. Пример 1: 0.25 0.75 принадлежит Пример 2: 1 2 не принадлежит
Не нашли ответ?
Ответить на вопрос
Похожие вопросы