Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет лаб4

.docx
Скачиваний:
4
Добавлен:
01.02.2022
Размер:
53.4 Кб
Скачать

Министерство образования и науки Кыргызской Республики

Кыргызский Государственный Технический Университет им. И. Раззакова

Факультет Информационных Технологий

Кафедра:”Информатика и вычислительная техника”

Отчет

По лабораторной работе №4

По дисциплине: ЛиФП

Выполнил:

Проверила: Шаршееваа К

Бишкек 2020

Вариант 11

11. Найти номер заданного элемента, и если он стоит на середине, удалить

элементы первой половины списка.

Код:

domains

int=integer.

intl=int*.

predicates

nondeterm indexOf(int,intl,int).

nondeterm cutHead(int,intl,intl).

nondeterm task(intl,integer,intl).

nondeterm length(intl,integer).

clauses

cutHead(0,X,X).

cutHead(N,[_|T],R):-N1 = N-1, cutHead(N1,T,R).

indexOf(X,[X|_],0).

indexOf(X,[_|T],N):- indexOf(X,T,N1),N = N1+1.

length([],0).

length([_|T],N):-length(T,N1),N=N1+1.

task(List,X,R):- indexOf(X,List,P), length(List,L), Q = (L div 2), Q=P, cutHead(P,List,R).

task(List,_,List).

goal

task([1,2,3,4,5,6,7,8,9,10],6,R).

Результат:

Соседние файлы в предмете Логическое и функциональное программирование