1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 2.2 Упр.4 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 2.2 Упр.4 ГДЗ Семакин 10 класс (Информатика)

Задача

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

Подробный ответ

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

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

Для этого:

  • переходим к правому числу;
  • если там есть метка, стираем её;
  • возвращаемся к левому числу и стираем одну метку там;
  • повторяем, пока справа не останется меток;
  • останавливаемся.

Подходящая программа машины Поста:

1. → 2
2. ? 15,3
3. → 4
4. ? 5,3
5. ← 6
6. ↑ 7
7. ← 8
8. ? 9,7
9. ← 10
10. ? 11,9
11. → 12
12. ↑ 13
13. → 14
14. ? 1,13
15. ← 16
16. ∨ 17
17. !

Здесь команды ? проверяют наличие метки, стирают метку, и перемещают каретку, а ! останавливают машину.

Ответ

Программа машины Поста для вычитания двух чисел в унарной записи приведена выше.



Общая оценка
4.2 / 5
Другие учебники
Другие предметы