Даю 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;
Answers & Comments
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
не принадлежит
Verified answer
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.