Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лекция_непроцедурные_яп

.pdf
Скачиваний:
5
Добавлен:
07.06.2023
Размер:
47.61 Кб
Скачать

Не-процедурные языки программирования

Не-процедурные языки более эффективны для написания программ по поиску больших объёмов данных, а так же когда невозможно точно описать процесс решения задачи.

К языкам не-процедурным относятся декларативные и объектно-ориентированные языки программирования.

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

Делятся декларативные языки на две группы:

1.логические (например, Prolog)

2.Функциональные (Lisp)

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

1.Факты, совокупность которых составляет

реляционную базу данных.

2. Правила, состоящие из заголовка и подцелей. Функциональное программирование основано на

формулировании задачи в качестве совокупности определённых функций. Здесь программа выглядит как

набор уравнений, которые определяют функции и значение.

Причём значения являются функциями от других значений.

Объектно-ориентированное программирование.

Данная методика появилась в конце 20 века, основное понятие здесь - объект. С помощью ООП создаётся окружение в виде большого кол-ва объектов, каждый из которых является независимым блоком. Блоки используют для решения задач, не вникая в принципы их внутреннего функционирования.

Наиболее популярным сегодня языком ООП является

C++.

По ориентации на класс задач

По ориентации на класс задач языки делятся на:

1.Универсальные - нацеленные на решение

широкого спектра задач (Python, C++, Delphi)

2.Специализированные - многие ЯП

разрабатывались для решения строго определённого круга задач, с учётом специфики конкретной области. (Экономика, WEB

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

для информационно-логических задач, для первоначального обучения основам ЯП, и.т.д.)

Соседние файлы в папке лабы