Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление данных и методы разработки алгори...doc
Скачиваний:
17
Добавлен:
14.09.2019
Размер:
1.43 Mб
Скачать

Исходные данные

I. Машина Тьюринга М (всюду a0 =  и s0 = !):

а) A = {, 0, 1, *} б) A = {, +, , }

Q = {!, q1, q2, q3} Q = {!, q1, q2, q3, q4}

q1

q2

q3

q1

q2

q3

q4

q1П

q1П

1q2Н

q1П

q1П

+q2Н

!П

0

0q1П

*q3Л

q2Н

+

q3П

+q2Л

+q3П

+q4Н

1

q3П

1q2Л

1q3П

q1П

q1П

+q2Н

+q4Л

*

!Н

*q2Л

*q3П

q3Н

q2Л

q3П

q4Н

в) A = {, 0, 1, 2, 3, *} г) A = {, , , , }

Q = {1, q1, q2} Q = {!, q1, q2, q3}

q1

q2

q1

q2

q3

1!Н

*q1П

q2Л

!Н

q2Л

*

*q1Л

q1Л

q1П

q2Л

q3Л

0

1q2Н

1q1Л

q1П

q2Л

q

1

2 q1Н

0q2П

q1П

q3Н

q1П

2

3!Н

1q2П

q1П

q3Л

!П

3

0q1Л

0q1Л

д) A = {, , } е) A = {, +, , }

Q = {!, q1, q2, q3, q4, q5} Q = {!, q1, q2, q3}

q1

q2

q3

q4

q5

q1

q2

q3

q5П

q4Н

q5Н

q1П

q1Л

+q1П

q2Л

q3П

q2Н

q2П

q3П

q4Л

!Н

q2П

q1Н

q3Л

q3Н

q2П

q3П

q4Л

q2Н

+q3Н

+q2Л

q2Л

+

q2Л

q2П

!Н

ж) A = {, , , ,  } з) A = {, 0, 1, 2, +, }

Q = {!, q1, q2, q3, q4} Q = {!, q1, q2, q3}

q1

q2

q3

q4

q1

q2

q3

q1Л

q2П

q3Л

q4Л

0q2Л

1q3П

q1П

q2Л

q1Л

q2П

q1П

0

1q2П

2q2П

q2Л

q3Л

q4Л

q4П

!П

1

2q3П

+q2П

+q2Л

q4Л

q3П

q1Н

q2Л

2

+q3П

2q1П

+q1П

q4П

!Н

q1Н

q3Н

+

q3Л

0q1Л

q3Н

!Н

0q1Л

!Н

II. Задача Г. При заданной начальной информации в ячейке машины определить, моделируя ее работу в течение не более Т тактов:

а) сколько раз устройство оказывалось в состоянии q1;

б) сколько раз устройство находилось в каждом из своих состояний;

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

г) количество разрядов ячейки, содержащих не пустой символ, – по окончании работы машины;

д) окажется ли устройство во время работы машины в каждом из своих состояний;

е) какие символы окажутся в разряде x0 после 10-го, 20-го, 30-го такта (если машина ранее не остановится);

ж) сколько раз выбиралась клетка таблицы, соответствующая символу a1 и состоянию q2;

з) сколько поворотов совершило устройство (поворот – это изменение направления движения устройства вдоль ячейки).

Примечание. В любой задаче Г ответ должен сопровождаться тем, закончила ли работу машина в состоянии «стоп» или ее работа оборвана на такте Т.

1.3 Моделирование программ в операторных машинах.

Вычислительная машина имеет одну ячейку памяти x, в которой может храниться любой элемент информационного множества A={a1, a2, a3, … , an}. Над содержимым ячейки можно производить преобразования из множества F = {f1, … , fn} и проверять логические условия из множества P = {p1, … , pm}, так что F и P можно назвать системой команд машины.

Задается множество программ R в такой машине с описанием их выполнения.

Задание. Составить программу для ЭВМ, которая способна ввести запись любой программы П  R в конкретной операторной машине, ввести исходную информацию aA и выполнить все операции согласно программе A. Составленная программа должна печатать либо результат вычисления b = П(a), если программа заканчивает свою работу, либо сообщение о «Зацикливании» программы П.