Даю 99 баллов. Программа ** Паскале: Требовалось написать программу, которая вводит с...

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

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

var x,y: real;
begin readln(x,y);
if y<=1 then<br> 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;


image

Информатика (95 баллов) | 35 просмотров
0

И да, я если что сам не понял, как эта программа написана, может опечатка в задании

Дано ответов: 2
0 голосов
Правильный ответ

Для исключения области, отмеченной зелёной штриховкой, можно использовать ограничение 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
не принадлежит

(194k баллов)
0 голосов

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<br> writeln('принадлежит')
else
writeln('не принадлежит');
end;
end.

(7.2k баллов)
0

А можно пояснение в виде ответа на главный вопрос? При каких значениях?

0

А то, честно говоря, я ничего не понял

0

При данной в условии программе неверно она выполняется при значениях в пункте c (на экран не выведется ничего).

0

Благодарю :)