221V 3 years ago
parent
commit
45c78dd5a7
1 changed files with 31 additions and 1 deletions
  1. 31 1
      README.md

+ 31 - 1
README.md

@@ -1,3 +1,33 @@
 # prolog_test
 
-тестове завдання на вакансію Prolog Dev
+тестове завдання на вакансію Prolog Dev  
+
+---
+
+```
+1. Описать два лимита на разовую транзакцию, используя Пролог.
+  Описание вида: limit_for_1_tr(Country, LimitSum, LimitCurrency).
+    a. Описать лимит на одну транзакцию в Украине. Сумма лимита - 30 000 грн
+    b. Описать лимит на одну транзакцию в России. Сумма лимита - 50 000 рублей
+
+2. Описать месячный лимит на транзакции по Грузии, используя Пролог,
+  если сумма - 10 000 теньге, количество - 15 транзакций.
+  Описание вида: limit_for_1_month(Country, LimitSum, LimitCount, LimitCurrency).
+  
+3. Описать правило акции супермаркета, используя Пролог.
+  Правило: если покупатель купил товар с кодом 5111 акционной группы 565,
+  то ему начисляются двойные бонусы на счет за данный товар.
+  Сумма покупки - 50 грн.
+  Описание вида: bonus_check(GroupProduct, ProductID, CostProduct, Bonus).
+
+4. Реализовать на Прологе функции, используя арифметические операции, рекурсию и паттерн-матчинг: 
+   a. train_reverse/2 - на вход получает список вида [1,2,4,3,5] и преобразует его в (->) [5,3,4,2,1]
+   b. train_last_one/2 - на вход получает список вида [1,2,4,3,5] -> 5
+   c. train_sort_up/2 - сортирует список по возрастанию [3,1,5,2,4] -> [1,2,3,4,5]
+   d. train_summ/2 - на вход получает список вида [1,2,4,3,5] -> 15 (сумма всех элементов)
+   e. train_odds/2 - на вход получает список вида [1,2,4,3,5] -> [2,4]  (все четные)
+   f. train_zip/3 - на вход получает 2 списка вида [1,2,4,3,5] и [7,9,11,8,6] -> [[1,7],[2,9],[4,11],[3,8],[5,6]]
+   g. train_append_tail/3 - добавляет элемент в конец списка [1,2,3] и 4 -> [1,2,3,4] (сделать чисто рекурсивную реализацию)
+   h. train_concat/3 - получает на вход 2 списка [1,2,3] & [4,5,6] -> [1,2,3,4,5,6]
+```
+