![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 19.12.2011
Сообщений: 1
|
![]()
Написать программу
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. На вход программы подаётся ДМПА (множество состояний, алфавит языка, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой. Рекомендуется для ввода исходных данных использовать соответствующую форму с полями выбора. При вводе функции переходов не рекомендуется предоставлять пользователю излишнюю свободу действий. Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку. Внимание!!! В ходе проверки цепочки ДМПА может проделывать пустые такты не только после прочтения всей цепочки, но и в её середине. Внимательно прочтите соответствующий раздел лекций 3.1. Проверить работу программы на примерах из лекций и задачах из контрольных вопросов. Дополнительно: Предоставить пользователю возможность вносить некоторые изменения в исходные данные без полного их обновления. Контрольные вопросы: Обязательно ли должна быть задана функция переходов для всех возможных сочетаний “состояние, входной символ, символ стека”? Как поведёт себя автомат, если при проверке цепочки встретит неизвестную комбинацию? В каком случае цепочка считается допущенной автоматом, а в каком – нет? Возможно ли в качестве алфавита магазина использовать символы, отличные от алфавита языка? Изменится ли работа программы, если изменить только алфавит магазинных символов (и соответствующие правила функции переходов)? Если в Вашей программе это недопустимо – доработайте программу. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.11.2008
Сообщений: 577
|
![]()
пфф, які наївні люди...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
моделирование работы конвейера сборочного цеха | Jkmuf12300 | Помощь студентам | 0 | 13.09.2011 16:48 |
лабораторные работы в среде Delphi по предмету "Имитационное моделирование систем" | max123321 | Фриланс | 1 | 24.05.2011 21:23 |
моделирование работы с базой данных | Даша Amber | Помощь студентам | 14 | 05.04.2011 17:03 |
Моделирование работы биполярного транзистора в Delphi.Нужен совет. | RomanDemidov | Помощь студентам | 2 | 28.10.2010 18:19 |
моделирование работы светофора на перекрестке | люля | Фриланс | 10 | 24.03.2009 09:41 |