Laboratornaya rabota5 b

Лабораторная работа № 5
Группа б
Тема: Представление алгоритмов с помощью нормальных алгоритмов Маркова
Цель работы: Освоить методы анализа работы нормальных алгоритмов Маркова и их разработки для реализации заданного алгоритма.
Требования к выполнению работы
Разработать нормальный алгоритм Маркова, реализующий заданную программу. Для этого:
Описать словесно алгоритм функционирования НАМ.
Определить внешний алфавит А, если он не задан (набор входных символов);
Составить последовательность команд нормального алгоритма Маркова;
Проверить функционирование алгоритма вручную, записав дедуктивную цепочку, и с помощью тестовой программы (эмулятора), задавая различные входные последовательности.
Варианты заданий.
A={a,b,c}. Заменить на a каждый второй символ в слове P.
Дана конечная совокупность единиц, вписанных в ячейки, взятые подряд без пропусков. Постройте нормальный алгоритм Маркова, который записывал бы в десятичной системе число этих единиц, т. е. пересчитывал бы набор единиц (дешифратор).
Постройте алгоритм Маркова, осуществляющий перевод слова 001x10 в слово 01x00, где 1х = 1...1 (х единиц).
Пусть P имеет вид Q>R, где Q и R – непустые слова из символов 0 и 1. Трактуя Q и R как записи двоичных чисел (возможно, с незначащими нулями), выдать в качестве ответа слово 1, если число Q больше числа R, и слово 0 иначе.
A={a, b}. Если в P символов a больше, чем символов b, то выдать ответ a, если символов a меньше символов b, то выдать ответ b, а иначе в качестве ответа выдать пустое слово.
A={a, b, 0, 1}. Определить, является ли слово P записью числа в двоичной системе счисления (непустым словом, состоящем только из цифр 0 и 1). Ответ: слово 1 (да) или слово 0.
На ленте записано выражение x + y, где x и y – числа в двоичной системе счисления. Получить результат операции.
A={0, 1}. Считая непустое слово P записью числа в двоичной системе, получить двоичное число, равное учетверенному числу P (например: 101 10100).
Реализовать функцию f=x - 4.
A={a, b, c}. Если P – слово чётной длины (0, 2, 4, ), то выдать ответ a, иначе – пустое слово.
Реализовать функцию f=x - 10. Если получается отрицательное значение, то выдать пустое слово.
A={a, b, c}. Пусть P имеет нечётную длину. Оставить в P только средний символ.
Используя программу счетчика, вычитающего единицу из десятичной записи натурального числа, составьте нормальный алгоритм, который бы по десятичной записи числа п выписывал бы на ленту n палочек (шифратор).
Во входном тексте подсчитать количество слов. Считаем, что их не может быть больше 15.
A={a,b,c}. Преобразовать слово P так, чтобы сначала шли все символы a, затем – все символы b и в конце – все символы c.
A={0, 1, 2}. Считая непустое слово P записью положительного числа в троичной системе счисления, уменьшить это число на 1.
A={ | }. Считая слово P записью числа в единичной системе счисления, получить запись этого числа в троичной системе.
A={0, 1, 2}. Считая непустое слово P записью числа в троичной системе счисления, получить запись этого числа в единичной системе.
A={a, b, c}. В непустом слове P удвоить каждый третий символ.
Считая слово P записью числа в единичной системе, определить, является ли это число степенью 3 (1, 3, 9, 27, ). Ответ: пустое слово, если является, или слово из одной палочки иначе.
A={f, r, 2, 5, c, d}. Определить, является ли слово P записью числа в шестнадцатеричной системе счисления.
На ленту подряд вписаны два конечных набора из m и n единиц, разделенные звездочкой. Причем в левом наборе единиц не меньше, чем в правом (m > n). Составьте нормальный алгоритм, который в левом наборе оставлял бы ровно столько единиц, на сколько единиц в левом наборе больше, чем в правом, а все остальные единицы стирал бы (вычитание единиц).
A={a, b, c}. Приписать слово bac слева к слову P.
15

Приложенные файлы

  • doc 19053771
    Размер файла: 53 kB Загрузок: 0

Добавить комментарий