Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 32
1

В списке определить число элементов, равных последнему

12.10.2015, 19:19. Показов 727. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Написала код на прологе к заданию "В списке определить число елементов, равных последнему". Почемуто компилятор ругается на начало на домен.
Код задачи:
Prolog
1
2
3
4
5
6
7
8
DOMAINS
int=Integer
list=int*
PREDICATES
Print_last(list).
Print_last(L):-conc(L,[H|_]),write(H),nl.
GOAL
Print_last([1,2,3,4]).
Ошибки которые выдает пролог:
Compiling the file:
C:\Program Files\Strawberry Prolog\Programs\Fractals.pro
Error 15: The operator int is a prefix but what is expected here is something like an infix operator or a full stop. (line 5, before the first clause)
Error 16: Instead of variable what is expected here is something like an infix operator or a full stop. (line 8, after clause 0)
2 errors, 0 warnings.
Такая же ситуация и в коде семейное дерево
Prolog
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
код:DOMAINS
s=symbol*
PREDICATES
nondeterm man(symbol*)
nondeterm woman(symbol*)
nondeterm parent(symbol,symbol*)
nondeterm father(symbol,symbol*)
nondeterm mother(symbol,symbol*)
nondeterm child(symbol,symbol*)
nondeterm brother(symbol,symbol*)
nondeterm sister(symbol,symbol*)
nondeterm vnuk(symbol,symbol*)
nondeterm grandmother(symbol,symbol*)
nondeterm grandfather(symbol,symbol*)
nondeterm parent_parent(symbol,symbol*)
nondeterm ancestor(symbol,symbol*)
CLAUSES
 man("Alla").
 man("Vita").
 man("Yra").
 man("Yulia").
 man("Vladimir").
 woman("Valy").
 woman("Lida").
 woman("Tany").
 parent("Anna","Vladimir").
 parent("Yulia","Alla").
 parent("Yulia","Vita").
 parent("Lida","Valy").
 parent("Lida","Vita").
 parent("Vladimir","Tany").
 parent("Vita","Yra").
 parent("Vita","Luba").
 parent("Tany","Yra").
 mother(X,Y):-parent(X,Y),woman(X).
 father(X,Y):-parent(X,Y),man(X).
 child(Y,X) :-parent(X,Y).
 brother(X,Y):-parent(Z,X),parent(Z,Y),man(X).
 sister(X,Y) :-parent(Z,X),parent(Z,Y),woman(X). 
 grandmother(X,Y):-parent_parent(X,Y),woman(X).
 grandfather(X,Y):-parent_parent(X,Y),man(X).
 vnuk(X,Z) :-child(X,Y),child(Y,Z).
 parent_parent(X,Z):-parent(X,Y),parent(Y,Z).
 ancestor(X,Z) :-parent(X,Z).
 ancestor(X,Z) :-parent(X,Y),ancestor(Y,Z).
 Goal: mother(X,"Anna").
ошибка:
Error 16: Instead of the atom s what is expected here is something like an infix operator or a full stop. (line 18, before the first clause).
Я уже вывернула весь интернет, не знаю как справиться с этими ошибками.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2015, 19:19
Ответы с готовыми решениями:

Составить программу, которая находит количество элементов, равных первому элементу, и количество элементов, равных последнему, в массивах X(N) и Y(M).
Составить программу, которая находит количество элементов, равных первому элементу, и количество...

Найти количество элементов массивов, равных первому элементу, и количество элементов, равных последнему
Составить программу, которая находит количество элементов, равных первому элементу, и количество...

Определить количество слов, равных последнему
Доброго времени суток! Хочу попросить у Вас помощи в одном задании, которое ну никак не могу...

Определить количество членов последовательности, не равных последнему элементу
Cделайте пожалуйста блок-схему алгоритмов к этому заданию.Очень прошу помочь.

2
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
13.10.2015, 09:57 2
Для начала
Цитата Сообщение от BABEC ALLA Посмотреть сообщение
DOMAINS
int=Integerinteger
list=int*
PREDICATES
Print_lastprint_last(list)
CLAUSES
Print_lastprint_last(L):-conc(L,[H|_]),write(H),nl.
GOAL
Print_lastprint_last([1,2,3,4]).
и то это на вскидку, не имею турбо в пользовании.

Добавлено через 4 минуты
Цитата Сообщение от BABEC ALLA Посмотреть сообщение
Такая же ситуация и в коде семейное дерево
Нет, ситуация НЕ такая же. Попробуйте думать, а не мучить поисковик
0
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
13.10.2015, 12:35 3
Сдается мне, это Strawberry Prolog, нет?
0
13.10.2015, 12:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2015, 12:35
Помогаю со студенческими работами здесь

В одномерном массиве Y, состоящий из N целых элементов, вычислить количество элементов, равных последнему элементу массива
Очень нужна помощь с лабораторной по массивам, как только не пробовал все или не работало или...

Массив: Посчитать количество элементов массива, равных последнему
В одномерном массиве Y, состоящем из N целых элементов, вычислить: a) количество элементов, равных...

Найти сумму всех элементов массива равных последнему
; ««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« .486 ...

Вычислить количество элементов, равных последнему элементу массива
В одномерном массиве Y, состоящий из N целых элементов, вычислить: a) количество элементов, равных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru