Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВС_Заочникам / Lecture_4.pptx
Скачиваний:
23
Добавлен:
15.04.2015
Размер:
3.02 Mб
Скачать

Программы на Java (апплеты, дословно «приложеньица») выполняются в два этапа:

1) Сначала исходный текст компилятором переводится на промежуточный аппаратно-независимый язык.

В таком виде «полуфабрикат» программы (байт-код) хранится на интернет-сервере, откуда по запросу клиента пересылается ему по сети.

2) У клиента байт-код исполняется специальным интерпретатором - виртуальной Java-машиной,

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

будут во всех устройствах, подключаемых к Internet, - сетевых терминалах, сотовых телефонах, бытовых приборах. Тогда устройства будут взаимодействовать друг с другом, обеспечивая высокий уровень51 сервиса.

12) Lisp — инструмент функционального программирования

Lisp (LISt Processing — обработка списков)

еще один язык-«долгожитель», наряду с Фортраном и Коболом. Создан в 1960 г. Дж. Маккарти в МТИ на основе так называемого лямбда-исчисления, предложенного в 1930 г. математиком Алонзо Черчем.

Обрабатываемым объектом в языке является список, а программа на Лиспе — последовательность вызовов функций; нет ничего, кроме вызовов функций. Поэтому программирование на таком языке называется функциональным.

Вызов функции — это список вида

(<имя-функции> < аргумент-1> <аргумент- 2> ... <аргумент-n>) 52

Пример - программа вычисления среднего

арифметического чисел 8, 5, 13, 11, 10

Создается список L из 5 элементов, штрихи обозначают константы (здесь выражение в скобках есть сам список и его не нужно интерпретировать как вызов функции). Затем задается рекурсивное определение новой функции суммирования элементов списка (sum L) через примитивные функции:

cond — условная функция, проверяющая с помощью функции null пустоту списка; add — суммирование аргументов; car —

извлечение 1-го элемента из списка; cdr — извлечение остатка

списка (без 1-го элемента). Последняя строка вызывает функцию

53

деления (делимое - результат вызова функции (sum L)).

LISP

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

Легко реализуется на аппаратном уровне, например, специализированные Лисп-процессоры используются в системах искусственного интеллекта для военных применений (в частности,

всистемах самонаведения).

Несмотря на некоторую громоздкость, широко применяется в США как вычислительный язык, уступая по распространенности только Фортрану.

Вчастности, в САПР AutoCAD используется диалект Лиспа – AutoLisp и визуальная среда Visual

Lisp.

54

 

«Потомки» LISP

Пример программы на Scheme

55

Использование «потомков» LISP

Meep (или MEEP) – свободно распространяемый пакет для моделирования электромагнитных систем на основе FDTD-

методов; использует язык Scheme.

Пример – расчет в Meep изогнутого волновода

56

13) Prolog — «несбывшаяся мечта»

об ЭВМ V поколения

Язык Prolog (PROgramming for LOGic

программирование для логики) был создан в Европе в начале 1970-х годов. В отличие от всех предыдущих языков, включая Лисп, Пролог не является алгоритмическим языком, то есть он не описывает, как нужно получить результат. Он является декларативным языком, то есть показывает, что дано и что нужно получить.

Программа на Прологе состоит из фактов некоторой предметной области и правил. Интерпретирующая система сама делает логический

вывод -

применяет правила к фактам, используя

аппарат

математической логики.

57

Примеры программ на языке Prolog

Предметная область - родственные отношения между 5 членами семьи, описываемая фактами:

58

Примеры программ на языке Prolog

59

«Генеалогическое дерево» языков программирования высокого уровня

60

1960

1970

1980

1990

61

2000

Соседние файлы в папке ВВС_Заочникам