Язык Prolog урок 6. Ввод значений и их проверка

Цель урока: рассмотреть решение логических задач на языке пролог с использованием ввода значений и проверки введенных данных

Дальше — больше… Язык Prolog урок 6. Ввод значений и их проверка

Язык Prolog урок 5. Метод отсечения

Цель урока: рассмотреть решение логических задач на языке пролог с использованием метода отсечения и отката

Дальше — больше… Язык Prolog урок 5. Метод отсечения

Prolog урок 4. Цели с подцелями

Цель урока: рассмотреть примеры создания баз данных со сложными целями (цели с подцелями)

Дальше — больше… Prolog урок 4. Цели с подцелями

Prolog урок 3. Факты и правила, родственные отношения

Цель урока: изучение синтаксиса построения фактов и правил на языке prolog, рассмотрение примеров с использованием родственных отношений

Дальше — больше… Prolog урок 3. Факты и правила, родственные отношения

Prolog урок 1. Язык логического программирования Prolog

Цель урока: Знакомство с историей языка программирования Prolog, основы работы с компиляторами

Дальше — больше… Prolog урок 1. Язык логического программирования Prolog

Prolog урок 2. Базы фактов, цели и запросы

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

Дальше — больше… Prolog урок 2. Базы фактов, цели и запросы

Парадигма программирования — это совокупность методов, подходов, стратегий, идей и понятий, которая определяет стиль написания программ. В настоящее время парадигма часто включает набор инструментов программиста.

Обычно под программой понимается последовательность операторов  или команд, которые выполняются компьютером. Такое понимание соответствует императивному стилю программирования. При написании программы в императивном стиле, программист должен «объяснить» компьютеру, как нужно решать задачу, затем компьютер решает задачу по заданному алгоритму.

Другой стиль, противоположный императивному, — это декларативное программирование, в котором программа выглядит как последовательность утверждений, описывающих фрагмент предметной области или какую-либо ситуацию. Составляю программу в декларативном стиле, программист должен «объяснить» компьютеру, что нужно делать (решать).

Соответственно существуют декларативные языки программирования и императивные.

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

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

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

В результате получаем следующие преимущества декларативного  программирования:

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

Существует также классификация по  близости либо к машинному языку, либо к естественному человеческому мышлению. Языки низкого уровня ближе к машинному, тогда как высокого уровня — ближе к человеку. Согласно данной классификации декларативные языки  относятся к сверхвысокому (наивысшему) уровню, поскольку они наиболее близки к человеческому мышлению.

Декларативные или неалгоритмические языки в свою очередь делятся на  языки логического программирования и функционального. Язык логического программирования Prolog является наиболее ярким представителем своей области. В функциональном программировании наиболее известен Lisp.

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

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить