На ленте расположены два массива разной длины. Каретка осматривает крайний элемент одного из них. Составить программу для машины Поста, которая сравнивает длины массивов и стирает большее из них.
СРОЧНО!!!!
Ответы
Ответ:
1. Перейти к крайнему элементу первого массива.
2. Запомнить его значение и перейти к крайнему элементу второго массива.
3. Запомнить значение крайнего элемента второго массива.
4. Перейти к ячейке памяти, где будет храниться результат сравнения длин массивов.
5. Если длина первого массива меньше длины второго массива, записать в память значение "2", иначе записать "1".
6. Перейти к крайнему элементу первого массива.
7. Если значение в памяти равно "1", то стереть все элементы первого массива, начиная с крайнего элемента и до тех пор, пока не будет достигнут конец массива. Иначе перейти к следующему шагу.
8. Перейти к крайнему элементу второго массива.
9. Если значение в памяти равно "2", то стереть все элементы второго массива, начиная с крайнего элемента и до тех пор, пока не будет достигнут конец массива. Иначе завершить работу.
Пример на машине Поста:
0: Перейти в ячейку 1
1: Записать значение крайнего элемента первого массива
2: Перейти в ячейку 3
3: Записать значение крайнего элемента второго массива
4: Перейти в ячейку 5
5: Если значение ячейки 4 меньше значения ячейки 6, записать "2" в ячейку 7, иначе записать "1" в ячейку 7
6: Перейти к крайнему элементу первого массива
7: Если значение ячейки 5 равно "1", стереть значение текущей ячейки и перейти к предыдущей ячейке. Если значение ячейки не равно "1", перейти к шагу 9
8: Перейти к крайнему элементу второго массива
9: Если значение ячейки 5 равно "2", стереть значение текущей ячейки и перейти к предыдущей ячейке. Если значение ячейки не равно "2", завершить работу
Эта программа будет работать на машине Поста, которая поддерживает операции чтения и записи значений в ячейки памяти, а также операцию перехода к следующей/предыдущей ячейке памяти в зависим