Команда машины поста имеет структуру n km где

Задачи по Python с решениями

Свежие записи

Машина Поста

На этом шаге мы рассмотрим машину Поста.

Абстрактные (т.е. существующие не реально, а лишь в
воображении), машины Поста и Тьюринга, предназначенные для доказательств различных утверждений о свойствах программ для них, были предложены независимо друг от друга (и практически одновременно) в 1936 г. американским математиком Эмилем Постом и английским математиком Алланом Тьюрингом. Эти машины представляют собой универсальных исполнителей являющихся полностью детерминированными, позволяющих «вводить» начальные данные, и после выполнения программ «читать» результат. Машина Поста менее популярна, хотя она значительно проще машины Тьюринга. С ее помощью можно вести обучение первым навыкам составления программ для ЭВМ. Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V», и головки, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, или проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка («-») находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста, рис.1.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.1. Состояние машины Поста

Команда машины Поста имеет следующую структуру:

Существует всего шесть команд машины Поста, рис.2.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.2. Команды машины Поста

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

Программой для машины Поста будем называть непустой список команд, такой что:

С точки зрения свойств алгоритмов, изучаемых с помощью машины Поста, наибольший интерес представляют причины останова машины при выполнении программы:

Будем понимать под начальным состояние головки ее положение против пустой клетки левее самой левой метки на ленте.

Рассмотрим реализацию некоторых типичных элементов программ машины Поста.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.3. Пример фрагмента программы машины Поста

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

2. Покажем, как можно воспользоваться командой условного перехода для организации циклического процесса. Пусть на ленте имеется запись из нескольких меток подряд и головка находится над самой крайней меткой справа. Требуется перевести головку влево до первой пустой позиции.

Программа будет иметь следующий вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.4. Программа машины Поста

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

3. Остановимся на представлении чисел на ленте машины Поста и выполнении операций над ними.

Число k представляется на ленте машины Поста идущими подряд k+1 метками (одна метка означает число «0»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.5. Запись чисел 3 и 5 на ленте машины Поста

Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.6. Увеличение числа на единицу

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

Программа, добавляющая к числу метку справа, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.7. Текст программы, добавляющей метку справа

Программа, добавляющая к числу метку слева, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.8. Текст программы, добавляющей метку слева

Отличие только в направлении движения головки в первой команде. Проверьте работоспособность этих программ на каких-либо частных примерах.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.9. Блок поиска числа

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где
Рис.10. Тексты программ

В первом случае не нужно перемещать головку к крайней левой метке числа.

Машину Поста можно рассматривать как упрощенную модель ЭВМ. В самом деле, как ЭВМ, так и машина Поста имеют:

Обе машины работают на основе программы. Однако в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста, и т.д.

На следующем шаге мы рассмотрим машину Тьюринга.

Источник

МАШИНА ПОСТА

Абстрактные (т.е. существующие не реально, а лишь в воображении) машины Поста и Тьюринга, предназначенные для доказательств различных утверждений о свойствах программ для них, были предложены независимо друг от друга (и практически одновременно) в 1936 г. американским математиком Эмилем Постом и английским математиком Алланом Тьюрингом. Эти машины представляют собой универсальных исполнителей, являющихся полностью детерминированными, позволяющих «вводить» начальные данные, и после выполнения программ «читать» результат. Машина Поста менее популярна, хотя она значительно проще машины Тьюринга. С ее помощью можно вести обучение первым навыкам составления программ для ЭВМ.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V», и головки, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, или проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка («-») находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста, рис. 1.16.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.16. Абстрактная машина Поста

Команда машины Поста имеет следующую структуру:

Существует всего шесть команд машины Поста, рис. 1.17:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.17. Команды машины Поста

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

Программой для машины Поста будем называть непустой список команд, такой что 1) на п-м месте команда с номером n; 2) номер т каждой команды совпадает с номером какой-либо команды списка.

С точки зрения свойств алгоритмов, изучаемых с помощью машины Поста, наибольший интерес представляют причины останова машины при выполнении программы:

1) останов по команде «стоп»; такой останов называется результативным и указывает на корректность алгоритма (программы);

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

3) машина не останавливается никогда; в этом и в предыдущем случае мы имеем дело с некорректным алгоритмом (программой).

Будем понимать под начальным состояние головки против пустой клетки левее самой левой метки на ленте.

Рассмотрим реализацию некоторых типичных элементов программ машины Поста.

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.18. Пример элемента программы машины Поста

2. Покажем, как можно воспользоваться командой условного перехода для организации циклического процесса. Пусть на ленте имеется запись из нескольких меток подряд и головка находится над самой крайней меткой справа. Требуется перевести головку влево до первой пустой позиции.

Программа будет иметь следующий вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

3. Остановимся на представлении чисел на ленте машины Поста и выполнении операций над ними.

