- •Программирование на языке с в среде Borland 3.1
- •Введение
- •Особенности решения вычислительных задач на эвм
- •1. Назначение и общая характеристика языка программирования с
- •2. Пример простейшей программы
- •2.1 Приступим
- •2.2 Расширяем функциональность
- •2.3 Улучшаем интерфейс. Осмысленное проектирование
- •2.4 Итог
- •3. Цикл лабораторных работ первого семестра
- •3.1 Лабораторная работа №1. Программа определения суммы трех чисел Задание
- •Методическое указание
- •3.2 Лабораторная работа №2. Решение квадратного уравнения Задание
- •Методическое указание
- •3.3 Лабораторная работа №3. Попадание точки в область Задание
- •Методическое указание
- •3.4 Лабораторная работа №4. Цикл с неизвестным числом повторений Задание
- •Методическое указание
- •3.5 Лабораторная работа №5. Обработка массивов Задание
- •Методические указания
- •3.6 Лабораторная работа №6. Обработка файлов Задание
- •Методическое указание
- •3.7. Лабораторная работа №7. Работа со строками Задание
- •Методическое указание
- •4. Проект программы и функции оболочкиBorlandC
- •4.1 Создание проекта программы. BorlandCи его основные режимы с характерными окнами
- •4.2. Функции оболочкиBorlandC
- •Запуск программы на выполнение
- •Просмотреть/изменить значение переменной
- •5.1 Основные символы схем алгоритмов
- •Окончание
- •Процесс
- •Предопределенный процесс
- •6. Содержание отчета работы,
- •6.1 Требования к оформлению отчёта о лабораторной работе
- •6.2 Требования к защите лабораторных работ
- •Отчёт о лабораторной работе №1
- •2006 Г. Список литературы
- •Содержание
3.3 Лабораторная работа №3. Попадание точки в область Задание
Разработать программу, определяющую попадание точки с координатами ив область, которая образуется в результате пересечения множеств:
круг с радиусом и с центром, расположенном в начале координат;
полуплоскость по одну из сторон от прямой ;
полуплоскость, ограниченная осями координат.
Вариантырасположения плоскости представлены ниже:
Внутри круга, ниже прямой, правее оси ординат.
Внутри круга, ниже прямой, левее оси ординат.
Внутри круга, ниже прямой, выше оси абсцисс.
Внутри круга, ниже прямой, ниже оси абсцисс.
Внутри круга, выше прямой, выше оси абсцисс.
Внутри круга, выше прямой, ниже оси абсцисс.
Внутри круга, выше прямой, левее оси ординат.
Внутри круга, выше прямой, правее оси ординат.
Внутри круга, ниже прямой, правее оси ординат и выше оси абсцисс.
Внутри круга, ниже прямой, левее оси ординат и ниже оси абсцисс.
Внутри круга, выше прямой, левее оси ординат и выше оси абсцисс.
Внутри круга, выше прямой, правее оси ординат и ниже оси абсцисс.
В разработанной программе должны быть соблюдены следующие дополнительные условия:
Должен быть дан корректный ответ при любых действительных значениях коэффициентов, при этом заданная прямая не обязательно должна пересекать окружность.
Перед вводом координат точки, для которой будет осуществляться проверка на принадлежность области, проверяется существование области (по введённому значению при всех прочих известных условиях). В случае отсутствия области ввод точки не производится, а осуществляется вывод соответствующего сообщения с предложением повторного ввода.
Для одной введённой области необходимо осуществлять проверку точек до тех пор, пока пользователь не откажется от продолжения.
Аналогичное условие должно быть осуществлено для ввода области.
Необходимо учитывать попадание точки на границу области.
Методическое указание
Разработку программы рекомендуется начать с анализа всех возможных положений прямой, окружности и осей относительно друг друга. Данный процесс должен помочь выявить граничные условия для определения образования области. Другими словами, прежде всего необходимо определить: а возникает ли замкнутая (и наверно не вырожденная в точку) область при заданных значениях радиуса окружности, угла наклона прямой и длины отрезка оси от начала координат до пересечения прямой с осью Y.
Анализ относительного расположения объектов должен быть осуществлён в графическом виде. Разрешение граничных условий производится с помощью формул геометрии.
Решение данной задачи требует построения алгоритма с различными вариантами последовательности действий. Такие алгоритмы носят название ветвящихся алгоритмов.
Необходимо учесть все те рекомендации по полноте тестировании, что были даны в методических указаниях к предыдущей работе.
Граничные условия при подобной постановке задачи не могут быть разрешены обычным равенством вследствие того, что в компьютерном понимании числа 10 и 10,0000001 – это всё-таки разные числа. Поэтому нецелесообразно использовать в программах условные выражения содержащие при сравнении вещественных данных операции их равенства. Данная проблема решается введением, так называемой ширины границы. То есть при вычислении попадания считается не равенство координат точек и ограничивающих прямых (x=2 иy=5), а нахождение их вблизи данной границы (|x–2| <Epsи |y–5| <Eps), гдеEps– малая ширина границы.
Рекомендуется прочесть разделы дополнительной литературы относительно пользовательских функций в языке Cи применить полученные знания.