-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask24.pro
More file actions
86 lines (72 loc) · 3.52 KB
/
task24.pro
File metadata and controls
86 lines (72 loc) · 3.52 KB
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
encoding(utf8).
'мужчина'('Адам').
'мужчина'('Каин').
'мужчина'('Авель').
'мужчина'('Майкл').
'мужчина'('Моисей').
'мужчина'('Альберт').
'мужчина'('Эрнест').
'мужчина'('Гектор').
'мужчина'('Ганнибал').
'мужчина'('Александр').
'мужчина'('Филипп').
'женщина'('Ева').
'женщина'('Мадонна').
'женщина'('Мария').
'женщина'('Алиса').
'женщина'('Мэри').
'женщина'('Диана').
'женщина'('Сара').
'женщина'('Барбара').
'женщина'('Роза').
'женщина'('Алла').
'женщина'('Кристина').
'женщина'('Марианна').
'родитель'('Адам', 'Каин').
'родитель'('Адам', 'Авель').
'родитель'('Адам', 'Сара').
'родитель'('Моисей', 'Мэри').
'родитель'('Моисей', 'Майкл').
'родитель'('Каин', 'Алиса').
'родитель'('Каин', 'Диана').
'родитель'('Каин', 'Мадонна').
'родитель'('Майкл', 'Барбара').
'родитель'('Майкл', 'Гектор').
'родитель'('Майкл', 'Роза').
'родитель'('Майкл', 'Филипп').
'родитель'('Филипп', 'Кристина').
'родитель'('Ганнибал', 'Александр').
'родитель'('Ганнибал', 'Эрнест').
'родитель'('Александр', 'Альберт').
'родитель'('Альберт', 'Марианна').
'родитель'('Ева', 'Каин').
'родитель'('Ева', 'Авель').
'родитель'('Ева', 'Сара').
'родитель'('Сара', 'Мэри').
'родитель'('Сара', 'Майкл').
'родитель'('Мария', 'Алиса').
'родитель'('Мария', 'Гектор').
'родитель'('Мария', 'Диана').
'родитель'('Мария', 'Мадонна').
'родитель'('Мадонна', 'Барбара').
'родитель'('Мадонна', 'Роза').
'родитель'('Мадонна', 'Филипп').
'родитель'('Алла', 'Кристина').
'родитель'('Диана', 'Александр').
'родитель'('Барбара', 'Эрнест').
'родитель'('Барбара', 'Альберт').
'родитель'('Кристина', 'Марианна').
'братсестра'(X, Y):- 'родитель'(Z, X), 'родитель'(Z, Y)
, X\=Y.
'племянник'(X, Y):- 'родитель'(Z, X), 'братсестра'(Z, Y).
'кузина'(X, Y):- 'родитель'(Z, X), 'родитель'(C, Y), 'братсестра'(Z,C)
,'женщина'(X), 'женщина'(Y).
'потомокАдама'(X) :- 'родитель'('Адам', X); 'родитель'(Y, X), 'мужчина'(Y)
,'потомокАдама'(Y).
'предокАльберта'(X):-'родитель'(X, 'Альберт'), 'женщина'(X);
'родитель'(X, Y)
,'женщина'(Y), 'предокАльберта'(Y).
subtask1 :- 'потомокАдама'(X), write(X).
subtask2 :- 'предокАльберта'(X), write(X).
subtask3 :- 'племянник'(X, Y), write(X), write(' есть племянник '), write(Y).
subtask4 :- 'кузина'(X, Y), write(X), write(' есть дв. сестра '), write(Y).