Написать программу, которая установит, можно ли построить треугольник из отрезков, имеющих длины a, b, c. Если можно, то какой получится треугольник: остроугольный, тупоугольный или прямоугольный. Начальные данные вводятся с клавиатуры, либо передаются в программу как аргументы командной строки.
Дата отправки отчёта:
14 января 2019 г.
Задание выполнено: за
4 час. 37 мин.
Чему научился:
Написал сначала консольную программу, потом приступил к заданию 4: решить задачу с помощью JFrame (в моём случае GTK) и нарисовать треугольник. Перенос с консольного решения на оконное получился быстро, основное время ушло на подсчет координат выводимого треугольника. Чтобы треугольник с небольшими длинами сторон не казался крошечным и результат получился более презентабельным, добавил масштабирование треугольника под размер области вывода.
Научился: Рисовать треугольники на JPanel имея только длины сторон, вызывая из консольного приложения JFrame, передавая туда нужные параметры. Трудности: найти время и выполнить задание с тремя звёздочками. Ну Евгений Витольдович, ну Игромистр с большой буквы =) знает, что я не пройду мимо трёх звёздочек, да даже одной и даже если не знаю сразу как, найду и выполню задание.
Пока искал лучший метод решения доп. задания с тремя звёздочками, нашёл неимоверное множество вариантов рисования линий, но всё же остановится именно на построении треугольника из линий (аналогично рисовал буквы в php) самым сложным было составить этапы, так же пришлось вспоминать школьную программу по вычислению углов между сторонами, зная их длину.
Гениальный урок и гениален он именно заданием с тремя звёздочками.
з.ы.
как видно на скриншоте, я опять создал файл с данными и мусор приложение игнорирует, в консоли выводит только информацию по корректным данным, формирует список правильных треугольников и передаёт этот список для на форму для рисования =)
Использовал перебор цветов для очередного треугольника из списка.
Ну кнопочку ещё добавил, для того, чтобы можно было нарисовать треугольники по её нажатию =) это так, для проверки, ошибка до рисования или во время =)
Все нюансы учёл, все проверки сделал, во время тестирования ошибки не выявлены.