Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ФЕДЕРАЛЬНОЕ Государственное АВТОНОМНОЕ образовательное учреждение высшего профессионального образования
БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
(НИУ «БелГУ»)
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕЛЕКОММУНИКАЦИЙ
КАФЕДРА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ
Отчет по лабораторной работе №4
студента дневного отделения 4 курса группы 140902
Шуляка Бориса Юрьевича
Вариант 13
Проверили: |
Сунцова А.И., Великая Я.Г. |
Оценка: |
__________ дата _________ |
Подпись: |
________________________ |
БЕЛГОРОД 2013
Контрольные примеры
create([],0). create([X|T],X):-X>0,X1 is X-1,create(T,X1). member(X,[X|T]). member(X,[H|T]):-member(X,T). konk([],L2,L2). konk([X|L1],L2,[X|L3]):-konk(L1,L2,L3). |
Результаты выполнения программы
add(X,T,T1):-T1=[X|T]. delete(_,[],L,L). delete(X,[X|L],L1,L2):-delete(X,L,L1,L2). delete(X,[Y|L],L1,L2):-X\==Y,delete(X,L,[Y|L1],L2). reverse([],Lr,Lr). reverse([X|L],L1,Lr):-reverse(L,[X|L1],Lr). concat([],L2,L2). concat([X|L1],L2,[X|L3]):-concat(L1,L2,L3). len([],Lt,L):-L is Lt,!. len([_|T],Lt,L):-L1 is Lt+1,len(T,L1,L). sublist(_,_,Length,NewList):-len(NewList,0,L),L==Length,reverse(NewList,[],Lr),write(Lr),!. sublist([X|List],StartElem,Length,NewList):-len(NewList,0,L),L>0,NewList1=[X|NewList],sublist(List,StartElem,Length,NewList1). sublist([X|List],StartElem,Length,NewList):-X==StartElem,sublist(List,StartElem,Length,[StartElem|NewList]). sublist([X|List],StartElem,Length,NewList):-sublist(List,StartElem,Length,NewList). positive([],N1,N):-N is N1,!. positive([X|T],N1,N):-X>0,Nt is X+N1,positive(T,Nt,N). positive([X|T],N1,N):-positive(T,N1,N). separated([],Tpos,Tneg,T0):-write('Tpos ='),write(Tpos),write('Tneg ='),write(Tneg),write('T0 ='),write(T0),!. separated([X|T],Tpos,Tneg,T0):-X>0,separated(T,[X|Tpos],Tneg,T0). separated([X|T],Tpos,Tneg,T0):-X<0,separated(T,Tpos,[X|Tneg],T0). separated([X|T],Tpos,Tneg,T0):-separated(T,Tpos,Tneg,[X|T0]). concatthree([],[],[],L4):-reverse(L4,[],Lr),write(Lr),!. concatthree([],[],[X|L3],L4):-Ln=[X|L4],concatthree(L1,L2,L3,Ln). concatthree([],[X|L2],L3,L4):-Ln=[X|L4],concatthree(L1,L2,L3,Ln). concatthree([X|L1],L2,L3,L4):-Ln=[X|L4],concatthree(L1,L2,L3,Ln). |
Добавление элемента в список
Удаление элементов из списка
Конкатенация списков
Определение длины списка
Выделение подсписка
Индивидуальные задания:
Инверсия списка
Сумма положительных элементов списка
Выделить положительные, отрицательные и нулевые элементы списка
Конкатенация трех списков
Вывод: в ходе выполнения лабораторной работы № 4 я ознакомился со списками в языке Prolog и научился с ними работать.