Число k представляется на ленте машины Поста идущими подряд k + 1 метками (одна метка означает число «О»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

Программа, добавляющая к числу метку слева, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Программа, добавляющая к числу метку справа, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

(отличие только в направлении движения головки в первой команде. Проверьте работоспособность этих программ на каких-либо частных примерах).

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

В первом случае не нужно перемещать головку к крайней левой метке числа

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Машину Поста можно рассматривать как упрощенную модель ЭВМ. В самом деле, как ЭВМ, так и машина Поста имеют:

выполняется за один такт (шаг).

Обе машины работают на основе программы. Однако, в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста и т.д.

Источник

Команда машины поста имеет структуру n km где

Рис.1. Состояние машины Поста

Команда машины Поста имеет следующую структуру:

Существует всего шесть команд машины Поста, рис.2.

Рис.2. Команды машины Поста

Будем понимать под начальным состояние головки ее положение против пустой клетки левее самой левой метки на ленте.

Рассмотрим реализацию некоторых типичных элементов программ машины Поста.

Рис.3. Пример фрагмента программы машины Поста

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

2. Покажем, как можно воспользоваться командой условного перехода для организации циклического процесса. Пусть на ленте имеется запись из нескольких меток подряд и головка находится над самой крайней меткой справа. Требуется перевести головку влево до первой пустой позиции.

Программа будет иметь следующий вид:

Рис.4. Программа машины Поста

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

3. Остановимся на представлении чисел на ленте машины Поста и выполнении операций над ними.

Число k представляется на ленте машины Поста идущими подряд k+1 метками (одна метка означает число «0»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так:

Рис.5. Запись чисел 3 и 5 на ленте машины Поста

Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

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

Рис.6. Увеличение числа на единицу

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

Программа, добавляющая к числу метку справа, имеет вид:

Рис.7. Текст программы, добавляющей метку справа

Программа, добавляющая к числу метку слева, имеет вид:

Рис.8. Текст программы, добавляющей метку слева

Отличие только в направлении движения головки в первой команде. Проверьте работоспособность этих программ на каких-либо частных примерах.

Рис.9. Блок поиска числа

Рис.10. Тексты программ

В первом случае не нужно перемещать головку к крайней левой метке числа.

Обе машины работают на основе программы. Однако в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста, и т.д.

Источник

МАШИНА ПОСТА

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Абстрактные (т.е. существующие не реально, а лишь в воображении) машины Поста и Тьюринга, предназначенные для доказательств различных утверждений о свойствах программ для них, были предложены независимо друг от друга (и практически одновременно) в 1936 г. американским математиком Эмилем Постом и английским математиком Алланом Тьюрингом. Эти машины представляют собой универсальных исполнителей, являющихся полностью детерминированными, позволяющих «вводить» начальные данные, и после выполнения программ «читать» результат. Машина Поста менее популярна, хотя она значительно проще машины Тьюринга. С ее помощью можно вести обучение первым навыкам составления программ для ЭВМ.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V», и головки, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, или проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка («-») находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста, рис. 1.16.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.16. Абстрактная машина Поста

Команда машины Поста имеет следующую структуру:

Существует всего шесть команд машины Поста, рис. 1.17:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.17. Команды машины Поста

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

Программой для машины Поста будем называть непустой список команд, такой что 1) на п-м месте команда с номером n; 2) номер т каждой команды совпадает с номером какой-либо команды списка.

С точки зрения свойств алгоритмов, изучаемых с помощью машины Поста, наибольший интерес представляют причины останова машины при выполнении программы:

1) останов по команде «стоп»; такой останов называется результативным и указывает на корректность алгоритма (программы);

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

3) машина не останавливается никогда; в этом и в предыдущем случае мы имеем дело с некорректным алгоритмом (программой).

Будем понимать под начальным состояние головки против пустой клетки левее самой левой метки на ленте.

Рассмотрим реализацию некоторых типичных элементов программ машины Поста.

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Рис. 1.18. Пример элемента программы машины Поста

2. Покажем, как можно воспользоваться командой условного перехода для организации циклического процесса. Пусть на ленте имеется запись из нескольких меток подряд и головка находится над самой крайней меткой справа. Требуется перевести головку влево до первой пустой позиции.

Программа будет иметь следующий вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

3. Остановимся на представлении чисел на ленте машины Поста и выполнении операций над ними.

Число k представляется на ленте машины Поста идущими подряд k + 1 метками (одна метка означает число «О»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

Программа, добавляющая к числу метку слева, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Программа, добавляющая к числу метку справа, имеет вид:

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

(отличие только в направлении движения головки в первой команде. Проверьте работоспособность этих программ на каких-либо частных примерах).

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

В первом случае не нужно перемещать головку к крайней левой метке числа

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

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

Команда машины поста имеет структуру n km где. Смотреть фото Команда машины поста имеет структуру n km где. Смотреть картинку Команда машины поста имеет структуру n km где. Картинка про Команда машины поста имеет структуру n km где. Фото Команда машины поста имеет структуру n km где

Машину Поста можно рассматривать как упрощенную модель ЭВМ. В самом деле, как ЭВМ, так и машина Поста имеют:

выполняется за один такт (шаг).

Обе машины работают на основе программы. Однако, в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста и т.д.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *