Пятница, 26.04.2024, 03:07
Приветствую Вас, Гость |
Меню сайта
Наш опрос
Нужен ли форум на этом сайте?
Всего ответов: 1301
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Рекурсия

      В общем смысле рекурсия это процесс повторения чего-либо самоподобным способом. Например, вложенные отражения, производимые двумя точно
параллельными друг другу зеркалами, являются одной из форм бесконечной рекурсии.

      В императивных языках программирования основной конструкцией является цикл. В Haskell вместо циклов используется рекурсия. Функция называется рекурсивной, если она вызывает сама себя (или, точнее, определена в терминах самой себя). Рекурсивные функции существуют в императивных языках, но используются не столь широко. Одной из простейших рекурсивных функций является факториал:

 
  factorial :: Integer -> Integer
  factorial n = if n == 0 then 1 else n * factorial (n - 1)

 
(Заметьте, что мы пишем factorial (n - 1), а не factorial n - 1 — вспомните о приоритетах операций.) Использование рекурсии может вызвать трудности. Концепция рекур-
сии напоминает о применяющемся в математике приеме доказательства по индукции. В нашем определении факториала мы выделяем «базу индукции» (случай n == 0) и «шаг индукции» (переход от factorial n к factorial (n - 1). Выделение таких компонент — важный шаг в определении рекурсивной функции.

Форма входа
Поиск
Мы в сети
Реклама
Для того чтобы не видеть рекламу в правом верхнем углу сайта пройдите простую процедуру регистрации
ФОРУМ
У нас наконецто появился форум! Добро пожаловать! Будьте первыми, задайте направление форуму! =)
--- Не стесняемся - заходим на форум! ---