Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2010, 16:16   #1
Леська17
Пользователь
 
Аватар для Леська17
 
Регистрация: 15.11.2010
Сообщений: 15
Печаль "Моделирование работы конечного детерминированного автомата"

Помогите плиииииз мне! моя семестровая работа!
"Моделирование работы конечного детерминированного автомата"
Конечный автомат-абстрактная вычислительная машина с конечной памятью. конечный автомат задается набором (Q, q0, F, E, б)
Q-конечное множество состояний автомата;
q0-начальное состояние автомата, принадлежащее Q;
F-множество финальных состояний, подмножество Q;
E-допустимый входной алфавит(конечное множество допустимых входных символов), из которого формируются строки, считаемые автоматом;
б-функция переходов состояний автомата.

Автомат начинает работу в состоянии q0, считывая по одному символу входной строки. Считанный символ переводит автомат в новое состояние из Q в соответствии с функцией переходов. Если по завершении считывания входного слова (цепочки символов) автомат оказывается в одном из допускающих состояний, то слово "принимается" автоматом. В этом случае говорят, что оно принадлежит языку данного автомата. В противном случае слово "отвергается".

Другие способы описания.
Диаграмма состояний (или иногда граф переходов)-графическое представление множества состояний и функции переходов.



Таблица переходов-табличное представление функции б. Обычно в такой таблице каждой строке соответствует одно состояние, а столбцу-один допустимый входной символ. В ячейке на пересечении строки и столбца записывается действие, которое должен выполнить автомат, если в ситуации, когда он находился в данном состоянии на входе он получил данный символ.

Детерминированность.
Детерминированным конечным автоматом называется такой автомат, в котором для каждой последовательности входных символов существует лишь одно состояние, в которое автомат может перейти из текущего.
Леська17 вне форума Ответить с цитированием
Старый 16.11.2010, 16:48   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

На каком языке моделировать?
В чем сложность?
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 17.11.2010, 18:18   #3
Леська17
Пользователь
 
Аватар для Леська17
 
Регистрация: 15.11.2010
Сообщений: 15
По умолчанию

Нужно в паскале!
Леська17 вне форума Ответить с цитированием
Старый 17.11.2010, 18:21   #4
maxflint
работаю за еду
Пользователь
 
Аватар для maxflint
 
Регистрация: 31.10.2009
Сообщений: 64
По умолчанию

За просто так, такие задачи вам никто решать не будет.
Вотан ждёт меня в своих чертогах, на свой вечный пир!
maxflint вне форума Ответить с цитированием
Старый 17.11.2010, 21:01   #5
Леська17
Пользователь
 
Аватар для Леська17
 
Регистрация: 15.11.2010
Сообщений: 15
По умолчанию

мне нужно хотя бы просто какое-нибудь объяснение!!!!плиииз
Леська17 вне форума Ответить с цитированием
Старый 18.11.2010, 09:53   #6
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Вот простейший вариант
Код:
Program Avtovat;
const
 G : array[1..5,1..5] of Integer =
((2,3,4,5,1),
 (3,4,5,0,2),
 (4,2,1,2,3),
 (5,1,2,0,4),
 (2,0,5,1,4)
 );
var
 BeginState,CurState : Integer;
 EndState : array[1..2] of Integer;
 s : String;
 i : Integer;
begin
//s:='13343'; // Входная последовательность принадлежит языку автомата
//s := '1334'; // конечное состояние 2 - не входит в набор финальных состояний
//s := '13352'; // невозможный переход
BeginState := 1; // Начальное состояние
EndState[1] := 4; EndState[2] := 5; // Конечное состояние

writeln ('Входная последовательность: ',s);
CurState := BeginState;
for i := 1 to Length(s) do
 begin
 write ('Было ',CurState,' ');
 CurState := G[StrToInt(s[i]),CurState];
 writeln('подано ',s[i],' Стало ',CurState);
 if CurState = 0 then // 0 - переход невозможен
  begin
  writeln('Данная последовательность не принадлежит языку автомата');
  Exit;
  end;
 end;
if CurState in [4..5] then
  writeln('Данная последовательность принадлежит языку автомата')
else
  writeln('Данная последовательность не принадлежит языку автомата');
end.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 18.11.2010, 19:49   #7
Леська17
Пользователь
 
Аватар для Леська17
 
Регистрация: 15.11.2010
Сообщений: 15
По умолчанию

спасибо большое)))*
Леська17 вне форума Ответить с цитированием
Старый 19.05.2016, 19:53   #8
Katrinash
Новичок
Джуниор
 
Регистрация: 19.05.2016
Сообщений: 1
По умолчанию

а можно этот код на c# ?
Katrinash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лексический анализатор азбуки Морзе в виде конечного автомата MrBrain Помощь студентам 1 08.11.2010 10:23
Подскажите что написать в пункте "Описание работы программы" курсовой работы Marsel737 Свободное общение 3 14.01.2010 12:44
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
СРОЧНО!!! Тема:"Моделирование колебаний линейного гармонического осциллятора" Может у Бука Помощь студентам 1 04.03.2007 16:22