🗊Презентация Парадигмы программирования

Нажмите для полного просмотра!
Парадигмы программирования, слайд №1Парадигмы программирования, слайд №2Парадигмы программирования, слайд №3Парадигмы программирования, слайд №4Парадигмы программирования, слайд №5Парадигмы программирования, слайд №6Парадигмы программирования, слайд №7Парадигмы программирования, слайд №8Парадигмы программирования, слайд №9Парадигмы программирования, слайд №10Парадигмы программирования, слайд №11Парадигмы программирования, слайд №12Парадигмы программирования, слайд №13Парадигмы программирования, слайд №14Парадигмы программирования, слайд №15Парадигмы программирования, слайд №16Парадигмы программирования, слайд №17

Содержание

Вы можете ознакомиться и скачать презентацию на тему Парадигмы программирования. Доклад-сообщение содержит 17 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ЛЕКЦИЯ №1
ПАРАДИГМЫ
ПРОГРАММИРОВАНИЯ

доц. Песчаненко В.С.
Херсонский государственный университет
Кафедра информатики
Научно-исследовательский институт информационных технологий
Лаборатория по разработке и внедрению педагогических программных средств
2010
Описание слайда:
ЛЕКЦИЯ №1 ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ доц. Песчаненко В.С. Херсонский государственный университет Кафедра информатики Научно-исследовательский институт информационных технологий Лаборатория по разработке и внедрению педагогических программных средств 2010

Слайд 2





ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ
Все они - всего лишь различные инструменты.
Каждый из этих инструментов по-своему хорош.
Различные методики программирования дают разный выигрыш для решения задач разных классов:
1. эффективность программного обеспечения на современных ЭВМ
2. общие затраты на разработку программного обеспечения
Описание слайда:
ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ Все они - всего лишь различные инструменты. Каждый из этих инструментов по-своему хорош. Различные методики программирования дают разный выигрыш для решения задач разных классов: 1. эффективность программного обеспечения на современных ЭВМ 2. общие затраты на разработку программного обеспечения

Слайд 3





ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ
Императивное программирование
Паралелизм. Паралельное и событийно-управляемое программирование
Объектно-ориентированное программирование
Функциональное программирование
Логическое программирование
Констрэйтное программирование
Алгебраическое программирование
Инсерционное моделирование
и другие (WiKi Programming paradigms)
Описание слайда:
ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ Императивное программирование Паралелизм. Паралельное и событийно-управляемое программирование Объектно-ориентированное программирование Функциональное программирование Логическое программирование Констрэйтное программирование Алгебраическое программирование Инсерционное моделирование и другие (WiKi Programming paradigms)

Слайд 4





ИМПЕРАТИВНОЕ ПРОГРАММИРОВАНИЕ
Императивное программирование выигрывает любой другой методологии в эффективности реализации. Причина: аппаратная организация ПК.
Стоит ли говорить о том, почему императивное программирование - практически наиболее "популярное"?
Одна из характерных черт императивного программирования - наличие переменных с операцией "разрушающего присвоения«
Про наш мир можно сказать, что он локально императивен. 
Императивное программирование наиболее пригодно для реализации небольших подзадач, где очень важна скорость исполнения на современных компьютерах (+работа с внешними устройствами).
Описание слайда:
ИМПЕРАТИВНОЕ ПРОГРАММИРОВАНИЕ Императивное программирование выигрывает любой другой методологии в эффективности реализации. Причина: аппаратная организация ПК. Стоит ли говорить о том, почему императивное программирование - практически наиболее "популярное"? Одна из характерных черт императивного программирования - наличие переменных с операцией "разрушающего присвоения« Про наш мир можно сказать, что он локально императивен. Императивное программирование наиболее пригодно для реализации небольших подзадач, где очень важна скорость исполнения на современных компьютерах (+работа с внешними устройствами).

Слайд 5





