# Списки

## Задача 1

Проверить вхождение элемента в список.

Напишем код:

```
member(X,[X|T]).
member(X,[H|T]) :- member(X,T).
ismaninlist(K) :- member(K, [maxim, nina, george, alex]).
```

Зададим вопрос системе.

```
ismaninlist(george).
```

## Задача 2

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

Напишем код:

```
printlist(X,[X|T]).
printlist(X,[H|T]) :- write(H), nl, printlist(X,T).
printlistfinal([X|T]) :- printlist(notexistselement,[X|T]).
```

Зададим вопрос системе.

```
printlistfinal([maxim, nina, george, alex, ann]).
```

## Задача 3

Вывести на экран длину списка.

Напишем код:

```
writeNumber(X) :- X_NEW is X, write(X_NEW).
a(L, COUNT) :- COUNT_NUMBER is COUNT, length(L, COUNT_NUMBER), writeNumber(COUNT); NEW_COUNT = COUNT + 1, a(L, NEW_COUNT).
arrlen(L) :- a(L, 0).
```

Зададим вопрос системе.

```
arrlen([maxim, nina, george]).
```
