Шаг 119.
Основы языка Haskell.
Потенциально бесконечные списки. Задачи для самостоятельного решения

    На этом шаге мы приведем задачи для самостоятельного решения.


   Замечание. Найдите ошибки, описки, неточности и прочие изъяны в приведенных задачах.

1. Конструирование конечных списков

1*. Укажите, не используя интерпретатор Haskell, результат выполнения следующих функций:
   (1) [(x,y)|x <- [1..3],y <- [1..3]];

   (2) [x+y|x <- [1..4],y <- [1..x],even x].

    2. (По [1]). Напишите рекурсивную функцию, конструирующую конечный n-элементный список n∈N:

2. Конструирование потенциально бесконечных списков (потоков)

    1*. Укажите, не используя интерпретатор Haskell, результат выполнения следующей функции:

   take 5 [2*x | x <- [1..], x^2>3]

    2. Напишите корекурсивную функцию, генерирующую потенциально бесконечные списки (потоки):

    3. (По [2, с.198]) Напишите функцию, конструирующую потенциально бесконечный список элементов, вычисляемых с помощью рекурсивной функции:


(1)Душкин Р.В. Функциональное программирование на языке Haskell. - М.: ДМК Пресс, 2007. - 608 с.
(2)Андерсон Дж. А. Дискретная математика и комбинаторика. - М.: Издательский дом "Вильямс", 2003. - 960 с.

    Со следующего шага мы начнем рассматривать абстрактные типы данных.




Предыдущий шаг Содержание Следующий шаг