МикроЭВМ "Кроха"
На титульную страницу

Задача:

Найти сумму первых 20 натуральных чисел.

Решение:

Сумма будет равна 1+2+3+4+5+6+...+20. Эту последовательность можно представить в виде арифметической последовательности и найти сумму по соответствующей формуле. Но поступим по-другому, ведь у нас в руках микроЭВМ. Все члены последовательности 1,2,3,4,..,20 отличаются друг от друга на 1. Можно составить такой циклический алгоритм, который вычислит эту сумму. Пусть s - искомая сумма, i - счётчик шагов(1,2,3..,20), тогда алгоритм будет такой:
1) увеличить i на 1
2) вычислить s=s+i (новая сумма=старая сумма + текущее значение счётчика)
3) если 20 больше i, то перейти к 1) действию
4) если 20 меньше или равно i, то распечатать s на экране.
Таким образом, счётчик пробежит все значения от 1 до 20 и вычислит сумму. Как распределить память? Попробуем распределить её, как в нашем алгоритме. Договоримся хранить значение счётчика i в ячейке 111, шаг счётчика=1 в ячейке 110, предел=20 в ячейке 101.
Итак, ячейка 000 будет такой:
000 001 111 110 111 (увеличить i на 1).
Следущая команда:
001 001 100 111 100 (вычислить s=s+i (новая сумма=старая сумма + текущее значение счётчика).
Третья команда:
010 110 101 111 000 (если 20 больше i, то перейти к 1) действию (ячейке 000)).
Остаётся только распечатать результат. Это будет последняя свободная ячейка 011:
011 111 100 100 100 (3 раза распечатать содержимое ячейки 101)
Итак, приведём полный листинг программы перед её запуском:
000 001 111 110 111 (увеличить счётчик i на 1).
001 001 100 111 100 (новая сумма=старая сумма + текущее значение счётчика)
010 110 101 111 000 (если 20 больше i, то перейти к 1) действию (ячейке 000))
011 111 100 100 100 (3 раза распечатать содержимое ячейки 101 - конечную сумму)
100 000 000 000 000 (начальное значение суммы = 0)
101 000 000 010 100 (предел счётчика i = 20)
110 000 000 000 001 (шаг счётчика i = 1)
111 000 000 000 000 (счётчик i)

После нажатия на кнопку "Run" "Кроха" выдаст результат на экран (screen) в десятичном (deg) и двоичном виде (bin).

Кнопка Run запуск программы
Кнопка Step следущий шаг программы
Кнопка Stop Остановить выполняющуюся программу
Кнопка Clear Очистить память "Крохи" и экран.