Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 459

Разрыв между программами и данными довольно просто ликвидируется для поля условия, если все условия срабатывания переходов сводятся к про­веркам символов (как в обсуждаемой задаче). Достаточно закодировать вари­анты проверок и вместо алгоритмической записи указывать лишь то, какие значения входного символа вызывают тот или иной переход. В частности, в рассматриваемом примере это решение можно оформить в виде перечис­лений символов срабатывания или множеств символов, а задача определе­ния попадания входного символа в такие множества реализуема в функции handler. Поэтому замечание о двойственности более точно относить лишь к действиям, которые являются программными фрагментами принципиаль­но. Реализация кодирования проверок требуется чаще всего, и ее можно рассматривать в качестве стандартного приема программирования (см., к примеру, синтаксические таблицы в § 10.3).

Метод решения задач с помощью построения конечных автоматов являет­ся довольно удобным, когда речь идет об обработке потоков. Чтобы освоить его, предлагаем самостоятельно решить этим методом ряд задач такого рода и оценить решения количественно: сколько потребуется состояний, какое число действий, ассоциированных с переходами, требуется. Полезно опре­делить различные конечные автоматы для одной и той же задачи и сравнить эффективность полученных решений. Для самостоятельного решения задач, к которым применим данный метод, мы рекомендуем:

подсчитать число вхождений нескольких заданных заранее слов во входную последовательность (к подобной задаче мы вскоре вернемся) и

преобразовать входной текст, в котором неразличимы заглавные и строчные буквы, к виду, соответствующему правилам естественного языка, т. е. специально кодируя вхождения заглавных букв (например, вставкой перед ними символа подчеркивания).

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама