This repository has been archived by the owner on May 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.jur
94 lines (68 loc) · 2.63 KB
/
test.jur
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
"Примитивы"
(* 1 2 3 4 5)
(/ 8 2 4)
(+ "превед " "медвед")
(> 3 2 1)
"Вычисление по условию"
(Функция Максимум (А Б)
(Если (> А Б)
(А)
(Б)))
(Максимум 3 10)
"Рекурсивное вычисление"
(Функция Факториал! (Икс)
(Если (= Икс 0)
(1)
(* (Факториал! (- Икс 1)) Икс)))
(Факториал! 20)
"Функция с одним параметром"
(Функция Инкремент Параметр (+ Параметр 1))
(Инкремент 2)
"Функция с двумя параметрами"
(Функция Сумма (Параметр1 Параметр2) (+ Параметр1 Параметр2))
(Сумма 2 2)
"Функция с двумя параметрами и промежуточным выражением"
(Функция Сумма (Параметр1 Параметр2)
(Сообщить "Параметры функции:" Параметр1 Параметр2)
(+ Параметр1 Параметр2))
(Сумма 2 2)
"Функция с вложенной функцией"
(Функция Сумма-квадратов (Параметр1 Параметр2)
(Функция Квадрат Параметр1 (* Параметр1 Параметр1))
(+ (Квадрат Параметр1) (Квадрат Параметр2)))
(Сумма-квадратов 2 3)
"Переменные и лямбды"
(Функция Тест П
(Пусть К (Лямбда Ё (* Ё Ё)))
(К П))
(Тест 2)
"Непосредственное применение лямбды"
(Функция Тест П
((Лямбда Ё (* Ё Ё)) П))
(Тест 3)
"Функция высшего порядка"
(Функция Сумма (X Y) (+ X Y))
(Функция Произведение (X Y) (* X Y))
(Функция ФВП (ФПК X Y)
(ФПК X Y))
(ФВП Сумма 2 3)
(ФВП Произведение 2 3)
"Логические функции"
(Пусть Икс 2)
(И (>= Икс 2) (< Икс 3))
(Или (= Икс 2) (= Икс 1))
(Не (= Икс 2))
"Функция выбора из нескольких условий"
(Пусть Икс 2)
(Пусть Иначе Истина)
(Выбор
(= Икс 1) "Икс равен 1"
(= Икс 2) "Икс равен 2"
(= Икс 3) "Икс равен 3"
Иначе "Непонятно")
"Работа со списками"
(Функция Печать Набор
(Если (Пустой Набор)
""
(+ "" (Морда Набор) " " (Печать (Хвост Набор)))))
(Сообщить (Печать (Список 1 2 3 4)))