Сучасні проблеми інформатики Лекція 5 Парадигми програмування
2 Парадигмы программирования Основные –Императивное –Функциональное –Алгебраическое –Логическое Высшие –Параллельное –Объектно-ориентированное –Агентное Инсерционное программирование объединяет все –Кибернетика, 1(1994), 1(2003)
3 Императивное программирование Структурные программы Программы с goto Программы с рекурсивными вызовами –Функциональное программирование Программы с вводом-выводом –Взаимодействие со средой –Параллельное программирование Интеграция основных парадигм в императивное
4 Структурные программы Базовые операторы –Именующие выражения –Алгебраические выражения (арифметические, булевские, …) –Вызовы программ (функций) –Типы данных, многосортные алгебраические системы Основные композиции Денотационная семантика (что) Операционная семантика (как)
5 Денотационная семантика R – множество имен D – область значений состояния памяти смысл программы значение алгебраического выражения значение именующего выражения значение условия
6 Рекурсивное определение [[P]]
7 Операционная семантика Вычислительная система S для операционной семантики императивных программ
8 Теоремы 1. Система S детерминирована P(s) определено Индукция по длине программы и числу повторений while – циклов Индукция по длине истории Лемма 1. Лемма 2. определено