Задача 2 (вариант 1)



Дата07.04.2022
өлшемі1,13 Mb.
#30171
түріЗадача
Байланысты:
reshenie zadach na mashine posta


Машина Поста

? N, M - если текущая ячейка содержит «0» (не отмечена), то перейти к строке с номером N, иначе перейти к строке M


Задание 1


По условию метки расставлены следующим образом:

Добавить метки, чтобы лента приняла следующий вид:

Решение:

На ленте имеется некоторое множество меток (общее количество меток не менее 1). Между метками множества могут быть пропуски, длина которых составляет одну ячейку. Заполнить все пропуски метками.

Задание 1

Составить программу для машины Поста по рисунку:

Начальное состояние

Результат

Составить самостоятельно (Практикум, стр. 33

Задача 2 (вариант 1)

Дан массивов меток. Удалить четные метки. Каретка находится над первой меткой.

Задача 2 (вариант 2)

Дан массивов меток. Удалить нечетные метки. Каретка находится над первой меткой.

Решение:

1вправо 2

2? 3,1

3вправо 4



4вправо 5

5вправо 6

6? 14,7

7удалить 8

8вправо 9

9? 10,7


10вправо 11

11вправо 12

12вправо 13

13? 14,1


14стоп 14

На ленте задан массив меток. Увеличить длину массива на 2 метки. Каретка находится либо слева от массива, либо над одной из ячеек самого массива. (увеличение числа на 2).

Решение:

1. ? 2; 3 (команды 1 и 2 — передвигаем каретку к массиву)

2. → 1

3. → 4 (команды 3 и 4 — передвигаем каретку к концу массива)



4. ? 5; 3

5. V 6 (команды 5–7 — ставим 2 метки в конце массива)

6. → 7

7. V 8


8. !

Задача 3

Даны два массива меток, которые находятся на некотором расстоянии друг от друга. Требуется соединить их в один массив. Каретка находится над крайней левой меткой первого массива. (сложение двух чисел)

Решение.



https://studfiles.net/preview/5825876/page:4/



Домашнее задание

Дано: каретка располагается в пустой клетке. Слева от каретки располагается большее число меток, справа - меньшее (числа любые).

Задача: Составить для машины Поста алгоритм вычисления разности для данных чисел (из большего меньшее)

Решение: 

Каретка начинает своё перемещение вправо и зеркально удаляет метки в каждой из групп, начиная с вычитаемого, заканчивая уменьшаемым. Таким образом из уменьшаемого мы полностью удаляем количество меток вычитаемого (производим вычитание).



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

Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет