Какое число будет отображаться на экране Удвоителя после выполнения им алгоритма вычисления2 (с. 26) из начального состояния «1»? Измени одну команду во вспомогательном алгоритме вычисления1 так, чтобы в результате выполнения алгоритма вычисления2 из начального состояния «1» на экране Удвоителя отобразилось число «94». Напиши исправленный вариант алгоритма вычисления1.
На с. 26 алгоритм вычисления1 содержит четыре команды «умножь на 2». Алгоритм вычисления2 содержит команды: вычисления1; прибавь 1; умножь на 2; прибавь 1; умножь на 2; прибавь 1; умножь на 2.
По правилу вызова вспомогательного алгоритма сначала выполняются все команды вычисления
Из начального состояния
Затем выполняются оставшиеся команды вычисления
Чтобы получить
Перед последним удвоением было
Перед последним прибавлением было
Перед предыдущим удвоением было
Перед предыдущим прибавлением было
Перед первым удвоением после вызова было
Перед первым прибавлением после вызова было
Следовательно, исправленный вычисления
Исправленный алгоритм:
алг вычисления
дано | на экране число
надо | на экране число
нач
умножь на
умножь на
прибавь
умножь на
кон
Проверим оставшиеся команды в том же порядке, в каком их выполняет Удвоитель.
Прибавляем
Удваиваем:
Прибавляем
Удваиваем:
Прибавляем
Удваиваем:
Получено требуемое число, причём изменена ровно одна команда.
Исходный алгоритм вычисления
