• На информационной ленте машины Поста расположен расположен массив из n меток. Каретка находится под крайней левой меткой. Какое состояние установится на ленте после выполнения следующей программы? 1 → 2 2 ↕ 3 3 → 4 4 ? 5,2 5 ← 6 6 v 7 7 !

Ответы 1

  • 1. → 2 [сдвинуться вправо, перейти на строку 2]2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка?3. → 4 [сдвинуться вправо, перейти на строку 4]4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2]5. ← 6 [сдвинуться влево, перейти на строку 6]6. V 7 [поставить метку, перейти на строку 7]7. ! [закончить работу]Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0.Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой nЕсли n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1
    • Автор:

      pastor
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years