Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Clauses





towns([«Петербург»,«Псков»,«Новгород»,«Ладога»,«Ямбург»]).

 

Реализация такой программы возможна при использовании, например, следующих внешних целей:

towns(All). или towns([X,_,_,Y,_]).

 

Список не имеет никаких предикатов для своей обработки. Для снятия этого неудобства введена единственная операция над элементами списка, называемая МЕТОДОМ СПИСКА НА ГОЛОВУ И ХВОСТ. При этом непустой список рассматривается как структура, состоящая из двух частей:

[Head|Tail].

 

Переменная Head (голова списка) это его первый элемент или фиксированное количество элементов, отделенных символом "|" (вертикальная черта). А переменная Tail (хвост) это список оставшихся элементов списка.

 

В таблице 4.1 приведены примеры деления списка на голову и

хвост. При этом видно, что хвост списка - всегда список, а

Таблица 4.1

голова - элемент списка, и разделение списка на голову и хвост не зависит от длины списка. Последовательное применение этого метода позволяет легко осуществлять различные операции над списками и написать практически любую программу по обработке любого мыслимого списка.

 

Как осуществляется сопоставление списков? Варианты результатов сопоставления представлены в таблице 4.2.

Таблица 4.2

 

Пример 4.2 показывает использование метода разделения списка для осуществления доступа к его элементам. В этом примере используется рекурсивное правило для реализации доступа к элементам списка. Если ввести цель

 

towns([«Петербург»,«Псков»,«Новгород»,«Ладога»,«Ямбург»]).

 

то в результате будет выведен на экран монитора список городов по одному на каждой строке.

 

/*Пример 4.2.*/







Дата добавления: 2015-10-19; просмотров: 332. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

Этапы творческого процесса в изобразительной деятельности По мнению многих авторов, возникновение творческого начала в детской художественной практике носит такой же поэтапный характер, как и процесс творчества у мастеров искусства...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

Этапы и алгоритм решения педагогической задачи Технология решения педагогической задачи, так же как и любая другая педагогическая технология должна соответствовать критериям концептуальности, системности, эффективности и воспроизводимости...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия