Выстройте ряд функциональных машин так, чтобы число, введенное в один конец, выступало в качестве цели — но порядок, в котором вы их соединяете, меняет все.
Вам дан начальный ввод, целевой результат и набор функциональных машин, каждый из которых преобразует число. Соедините машины в конвейер, чтобы входные данные проходили через них и выходили точно равными целевому значению. Поскольку каждая машина меняет значение, последовательность имеет значение: одни и те же машины в разном порядке дают разные результаты. Вывод обновляется по мере построения цепочки.
Substitute создает интуитивное представление о составе функций и порядке операций, связывая визуальные машины, которые шаг за шагом преобразуют значение.
Соединять в цепочку машины, каждая из которых преобразует число, чтобы вход пришёл к цели, — это композиция функций, которую десятилетиями преподают в школах как «машину функций».
Оригинальный акцент — те же машины в другом порядке дают другой результат.
Некоммутативность — весь урок, и она действительно противоречит интуиции, потому что арифметические операции, с которыми дети встречаются первыми, — сложение, умножение — в основном коммутативны. Композиция функций — нет, и конвейер, который должен точно попасть в цель, — необычайно честный способ это показать.
Substitute — это оригинальная бесплатная браузерная головоломка, которая развивает интуитивное понимание композиции функций и порядка операций с помощью визуальных машинных цепочек. Играйте мгновенно, учетная запись не требуется.