Cтраница 3
Интересно, что функции-элементы printMilitary и printStandard не получают никаких аргументов. Это происходит потому, что функции-элементы неявно знают, что они печатают данные-элементы определенного объекта типа Time, для которого они активизированы. Это делает вызовы функций-элементов более краткими, чем соответствующие вызовы функций в процедурном программировании. Это уменьшает также вероятность передачи неверных аргументов, неверных типов аргументов или неверного количества аргументов. [31]
Адаптация САПР к условиям конкретных предприятий может быть осуществлена с помощью языков расширения. Язык расширения - это язык программирования, позволяющий адаптировать и настраивать системную среду на выполнение новых проектов. Язык расширения должен обеспечивать доступ к различным компонентам системной среды, объединять возможности базового языка программирования и командного языка, включать средства процедурного программирования. Для большинства языков расширения базовым является Lisp или С. [32]
Предусматривается возможность адаптации САПР к конкретным условиям с помощью языков расширения. Язык расширения - язык программирования, позволяющий адаптировать и настраивать системную среду на выполнение новых проектов. Язык расширения должен обеспечивать доступ к различным компонентам системной среды, объединять возможности базового языка программирования и командного языка, включать средства процедурного программирования. Для большинства языков расширения базовыми являются Lisp или С. [33]
Можно спросить: Как одна книга может быть исчерпывающим пособием по такому огромному продукту. Это достигается двумя способами. Первый: здесь собраны новейшие технологии программирования ( C, программирование графического интерфейса, библиотека базовых классов MFC и мастера), что предполагает знакомство с базовыми понятиями языка С, процедурного программирования и библиотеки стандартных подпрограмм. Вместо обсуждения деталей каждого компонента, например, параметров, передаваемых в функцию, предлагается анализ основных компонентов и указываются названия разделов справочной системы для получения дополнительной информации. [34]
Логическое программирование появилось спустя 10 - 15 лет после изобретения систем продукций и имеет множество преимуществ. При необходимости можно использовать механизмы для реализации стандартных алгоритмов, которые применяются в других областах информатики. Кроме того, логическая программа может быть написана таким образом, что будут сразу ясны ее результаты. Для логического программирования Пролог подходит более, чем любой другой язык процедурного программирования типа Паскаля. Пролог позволяет вам концентрировать внимание именно на том, что делает программа. [35]
Эта книга предназначена для тех, кто изучает Пролог и искусственный интеллект. Предполагается, что читатель имеет общее представление о вычислительных машинах, но предварительные знания в области искусственного интеллекта необязательны. От читателя не требуется также какого-либо программистского опыта. Дело в том, что богатый программистский опыт вместе с приверженностью к традиционному процедурному программированию ( например, на Паскале) может стать помехой при изучении Пролога, требующего свежего программистского мышления. [36]