На этом шаге мы рассмотрим как происходит вывод элементов очереди .
Пусть write_ochered (L, N) - предикат, реализующий вывод списка L. N - переменная, с помощью которой определим, пуст ли список. Предикат, выполняющий вывод списка, выглядит следующим образом:
write_ochered ([], 0):- write ("Очередь пустая!!!"). write_ochered ([], 1):-!. write_ochered ([H|T], _):- write (H, " "), write_ochered (T, 1).
Первое предложение является граничным условием: необходимо прекратить вывод в том случае, когда список уже пуст.
Второе предложение осуществляет вывод головы списка и рекурсивный вызов предиката, выводящего хвост списка. Если второй аргумент 0 - очередь пустая, 1 - не пустая.
На следующем шаге мы приведем основные понятия о стеке.