Студопедия Главная Случайная страница Задать вопрос

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задача 2.2. Выстрел по мишени




Дана заштрихованная область (рис. 2.2) и точка с координатами (х, у). Написать программу, определяющую, попадет ли точка в область. Результат вывести в виде текстового сообщения.

 


Рис. 2.2. Графически заданная область для задачи 2.2.

 

Запишем условия попадания точки в область в виде формул. Область можно описать как круг, пересекающийся с треугольником. Точка может попадать либо в круг, либо в треугольник, либо в их общую часть:

 

 

Первое условие задает попадание точки в круг, второе — в треугольник. Программа для решения задачи выглядит следующим образом:

 

#include <iostream.h> int main () { float x, y; cout << " Введите значения х и у:" << endl; cin >> x >> у; if ( x * x + у * у <= 1 || х <= 0 && у <= 0 && у >= - х - 2) cout << " Точка попадает в область" << endl; else cout << " Точка не попадает в область" << endl; return 0; }

 

Три условия из правых фигурных скобок должны выполняться одновременно, поэтому в программе они объединяются с помощью операции И. Ее приоритет выше, чем у ИЛИ (||), и ниже, чем у операций отношения, поэтому дополнительных скобок не требуется.

 

Рассмотрим пример другой заштрихованной области (рис. 2.3). Условный оператор для определения попадания точки в эту область имеет вид:

 

if ( y < 0 && ((x -1) * (x – 1) + y * y <= 1 || (x + 1) * (x + 1) + y * y <= 1)) cout << " Точка попадает в область"; else cout << "Точка не попадает в область";

 

 


Рис. 2.3. Пример еще одной области.

 

Точка может попасть либо в правый полукруг, либо в левый, в обоих случаях значение у должно быть отрицательным. Для того чтобы операция ИЛИ была выполнена раньше, чем операция И, необходимы круглые скобки.

 







Дата добавления: 2014-11-10; просмотров: 259. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.015 сек.) русская версия | украинская версия