ПАРАЛЛЕЛИЗМ
Параллелизм можно мысленно разбить на два уровня: параллелизм уровня микроопераций и параллелизм уровня процессов
Микропроцессоры максимально используют в своей архитектуре возможности параллельного исполнения отдельных операций
Процессы - это абстракция достаточно высокого уровня.  Они могут работать параллельно, и могут обмениваться между собой результатами своих вычислений через "каналы связи«
В системе параллельных процессов каждый отдельный процесс обрабатывает события. События могут быть как общими для всей системы, так и индивидуальными для одного или нескольких процессов-событийно-управляемое программирование .
Описание слайда:
ПАРАЛЛЕЛИЗМ Параллелизм можно мысленно разбить на два уровня: параллелизм уровня микроопераций и параллелизм уровня процессов Микропроцессоры максимально используют в своей архитектуре возможности параллельного исполнения отдельных операций Процессы - это абстракция достаточно высокого уровня. Они могут работать параллельно, и могут обмениваться между собой результатами своих вычислений через "каналы связи« В системе параллельных процессов каждый отдельный процесс обрабатывает события. События могут быть как общими для всей системы, так и индивидуальными для одного или нескольких процессов-событийно-управляемое программирование .

Слайд 6





ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Объектно-ориентированное программирование появилось из недр событийно-управляемого программирования и затмило его, так как оказалось значительно более мощным и универсальным средством программирования и проектирования.
Основные понятия: объект, метод, класс, метокласс, инкапсуляция, абстракция, полиморфизм, наследование.
Описание слайда:
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ Объектно-ориентированное программирование появилось из недр событийно-управляемого программирования и затмило его, так как оказалось значительно более мощным и универсальным средством программирования и проектирования. Основные понятия: объект, метод, класс, метокласс, инкапсуляция, абстракция, полиморфизм, наследование.

Слайд 7





ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Функциональное программирование представляет из себя одну из альтернатив императивному подходу.
В императивном программировании алгоритмы - это описания последовательно исполняемых   операций. Здесь существует понятие "текущего шага исполнения" (то есть, времени), и "текущего состояния", которое меняется с течением этого времени. 
Программы являются выражениями, исполнение программ заключается в вычислении этих выражений. 
Императивное программирование основано на машине Тьюринга-Поста - абстрактном вычислительном устройстве, предложенном на заре алгоритмической эры для описания алгоритмов.
Функциональное программирование основано на более естественном с математической точки зрения формализме - лямбда-исчислении Черча.
Описание слайда:
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ Функциональное программирование представляет из себя одну из альтернатив императивному подходу. В императивном программировании алгоритмы - это описания последовательно исполняемых   операций. Здесь существует понятие "текущего шага исполнения" (то есть, времени), и "текущего состояния", которое меняется с течением этого времени. Программы являются выражениями, исполнение программ заключается в вычислении этих выражений. Императивное программирование основано на машине Тьюринга-Поста - абстрактном вычислительном устройстве, предложенном на заре алгоритмической эры для описания алгоритмов. Функциональное программирование основано на более естественном с математической точки зрения формализме - лямбда-исчислении Черча.

Слайд 8





СВОЙСТВА ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ
1.) Аппликативность: программа есть выражение, составленное из применения функций к аргументам.
2.) Настраиваемость: так как не только программа, но и любой программный объект (в идеале) является выражением, можно легко порождать новые программные объекты по образцу, как значения соответствующих выражений (применение порождающей функции к параметрам образца).
Описание слайда:
СВОЙСТВА ФУНКЦИОНАЛЬНОГО ПРОГРАММИРОВАНИЯ 1.) Аппликативность: программа есть выражение, составленное из применения функций к аргументам. 2.) Настраиваемость: так как не только программа, но и любой программный объект (в идеале) является выражением, можно легко порождать новые программные объекты по образцу, как значения соответствующих выражений (применение порождающей функции к параметрам образца).

