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

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

2018-01-04 153
Лабораторная работа №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.009 с.