Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ООП.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.29 Mб
Скачать

1.2. Структурное программирование

Структурный подход к разработке ИС заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и подзадачи. Структурное программирование основано на следующих принципах:

  • программирование должно осуществляться сверху-вниз;

  • весь проект должен быть разбит на модули с одним входом и одним выходом;

  • логика алгоритма и программы должна допускать только три основные структуры – последовательное выполнение, ветвление и повторение.

  • недопустим оператор передачи управления в любую точку программы;

  • при разработке документация должна создаваться одновременно с программированием, в виде комментариев к программе.

Цель структурного программирования - повышение надежности программ, обеспечение сопровождения и модификации, облегчение и ускорение разработки. Идеи структурного программирования появились в начале 70-годов в компании

IBM, в их разработке участвовали такие известные ученые как Э. Дейкстра, Х.Милс, Э. Кнут, С. Хоор.

1.3. Функциональное программирование

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

Каждый вызов возвращает некоторое значение в вызвавшую его функцию, вычисление которой после этого продолжается; этот процесс повторяется до тех пор, пока запустившая вычисления функция не вернет конечный результат пользователю.

"Чистое" функциональное программирование не признает присваиваний и передач управления. Разветвление вычислений основано на механизме обработки аргументов условного предложения. Повторные вычисления осуществляются через рекурсию, являющуюся основным средством функционального программирования

Первый функциональный язык программирования (Лисп) был разработан американским ученым Дж. Маккарти (J. McCarthy) в 1958-1961 гг. на основе алгебры списочных структур, лямбда-исчисления и теории рекурсивных функций. К настоящему времени созданы такие функциональные языки программирования как Scheme, Рефал, Haskell, Sisal.

1.4. Логическое программирование

Логическое (реляционное) программирование исходит из того, что компьютер должен уметь работать по логическим построениям, присущим человеку. Например, в логическом программировании разрешена конструкция типа "Определить фирму, имеющую самую высокую в городе среднюю зарплату сотрудников", которой достаточно, чтобы получить ответ.

Программа в таких языках представляет собой совокупность правил (определяющих отношения между объектами) и цели (запроса). Процесс выполнения программы трактуется как процесс установления общезначимости логической формулы по правилам, установленным семантикой того или иного языка. Результат вычислений является побочным продуктом процедуры вывода. Такой метод являет собой полную противоположность программирования на каком-либо из процедурных языков. В реляционном программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые необходимо выполнить.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]