Концепции современного программирования, Малов А.В., Родионов С.В., 2022.
В настоящее время развитие информационных технологий идет очень динамично. Постоянно появляются новые языки программирования, обновляются стандарты для существующих. В первой части данного курса представлен обзор существующих парадигм и языков программирования, рассматривается возможный подход к их структуризации, построению их иерархии. Анализируются особенности парадигм и языков программирования, области их применения. Вторая и третья части посвящены основам работы с языками Prolog и Common Lisp, базирующимися не на традиционной и наиболее распространенной императивной парадигме, а на логическом и функциональном подходах к программированию соответственно. Основное внимание уделяется анализу особенностей перечисленных языков, рассмотрению круга задач, для решения которых использование языков наиболее целесообразно, и иллюстрации их удобства при решении данных задач, в том числе задач в области искусственного интеллекта. Важной особенностью курса является то, что освещены не только достижения, но и проблемы, стоящие перед современной научной мыслью, решать которые предстоит будущим инженерам и исследователям.
Для студентов высших учебных заведений, обучающихся по IТ-направлениям.
Функциональное программирование.
Функциональное программирование — подход к программированию, который предполагает разработку программ, работающих через возвращаемые значения, а не изменения состояний памяти программы [4].
В функциональном программировании не используются ни переменные, ни операторы присваивания, в отличие от императивного программирования, в котором при вычислении выражений результат помещается в ячейку памяти, представленную переменной в программе. Это освобождает разработчика от необходимости работать с ячейками памяти и программировать на относительно низком уровне. В функциональных языках цикл обычно реализуется в виде рекурсии, так как отсутствие переменных делает невозможным использование итераций для циклов [5, 10].
В функциональном программировании результат выполнения функции при одних и тех же входных параметрах всегда один и тот же. В императивном программировании функции могут использовать не только входные параметры, но и внешние по отношению к функции переменные, поэтому результат выполнения функции при одних и тех же входных параметрах, но на разных этапах выполнения алгоритма, может быть разным. Перечисленные особенности облегчают восприятие программ на функциональных языках программирования по сравнению с программами на императивных языках.
Оглавление.
Введение.
Тема 1. Основные парадигмы программирования и их иерархия.
Тема 2. Декларативная парадигма программирования.
2.1. Функциональное программирование.
2.2. Логическое программирование.
2.3. Программирование потоком данных.
Тема 3. Императивная парадигма программирования.
3.1. Автоматное программирование.
3.2. Конкатенативное программирование.
3.3. Неструктурное программирование.
3.4. Структурное программирование.
3.4.1. Процедурное программирование.
3.4.2. Объектно-ориентированное программирование.
Тема 4. Парадигмы программирования уровня архитектуры программного обеспечения.
4.1. Событийно-ориентированное программирование.
4.2. Агентно-ориентированное программирование.
4.3. Компонентно-ориентированное программирование.
4.4. Параллельное программирование.
Тема 5. Прочие парадигмы программирования.
5.1. Метапрограммирование.
5.1.1. Обобщенное программирование.
5.1.2. Рефлексивно-ориентированное программирование.
5.2. Визуальное программирование.
Тема 6. Логическое программирование. Язык Пролог.
6.1. Основные конструкции.
6.1.1. Факты.
6.1.2. Правила.
6.1.3. Запросы (вопросы, цели).
6.1.4. Предикаты.
6.1.5. Переменные.
6.2. Основные секции программы.
6.3. Основные стандартные домены.
6.4. Интерпретация правил и правила вывода.
6.5. Выполнение логической программы.
6.6. Решение логических задач с использованием списков.
6.6.1. Рекурсивные программы.
6.6.2. Отсечение.
6.6.3. Списки.
6.6.4. Отрицание.
6.7. Приложения Пролога. Экспертные системы.
6.7.1. Две стратегии механизма логического вывода на множестве правил БЗ ЭС.
6.7.2. Сравнение прямой и обратной стратегий логического вывода.
Тема 7. Функциональное программирование. Язык COMMON LISP.
7.1. История создания и особенности языка COMMON LISP.
7.2. Типы и структуры данных.
7.3. Интерпретатор языка COMMON LISP и вычисление выражений.
7.4. Операции со списками и ячейки, операции со строками.
7.5. Функции сравнения и предикаты.
7.6. Базовая функциональность вывода.
7.7. Функции.
7.8. Управление и условные выражения.
7.9. Переменные и императивные свойства языка COMMON LISP.
7.10. Генерация кода в языке COMMON LISP.
7.11. Циклы и пример решения задачи на языке COMMON LISP.
7.12. Пример реализации символьных вычислений на языке COMMON LISP.
7.13. Упражнения.
Список литературы.
Купить .
Теги: учебник по программированию :: программирование :: Малов :: Родионов
Смотрите также учебники, книги и учебные материалы:
- Hello World, Сэнд У., Сэнд К., 2021
- gRPC, Запуск и эксплуатация облачных приложений, Go и Java для Docker и Kubernetes, Индрасири К., Курупу Д., 2021
- Data Mining, Извлечение информации из Facebook, Twitter, LinkedIn, Instagram, GitHub, Рассел М., Классен М., 2020
- Pandas в действии, Пасхавер Б., 2023
- Алгоритмизация и программирование, Трофимов В.В., Павловская Т.А., 2022
- Олимпиадные задачи по программированию, Руководство по подготовке к соревнованиям, Скиена С.С., Ревилла М.А., 2005
- Олимпиадное программирование, Лааксонен А., 2018
- MySQL по максимуму, Ботрос С., Тинли Д., 2023