Автор Максон Калмыков задал вопрос в разделе Другие языки и технологии
6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие свойства алгоритма нар и получил лучший ответ
Ответ от Андрей Севастьянов[гуру]
А) После действия "умножить" в стеке будет лежать результат -- число 20. Следующее действие "вычесть" требует двух операндов, а у на только один. Опа!
Б) В арифмометре не определена команда "разделить". Опа!
В) Не указаны числа в командах "взять". Опа!
Ответ от Илья Павлов[гуру]
Ошибка в первом алгоритме. 2 числа в памяти, они перемножаются, в памяти остается результат: 20. Далее бинарная команда вычесть, но операнд (20) всего один.. .
Второй алгоритм, стого говоря, выполним. Единственное, что не так, это то, что в нем 3 делится на 6. При целочисленном делении в результате будет 0. Если ваш "Арифмометр" не умеет делить меньшее на большее - то и этот алгоритм не выполним. (Да, судя по ответу ниже, он вообще не умеет делить :))
Третий алгоритм не указывает, какие конкретно числа берутся. Взять число - довольно расплывчатое понятие. Тип операндов при таком условии однозначно не определен. Взять число.. . Хорошо, возьму число 0,123 и второе число то же 0,123. Операдны дробные, а с такими "Арифмометр" работать не умеет.
Нарисуй память в виде стека, и попробуй поиграть в процессор )). Все поймешь.
Ошибка в первом алгоритме. 2 числа в памяти, они перемножаются, в памяти остается результат: 20. Далее бинарная команда вычесть, но операнд (20) всего один.. .
Второй алгоритм, стого говоря, выполним. Единственное, что не так, это то, что в нем 3 делится на 6. При целочисленном делении в результате будет 0. Если ваш "Арифмометр" не умеет делить меньшее на большее - то и этот алгоритм не выполним. (Да, судя по ответу ниже, он вообще не умеет делить :))
Третий алгоритм не указывает, какие конкретно числа берутся. Взять число - довольно расплывчатое понятие. Тип операндов при таком условии однозначно не определен. Взять число.. . Хорошо, возьму число 0,123 и второе число то же 0,123. Операдны дробные, а с такими "Арифмометр" работать не умеет.
Нарисуй память в виде стека, и попробуй поиграть в процессор )). Все поймешь.
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: 6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие свойства алгоритма нар