Платный заказ
Бюджет:
2000 руб
Необходимо реализовать эту задачу с помощью Tkinter, wxPython, PyQT или PySimpleGUI.
В качестве ответа предоставить файл .py
Файлы с иллюстрациями приложены к заданию.
Существует 8 шпинделей, пронумерованых от 8 до 1 слева направо. На каждом шпинделе надеты диски, в количестве, равном соответствующей цифре из ID студента. Все диски имеют разные диаметры. Диаметр диска равен M * 10 + N, где М номер шпинделя, на котором надет диск, а N это номер диска на шпинделе, считая сверху вниз.
1. Необходимо визуально изобразить предложенную задачу. Диски на шпинделях сделать случайных цветов. На каждом диске отображать цифру, равную его диаметру. Диаметр диска также показывать его фактическим размером в пикселях.
2. Необходимо вычислить, за какое минимальное количество итераций переместятся все диски на шпиндель номер 1 по следующим правилам:
а) За одну итерацию можно переместить не более одного диска
б) Диски можно класть только с большего на меньший
в) Со шпинделя номер 8 можно перекладывать диски только на шпиндели 7 и 6
г) Со шпинделя номер 1 можно перекладывать диски только на шпиндели номер 2 и 3
д) Со шпинделей от 2 по 7 можно перекладывать диски только на два соседних шпинделя.
3. Необходимо отобразить начальное и конечное расположение дисков на шпинделях, для этого под изображением Ханойских башен предусмотреть две кнопки «Начало» и «Окончание». При нажатии на нее, в надписи под схемой должен выводится текст «Итерация ХХ», где ХХ номер итерации (либо 0, либо номер итоговой итерации, соответственно).
4. Необходимо графически отобразить четыре промежуточные итерации перекладывания дисков. Для этого:
а) общее количество итераций признаётся равным 100%,
б) ID студента делится на 4 двузначных числа, каждое из которых обозначает итерацию, соответствующую этому проценту выполнения общей задачи.
в) Под изображением Ханойских башень предусмотреть четыре поля для ввода цифр с процентами выполнения. По-умолчанию добавить туда числа из п. б)
г) Под каждым полем для ввода предусмотреть кнопку, при нажатии на которую схема Ханойской башни отображает расположение дисков на соответствующей итерации. Также в надписи под схемой должен выводится текст «Итерация ХХ», где ХХ номер итерации
5. Дать возможность пользователю изменять проценты в полях для ввода цифр, и по нажатию соответствующей кнопки просматривать расположение дисков на данной итерации.
Количество дисков на шпинделях слева направо будет уточнено при выборе исполнителя ему в ЛС.
Так как размер диска должен соответствовать его номеру на шпинделе и номеру самого шпинделя, умноженного на 10, максимальный диаметр диска может быть 89. Поэтому для правильной визуализации без наложения дисков рекомендуется выдерживать расстояние между шпинделями примерно в 100-120 пикселей (для окна формата 1280х1024).
Рейтинг: 2442.9
Исполнитель определен: