Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Введение. 
Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня

РефератПомощь в написанииУзнать стоимостьмоей работы

Цель работы — решение поставленной задачи: определить радиус и центр такой окружности, проходящей хотя бы через три различные точки заданного множества точек на плоскости, что минимальна разность количеств точек, лежащих внутри и вне окружности. Проведем через пары точек две прямые. Первая линия пусть проходит через P1 и P2, а прямая b — через P2 и P3. Выбрать наиболее подходящие представления… Читать ещё >

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня (реферат, курсовая, диплом, контрольная)

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

Цель работы определила следующие задачи исследования:

  • 1. Провести анализ условия задачи и выработать подход к ее решению.
  • 2. Выбрать наиболее подходящие представления для входных, выходных и промежуточных данных.
  • 3. На основе выбранного подхода разработать алгоритм.
  • 4. Описать алгоритм на языке программирования.
  • 5. Составить тестовые примеры для отладки и демонстрации возможностей программы.

Анализ условия задачи и выработка подхода к ее решению

текстовый файл алгоритм данные По условию задачи исходными параметрами являются количество точек и их координаты в двумерном пространстве. В первую очередь необходимо организовать перебор троек точек из заданного множества. Порядок точек не важен, но чтобы сократить количество рассчитываемых наборов и не учитывать повторяющиеся наборы, упорядочим точки. Перебор для первой точки возможен только с 1 до n?2 (если n?2 точка является первой точкой набора, тогда n?1 — второй, а n — третьей), для второй точки перебор возможен со следующей координаты после выбранной в качестве первой до n?1, для третьей точки — со следующей координаты после выбранной в качестве после второй до n. Таким образом, мы сможем перебрать все возможные не повторяющиеся наборы из трех точек заданного множества.

Во время перебора точек мы по каждой тройке строим окружность и проверяем количество точек внутри и вне окружности. Принадлежность точки внутри и вне окружности проверяем с точностью ?. Во время проверки считаем количество точек внутри и вне окружности и находим разность этих количеств. Изначально разности присваиваем количество точек. Когда находится окружность с меньшей разностью, мы присваиваем наименьшей разности это значение и сохраняем координаты центра и радиус этой окружности. И так до конца перебора троек точек. В итоге мы найдем окружность построенную хотя бы по трем точкам с наименьшей разностью количеств точек внутри и вне окружности.

Окружность строим по следующему принципу:

Проведем через пары точек две прямые. Первая линия пусть проходит через P1 и P2, а прямая b — через P2 и P3.

Уравнения этих прямых будут:

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

;

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

где m — коэффициент наклона линии, получаемый из.

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

;

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

Центр круга — находится на пересечении двух перпендикулярных прямых, проходящих через середины отрезков P1P2 и P2 P3. Легко доказать, что прямая, перпендикулярная к линии с коэффициентом наклона m имеет коэффициент наклона -1/m, значит уравнения прямых, перпендикулярных a и b и проходящих через середины P1P2 и P2P3 будут.

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.
Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

Они пересекаются в центре, и решение относительно x дает.

Введение. Решение задачи с прикладным содержанием с применением программирования на языке высокого уровня.

Значение у вычислим подстановкой x в уравнение одного из перпендикуляров. Радиус найти элементарно. Например, P1 лежит на окружности и мы знаем центр. Радиус будет равен длине ОP1. Знаменатель (mb — ma) равен нулю, когда прямые параллельны. В этом случае они совпадают, то есть круга не существует. В конце организуем вывод параметром окружности и минимальную разность количеств точек.

Показать весь текст
Заполнить форму текущей работой