Skip to content

DmitryNekrasov/erlang-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

erlang-learning

ЛР №1. Задачи по рекурсии и спискам на Erlang

  1. Дано число N. Сгенерировать список из цифр числа.
  2. Найти все совершенные числа (число равно сумме своих делителей) , не превосходящие N.
  3. Дан список чисел. Отсортировать его методом пузырька.
  4. Дан список чисел. Отсортировать его сортировкой слиянием.
  5. Сгенерировать список списков значений функции Аккермана A(m,n) для заданных аргументов 0…m, 0…n
  6. Бинарное дерево задано в виде списка, в каждом узле хранится либо код операции (+-*/), либо число. Посчитать значение выражения, заданного деревом.
  7. Два числа заданы по цифрам в списках. Сложить эти два числа поразрядно.
  8. Дан список. Определить, содержится ли он в виде последовательного подсписка в другом списке.
  9. Дано N списков с элементами. Считая каждый список множеством, создать пересечение этих множеств.
  10. Дано N – число дисков. Решить задачу Ханойских башен для этого числа дисков и вывести решение.
  11. Дан список чисел. Найти НОД.
  12. АВЛ-дерево задано списком. Написать процедуру добавления в дерево с балансировкой.
  13. Даны два одноразмерных списка чисел и степеней. Возвести числа в заданные степени алгоритмом быстрого возведения в степень.

ЛР №2. Параллельные процессы, обмен сообщениями

Структурная схема:

  1. Команда
    1. Сделать посылку
    2. Посмотреть монитор
  2. Клиентское приложение
    1. Принять посылку от команды
    2. Отдать посылку контроллеру
    3. Запросить монитор
    4. Получить монитор
    5. Показать монитор команде
  3. Контроллер
    1. Принять посылку от клиентского приложения
    2. Получить вердикт от тестирующей системы
    3. Отдать посылку тестирующей системе
    4. Передать вердикт монитору
  4. Тестирующая система
    1. Принять посылку от контроллера
    2. Передать вердикт контроллеру
  5. Монитор
    1. Принять вердикт от контроллера, обновить монитор
    2. Получить запрос от клиентского приложения
    3. Передать монитор клиентскому приложению

Диаграмма последовательности:

About

Лабораторные работы по функциональным языкам (Erlang)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages