Задача:
Поезд тронулся со скоростью 1 м/с. Найти расстояние, которое проедет поезд за 8 секунд,
если половина его ускорения а/2 равна 1 м/(с*с).
Решение:
Очевидно, поезд будет двигаться равноускоренно. Следовательно, формула для вычисления
пути должна выглядить так: s=v0*t+(a/2)*t*t, где v0-начальная скорость, а/2 - половина
ускорения, t - время движения поезда.
После нажатия на кнопку "Run" "Кроха" выдаст результат на экран (screen)
в десятичном (deg) и двоичном виде (bin).
Кнопка Run запуск программы
Зная формулу, распределим память "Крохи":
ячейка 101 - под половину ускорения а/2
ячейка 110 - под начальную скорость v0
ячейка 111 - под время движения t.
Для экономии памяти договоримся использовать эти ячейки для хранения промежуточных результатов
(таких, как v0*t. t*t. (a/2)*t*t ). Анализируя формулу s=v0*t+(a/2)*t*t, видим, что потребуется
2 ячейки памяти для операций умножения и сложения.
Итак, первая ячейка 000 будет выглядеть так:
000 101 110 111 110
(перемножить v0 и t, а результат записать в ячейку 110 вместо v0).
Следущая команда:
001 101 111 111 111
(перемножить t и t, а результат записать в ячейку 111 вместо t).
Третья команда:
010 101 101 111 101
(перемножить а/2 и t*t, а результат записать в ячейку 101 вместо a/2).
Осталось сложить v0*t (110) и (a/2)*t*t (101) и записать результат
в одну из ячеек 101, 110 или 11 (т.к свободных ячеек у нас нет).
Значит, ячейка с адресом 011 может выглядить так:
011 001 110 101 101
(сложить vo*t и (a/2)*t*t, а результат записать в ячейку 101 вместо (a/2)*t*t)
Остаётся только распечатать результат. Это будет последняя свободная ячейка 100:
100 111 101 101 101
(2 раза распечатать содержимое ячейки 101)
Итак, приведём полный листинг программы перед её запуском:
001 101 111 111 111 (t*t)
010 101 101 111 101 ((a/2)*t*t)
011 001 110 101 101 (v0*t+(a/2)*t*t)
100 111 101 101 101
101 000 000 000 001 (a/2)
110 000 000 000 001 (v0)
111 000 000 001 000 (t)
Ещё раз хотим отметить, что некоторые ячейки памяти мы использовали в качестве чисел
, а другие - как команды (хотя и они могут рассматриваться как числа).
Кнопка Step следущий шаг программы
Кнопка Stop Остановить выполняющуюся программу
Кнопка Clear Очистить память "Крохи" и экран.