|
0 / 0 / 0
Регистрация: 11.06.2021
Сообщений: 18
|
|
Python паттерн Состояния16.11.2021, 20:37. Показов 1805. Ответов 9
Используя поведенческий паттерн «Состояние», реализуйте процесс поступления абитуриента в ВУЗ по следующей схеме:
1) Состояние «Начало» – вывод «Приём в ВУЗ открыт», «Документы поданы», «Проходной балл для 1 волны: Значение1, для 2 волны: Значение 2». Переход к состоянию «Анализ 1 волна». 2) Состояние «Анализ 1 волна» – вывод «Результат вступительных испытаний: ЗначениеN», «Конкурс 1 волна». Если «ЗначениеN» больше «Значение1», то вывод «Попадание в 1 волну» и переход к состоянию «Обработка», в противном случае – переход к состоянию «Анализ 2 волна». 3) Состояние «Анализ 2 волна» – вывод «Конкурс 2 волна». Если «ЗначениеN» больше «Значение2», то вывод «Попадание во 2 волну» и переход к состоянию «Обработка», в противном случае – вывод «Конкурс не пройден» и переход к состоянию «Окончание». 4) Состояние «Обработка» – вывод «Приказ о зачислении». Переход к состоянию «Окончание». 5) Состояние «Окончание» – вывод «Приём в ВУЗ закрыт». Состояние None.
0
|
|
| 16.11.2021, 20:37 | |
|
Ответы с готовыми решениями:
9
Python-скрипт для просмотра состояния сервисов на ArcGIS Online
Почему паттерн абстрактная фабрика - паттерн уровня объектов, если в нём могут быть статические отношения? |
| 16.11.2021, 21:26 | |||
|
Что у Вас на входе? Что на Выходе? Где пример, который бы пояснял, что требуется? Добавлено через 10 минут Напишите ТЗ, то есть четкую схему, какие действия должны производится с какими объектами, и какие свойства у этих объектов? Добавлено через 3 минуты Откуда берется проходной бал? Добавлено через 12 минут Eugene228, Если различные состояния рассматривать как временные части некоторого временного отрезка описывающего прием в ВУЗ. То один из вариантов решения, это создание композиции, состоящей из частей-состояний. Тогда каждое такое состояние нужно описывать в виде класса. И все эти классы-состояния будут атрибутами класса "Поступление в ВУЗ". В общем лично мне совершенно не понятно, что Вам нужно. Может кто-то более сообразительный разберется.
0
|
|||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 16.11.2021, 23:34 | |
|
0
|
|
| 17.11.2021, 16:49 | |
|
iSmokeJC, Шаблоны конечно в разных областях бывают разными. Но в программировании если шаблон в виде некого алгоритма, как здесь, то его нельзя проверить, что бы убедиться в его работоспособности. А если нет доказательства, что он работает, то и бессмысленно называть его шаблоном.
Но если Вам хочется использовать этот мутный алгоритм в качестве шаблона, то ради бога используйте.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||||
| 17.11.2021, 17:01 | ||||
|
Viktorrus, что-то мне подсказывает, что вы не понимаете что такое паттерн проектирования.
0
|
||||
| 17.11.2021, 18:14 | |||
|
iSmokeJC, По моему это Вы не понимаете, что такое шаблон. Основное свойство шаблона это возможность его многократного применения. Обозвать шаблоном можно все что угодно, но это не будет шаблоном если его нельзя использовать. Можно табуретку назвать шаблоном для лампочек. Но это не поможет Вам производить лампочки из табуретки.
То что какой то объект является шаблоном, не достаточно просто обозвать его шаблоном, а требуется доказательство, что это шаблон для производства некоторых изделий. Тем более когда шаблоном называется вообще не понятно что. Если Вам понятен этот шаблон, то напишите код по этому шаблону, что бы доказать, что это шаблон. А не вести пустые разговоры. Я вместо болтовни лучше займусь делом и буду использовать шаблон, про который уже доказано, что это шаблон. Добавлено через 21 минуту Кстати ТСу в процессе обучения наверняка давали описание паттерна "Состояние" и пример использования этого паттерна. А теперь ему дали задание , используя этот паттерн "Состояние", выполнить задание. iSmokeJC, Вам нравится гадать, какой паттерн "Состояние" изучал (должен был изучить) ТС и используя его решить это задание? Дерзайте. Хотя Вы конечно можете создать свой паттерн "Состояние" и решить задание используя его. Но не уверен, что такое решение будет принято у ТС. Хотя можете попробовать. ![]() Добавлено через 9 минут Если ТС выложит из своих лекций или списав у однокурсников описание
0
|
|||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|||||
| 17.11.2021, 18:17 | |||||
![]() Зачастую пример реализации паттерна может быть абсолютно не применим к конкретно взятой задаче. Это принцип, а не руководство.
0
|
|||||
|
|
|
| 17.11.2021, 18:18 | |
|
Viktorrus,
Вы ошибаетесь. :-) Это все придумала (точнее, задокументировала известное) банда четырех. https://ru.wikipedia.org/wiki/... ктирования) Так, кстати, пример на Python - специально для ТС.
0
|
|
| 17.11.2021, 19:16 | ||||||
|
iSmokeJC, Оказывается действительно существует такой общеизвестный шаблон "Состояние". Есть и примеры кодов по этому шаблону.
https://ru.wikipedia.org/wiki/... %B8%D1%8F) Все, что я попросил у ТС, это дать подобную ссылку на шаблон. ![]() Так что если Вы знаете этот шаблон или есть желание его изучить, то можете помочь ТСу. Я сейчас занят другим проектом. Так что дерзайте. Удачи. ![]() Добавлено через 2 минуты Garry Galler, Где Вы раньше были? Не было бы такой развернутой дискуссии у меня с iSmokeJC, Каюсь, я поленился сразу проверить наличие такого паттерна в интернете. Виноват. ![]() Добавлено через 21 минуту Кстати пример в Википедии достаточно сложный. С использованием метакласса и абстрактного класса "Состояние" и его подклассов с конкретными состояниями. И с использованием методов делегирования. iSmokeJC, Это как раз для Вас, помогите ТСу. У меня нет времени сейчас осваивать этот шаблон. Кликните здесь для просмотра всего текста
Добавлено через 12 минут Кстати в примере из Википедии рассматривается состояние объекта "Морж". В данной задаче у ТС не указано для какого объекта рассматривается состояние. Поэтому для меня это условие задачи мутное. А может я просто что то не понимаю. ![]() Добавлено через 14 минут Или здесь рассматривается состояние процесса проведения экзаменов? В общем для меня тупого, нужно разъяснение. Состояние чего? А то мы имеем утверждение подобное утверждению "Круглое". А круглое что? Конечно из утверждения, что круглое, можно вытащить какую то информацию, но она не обязательно будет истинной. Например круглое может катиться. Но это не верно для рисунка шара. Рисунок шара не может катиться.
0
|
||||||
| 18.11.2021, 12:33 | ||||||
|
Кстати о делегировании. Понял что видимо подразумевают под "магией" питона. Это видимо когда питон скрытно осуществляет некоторые действия, которые при чтении кода не очевидны. Про них просто нужно знать.
Так для объекта оболочки, класса Обертки, значением атрибута обернутый, является обернутый объект. И когда с помощью делегирования мы изменяем обернутый объект, то измененный обернутый объект скрытно присваивается атрибуту wrapped "обернутый" объекта оболочки x (x.wrapped). Кликните здесь для просмотра всего текста
Добавлено через 11 минут Аналогично происходит с фабричными функциями, когда значения используемые из объемлющей функции сохраняются в объекте встроенной функции. Если не прочитать про такую особенность встроенных функций, то из кода сходу не догадаешься. "Магия" питона.
0
|
||||||
| 18.11.2021, 12:33 | |
|
Помогаю со студенческими работами здесь
10
Смесь двух газов нагревается при постоянном давлении из состояния P,V1,T1 до состояния P,V2,T2 QStateMachine: возможность создания недетерминированного КА с переходами из одного состояния в разные состояния Графы: найти все состояния, которые являются достижимыми из заданного состояния Устранить недостижимые состояния и исключить эквивалентные состояния конечного автомата Создание нового state состояния в корневом компоненте зависящим от состояния другого элемента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|