Хелпикс

Главная

Контакты

Случайная статья





Задачи по теории алгоритмов



Задачи по теории алгоритмов

  1. Написать программу МТ, которая аннулирует все слова в алфавите {a, b}, содержащие вхождение заданного непустого слова u. Указание: пусть u=u(1)…u(m); буквы слова u должны содержаться в программе машины в качестве параметров.
  2. Написать схему НА, обращающего любое слово в заданном алфавите V, т.е. перерабатывающего любое слово w Î V*, в слово wR.
  3. Определим операцию * склеивания слов x=x(1)…x(k) и y=y(1)…y(m) по общей букве: x*y = x(1)…x(k-1)y(2)…y(m), если x(k)=y(1), и xy иначе. Написать программу МТ, выполняющую операцию склеивания, т.е. перерабатывающую пару слов x$y в слово x*y.
  4. Написать схему НА, который аннулирует входное слово тогда и только тогда, когда оно содержит не менее трех вхождений некоторого фиксированного непустого слова u..
  5. Используя теоремы сочетания применительно к МТ, построить МТ, выполняющей умножение натуральных чисел, представленных словами в алфавите V0 = {0,|} (именно, натуральное число n записывается как слово 0||…| - с n палочками).
  6. Используя теоремы сочетания, построить НА, аннулирующий все палиндромы в алфавите V. Указание: используйте схемы алгорифмов обращения и правого присоединения слова через разделитель).
  7. Написать программу МТ, которая к произвольному слову в алфавите {a, b} приписывает слева слово aba.
  8. Построить НА для выполнения сложения и умножения конструктивных натуральных чисел. Указание: используйте теоремы сочетания.
  9. Написать программу МТ, которая аннулирует любое слово вида x$x, где x Î {a,b}*, а $ Ï {a, b}.
  10. С использованием теорем сочетания построить НА, который аннулирует все слова вида x$x, где x Î {a,b}*, а $ Ï {a, b}.
  11. С использованием теорем сочетания построить НА, который аннулирует все слова вида xxR, где x Î {a,b}*.
  12. Построить МТ, которая вычисляет модуль разности двух любых натуральных чисел. Указание: используйте сочетания МТ.
  13. Написать программу МТ, которая удваивает любое входное слово в заданном алфавите.
  14. Построить МТ, которая обращает любое входное слово в заданном алфавите. Указание: используйте программу МТ, удваивающей заданное слово, и сочетания МТ.
  15. Написать схему НА, который входное слово x в некотором алфавите V перерабатывает в слово xRx .
  16. Является ли алгорифмически разрешимым множество всех двойных слов, т.е. слов вида ww, в заданном алфавите V?
  17. Используя теоремы сочетания, построить МТ, которая проверяет делимость на 3 конструктивного натурального числа.
  18. Построить МТ, которая вычисляет остаток от деления заданного конструктивного натурального числа на 5.
  19. Написать программу МТ, которая сдвигает входное слово на заданное число k ячеек вправо, а в освободившиеся k первых после маркера начала ленты ячейки записывает специальный символ $.
  20. В виде НА реализовать  алгоритм сложения натуральных чисел, заданных в двоичной системе счисления.
  21. Векторной формулой подстановки в алфавите V назовем выражение вида              (p1, p2,…pk)  à (q1, q2,…qk), где pi, qi – слова в алфавите V (i=1,…,k). Применение векторной формулы подстановки к слову x состоит, по определению, в следующем: если слово x может быть представлено в виде x1p1x2p2…xkpkxk+1, где каждое вхождение xi*pi*xi+1pi+1… xkpkxk+1 есть первое, то результатом применения векторной формулы подстановки к слову x считается слово x1q1x2q2…xkqkxk+1; в противном случае результат применения векторной формулы подстановки к слову x не определен. Построить НА, выполняющий векторную подстановку.
  22. Построить МТ, которая для заданного k > 0 проверяет, что входное слово имеет длину, строго большую k, и тогда вставляет специальный символ $ между k-ой и (k+1)-ой буквами. В противном случае (т.е при длине входного слова, не большей k) входное слово не изменяется, т.е. МТ реализует тождественную функцию.
  23. Построить НА, который для любых двух натуральных чисел, заданных в виде слов в алфавите {0,|} проверяет, является одно из них делителем другого.
  24. Построить МТ, распознающую палиндромы в алфавите {a, b}.
  25. Реализовать в виде МТ разрешающий алгоритм для множества правильных скобочных структур.
  26. Написать схему НА, который каждое слово x в заданном алфавите V перерабатывает в слово xxRx.
  27. Написать схему НА, утраивающего заданное слово.
  28. Написать программу МТ, которая любое слово x в алфавите V преобразует в слово xxxR
  29. Построить МТ, которая для любых двух натуральных чисел, заданных в виде слов в алфавите {0,|} проверяет, является одно из них делителем другого.
  30. Реализовать в виде НА разрешающий алгоритм для множества правильных скобочных структур.

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.