Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Информатика КР.doc
Скачиваний:
42
Добавлен:
09.02.2015
Размер:
345.09 Кб
Скачать

2.2. Содержание пояснительной записки к курсовой работе

Пояснительная записка к курсовой работе должна содержать подробное описание процесса разработки и оформлена в соответствии с 1.3. Количество разделов курсовой работы должны совпадать с количеством этапов разработки программы (см. 1.2). Разделам присваиваются заголовки, совпадающие с наименованиями этапов. Содержание каждого раздела должно отражать действия программиста и результаты, полученные на соответствующем этапе.

При составлении пояснительной записки следует также руководствоваться примером выполнения курсовой работы (см. 3).

3. Пример выполнения курсовой работы

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

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

Пример решения задачи. Пусть заданы уравнения прямых, изображенных на рис.3.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 .

Рис.3.1

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

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

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

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

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

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

и

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

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

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

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

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

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

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



R i j = | (C i A j - C j A i) / (A j  A i2 + B i2 ) |. (3.5)

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

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

В множестве расстояний R отыскивается наибольший элемент, а в множестве {A,B,C} - две соответствующие тройки коэффициентов уравнений параллельных прямых. Эти тройки являются результатом решения задачи. При отсутствии параллельных прямых выводится соответствующее сообщение. Если есть несколько одинаковых расстояний, которые одновременно являются и наибольшими, то из них выбирается первое по порядку.

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

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

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

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

Таблица 3.1

Обозначение

Структура, тип

Назначение

Nmax

(KolPrMax)

Константа целого типа

Максимальное количество прямых

N

Переменная целого типа, 1 < N  Nmax

Количество заданных прямых

АВС

Вещественный двухмерный массив, размер Nmax 3

Множество троек коэффициентов Аi, Вi, Сi, где i = 1,..., Nmax ; одна тройка занимает одну строку

Е

Вещественная переменная, 0 < E <<1

Погрешность оценки параллельности прямых

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

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

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

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

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

1) Если N > Nmax или N < 2, то печатается сообщение

“Недопустимое значение N в файле <имя_файла>

Нажмите любую клавишу для завершения...”

Выполнение программы заканчивается.

2) Если Е < 0, то печатается сообщение

“Недопустимое значение E в файле <имя_файла>

Нажмите любую клавишу для завершения...”

Выполнение программы заканчивается.

3) Если среди исходных прямых нет параллельных, то выводится сообщение

“Параллельных прямых нет”

Выполнение программы заканчивается.

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

Таблица 3.2

Обозначение

Структура, тип

Назначение

К

Переменная целого типа

Счетчик пар параллельных прямых

NomPr

Двухмерный массив целого типа; размер - Nmax (Nmax - 1)

Пары порядковых (в массиве ABC) номеров параллельных прямых

R

Вещественный одномерный массив; размер -

Nmax (Nmax -1) / 2

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

imax1, imax2

Целые переменные

Номера параллельных прямых, расстояние между которыми наибольшее

Rmax

Вещественная переменная

Наибольшее расстояние между прямыми