Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 3 [Все]   Вниз
  Печать  
Автор Тема: Построение конечного автомата  (Прочитано 76266 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« : 20-11-2008 19:34 » 

Помогите пожалуйста построить конечный автомат для перевода дробных двоичныхчисел в десятичные
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 20-11-2008 20:16 » 

Ну вообше то я вижу простую арифметику. Убрать целую часть и пошел умножать на десять, пока не исчезнит дробная часть. Если сюда всовывать конечный автомат, то в приципе овчинка выделки не стоит.
« Последнее редактирование: 15-12-2008 17:58 от Алексей1153++ » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 20-11-2008 20:50 » 

Finch, ну задача-то, как я понимаю, учебная Улыбаюсь Хотя, может, автор опровергнет.

Ludmila, уточни, с чем конкретно проблема. Какие свои мысли есть? Не может быть, чтоб совсем не было Улыбаюсь
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #3 : 21-11-2008 10:27 » 

Так звучит моя курсовая работа по дискретной математике.Нужно расписать все состояния автомата что поступает на вход а что поступает на выход. что-то вроде такого (для перевода из двоичных в десятичный):
Например:
поступает двоичное число 001001
1) левые нули отбрасываются ;
2) w=1;
3) если 0, то w*2=2;
4) если 1, то w*2+1;
Конечно это всё нужно рассписать в виде таблицы и для перевода дробных двоичных чисел. А вот это я как раз и не знаю, практики было очень мало
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #4 : 21-11-2008 10:53 » 

Ну чего мне теперь делать если я реально не могу понять как построить конечный автомат? Ну  я не очень умная! Да я это признаю!Поэтому я к Вам и обратилась за помощью! Может я не понимаю даже элементарного! Я надеюсь на Вашу помощь, хотя б какую нибудь подсказочку!!!
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #5 : 21-11-2008 10:57 » 

Ludmila, как на счет научиться пользоваться поиском?

https://forum.shelek.ru/index.php/topic,4745.0.html
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 21-11-2008 10:59 » 

Ludmila, вот ешшо есть про автоматы
http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #7 : 21-11-2008 11:00 » 

Я не могу расписать состояния
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #8 : 21-11-2008 11:02 » 

Всё это я не раз просмотрела!Но понять как расписать я не могу
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #9 : 21-11-2008 18:06 » 

Для начала ты должна выяснить, какие сигналы автомат принимает (все возможные)!
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #10 : 21-11-2008 18:10 » 

Впринципе это двоичный код значит 0 и 1 а если дрбные то значит ещё надо учесть запятую
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #11 : 21-11-2008 18:13 » 

Теперь создай все необходимые переменные для реализации автомата (например - начало числа (отсечение нолей)). Если потом не будет хватать, то добавить можно в любую минуту...
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #12 : 21-11-2008 18:15 » 

поступает двоичное число 001001
1) левые нули отбрасываются ;
2) w=1;
3) если 0, то w*2=2;
4) если 1, то w*2+1;

Перед тем как продолжать, уточни, что такое w?
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 21-11-2008 18:16 » 

Ludmila, как выглядит двоичное представление вещественного числа? Улыбаюсь Понятия экспоненты и мантиссы знакомы?
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #14 : 21-11-2008 18:18 » 

w - какая-либо переменная, от которой будет зависеть запись на выходе
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 21-11-2008 18:35 » 

если я правильно понимаю, то для считывания стандартного двоичного представления есть состояния "считывается знак", "считывается мантисса", "считывается экспонента". Переход в каждое из этих состояний сопровождается инициализацией счётчика двоичных разрядов, которые осталось считать (ведь по-нормальному, их число фиксировано). Обнуление счётчика приводит к фиксации результата и смене состояния.

Если под двоичными дробными понимается что-то совсем своё - то состояния будут несколько иными.
« Последнее редактирование: 15-12-2008 18:01 от Алексей1153++ » Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 21-11-2008 18:35 » 

Ludmila, приводимый пример преподаватель дал?
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #17 : 21-11-2008 18:36 » 

Да
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 21-11-2008 18:38 » 

Тогда повторю вопрос:
Ludmila, как выглядит двоичное представление вещественного числа? Улыбаюсь Понятия экспоненты и мантиссы знакомы?

Потому что от этого зависит, какие будут состояния. Лучше представление числа изобразить схематически.
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #19 : 21-11-2008 18:41 » 

Какие примеры у тебя есть - покажи их...
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #20 : 21-11-2008 18:43 » 

как какие Вот только то, что приведено выше и не более того
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #21 : 21-11-2008 18:46 » 