Слайд 9





ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Функциональное программирование, как и другие модели "неимперативного" программирования, обычно применяется для решения задач, которые трудно сформулировать в терминах последовательных операций. \
Практически все задачи, связанные с искусственным интеллектом, попадают в эту категорию: 
1) задачи распознавания образов,
2) общение с пользователем на естественном языке, 
3) реализацию экспертных систем, 
4) автоматизированное доказательство теорем, 
5) символьные вычисления.
Описание слайда:
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ Функциональное программирование, как и другие модели "неимперативного" программирования, обычно применяется для решения задач, которые трудно сформулировать в терминах последовательных операций. \ Практически все задачи, связанные с искусственным интеллектом, попадают в эту категорию: 1) задачи распознавания образов, 2) общение с пользователем на естественном языке, 3) реализацию экспертных систем, 4) автоматизированное доказательство теорем, 5) символьные вычисления.

Слайд 10





ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
В функциональном программировании программы - это выражения, и их исполнение заключается в вычислении их значения. 
В логическом программировании программа представляет из себя некоторую теорию (описанную на достаточно ограниченном языке), и утверждение, которое нужно доказать. 
В доказательстве этого утверждения и будет заключаться исполнение программы.
Понятия: факты, аксиомы. 
Использования алгоритмов унификации и метод резолюции.
Описание слайда:
ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В функциональном программировании программы - это выражения, и их исполнение заключается в вычислении их значения. В логическом программировании программа представляет из себя некоторую теорию (описанную на достаточно ограниченном языке), и утверждение, которое нужно доказать. В доказательстве этого утверждения и будет заключаться исполнение программы. Понятия: факты, аксиомы. Использования алгоритмов унификации и метод резолюции.

Слайд 11





ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Унификация - это сопоставление двух произвольных термов, содержащих переменные, с целью определения того, можно ли присвоить этим переменным такие значения, чтобы получились два одинаковых терма. 
Например, унификация термов f(X, 2) и f(1, Y), где X, Y - переменные, выдаст подстановку: X=1, Y=2.
Метод резолюций заключается в последовательном доказательстве отдельных утверждений, входящих в посылку дизъюнкта Хорна, для доказательства его следствия. То есть, применение метода резолюций к правилу a :- b, c. и утверждению a приведет к последовательному доказательству утверждений b и c.
 Метод резолюций имеет прямой аналог в обычной логике высказываний - правило modus ponens, по которому (A & A=>B) => B.
Описание слайда:
ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Унификация - это сопоставление двух произвольных термов, содержащих переменные, с целью определения того, можно ли присвоить этим переменным такие значения, чтобы получились два одинаковых терма. Например, унификация термов f(X, 2) и f(1, Y), где X, Y - переменные, выдаст подстановку: X=1, Y=2. Метод резолюций заключается в последовательном доказательстве отдельных утверждений, входящих в посылку дизъюнкта Хорна, для доказательства его следствия. То есть, применение метода резолюций к правилу a :- b, c. и утверждению a приведет к последовательному доказательству утверждений b и c. Метод резолюций имеет прямой аналог в обычной логике высказываний - правило modus ponens, по которому (A & A=>B) => B.

Слайд 12





ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Логическое программирование допускает естественную параллельную реализацию. В примере a :- b, c. порядок согласования целей b и c не имеет значения, поэтому их можно доказывать параллельно. 
Говорят, что процессы доказательства b и с образуют И-систему процессов: И-система успешно доказывается, если каждый процесс, входящий в систему, успешен.
Описание слайда:
ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Логическое программирование допускает естественную параллельную реализацию. В примере a :- b, c. порядок согласования целей b и c не имеет значения, поэтому их можно доказывать параллельно. Говорят, что процессы доказательства b и с образуют И-систему процессов: И-система успешно доказывается, если каждый процесс, входящий в систему, успешен.

Слайд 13





АЛГЕБРАИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Основано на переписывании, расширяет функциональное программирование и имеет широкое применение в решении задач компьютерной алгебры (алгоритм Кнута-Бэндикса, Бухбергера), операционной семантике языков программирования(выполнимость алгебраических спецификаций программных компонент, определение семантики языков программирования, разработка интерпретаторов, прототипирование программных компонент)
Описание слайда:
АЛГЕБРАИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Основано на переписывании, расширяет функциональное программирование и имеет широкое применение в решении задач компьютерной алгебры (алгоритм Кнута-Бэндикса, Бухбергера), операционной семантике языков программирования(выполнимость алгебраических спецификаций программных компонент, определение семантики языков программирования, разработка интерпретаторов, прототипирование программных компонент)

