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

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