(Я нашёл только 001001, если я не прав, скажите) Для 001001 тогда будет всего 3 сигнала - "0", "1" и "." (завершение введения), так это очень просто как для курсовой работы
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #22 : 21-11-2008 18:49 » 

а у меня тогда будет 4 сигнала "0" "1" "," "."?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #23 : 21-11-2008 18:52 » 

Понятия экспоненты и мантиссы знакомы?
Первый раз про мантиссы слышу... Зашёл на Википедию, прочитал, разобрался.
А теперь извините, не понял: зачем для 011001010 мантиссы и экспоненты, если такое двоичное представление можно сразу переводить в число?

(изменение: ну хотя бы число 100100111,100101?)
« Последнее редактирование: 21-11-2008 18:54 от Inkognito » Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #24 : 21-11-2008 18:58 » 

У меня при создании автомата был такой алгоритм:
1) определение входных сигналов;
2) создание переменных;
3) создание графа переходов (+ досоздание переменных);
4) рисовал таблицу переходов;
5) и потом писал код программы.
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #25 : 21-11-2008 19:00 » 

Inkognito, поскольку я до сих пор не понял, какую запись дробного двоичного подразумевает задание, запись вида "100100111,100101" мне кажется сомнительной - никогда не видел, чтобы так записывали, даже для учебного задания.
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #26 : 21-11-2008 19:05 » 

Вад, мне самому эта запись не нравится.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #27 : 21-11-2008 19:14 » 

тоже никогда ещё не встречал применения дробного двоичного числа ))
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #28 : 21-11-2008 19:21 » 

Как вы считаете это правильно или бред?
Граф

* Изображение.jpg (26 Кб - загружено 4869 раз.)
« Последнее редактирование: 15-12-2008 18:03 от Алексей1153++ » Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #29 : 21-11-2008 19:23 » 

где s1 s2 s3 s4 s5 состояния
s0 начальное состояние
« Последнее редактирование: 15-12-2008 18:04 от Алексей1153++ » Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #30 : 21-11-2008 19:32 » 

Для S0 не предусмотрены состояния "," и ".".
Для состояния S3 будет забрано только одну цифру, а все остальные проигнорируются.

И вообще не понятно, что будет делать данный автомат - как будут изменятся переменные: куда считываешь число до запятой и когда прекращаешь это делать и т. д. ... Это всё нужно показывать, мы на СР вообще так делали.

Кстати, должен быть ещё один тип сигнала - "Other" - все остальные символы.
« Последнее редактирование: 15-12-2008 18:06 от Алексей1153++ » Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #31 : 21-11-2008 19:41 » 

да до всех символов дойти надо мне хотяб так пока
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #32 : 21-11-2008 19:46 » 

да до всех символов дойти надо мне хотяб так пока
Все символы как раз обрабатывать и не надо, а игнорировать, это просто надо предусмотреть для каждого состояния и не более.
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #33 : 21-11-2008 19:59 » 

как вообще тогда перевести  дробное двоичное число в десятичное? Обычным способом? Но чего получится?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #34 : 21-11-2008 20:05 » 

Возьмём для начала состояние S0 (начальное). Если сигнал "." - прекратить работу автомата (перейти, например, к состоянию 1); если "0" - отсекаем ноль; если "1" - то в соответствии - число перед запятой или после - переходим к состоянию 2 или 3; если "Other" (остальные символы) - нечего не делать; если "," - перейти, например, к состоянию 3... И так для каждого состояния описываешь все варианты. А при выходе обработать данные.

Кстати, как добавить рисунок в сообщение? А, всё, нашёл.
« Последнее редактирование: 21-11-2008 20:10 от Inkognito » Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #35 : 21-11-2008 20:09 » 

а как тогда на выходе обработать данные?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #36 : 21-11-2008 20:13 » 

Я сделал бы функцию превращения двоичного числа в десятичное - 1111 в 15.
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #37 : 21-11-2008 20:22 » 

?а если число 10,1 то как по обычному 10,1=1*2^1+0*2^0+1*2^(-1) так?
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #38 : 21-11-2008 20:25 » 

как? какая функция?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #39 : 21-11-2008 20:26 » 

Хотя 10,1 вероятней всего неверный способ, но я сделал бы так: 10 = 2, 1 = 1, а тогда результат равен 2,1.
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #40 : 21-11-2008 20:28 » 

это как так? на по всем правилам перевода 10,1=2,5?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #41 : 21-11-2008 20:35 » 

как? какая функция?
Такой пример: пользователь вводит свою строку, она же - строка сигналов. В цикле ты поочереди считываешь сигнал. Когда доходишь до сигнала "." - ты должна прервать цикл (остановить автомат). Но перед тем как закончить работу цикла, ты преобразовываешь двоичное число в десятичное с помощью функции, которую описываешь в коде программы отдельно.

