Лабораторная работа №3. Попадание точки в область — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Лабораторная работа №3. Попадание точки в область

2018-01-04 157
Лабораторная работа №3. Попадание точки в область 0.00 из 5.00 0 оценок
Заказать работу

Задание

Разработать программу, определяющую попадание точки с координатами и в область, которая образуется в результате пересечения множеств:

1) круг с радиусом и с центром, расположенном в начале координат;

2) полуплоскость по одну из сторон от прямой ;

3) полуплоскость, ограниченная осями координат.

Варианты расположения плоскости представлены ниже:

1. Внутри круга, ниже прямой, правее оси ординат.

2. Внутри круга, ниже прямой, левее оси ординат.

3. Внутри круга, ниже прямой, выше оси абсцисс.

4. Внутри круга, ниже прямой, ниже оси абсцисс.

5. Внутри круга, выше прямой, выше оси абсцисс.

6. Внутри круга, выше прямой, ниже оси абсцисс.

7. Внутри круга, выше прямой, левее оси ординат.

8. Внутри круга, выше прямой, правее оси ординат.

9. Внутри круга, ниже прямой, правее оси ординат и выше оси абсцисс.

10. Внутри круга, ниже прямой, левее оси ординат и ниже оси абсцисс.

11. Внутри круга, выше прямой, левее оси ординат и выше оси абсцисс.

12. Внутри круга, выше прямой, правее оси ординат и ниже оси абсцисс.

В разработанной программе должны быть соблюдены следующие дополнительные условия:

· Должен быть дан корректный ответ при любых действительных значениях коэффициентов, при этом заданная прямая не обязательно должна пересекать окружность.

· Перед вводом координат точки, для которой будет осуществляться проверка на принадлежность области, проверяется существование области (по введённому значению при всех прочих известных условиях). В случае отсутствия области ввод точки не производится, а осуществляется вывод соответствующего сообщения с предложением повторного ввода .

· Для одной введённой области необходимо осуществлять проверку точек до тех пор, пока пользователь не откажется от продолжения.

· Аналогичное условие должно быть осуществлено для ввода области.

· Необходимо учитывать попадание точки на границу области.

Методические указания

Разработку программы рекомендуется начать с анализа всех возможных положений прямой, окружности и осей относительно друг друга. Данный процесс должен помочь выявить граничные условия для определения образования области. Другими словами, прежде всего, необходимо определить: а возникает ли замкнутая (и наверно не вырожденная в точку) область при заданных значениях радиуса окружности, угла наклона прямой и длины отрезка оси от начала координат до пересечения прямой с осью Y. Если область не образована или является вырожденной в точку, необходимо сообщить об этом пользователю и предложить ввести данные о другой области.

Далее следует перейти к анализу взаимного расположения области и точки с вводимыми координатами X и Y. По желанию пользователя анализ может быть повторён для точек с другими координатами X и Y, если перебор точек для данной области закончен, то пользователю предлагается, либо вернуться к определению параметров образующих область графических объектов, либо завершить работу с программой.

Предварительный анализ относительного расположения объектов (образующих тестовую область и самих тестовых точек) должен быть осуществлён в графическом виде и приведен в отчете. Необходимо определить отношение программы к граничным условиям (попадание точки на границу области). Разрешение всех условий производится с помощью формул геометрии.

Решение данной задачи требует построения алгоритма с различными вариантами последовательности действий. Такие алгоритмы носят название ветвящихся алгоритмов.

Необходимо учесть все те рекомендации по полноте тестировании, что были даны в методических указаниях к предыдущей работе.

Граничные условия при подобной постановке задачи не могут быть разрешены обычным равенством вследствие того, что в компьютерном понимании числа 10 и 10,0000001 – это всё-таки разные числа. Поэтому нецелесообразно использовать в программах условные выражения, содержащие при сравнении вещественных данных операции их равенства. Данная проблема решается введением, так называемой ширины границы. То есть при вычислении попадания считается не равенство координат точек и ограничивающих прямых (x=2 и y=5), а нахождение их вблизи данной границы (|x–2| < Eps и |y–5| < Eps), где Eps – малая ширина границы.

Рекомендуется прочесть разделы дополнительной литературы относительно пользовательских функций в языке C и применить полученные знания.


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.