Файл: Творческая работа по дисциплине Основы алгоритмизации и программирования семестр 2.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 25

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего образования

«Пермский национальный исследовательский политехнический университет» (ПНИПУ)

Электротехнический факультет

Кафедра информационных технологий и автоматизированных систем

Направление подготовки 09.03.01 «Информатика и вычислительная техника»

Творческая работа
по дисциплине
 «Основы алгоритмизации и программирования»

семестр 2

Выполнил студент гр. ИВТ-21-1б

Бурылов Максим Павлович
_____________ ____________

(оценка) (подпись)

_____________

(дата)

г. Пермь – 2022

Калькулятор квадратных уравнений
Постановка задачи:

  1. Реализовать калькулятор Обыкновенных и десятичных дробей.

  2. Создать интерфейс работы с калькулятором.

Описание Решения

Для решения задачи были использованы стандартные способы решения квадратных уравнений.

Интерфейс создан при помощи WindowsForms, вывод рисунков - SFML/Graphics.hp.

Трудность, связанная с отрисовкой графиков функций была решена использованием готовых графиков функций.

Автор гордится простотой использования калькулятора, наличием встроенных теоретической справки и 6-ти основных видов графиков функций.

К алькулятор выполнен в тонах не нагружающих зрение и обладает доступным дизайном.

Описание кода

Проверка ввода на возможность перевода в дабл и вывод окна с сообщением в случае ошибки






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



Основная логика решения квадратных уравнений с выводом соответствующих ответов
Проверка на тип уравнения




Код кнопки очистки полей


Создание окна при помощи ----- и вывод в него теоретической справки при нажатии кнопки «Теория»


Вывод окна с краткой информацией о программе





Функционал выхода из программы



Определение вида графика, создание и вывод окна с данным графиком





Диаграмма классов


Скриншоты работы












Код программы

Задача коммивояжера

Постановка задачи:

  1. Реализовать решение задачи Коммивояжера методом ветвей и границ.

  2. Вывести граф.

  3. Добавить возможность удаления и добавления вершин

Описание решения:

Для визуализации использовался инструмент OpenGL.

Трудности:

Сложность визуализации графа, но примеры готовых решений помогли исправить ситуацию.

Описание кода:

Подключение библиотек и объявление глобальных переменных



Структура для координат вершин графа



Функция создает переменные, динамический массив, также заполняет массив и обрабатывает матрицу



Решение задачи коммивояжера методом ветвей и границ



Нахождение и вывод наилучшего пути



Реализация графа и логики его работы



Устанновка координат



Отрисовка окружностей вершин



Отрисовка текста / вершин / линий путей и значенийц их длины




Функция отрисовки текста меню / функция отрисовки кнопок меню



Функция реализации копок



Функция создания и отрисовки графа, меню



Подключение заголовочного файла/необходимых библиотек, функция mein вызывающая функции реализации графа и устанавливающей размеры окна графа



Диаграмма классов



Работа программы



Ссылки

GitHub – https://github.com/14Zzz/Creative_works

YouTube – https://www.youtube.com/watch?v=6y1F8nLydLE