Я не понимаю вопроса... Не понял
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #42 : 21-11-2008 20:35 » 

1*21+0*20+1*2-1 = 2 + 0 + 0.5 = 2.5  , всё верно девушка говорит
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #43 : 21-11-2008 20:38 » 

Хотя 10,1 вероятней всего неверный способ, но я сделал бы так: 10 = 2, 1 = 1, а тогда результат равен 2,1.
да да Алексей1153 правильно говорит как у тебя 2,1 получилась?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #44 : 21-11-2008 20:39 » 

1*21+0*20+1*2-1 = 2 + 0 + 0.5 = 2.5  , всё верно девушка говорит
Вообще-то да, согласен, не понял, извините...
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #45 : 21-11-2008 20:42 » 

ну так  кто знает как на выходе обработать данные?Не понял
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #46 : 21-11-2008 20:45 » 

Хотя с другой стороны вот сравнения:
1) моим способом:
10,1 - 2,1
10,10 - 2,2
10,11 - 2,3
2) вашим способом:
10,1 - 2,5
10,10 - 2,5
10,11 - 2,75.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #47 : 21-11-2008 20:46 » 

наверное, надо накапливать результат в переменной
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #48 : 21-11-2008 20:47 » 

Хотя с другой стороны вот сравнения:
1) моим способом:
10,1 - 2,1
10,10 - 2,2
10,11 - 2,3
2) вашим способом:
10,1 - 2,5
10,10 - 2,5
10,11 - 2,75.

2 - верно )
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #49 : 21-11-2008 20:48 » 

( я тоже за (2)
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #50 : 21-11-2008 20:54 » 

Я в Инете нашёл вот такое представление числа с запятой:
aaaabbbb,
и тогда получаем число через экспоненту и мантиссу в виде:
aaaa*2^bbbb.
« Последнее редактирование: 21-11-2008 21:05 от Inkognito » Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #51 : 21-11-2008 20:55 » 

вот предыдущий мой пример:
                   1001
w=1;<-------| | | |
w*2=2;<-----| | |
w*2=4;<-------| |
w*2+1=9.<------|
Это ж вроде верно
« Последнее редактирование: 21-11-2008 21:00 от Ludmila » Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #52 : 21-11-2008 20:59 » 

10012 = 910 это верно
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #53 : 21-11-2008 20:59 » 

Inkognito, это вообще то не метод, а правило
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #54 : 21-11-2008 21:01 » 

а вот дробную часть далше как превратить
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #55 : 21-11-2008 21:02 » 

первое число после запятой умножается на основание в -1 степени, второе - в -2 степени и так далее
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #56 : 21-11-2008 21:11 » 

стоп стоп стоп вот выходы:
b1=левые нули "выбывают" до тех пор пока входной символ небует равен x=1
b2=если x0 = 1, то w: = 1
b3=если х1 = 0, то w*2
b4=если x1 = 1, то w*2+1
b5=если  "," Не понялНе понялНе понял?
b6=если x2 = 0 Не понялНе понялНе понялНе понялНе понялНе понялНе понял?
b7= если х2= 1 Не понялНе понялНе понялНе понялНе понялНе понялНе понял?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #57 : 21-11-2008 21:14 » 

Вот мой вариант графа:

* Avtomat2.jpg (59.31 Кб - загружено 1767 раз.)
« Последнее редактирование: 15-12-2008 18:10 от Алексей1153++ » Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #58 : 21-11-2008 21:19 » 

0 1 2 3 - это состояния значит?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #59 : 21-11-2008 21:21 » 

Да, состояния
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #60 : 21-11-2008 21:41 » 

Спасибочки!Надо ещё подробней разобраться)
А обработку как вообще делать?
« Последнее редактирование: 15-12-2008 18:11 от Алексей1153++ » Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #61 : 22-11-2008 11:59 » 

Перевести двоичные числа ch1 и ch2 в десятичные, ch1 переводить с повышением степеня (1*20 + 0*21 + 1*22...), а ch2 - с его понижением (0*2-1 + 1*2-2...). Потом сложить эти два результата и получим окончательный результат, который можно выводить на экран. Именно это я имел ввиду под словом "обработка". Но это в том случае, если делать за моим графом. Если у тебя другой граф, то обработку нужно делать соответственно до твоей постановки решения.  Ага
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #62 : 22-11-2008 12:03 » 

То есть обработка данных- это сложить?
« Последнее редактирование: 22-11-2008 12:05 от Ludmila » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #63 : 22-11-2008 12:12 » 