Слайд 14





КОНСТРЭЙТНОЕ ПРОГРАММИРОВАНИЕ
Констрэйтное программирование  (WiKi Constraint programming) – это парадигма программирования в котором отношение между переменными формулируется в виде ограничений. Эти ограничения отличаются от общих примитивов в императивных языках поскольку они не определяют шаг или последовательность шагов выполнения, но уточняют свойство решения, которое необходимо найти.
Описание слайда:
КОНСТРЭЙТНОЕ ПРОГРАММИРОВАНИЕ Констрэйтное программирование (WiKi Constraint programming) – это парадигма программирования в котором отношение между переменными формулируется в виде ограничений. Эти ограничения отличаются от общих примитивов в императивных языках поскольку они не определяют шаг или последовательность шагов выполнения, но уточняют свойство решения, которое необходимо найти.

Слайд 15





АЛГЕБРАИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
APS интегрирует четыре основные парадигмы
программирования таким образом, что основная часть программы может быть написана в виде
систем переписывания, 
императивное и функциональное программирование используются для определения стратегий, 
логическая парадигма реализуется на базе переписывания, использующего встроенную процедуру унификации.
Описание слайда:
АЛГЕБРАИЧЕСКОЕ ПРОГРАММИРОВАНИЕ APS интегрирует четыре основные парадигмы программирования таким образом, что основная часть программы может быть написана в виде систем переписывания, императивное и функциональное программирование используются для определения стратегий, логическая парадигма реализуется на базе переписывания, использующего встроенную процедуру унификации.

Слайд 16





ИНСЕРЦИОННОЕ МОДЕЛИРОВАНИЕ
Инсерционное моделирование  – это моделирование на базе модели поведения агентов в средах. 
В основе модели лежит понятие размеченной транзиционной системы, т.е. системы, определенной так же, как и автомат,  ножеством состояний и множеством переходов (пары состояний), размеченных действиями или событиями. 
Формально понятие транзиционной системы совпадает с понятием недетерминированного частично определенного автомата, однако, в отличие от теории автоматов отношение эквивалентности транзиционных систем более сильное.
Описание слайда:
ИНСЕРЦИОННОЕ МОДЕЛИРОВАНИЕ Инсерционное моделирование – это моделирование на базе модели поведения агентов в средах. В основе модели лежит понятие размеченной транзиционной системы, т.е. системы, определенной так же, как и автомат, ножеством состояний и множеством переходов (пары состояний), размеченных действиями или событиями. Формально понятие транзиционной системы совпадает с понятием недетерминированного частично определенного автомата, однако, в отличие от теории автоматов отношение эквивалентности транзиционных систем более сильное.

Слайд 17





ЗАКЛЮЧЕНИЕ
Каждая из парадигм интересна и сама по себе. 
Наиболее "полезно" для практики использовать их в совокупности, что позволяют современные языки программирования (как например, Си++ по сути, позволяет использовать императивное, фунциональное (хотя бы на уровне аппликативности) и объектно-ориентированное программирование, а с расширением, обеспечивающим параллелизм - и параллельное).
Алгебраическое программирование и инсерционное моделирование – одно из наиболее мощных средств разработки прикладных программ.
Описание слайда:
ЗАКЛЮЧЕНИЕ Каждая из парадигм интересна и сама по себе. Наиболее "полезно" для практики использовать их в совокупности, что позволяют современные языки программирования (как например, Си++ по сути, позволяет использовать императивное, фунциональное (хотя бы на уровне аппликативности) и объектно-ориентированное программирование, а с расширением, обеспечивающим параллелизм - и параллельное). Алгебраическое программирование и инсерционное моделирование – одно из наиболее мощных средств разработки прикладных программ.



Похожие презентации
Mypresentation.ru
Загрузить презентацию