Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторна робота № 6
Тема: Списки. Операції над списками.
Завдання 1:
Сформувати список елементів деякого типу (наприклад, список пород собак, цілі числа) та виконати із ним наступні дії:
domains
dog_list=symbol*
predicates
dogs(dog_list)
print_list(dog_list)
find_it(symbol,dog_list)
append(dog_list,dog_list,dog_list)
delete(symbol,dog_list,dog_list)
dod_el(symbol,dog_list,dog_list)
pidsp(dog_list,dog_list)
show
show1
clauses
dogs(["pudel","lika","dog","hort"]).
print_list([]).
print_list([X|Y]):-write(X," "),nl,print_list(Y).
dod_el(X,L,[X|L]).
find_it(X,[X|_]):-write ("Tak, ",X," je v spusky"),!.
find_it(X,[]):-write("Ni, ",X," nema v spusky"),!.
find_it(X,[_|Y]):-find_it(X,Y).
append([],L,L).
append([N|L1],L2,[N|L3]):-append(L1,L2,L3).
delete(X,[X|Y1],Y1).
delete(X,[X1|Y1],[X1|Y2]):-X1<>X,delete(X,Y1,Y2).
pidsp(S,L):-append(L1,L2,L),append(S,L3,L2).
show:-dogs(X1),print_list(X1).
show1:-dogs(X1),print_list(X1),nl,
write("Vvedit element dlja poschyky:"),nl,
readln(S),find_it(S,X1),
append(["pudel","hoky"],X1,L),nl,
print_list(L),nl,
write("Vvedit element dlja vudalennja:"),nl,
readln(S1),delete(S1,L,L1),nl,
print_list(L1),
write("dodamo na pochatok spusky vivcharka"),
dod_el("vivcharka",L1,L2),nl,print_list(L2).
goal
show1.
Завдання 2 (вибирається за номером в журналі):