Форма представления результатов выполнения программы




Содержательная постановка задачи

Формулировка условия задачи

Пример решения задачи

Формализованная постановка задачи

Способ получения результатов по исходным данным

Выбор и описание метода решения задачи

Исходные данные и форма их представления

Форма представления результатов выполнения программы

Перечень исключительных ситуаций и требуемой реакции программы

Алгоритмизация

Разработка схемы алгоритма основной программы

Детализация схемы алгоритма

Программирование и отладка

Тексты программы и подпрограмм

Испытание программы

Пример 1

Пример 2

Заключение

Содержательная постановка задачи

Формулировка условия задачи.

Из множества прямых М, заданных коэффициентами уравнения Ax + By + C = 0, выбрать все попарно параллельные прямые и вычислить расстояний между ними. Найти две параллельные прямые, расстояние между которыми имеет наибольшее по модулю значение.

Пример решения задачи.

Пусть заданы уравнения прямых, изображенных на рис.1:

1,6x + 3,2y + 7,8 = 0 (1)

11,7x - 3,9y + 1,5 = 0 (2)

-5,5x + 7,3y - 9,2 = 0 (3)

4,8x + 9,6y + 4,1 = 0 (4)

-18,3x + 6,1y - 13,4= 0 (5)

Параллельные прямые:

1) 1,6x + 3,2y + 7,8 = 0,

4,8x + 9,6y + 4,1 = 0, R1 = 1,8;

2) 11,7x - 3,9y + 1,5 = 0,

-18,3x + 6,1y - 13,4= 0, R2 = 0,6.

 

Так как R1 > R2, решение задачи - это пара прямых

1,6x + 3,2y + 7,8 = 0 и 4,8x + 9,6y + 4,1 = 0.

 

Наибольшее расстояние - R1 = 1,8.

 

Формализованная постановка задачи

 

Способ получения результатов по исходным данным.

Для решения задачи необходимо из множества заданных прямых выделить пары параллельных прямых, вычислить расстояния между прямыми для каждой пары, найти среди них наибольшее и выделить из множества {(Ai,Bi,Ci)}i=1..N тройки коэффициентов, которые соответствуют паре параллельных прямых с наибольшим по модулю расстоянием.

Параллельность двух прямых

 

Ai x + Bi y + C i = 0 (2.1)

Aj x + Bj y + C j = 0 (2.2)

 

может быть установлена проверкой условия

 

A i B j - A j B i = 0 (2.3)

 

Ввиду ограниченной точности вычислений, выполнение условия (2.3) может быть проверено лишь приближенно. Поэтому при расчетах следует пользоваться соотношением

| A i B j - A j B i | < E, (2.4)

 

где E - погрешность оценки параллельности прямых (0 < E << 1), которая должна быть включена в исходные данные.

Для вычисления расстояния между двумя параллельными прямыми (2.1) и (2.2) можно воспользоваться формулой

_______

R i j = | (C i A j - C j A i) / (A j Ö A i2 + B i2) | (2.5)

 

Выбор и описание метода решения задачи

В основе метода решения задачи лежит последовательный перебор элементов множества {(Ai,Bi,Ci)}i=1..N. Выбирается пара коэффициентов для первой по порядку прямой и проверяется выполнение условия (2.4) относительно всех последующих прямых. Затем выбирается вторая пара коэффициентов и проверяется выполнение условия параллельности для данной прямой и всех последующих. Аналогичные действия выполняются для всех заданных прямых вплоть до предпоследней. При этом подсчитывается количество параллельных прямых К, запоминаются пары порядковых (в множестве {(Ai,Bi,Ci)}i=1..N) номеров параллельных прямых, вычисляются и запоминаются расстояния R между ними. Максимальное количество пар параллельных прямых составляет N(N - 1) / 2.

В множестве расстояний R отыскивается наибольший элемент, а в множестве {(Ai,Bi,Ci)}i=1..N - две соответствующие тройки коэффициентов уравнений параллельных прямых. Эти тройки являются результатом решения задачи. При отсутствии параллельных прямых выводится соответствующее сообщение. Если есть несколько одинаковых расстояний, которые одновременно являются и наибольшими, то из них выбирается первое по порядку.

Исходные данные и форма их представления

Множество троек коэффициентов прямых представляется как двухмерный вещественный массив АВС размера N ´ 3, где количество строк N равно числу исходных прямых. В первый столбец записываются коэффициенты A i , во второй - B i, в третий - С i . Так как в программе предполагается использовать статическое распределение памяти, в операторе описания массива должно быть указано наибольшее значение N: Nmax. Фактическое значение N вводится во время выполнения программы.

В программе должен быть предусмотрен ввод значений исходных данных из файла. Имя файла исходных данных вводится по запросу программы.

Обозначения исходных данных, их характеристики и назначение приведены в табл. 1.

Таблица 1

Обозначение Структура, тип Назначение
Nmax (KolPrMax) Константа целого типа Максимальное количество прямых
N Переменная целого типа, 1 < N £ Nmax Количество заданных прямых
АВС Вещественный двухмерный массив, размер Nmax ´3 Множество троек коэффициентов Аi, Вi, Сi, где i = 1,..., Nmax; одна тройка занимает одну строку
Е Вещественная переменная, 0 < E <<1 Погрешность оценки параллельности прямых

Форма представления результатов выполнения программы

В программе должен быть предусмотрен вывод результатов в файл. Имя файла результатов формируется программой по имени файла исходных данных путем добавления расширения.res.

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: