- •Курсовая работа
- •Аннотация
- •Формулировка задания
- •Цель работы
- •Математическая постановка задачи
- •Теоретические положения
- •Организация диалога с пользователем
- •Анализ задания и контрольный пример
- •Постановка задачи для решения на компьютере
- •Определение внутреннего формата представления данных
- •Функции программы:
- •Основные переменные:
- •Описание алгоритма
- •Блок – схемы
- •Текст программы
- •Примеры работы программы
- •Список литературы
Организация диалога с пользователем
Для корректной работы программы, пользователю надо ввести в файлы ввода числа, являющиеся коэффициентами прямых. После запуска, в консоль выведется приветствие и изначальное условие задачи. Затем, после анализа считанных данных, выведется информация о:
-
Считанных прямых (коэффициенты A, B, C)
-
Найденных точках пересечения.
-
Параллельных и совпадающих прямых.
-
Одинаковых точках пересечения.
-
Количестве прямых, принадлежащих каждой точке.
-
Количестве уникальных точек.
Параллельно с выводом в консоль, вся информация о результате обработки исходных данных, результате и промежуточных действиях программы будет выводиться в файл protocol.txt, где по завершении программы пользователь может отслеживать каждое её действие. Также, найденные точки пересечения и уникальные точки будут выводиться в файлы points.txt и extra_points.txt соответственно.
Анализ задания и контрольный пример
Для успешного выполнения программы нам понадобится как минимум 2 прямые. Для контрольного примера рассмотрим 5 прямых:
-
9x + 9y + 4 = 0
-
8x + 3y + 4 = 0
-
3x + 3y + 4 = 0
-
4x + 4y + 4 = 0
-
4x + 3y + 4 = 0
При построении данных прямых на плоскости, мы наблюдаем следующую картину:
*Цвет шрифта уравнений прямых совпадает с цветом их графиков соответственно*
Далее программа находит точки пересечения прямых, параллельные и совпадающие прямые:
Консоль:
1) Точка пересечения прямых 1 и 2: (-0.533333 ; 0.0888889)
Прямые 1 и 3 параллельны
Прямые 1 и 4 параллельны
2) Точка пересечения прямых 1 и 5: (-2.66667 ; 2.22222)
3) Точка пересечения прямых 2 и 3: (-0 ; -1.33333)
4) Точка пересечения прямых 2 и 4: (-0.2 ; -0.8)
5) Точка пересечения прямых 2 и 5: (-0 ; -1.33333)
Прямые 3 и 4 параллельны
6) Точка пересечения прямых 3 и 5: (0 ; -1.33333)
7) Точка пересечения прямых 4 и 5: (-1 ; 0)
Обратив внимание на рисунок. Действительно, прямые 1, 3, 4 параллельны друг другу. Далее приблизительно отметим все разные точки пересечения на графике:
Сравним рисунок с данными, полученными в ходе работы программы:
Консоль:
-0.533333 0.0888889
-2.66667 2.22222
-0 -1.33333
-0.2 -0.8
Точка 5) и 3) совпадают
Точка 6) и 5) совпадают
Точка 6) и 3) совпадают
-1 0
Точке 1 принадлежит 1 прямых
Точке 2 принадлежит 1 прямых
Точке 3 принадлежит 3 прямых
Точке 4 принадлежит 1 прямых
Точке 5 принадлежит 3 прямых
Точке 6 принадлежит 3 прямых
Точке 7 принадлежит 1 прямых
Количество разных точек: 5
Программа успешно нашла всю необходимую информацию для решения задачи, а мы проверили ее истинность на наглядном примере.
Постановка задачи для решения на компьютере
Используемые библиотеки: <iostream>, <string>, <fstream>, <iomanip>, <math.h>. Коэффициенты прямых это вещественные числа типа int. Считывание коэффициентов производится из файлов формата .txt. Всего доступно 100 прямых для считывания. Прямой считается любой считаный набор чисел с соответственными индексами, где существуют коэффициенты хотя бы для x и y. В случае, если коэффициенты ты при x и(или) y равны нулю, прямая не считывается и ей не присваивается порядковый номер. Всем найденным точкам пересечения присвоен тип float. Протокол с информацией о ходе работы программы записывается в файл формата .txt, а конечный результат выводится в консоль. Программа предусматривает все случаи обработки данных из входных файлов.