Inkognito, Ludmila, не совсем так получается: строку то рассматриваем слева направо, поэтому

до точки:

                 результат =
первый символ|   An
второй символ|   *2 + An-1
третий символ|   *2 + An-2
...............|
последний     |   *2 + A1


после точки:

                 результат = результат +
первый символ|   B1 /2
второй символ|  +B2 /4
третий символ|  +B3 /8
...............|
последний     |  +Bm /2-m
Записан

Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #64 : 22-11-2008 12:17 » 

Inkognito, Ludmila, не совсем так получается: строку то рассматриваем слева направо, поэтому

ch1 и ch2 - строчки. ch2 - рассматриваем слева направо, а ch1 - справа налево, иначе да результат будет неправильным
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #65 : 22-11-2008 12:20 » 

То есть обработка данных- это сложить?
Если ты сложишь ch1 и ch2, то получишь число в двоичной системе; сложить надо уже в конце два десятичных числа...

Давай по-порядку. Первое это
Перевести двоичные числа ch1 и ch2 в десятичные
На каком языке программирования ты будеш делать код?? Для начала сделай функцию перевода двоичного числа в десятичное: принимает 1111 и возвращает 15.
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #66 : 22-11-2008 12:20 » 

Буду делать скорее всего на СИ
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #67 : 22-11-2008 12:21 » 

тогда, насколько я понимаю, автомата не выйдет. Надо всё слева направо
Записан

Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #68 : 22-11-2008 12:23 » 

Да и автомат можно и не программирывать! просто таблицы составить алгоритм ! А на каком можно сделать автомат Паскаль?
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #69 : 22-11-2008 12:26 » 

тогда, насколько я понимаю, автомата не выйдет. Надо всё слева направо
Автомат будет забирать сигналы слева направо. А работа с числом ch1 будет идти справа налево КОГДА автомат уже и так примет сигнал остановки и работать не должен.

Граф - это только рисунок, чтобы было легче делать алгоритм...
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #70 : 22-11-2008 12:27 » 

Так на каком языке можно сделать автомат?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #71 : 22-11-2008 12:28 » 

Так на каком языке можно сделать автомат?
На любом - ограничений для этого нет. Какие языки ты знаешь?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #72 : 22-11-2008 12:29 » 

Так на каком языке можно сделать автомат?
На любом, даже на JavaScript.

Главное знать этот язык, на котором будешь делать работу...(не заметил ответа  Улыбаюсь )
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #73 : 22-11-2008 12:32 » 

JavaScript капельку знаю Assembler C Paskal HTML CSS Visual Basic тока начала
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #74 : 22-11-2008 12:34 » 

Правда это всё не в совершенстве (Assembler C Paskal)
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #75 : 22-11-2008 12:39 » 

В совершенстве знать и не надо. Хватит знаний основных типов данных, операторов сравнения, циклов и переключателей.
Записан
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #76 : 22-11-2008 12:40 » 

но на Си всё таки мне ближе

ГЛАВНОЕ ДЛЯ МЕНЯ РАСПИАТЬ ВСЕ СОСТОЯНИЯ ТАБЛИЦУ ПЕРЕХОДОВ И ТО ЧТО ПОЛУЧИТСЯ НА ВЫХОДЕ
А самое самое важное понять весь этот принцип и защититься

Вот я ещё не совсем поняла Получается мой автомат будет задан такими параметрами M=(N(Конечное множество состояний автомата),n0(начальноу состояние)S(входной алфавит),B(выходной алфавит))
Так?
И вот ещё как понять допускающее и недопускающее состояние?
У меня такое будет?
« Последнее редактирование: 15-12-2008 18:12 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #77 : 22-11-2008 13:01 » 

Ну конечные автоматы еше называют switch технология.
Строится примерно так
Код:
int stat=1;
while (stat)
{
   switch(stat)
   {
       case 1:
           //Тут действия для 1 состояния
           break;
       case 2:
           //Тут действия для 2 состояния
           break;
       case 3:
           //Тут действия для 3 состояния
           break;
       case 4:
           //Тут действия для 4 состояния
           break;
      .............
   }
}
состояние 0 будет выходом из автомата.
« Последнее редактирование: 22-11-2008 13:03 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Ludmila
Участник

ru
Offline Offline
Пол: Женский

« Ответ #78 : 28-05-2009 19:23 » 

)Да прошло конечно очень много дней, с тех пор как я здесь появлялась!)Извеняюсь что так долго не заходила!Но могу сказать что эту курсовую я защитила на отлично!Я Вас всех благодарю, ведь только Вы поддержали меня в столь трудную тогда для меня минуту!
Записан
Страниц: 1 2 3 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines