Школа МК · интерактивный курс

Пять вечеров с калькулятором

Курс программирования МК‑61 и МК‑52 с нуля: пять коротких занятий - от первой суммы до собственной игры с датчиком случайных чисел. Каждое задание выполняется на живом симуляторе слева и проверяется кнопкой. Построено по мотивам методики книги «Пять вечеров с микрокалькулятором» (И. Данилов, Г. Славин, 1988): сперва поиграть, потом понять, - но весь текст написан заново для этого сайта.

Как заниматься. Открывайте вечер, читайте короткую теорию и жмите клавиши на симуляторе. Кнопка «Проверить» смотрит прямо в память машины: подглядеть правильный ответ не выйдет, а вот получить его любым своим способом - пожалуйста. Прогресс сохраняется в браузере.
1

Вечер первый: машина считает без «равно»

✓ пройден

Включите питание тумблером Вкл. На индикаторе загорится 0, - машина готова. Главное отличие от привычного калькулятора: здесь нет клавиши «равно». Действует обратная польская запись: сначала числа, потом действие. Чтобы сложить 2 и 3, нажмите 2 В↑ 3 + - клавиша В↑ отделяет первое число от второго, а + сразу показывает ответ.

Задание 1. Первая сумма

Получите на индикаторе число 5, сложив 2 и 3.

Задание 2. Выражение со скобками - без скобок

Посчитайте (12 + 8) × 5. Скобки не нужны: сделайте сложение первым - 12 В↑ 8 +, а потом умножьте результат: 5 ×. Должно получиться 100.

2

Вечер второй: стек на просвет и память

✓ пройден

Внутри машины четыре этажа: X (индикатор), Y, Z и T. В↑ поднимает всё на этаж вверх, копируя X в Y. Операция наоборот опускает: Y берётся из Z, Z из T, а вот T не пустеет - его значение остаётся и «размножается» вниз. Отсюда фирменный приём: загоните множитель во все этажи - и он станет вечной константой.

А ещё есть 15 ячеек долгой памяти Р0-РЕ: x→П n кладёт число в ячейку, П→x n достаёт копию обратно.

Задание 1. Вечная семёрка

Наберите 7 В↑ В↑ В↑ - семёрка теперь на всех этажах. Введите 6, нажмите × - получится 42. Теперь нажмите × ещё раз, ничего не вводя: семёрка умножит сама себя на ваш результат. Добейтесь 294 на индикаторе.

Задание 2. Спрятать и достать

Положите число 3,5 в ячейку Р4 (3 , 5 x→П 4), сотрите индикатор клавишей Сx - а затем верните число из памяти: П→x 4.

3

Вечер третий: первая программа

✓ пройден

Программа - это те же нажатия, записанные в память. F ПРГ включает режим записи (индикатор показывает адрес и коды), F АВТ возвращает к счёту. Введём первую программу из заводского руководства - площадь круга по диаметру из ячейки Р2:

F ПРГ П→x 2 F В↑ F π × 4 ÷ С/П F АВТ

Дальше ритуал, которому учили все книги: контрольный пример. Задайте диаметр 2 (2 x→П 2), нажмите В/О (в начало) и С/П (пуск). Через мгновение машина остановится с ответом 3,1415927 - площадь круга диаметром 2 равна числу π, значит программа введена верно.

Задание. Площадь круга

Введите программу, задайте диаметр 2 и получите π на индикаторе. Проверяются и память программы, и результат.

4

Вечер четвёртый: развилки и циклы

✓ пройден

Две вещи, о которые спотыкались все новички ПМК. Первая: условный переход «наоборот» - команда F x=0 с адресом переходит по адресу, когда условие ложно, а при истинном условии просто идёт дальше. Вторая: команды цикла F L0-L3 - это обратный отсчёт по ячейкам Р0-Р3: каждая прокрутка уменьшает счётчик, пока тот не дойдёт до нуля.

Соберём цикл, который складывает 5+4+3+2+1. Счётчик - в Р0, копилка - в Р1:

F ПРГ П→x 0 П→x 1 + x→П 1 F L0 0 0 П→x 1 С/П F АВТ

Подготовка: 5 x→П 0, Сx x→П 1, затем В/О С/П. Машина пять раз пробежит тело цикла и покажет 15.

Задание. Сумма обратного отсчёта

Введите программу и получите 15. Заодно загляните после остановки в счётчик: П→x 0 покажет 0 - цикл выработал его до конца.

5

Вечер пятый: случай и собственная игра

✓ пройден

Осталась последняя деталь всех игр - случайность. Синяя команда К СЧ выдаёт случайную дробь от 0 до 1, а К [x] отбрасывает дробную часть. Из них собирается игральный кубик:

F ПРГ К СЧ 6 × К [x] 1 + С/П БП 0 0 F АВТ

Запуск: В/О С/П - выпало от 1 до 6. Каждое следующее С/П - новый бросок: программа закольцована командой БП 00.

Задание. Игральный кубик

Введите программу и бросьте кубик хотя бы раз. Проверяется код программы и честный результат от 1 до 6.

Выпускной. Вы прошли путь от нуля до собственной игры - дальше сравните себя с классиками: Лунолёт, 37 игр каталога, 56 игр из тетради сообщества и программы из книжных сборников. А все приёмы - в полной инструкции.