Рекурсия. Хвостовая рекурсия.

1.       Сравнительная характеристика функциональных, декларативных и процедурных языков программирования. Основные отличия.

2.       Переменные. Анонимные переменные. (Erlang)

3.       Списки и кортежи. Строки. (Erlang)

4.       Задание функций. (Erlang)

5.       Рекурсия. Хвостовая рекурсия. (Erlang)

6.       Функции высшего порядка. lists:map, lists:filter, lists:foldleft. (Erlang)

7.       Выборки из списков (list comprehensions). (Erlang)

8.       Термы: простые и составные. Операторы. (Prolog)

9.       Предикаты. Предложения: факты и правила. (Prolog)

10.    Запросы (цели). (Prolog)

11.    Переменные. Анонимные переменные. Конкретизация переменных. (Prolog)

12.    Сопоставление и унификация. Предикаты равенства. Алгоритм унификации. (Prolog)

13.    Арифметика. (Prolog)

14.    Основные принципы поиска с возвратом. Четырёхпортовая модель предиката. (Prolog)

15.    Управление поиском решений (предикаты fail, !, repeat). Зелёное и красное отсечение. (Prolog)

16.    Отрицание как неудача. Отличие от логического отрицания. (Prolog)

17.    Рекурсия. Списки. (Prolog)

18.    Деревья: задание и примеры работы. (Prolog)

19.    Разности списков. (Prolog)

20.    Динамические базы данных. (Prolog)

21.    Предикаты второго порядка (findall, bagof, setof). (Prolog)

Примеры экзаменационных задач

  1. Написать функцию, считающую количество слов в строке. (Erlang)
  2. Написать функцию, находящую суммарную зарплату, по списку кортежей вида {Имя, Должность, Зарплата}. (Erlang)
  3. Имеются факты вида numbers (n), где n – целые числа. Написать предикат для вывода на экран всех отрицательных чисел. (Prolog)
  4. Написать предикат для вычисления xn только с помощью умножения. (Prolog)
  5. Написать предикат для подсчета количества положительных элементов в списке, элементами которого являются целые числа. (Prolog)
  6. Написать предикат для подсчета количества вершин дерева. (Prolog)
  7. Имеются факты вида numbers (n1, n2), где n1 и n2 – целые числа. Написать предикат для вывода на экран всех фактов, где n1=n2. (Prolog)
Ссылка на основную публикацию
Adblock detector