Первым шагом алгоритма должен быть ввод координат точки: x и y . Для большего удобства при анализе результатов можно вывести введенные значения на экран. Исследование изображения на рисунке-задании дает нам основание утверждать, что целевая область образуется пересечением: прямой с коэффициентом -1 и смещением +1 и окружности с центром в начале координат и радиусом 1, как показано на рисунке справа.
Уравнение этой прямой: y=-x+1 Уравнение окружности: x2+y2=1 Для проверки попадания точки в заданную область нужно проверить условия того, что: 1). Точка лежит выше прямой или на ней, т.е.: y>=-x+1 2). Точка лежит внутри окружности или на ней, т.е.: x2+y2
Определение переменных программы Для реализации алгоритма нам будут нужны только переменные для хранения значений координат x и y . В условиях задания не приведены требования к точности вычислений, рисунок представлен с довольно невысокой точностью, поэтому для этих переменных было бы достаточно типа float . Но в соответствии с общим стилем программирования на C выберем для них тип double . Разработка текста программы Текст программы начинается с включения фала: #include т.к. нам обязательно понадобятся функции стандартного ввода-вывода, которые описаны в этом файле. Далее идет заголовок и открытие главной функции: int main(void) < и объявление переменных, определенных в пункте 5.2. double x, y; Для каждой координаты выводится приглашение на ее ввод и вводится ее значение: printf(«Введите координату x >»); scanf(«%lf», printf(«Введите координату y >»); scanf(«%lf», Введенные значения координат выводятся на экран: printf(«x=%6.3lf; y=%6.3lfn»,x,y); Далее идет проверка условий попадания точки в область. Оба условия проверяются одним выражением. Поскольку точка попадает в область, если выполняются оба условия вместе, условия в выражении соединены операцией «логическое И»: if ( (y>=1-x) (x*x+y*y <=1) ) Если значение логического выражения в условном операторе истинно, то выводится сообщение про попадание: printf(«Точка попадает в областьn»); В противном случае выводится сообщение: else printf(«Точка не попадает в областьn»); Полный текст программы #include «stdafx.h» #include #include #include #include int _tmain( int argc, _TCHAR* argv[])
Программирование на С++. Урок 10. Попадает ли точка в заштрихованную область
Источник: studfile.net
Координаты точки (x, y) и определить, попадает ли точка в заштрихованную область — C#
Всем доброго времени суток я зависла с этим алгоритмом вроде работает , но ошибок очень много выдает , что если что если задам больше координаты то выдает 2 значения (и да и нет ), и то что я не могу ввести значения меньше 1 (те 0,5 и т.п)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 < class Program < static void Main(string[] args) < Console.WriteLine(«Введите x = «); double x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(«Введите у = «); double y = Convert.ToDouble(Console.ReadLine()); if (x >1 || x < -1 || y >1 || y < -1) < Console.WriteLine(«Точка НЕ попадает в заштрихованную область»); >if (x > 0 y > 0 || x < 0 y < 0) < Console.WriteLine(«Точка НЕ попадает в заштрихованную область»); > < Console.WriteLine(«Точка попадает в заштрихованную область»); >Console.ReadLine(); > > >
помогите разобраться с этой задачкой
Попадание точки в заданную область. Два сектора. Уроки программирования на С++.
Код к задаче: «Координаты точки (x, y) и определить, попадает ли точка в заштрихованную область»
Листинг программы
double GranicaX = 10, GranicaY = 10;// Область от 0 до 10 по X и от 0 до 10 по Y заштрихована. Console.WriteLine(«Введите x = «); double x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(«Введите у = «); double y = Convert.ToDouble(Console.ReadLine()); if ((x > GranicaX || x < 0) || (y >GranicaY || y < 0)) < Console.WriteLine(«Точка НЕ попадает в заштрихованную область»); >else < Console.WriteLine(«Точка попадает в заштрихованную область»); >Console.ReadLine();
Источник: studassistent.ru
Программа попадает ли точка в область
Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.Помогите Пожалуйста!
Изображения
| Снимок.PNG (9.9 Кб, 557 просмотров) |
Регистрация: 09.01.2008
Сообщений: 26,238
они у вас на рисунке, скорее чёрные, чем серые..
по сути — а что тут сложного, область чётко разбивается на две фигуры,
для одной условие такое:
(x<=0) (y>=0) (x*x + y*y для второй фигуры чуть чуть посложнее:
(x>=0) (y<=0) (x*x + y*y >= R1*R1) (x*x + y*y
возьмите условия в круглые скобки и объедините по логическому «ИЛИ»
if ( (Условиепопаданиявобласть1) || ((Условиепопаданиявобласть2)) ) < точка попала в отмеченную область>else
и, фактически, это всё решение.
Источник: www.programmersforum.ru