Программа принадлежит ли точка области паскаль

Написать программу определения принадлежности точки М(x,y), заштрихованной области, изображенной на рисунке ( уравнение окружности x^2+y^2=r^2)

Snapshot_20120215.JPG
вроде задача легкая а с заштрихованным сектором проблема

Пользователь
Регистрация: 10.01.2010
Сообщений: 44

function PointInArea(X, Y: Real): Boolean; begin PointInArea := false; If y > 0 then // верхняя часть PointInArea := (sqr(x) + sqr(y)

Знак «меньше или равно» можно заменить просто на «меньше», если по условию точка не может находиться на границах областей.

Последний раз редактировалось Stilet; 16.02.2012 в 08:22 .
Delphi Warrior
Регистрация: 15.08.2008
Сообщений: 2,497
верхняя граница не правильно определяется!
Отгадайте, почему?
Пользователь
Регистрация: 10.01.2010
Сообщений: 44

Hacker19_90, забыл :-[

function PointInArea(X, Y: Real): Boolean; begin PointInArea := false; If y > 0 then // верхняя часть PointInArea := (sqr(x) + sqr(y) = -x) else if x < 0 then // или левая нижнаяя часть PointInArea := (sqr(x) + sqr(y)
Последний раз редактировалось Stilet; 16.02.2012 в 08:29 .
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
PointInArea := false; — лишнее
Если лень что-то делать, заставь это делать машину . =,
Пользователь
Регистрация: 10.01.2010
Сообщений: 44
Katus, не, не лишнее. Это нужно для случая

Определить принадлежит ли точка области Д371


(y =< 0) and (x >= 0)
который тут не описан. то есть для правого нижнего сектора
Форумчанин
Регистрация: 30.11.2011
Сообщений: 161
понял. то есть ваш код эквивалентен
function PointInArea(X, Y: Real): Boolean; begin If y > 0 then // верхняя часть // да1 PointInArea := (sqr(x) + sqr(y) = -x) else if x < 0 then // или левая нижнаяя часть // да2 PointInArea := (sqr(x) + sqr(y)

помоему мой вариант эффективнее. т.к. не делаются лишние действия по ветвям да1 и да2

извините, а функциям разве нельзя по умолчанию задавать значение? =.

Читайте также:
Не удается запустить программу Microsoft visual studio

например, function f(x:byte):boolean=false;

Если лень что-то делать, заставь это делать машину . =,
Последний раз редактировалось Stilet; 16.02.2012 в 08:30 .
Пользователь
Регистрация: 10.01.2010
Сообщений: 44

Да, в таком случае Ваш вариант более разумный

А про значение по умолчанию — по-моему такого нет.

Регистрация: 09.01.2008
Сообщений: 26,238

ничего не понимаю: а где код Katus?!

извините, а функциям разве нельзя по умолчанию задавать значение? =.
например, function f(x:byte):boolean=false;

в Pascal/Delphi — нет, нельзя!

и вообще не понимаю, какие тут могут быть дискуссии, имхо, код deathNC из пост #4 выглядит вполне рабочим, надёжным и понятным.

Источник: www.programmersforum.ru

Написать программу в Паскале, которая проверяет, принадлежит ли точка(х, у) закрашеной области

Определение принадлежности точки x отрезку [a,b] на языке программирования Паскаль с условием

Получение данных для программы с пояснениями (write — вывод на экран, readln — ввод данных пользователем):

Проверка условия принадлежности точки и вывод результатов проверки в зависимости от результатов проверки (полный условный оператор — if . then . else, составное условие — (x*y>=0) and (abs(y)>=abs(x)) and (sqr(x)+sqr(y)<=R*R)):

else write (‘Точка не принадлежит закрашенной области’)

Источник: sous-otvet.net

Помогите сделать программу в паскале. Принадлежит ли точка закрашенной области?

question img

Условия нахождения точки А(х,у) в заштрихованной области или на её границах: или// PascalABC.NET 3.1, сборка 1250 от 28.05.2016begin var x,y:real; Write(‘Введите через пробел координаты точки: ‘); Read(x,y); if (y>=0) and (x<=0) and (y>=0.8*x+4) or (x>=1) and (y<=-1) then Writeln(‘Точка попадает в область или на её границы’) else Writeln(‘Точка не попадает в область или на её границы’)end.Тестовое решениеВведите через пробел координаты точки: -4.2 2.1Точка попадает а область или на её границы

Источник: znanija.site

Читайте также:
Как отключить автозапуск программ при включении ПК
Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru