Материал из Скретч Вики

Рекурсия — это функция, которая запускает сама себя с разными параметрами. Обычно с помощью рекурсии рисуют фракталы или считают факториалы.

Пример

Например, подсчёт факториала: 6! = 6 × 5 × 4 × 3 × 2 = 720. Чтобы посчитать такое не обязательно использовать кучу блоков умножения.

  • подсчёт при помощи переменных

определить факториал от (число) если <(число) > (1)>, то факториал от ((число) - (1)) end задать [факториал v] значение ((факториал) * (число)) стоп [скрипт v]

когда щёлкнут по зелёному флагу задать [факториал v] значение (1) факториал от (6)::custom // в переменной «факториал» появится 720 стоп [скрипт v]

  • подсчёт при помощи сообщений

когда я получу [факториал v] если <(число) > (1)>, то изменить [число v] на (-1) передать [факториал v] end задать [факториал v] значение ((факториал) * (число)) стоп [скрипт v]

когда щёлкнут по зелёному флагу задать [факториал v] значение (1) задать [число v] значение (6) передать [факториал v] // в переменной «факториал» появится 720 стоп [скрипт v]