Сущность функционального (аппликативного) программирования определена А. П. Ершовым как «... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».
Первым таким языком был LISP(Лисп) (LISt Processing — обработка списков), созданный в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации. Существенная черта этого языка — унификация программных структур и структур данных: все выражения записываются в виде списков.
Логическое программирование
Новую область — логическое, или реляционное программирование, — открыло появление языка PROLOG (Пролог) (PROgramming in LOGic — программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Так, имеется свыше 15 различных его реализаций на ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта, рассматриваемых в данном учебном пособии.
Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами (в терминах условий или ограничений) и цели (запроса).
Объектно-ориентированное программирование
К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.
Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее — C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.
Принципиальной разницей между Java и C++ является то, что первый из них является интерпретируемым, а второй – компилируемым. Синтаксис языков практически полностью совпадает.
Контрольные вопросы
1. Информатика. Информация. Состав вычислительной системы. Архитектура вычислительных машин. Единицы измерения информации. |
2. Что такое информация, сигнал, сообщение, данные? Дайте определение. Назовите основные формы представления информации. 3. Что такое количество информации, в каких единицах оно измеряется? Дайте общую характеристику процессов сбора, обработки и передачи информации. 4. Устройство ПК. Назначение устройств. Характеристики устройств. |
5. Программное обеспечение. Уровни программного обеспечения. Понятие и виды интерфейса. Операционные системы(назначение и функции ОС). |
6. Организация файловой системы. Файлы. Способы именования файлов. Атрибуты файлов. Шаблон имен файлов. |
7. Организация файловой системы. Каталоги (корневой, вложенный, текущий). Полное имя файлов. |
8. Операционные системы(назначение и функции ОС). ОС Windows. Возможности и отличия от MS DOS. |
9. Возможности текстового процессора Word. Структурные элементы документа. Порядок создания документа. Режимы отображения документа в Word. |
10. Этапы решения задач на ЭВМ. Понятие, свойства, способы описания алгоритма. Виды алгоритмов. |
11. Устройство ПК. Основные и дополнительные устройства ПК. Их назначение и характеристики. |
12. Возможности текстового процессора Word. Операции с файлами при работе в Word. Форматирование документа. |
13. ОС Windows. Работа в Windows. Элементы интерфейса Windows. |