Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.14.130.241] |
|
Сообщ.
#1
,
|
|
|
Добрый вечер!
Помогите написать программу на прологе:удаление N первых элементов на прологе(Prolog MFC Application). Есть наброски, да вот только они не верны!Помогите разобраться в чем дело и найти ошибку! Заранее всем спасибо! Код программы: del(0, L, L):- !. del(N, [_|L], L1):-del(N1, L, L1),N1 is N-1. ?- del(3, [10,9,8,7,6,5,4,3,2,1], L). Пролог вечно выдает следующую ошибку: Error! 10: No sense at line 3, after clause 1. Look in the help for this error. 1 error, 0 warnings. и выделяет del(N, [_|L], L1):-del(N1, L, L1),N1 is N-1. эту строчку. С уважением, Sne*ana. |
Сообщ.
#2
,
|
|
|
Снежана,
как-то так... del(X, 0, X). del([_|X],1,X). del([_|X],N,Y) :- N > 1, N1 is N - 1, del(X,N1,Y). target(Y):-del([a,b,c,d,e,f,g],2,Y). |
Сообщ.
#3
,
|
|
|
Огромное спасибо!
|
Сообщ.
#4
,
|
|
|
p([X],0,[X]).
p([AL|BL],1,[BL]). p([AL|BL],n,[AL|CL]):-p([BL],n-1,[CL]). Это второй предикат. p(X,[Y],0,[Y]). p(X,[A],1,[X|A]). p(X,[AL|BL],n,[AL|CL]):-p(X,[BL],n-1,[CL]). есть написанные предикаты как задать им вопрос? Добавлено Напишите предикат p(X,N,V,L), истинный тогда и только тогда, когда список L получается после добавления X на N-е место в список V Напишите предикат p(N,V,L), истинный тогда и только тогда, когда список L получается после удаления N-го элемента из списка V. эти задачки....... p([X],0,[X]). p([AL|BL],1,[BL]). p([AL|BL],n,[AL|CL]):-p([BL],n-1,[CL]). Это второй предикат. p(X,[Y],0,[Y]). p(X,[A],1,[X|A]). p(X,[AL|BL],n,[AL|CL]):-p(X,[BL],n-1,[CL]). есть написанные предикаты как задать им вопрос? |
Сообщ.
#5
,
|
|
|
nik-1977, в p(X,N,V,L) вместо X задаёшь элемент, вместо N - число, вместо V конкретный список.
Вызываешь этот предикат из главной цели и список L выводишь на печать. Аналогично в p(N,V,L) задаёшь N и V, L выводишь на печать. Не знаю синтаксис этого Пролога, на Турбо это выглядело бы так: goal p(3,[a,b,c,d,e],L), write(L). И на печати [a,b,d,e]. |
Сообщ.
#6
,
|
|
|
помогите плизззззззз!!!
помогите написать прогу пожалоста... вот задание: Скласти програму, яка iз заданого тексту викреслює всi голоснi букви i видає отриманий результат на екран. |