|
0 / 0 / 0
Регистрация: 11.06.2021
Сообщений: 18
|
|
Python паттерн Состояния16.11.2021, 20:37. Показов 1835. Ответов 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 состояния в корневом компоненте зависящим от состояния другого элемента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|