русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Декларативные и процедурные языки программирования


Дата добавления: 2014-09-29; просмотров: 1915; Нарушение авторских прав


Процедурные (ИМПЕРАТИВНЫЕ) языки программирования требуют полного описания последовательности шагов (команд), которые нужно предпринять, чтобы решить задачу . К ним относятся СИ, ПАСКАЛЬ, АССЕМБЛЕР.

ПРОЛОГ — язык ДЕКЛАРАТИВНЫЙ. Он базируется на естественных для человека логических принципах. Нужно уметь составить формальное описание задачи, используя понятия объектов различных типов и отношений между ними. Иными словами, нужно описать все ФАКТЫ (ИСТИННЫЕ УТВЕРЖДЕНИЯ) и ПРАВИЛА (позволяющие ВЫВЕСТИ из уже имеющихся истинных утверждений новые), описывающие данную ситуацию. Затем пользователь задает вопрос или, пользуясь терминологией Пролога, задает ЦЕЛЬ.

Далее Пролог пытается ДОКАЗАТЬ заданную цель, то есть вывести ее логическим путем из уже имеющихся фактов и правил. Этот логический вывод осуществляют ВСТРОЕННЫЕ УНИФИКАЦИОННЫЕ ПРОЦЕДУРЫ путем перебора имеющихся утверждений и попыток сопоставить их с доказываемой целью. В Прологе отсутствуют явные управляющие структуры типа IF...THEN...ELSE..., нет детального описания последовательности шагов. Все это — дело внутренних процедур. Иногда Пролог считают не языком программирования, а пользовательской оболочкой, позволяющей формулировать запросы к базе данных, записанной в Пролог — программе.

В связи с этим при использовании Пролога возникают две проблемы:

— эффективность программы (так как осуществляется перебор большого числа следствий из имеющихся правил);

— предсказуемость поведения программы (так как механизм логического вывода не программируется пошагово, а является скрытым внутренним механизмом).

Язык Turbo Prolog фирмы Borland является компромиссом между ПРОЛОГОМ в чистом виде и эффективным компилируемым языком. При грамотном программировании можно добиться большой эффективности выполнения. Особенно хорош Turbo Prolog для создания:

— систем управления динамическими базами данных;

— экспертных систем;

— программ с естественно-языковым интерфейсом.



<== предыдущая лекция | следующая лекция ==>
 | Пролог и логика предикатов. Внешние цели


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.035 сек.