
- •Курсовая работа
- •Аннотация
- •Формулировка задания
- •Цель работы
- •Математическая постановка задачи
- •Теоретические положения
- •Организация диалога с пользователем
- •Анализ задания и контрольный пример
- •Постановка задачи для решения на компьютере
- •Определение внутреннего формата представления данных
- •Функции программы:
- •Основные переменные:
- •Описание алгоритма
- •Блок – схемы
- •Текст программы
- •Примеры работы программы
- •Список литературы
Определение внутреннего формата представления данных
Программа считывает коэффициенты из файла и записывает их в одномерные массивы a[MaxLines], b[MaxLines], c[MaxLines] соответственно, где MaxLines = 100. Также используется двумерный массив mass_points[rows][colls] для хранения координат для каждой точки пересечения.
Функции программы:
Имя функции |
Назначение |
Параметры |
Внешние эффекты |
||||
Входные |
Выходные |
Модифицируемые |
Транзитные |
||||
quotients |
Считывание Коэффициентов и построение Прямых. |
&SIZE, count, MaxLines, *a, *b, *c. |
- |
&SIZE, count. |
|
|
|
points |
Нахождение точек пересечения. |
&SIZE, &count, *a, *b, *c. |
- |
&count. |
|
|
|
extra |
Поиск и анализ уникальных точек. |
&count, &count_points. |
- |
&count, &count_points. |
|
|
|
main |
Управляющая функция. |
- |
- |
|
|
|
Основные переменные:
В следующей таблице указаны все основные переменные, используемые в программе. В таблице не рассматриваются временные переменные и переменные счетчиков, не выходящих за пределы одной функции.
Название |
Тип |
Назначение |
count |
int |
Счётчик точек пересечения |
SIZE |
int |
Размер считанного массива |
a[], b[], c[] |
long double |
Массивы коэффициентов |
MaxLines |
const unsigned int |
Макс. кол-во прямых |
count_points |
int |
Счётчик уникальных точек |
check |
bool |
Переменная для разных проверок |
MAX |
int |
Макс. кол-во считанных прямых |
symbol |
char |
Переменная для пропуска символов при считывании |
rows |
int |
Количество строк |
colls |
int |
Количество столбцов |
mass_points[][] |
double |
Массив координат точек пересечения |
x3, y3 |
float |
Переменные действий по поиску точек |
opr1, opr2 |
float |
Определители для нахождения параллельных и совпадающих прямых |
Описание алгоритма
Сначала программа обращается к функции quotients, где с помощью первых элементов входных массивов ищет минимально возможный, и записывает его значение в переменную MAX. Циклично считываются коэффициенты для прямых. Далее в функции проверяется возможность существования считанной прямой, если условие не выполняется, то выводится найденная прямая с присвоенным номером. После мы переходим в функцию points. С помощью двойного цикла и некоторых условий, программа математическими действиями считает точку пересечения для каждой пары прямых. Если такой не существуют, программа вновь обращается к методу Крамера и определяет параллельны прямые или совпадают. Все найденные точки пересечения выводятся матрицей в файл points.txt под своим номером. Переходим к функции extra. Считываем массив mass_points из вышеупомянутого файла. Сравниваем строки. При нахождении одинаковых, программа выводит сообщение о нахождении совпадающих точек, и указывает их номера. Если точки не совпадают, то уникальные точки выводятся в текстовый документ extra_points.txt. Далее, еще раз пробежавшись по массиву mass_points, считаем указываем количество неповторяющихся точек, и считаем их за уникальные. Далее программа выводит, сколько уникальных точек было найдено. Программа завершается. Также, при каждом выводе или важном действии, информация поступает в файл протокола protocol.txt.