|
0 / 0 / 0
Регистрация: 28.07.2015
Сообщений: 7
|
|
кто может обьяснить state machine как работает и для чего на07.02.2015, 13:27. Показов 9014. Ответов 9
Метки нет (Все метки)
0
|
|
| 07.02.2015, 13:27 | |
|
Ответы с готовыми решениями:
9
Есть задание - но смысл не понятен, может ли кто-нибудь обьяснить чего требуется? Кто-нибудь может обьяснить почему не работает! Может кто-то обьяснить как заполнять б-деревья ключами? |
|
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
|
||||||
| 07.02.2015, 14:49 | ||||||
|
Как устроен мир и для чего он ну... опишите в двух словах. :)
Абстра?ктный автома?т (в теории алгоритмов) — математическая абстракция, модель дискретного устройства, имеющего один вход, один выход и в каждый момент времени находящегося в одном состоянии из множества возможных. (C) wikipedia Конечный автомат (КА) или fymite state maschine (fsm), еще к тому же имеет конечное количество этих самых состояний... Для чего нужен - ну этой моделью удобно описывать устройства и различные процессы, например навигацию по меню... В зависимости от текущего состояния (выбранного пункта меню) и входных данных (нажатой пользователем кнопки вверх или вниз) происходит переход в новое состояние (другой пункт меню). Переход может осуществятся и в текущее состояние (пользователь нажал кнопку плюс или минус), ну и попутно выполнятся какое нибудь действие (инкремент или декремент переменной, вызов функции, етц). Есть разные способы реализовать КА, самый простой и глупый - вложенные switch case, а ля
0
|
||||||
|
Sirk_kyt
|
|
| 27.02.2015, 00:03 | |
|
Конечные автоматы нужны для реализации чего-то вроде многозадачности программы. Т.е. если вам надо чего-то дождаться (например ответа устройства или реакции пользователя, типа нажатия кнопки), то ждать это нужно не в глухом цикле (типа while(!BUTTON_PRESS); когда программа "зависает" на этом цикле, пока не выполнится условие) а просто в конечном автомате, в статусе "ожидание нажатия" быстро один раз проверять - нажата кнопка или нет. Если нет, то выйти из функции, а если да, то изменить статус на "кнопка нажата" и при следующем заходе мы будем попадать уже в этот статус. Ещё можно тут системный таймер (удобная штука) проверять и реализовать таймаут нажатия...
Я по работе оооочень много вожусь с Микрочиповским ТСР-стеком, а он весь на конечных автоматах и таймаутах этих построен с ног до головы! Так что если что непонятно - спрашивайте... |
|
|
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 901
|
|
| 27.02.2015, 13:50 | |
|
навеяло:
"История — из разряда анекдотов. Муж рассказывал, как он сдавал выпускной экзамен в школе. Он-то русскую классику читал все-таки, интеллигентная семья, папа-учитель и все такое. А его друзья, как водится, надеялись неизвестно на что, а точнее, на тех, кто читал. И вот сидит он на экзамене, и вдруг шариком летит к нему записка через весь класс. К кому летит — все видели. И учитель тоже. И от кого, тоже увидел. Поднимает. Разворачивает. Читает… Смотрит на класс. — Кто это написал? Автору деваться некуда, поднялся… Ну, в общем, экзамен он сдал. Просто не мог не сдать — после того, как учитель прочитал записку вслух. Там было всего несколько слов: «ВОЙНУ И МИР» В ДВУХ СЛОВАХ, БЫСТРО!» "© С сайта http://www.inpearls.ru/
0
|
|
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 392
|
|
| 15.04.2015, 06:14 | |
|
Автор, читайте посты участника dymyurk1978 или обратитесь к нему лично. Он на этих автоматах собаку съел.
Но от себя посоветовал бы забить на автоматы и изучать вытесняющую многозадачность. Это гораздо перспективнее. Мне очень понравилось, как она описана в документации на scmRTOS.
0
|
|
|
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 767
|
|
| 15.04.2015, 06:52 | |
|
Чего там собак то есть, все ясно как в солнечный день.
А насчет "забить на автоматы " - довольно глупый совет. Нужно знать и уметь применять тот или иной подход для решения поставленных задач.
0
|
|
|
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 392
|
||
| 15.04.2015, 07:12 | ||
Но мк изначально уже последовательный девайс, поэтому автоматы здесь попросту выполняют функцию ненужных костылей. Масло маслянное :) И если бы я изначально занялся многозадачностью, а не автоматами, это было бы гораздо полезнее для меня. Вот, а dymyurk1978 очень сильный сторонник именно автоматов, он может разбить любой аргумент их противников и знает самые тонкости. Поэтому я и посоветовал обратиться именно к нему.
0
|
||
|
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 788
|
|
| 15.04.2015, 07:12 | |
|
А я от себя посоветовал бы забить на транзисторы, резисторы, конденсаторы и диоды. Микросхемы гораздо перспективнее.
Из чего состоит scmRTOS? Сколько конечных автоматов на рисунке?Мартышка к старости... глазами... басня.
0
|
|
|
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 304
|
|
| 15.04.2015, 10:39 | |
|
Предлагаю топикстартеру почитать цикл статей "Применение SWITCH-технологии при разработке прикладного программного обеспечения для микроконтроллеров", автор Татарчевский Влидимир.
Тут можно много пиздеть о многозадачности и прочих красивых словах, но есть вещи которые стоит знать, даже если не пользуешся. Это по поводу "забить". Нашли что посоветовать.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
| 15.04.2015, 11:58 | |
|
Помимо всего прочего, FSM - это не только столь любимая в сообществе реализация кооперативной многозадачности, но и ещё целая куча вкусняшек - например, разбор протоколов. Так что надо знать и уметь готовить =)
0
|
|
| 15.04.2015, 11:58 | |
|
Помогаю со студенческими работами здесь
10
Может кто-нибудь пошагово обьяснить как сделать блок-схему к этой программе? State Machine для работы со строкой
Может кто обьяснить Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|