Работа со списками в Прологе

Язык Пролог является представителем семейства языков логического программирования и обладает существенными особенностями:

• программа на Прологе не является алгоритмом, а представляет собой запись условия задачи на языке формальной логики (т.е. это дескриптивный, описательный язык программирования);

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

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

Язык Пролог – это logic programming language (язык логического программирования) или programming in logic (программирование в терминах логики). Язык Пролог описывает не процедуру решения задачи, а логическую модель предметной области задачи – некоторые факты (свойства) относительно объектов предметной области (объектов, относительно которых поставлена задача) и отношения между этими объектами (свойствами), а также правила вывода новых свойств и отношений из уже заданных.

Пролог разработан в начале 70-х годов 20-го века во Франции в Марсельском университете группой специалистов во главе с Алэном Колмероэ. Появление языка связано с работами в области создания искусственного интеллекта. Идея использовать понятийную систему математической логики в языках программирования возникла впервые в начале 70-х годов.

Ценность Пролога в возможности использования его как сложного и тонкого инструмента для разработки высокоспециализированных систем искусственного интеллекта. В Японии язык Пролог является главенствующим языком для создания систем искусственного интеллекта.

Программирование на Прологе включает в себя следующие этапы:

объявление фактов об объектах и отношениях между ними;

определение правил взаимосвязи объектов и отношений между ними;

формулирование вопросов об объектах и отношениях между ними.

На практике часто встречаются задачи, связанные с перечислением объектов. В некоторых случаях при решении задач важно сохранять информацию об уже сделанных шагах решения, чтобы их не повторять. Для решения таких задач в языке Пролог предусмотрены списки.

Список можно задать перечислением элементов. Например, имена учеников класса: [саша,петя,дима,ксюша,лена].

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

Альтернативный способ задания списка использует понятия головы и хвоста списка.

Например, в списке [X | Y] Х - это голова списка. Y - его хвост.

Хвост списка по определению также является списком.

Теперь список может быть определен рекурсивно:

1) пустой список [] - список:

2) [X | Y] - список, если Y - список.

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

1) из факта, ограничивающего рекурсию и описывающего операцию для пустого списка;

← Предыдущая
Страница 1
Следующая →

В информатике совокупность взаимосвязанных данных называется информационной структурой. Компьютерные сети. Языки программирования. Язык разметки HTML. ЭВМ. Информационная система

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Эта тема принадлежит разделу:

Информатика. Шпоры

В информатике совокупность взаимосвязанных данных называется информационной структурой. Компьютерные сети. Языки программирования. Язык разметки HTML. ЭВМ. Информационная система

К данному материалу относятся разделы:

Табличные процессоры

Реляционные БД. Правила Кодда. Аномалии. Нормальные формы

Правил Кодда

Компьютерные сети

Базы данных. Классификация. Архитектура

Парадигмы программирования. Языки программирования. Системы программирования

Язык разметки HTML. Web-страницы. Создание

История развития ВТ

Поколения ЭВМ

Программное обеспечение ЭВМ

Информационная система (ИС)

SQL. Команды определения данных

Язык программирования Delphi

Основные принципы функционирования ЭВМ. Основные структурные элементы современного компьютера. Функции и характеристики

Динамическое программирование

SQL. Команды управления данными

Методы сортировки и поиска. Алгоритмы и программы

Симплекс-метод

Язык JAVA-Script

Исследование операций

Кодирование информации

Компьютерное моделирование в экологии

Машинно-ориентированные языки программирования. Арифметические команды и команды условного перехода в ассемблере

Компьютерное моделирование физических процессов

Массивы в ООП-языках. Примеры использования

Рекурсивно-логическое программирование. Пролог. Основные принципы работы с базами знаний

Работа со списками в Прологе

Основные концепции ООП

Похожие материалы:

Полное житие преподобного Алексия, человека Божия

В Риме, в царствование Аркадия и Гонория, жил благочестивый человек по имени Евфимиан: он был весьма знатный и богатый вельможа, так что даже слуги его, число которых доходило до трех тысяч, носили шелковые одежды, но при всем этом он не был вполне счастлив, так как, по причине неплодства жены своей, не имел детей.

Організаційно-педагогічні засади оцінювання управлінської діяльності керівників загальноосвітніх навчальних закладів

Автореферат кваліфікаційної роботи. Актуальність дослідження зумовлена необхідністю подальшого розвитку теорії і практики управління загальноосвітніми навчальними закладами (ЗНЗ) у контексті завдань, які поставлені перед загальною середньою освітою (ЗСО) законами України “Про освіту”, “Про загальну середню освіту”, Національною доктриною розвитку освіти, іншими нормативно-правовими документами.

Информационно-коммуникационные процессы в сфере политики

Понятия политической рекламы и политического рынка. Политическая реклама в системе политического маркетинга

Добровольное исполнение требований исполнительного документа. Правовые последствия неисполнения в срок для добровольного исполнения.

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

Детская эндокринология. Задачи с ответами

Ответы на задачи по детской эндокринологии. Поставьте предварительный диагноз. Составьте план обследования. Укажите основные принципы лечения. Предварительный диагноз. План обследования и лечение.