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

парадигмы и методологии программирования
План
Литература
Парадигмы программирования
Парадигмы программирования
Императивное программирование
Императивное программирование
Императивное программирование
Императивное программирование
Структурное программирование
Декларативное программирование
Декларативное программирование
Декларативные языки
Функциональное программирование
Функциональное программирование
Задачи, решаемые функциональным программированием
Логическое программирование
Логическое программирование
Задачи, решаемые логическим программированием
Объектно-ориентированное программирование
Понятия объектно-ориентированного программирования
Принципы объектно-ориентированного программирования
Суть метода «сверху вниз»
Рекурсивная функция
Остаточная процедура
Спасибо за внимание!
1/26
Средняя оценка: 4.1/5 (всего оценок: 66)
Код скопирован в буфер обмена
Скачать (678 Кб)
1

Первый слайд презентации: парадигмы и методологии программирования

О.Ю. Лягинова, М.Г. Можаева кафедра математики и информатики ЧГУ

Изображение слайда
2

Слайд 2: План

Понятие «парадигма программирования» Императивное программирование Декларативное программирование Объектно-ориентированное программирование Литература

Изображение слайда
3

Слайд 3: Литература

Немнюгин С.А. Turbo Pascal : Программирование на языке высокого уровня : учебник для вузов / С. А. Немнюгин - 2-е изд. - СПб. : Питер, 2007. - 543 c. Крылов Е.В. Техника разработки программ : учебник для вузов : В 2-х книгах. Кн.1 : Программирование на языке высокого уровня / Е. В. Крылов, В. А. Острейковский, Н. Г. Типикин ; Крылов Е.В., Острейковский В.А., Типикин Н.Г. - Москва : Высшая школа, 2007. - 376 c. Парфилова Н.И. Программирование. Структурирование программ и данных : учебник для студ. учреждений высш. проф. образования / Н.И. Парфилова, А.Н. Пылькин, Б.Г. Трусов ; под ред. Б.Г. Трусова. — М. : Издательский центр «Академия», 2012. — 240 с. — (Сер. Бакалавриат ). http://ru.wikibooks.org/wiki/ Основы_функционального_программирования / Вводная_лекция План

Изображение слайда
4

Слайд 4: Парадигмы программирования

Структура языка программирования и технология разработки программ определяются выбранной и положенной в основу этого языка парадигмой программирования. Парадигма (от греч. paradeigma — образец, пример для подражания) — схема/модель постановки проблем и их решения, методы исследования. Языки программирования классифицируют по поддерживаемым парадигмам программирования.

Изображение слайда
5

Слайд 5: Парадигмы программирования

Требует явно описывать действия и процесс изменения состояния исполнителя. Требует задать описание цели, а также понятия и факты, необходимые для её достижения. План

Изображение слайда
6

Слайд 6: Императивное программирование

Императивное программирование (от греч. imper — действие) предполагает, что программа явно описывает алгоритм решения конкретной задачи (действия исполнителя), т.е. описывает как решать поставленную задачу.

Изображение слайда
7

Слайд 7: Императивное программирование

В основе императивного программирования находятся два основных понятия:

Изображение слайда
8

Слайд 8: Императивное программирование

Изображение слайда
9

Слайд 9: Императивное программирование

Традиционная область применения алгоритмических языков – вычислительные задачи и обработка данных различного типа: арифметических; логических; символьных. Языки программирования высокого уровня, поддерживающие императивный стиль — это известные традиционные языки, например Паскаль, Бейсик, Си. Базовая технология программирования, положенная в их основу — структурное программирование.

Изображение слайда
10

Слайд 10: Структурное программирование

План

Изображение слайда
11

Слайд 11: Декларативное программирование

Декларативное программирование (от лат. declaratio — объявление) — это попытка сначала реализовать программу для решения целого класса задач — «решатель», тогда для решения конкретной задачи этого класса достаточно декларировать в терминах данного языка только её условие (исходные данные и необходимый вид результата), не описывая алгоритм решения, так чтобы «решатель» (интерпретатор) смог выполнить процесс получения результата, реализуя известный ему способ решения.

Изображение слайда
12

Слайд 12: Декларативное программирование

Языки, поддерживающие декларативный стиль программирования, позволяют описывать «что» должно быть решено, а «как» уже известно «решателю». Декларативная программа не содержит алгоритма.

Изображение слайда
13

Слайд 13: Декларативные языки

Наиболее известными декларативными языками являются: языки функционального программирования ( Lisp, Haskell ); язык логического программирования ( Prolog ); SQL (англ.  structured query language  — «язык структурированных запросов»).

Изображение слайда
14

Слайд 14: Функциональное программирование

Единственным действием функциональной программы является вызов функции. Функциональная программа представляет собой композицию вложенных друг в друга функций. Целью программы является вычисление значения исходной функции. Основной способ решения задач — рекурсия. Функциональное программирование — программирование в терминах композиции функций.

Изображение слайда
15

Слайд 15: Функциональное программирование

В функциональных языках программирования отсутствуют передача управления, оператор присваивания, ветвления и циклы, характерные для традиционных языков. Для представления программ и данных используется единая структура — символьное выражение, которое в памяти представляется в виде списка. Например, о пределение N- ого числ а Фибоначчи (1, 1, 2, 3, 5, 8, 13, …) на Haskell. fib 1 = 1 fib 2 = 1 fib n = fib (n – 2) + fib (n – 1)

Изображение слайда
16

Слайд 16: Задачи, решаемые функциональным программированием

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

Изображение слайда
17

Слайд 17: Логическое программирование

Логическая программа представляет собой описание некоторой предметной области/задачи с помощью набора фактов, логических утверждений/правил и предположения, нуждающегося в доказательстве. Решение поставленной задачи — получение новых знаний осуществляется в виде запроса, представляющего собой логическую формулу. Логическое программирование — программирование в терминах фактов и правил вывода, с использованием языка, основанного на формальных логических исчислениях.

Изображение слайда
18

Слайд 18: Логическое программирование

На языке Prolog описывается база данных, содержащая сведения об автомобилях: марка машины, год выпуска, цвет, цена. Программа позволяет строить запросы к базе. Predicates //утверждения об объекте car(string, integer, string, integer) Clauses //факты car( volvo, 1990, red, 1800). с ar ( toyota, 1988, black, 2000). car(ford, 1994, white, 3000). Goal   car(X, Y, _, _ ),  Y < 1992. //цель X = “volvo” Y = 1990 X = "toyota" Y = 1988

Изображение слайда
19

Слайд 19: Задачи, решаемые логическим программированием

задачи искусственного интеллекта; задачи технологии знаний; экспертные системы и др. План

Изображение слайда
20

Слайд 20: Объектно-ориентированное программирование

Объектно-ориентированные языки программирования могут быть отнесены к императивным языкам, т.к. их вычислительная модель имеет процедурный характер, при этом содержат значительную декларативную компоненту — описание классов.

Изображение слайда
21

Слайд 21: Понятия объектно-ориентированного программирования

Объектно-ориентированное программирование (ООП) — методология программирования, в которой основными являются понятия «класс» и «объект». Класс является описываемой на языке терминологии исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта. Объект  — это экземпляр класса.

Изображение слайда
22

Слайд 22: Принципы объектно-ориентированного программирования

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

Изображение слайда
23

Слайд 23: Суть метода «сверху вниз»

Сначала пишется текст основной программы, в которую вместо каждого логического фрагмента вставляется вызов подпрограммы, выполняющей данный фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что общая структура программы верна, подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается, когда не останется ни одной «заглушки», которая не была бы удалена.

Изображение слайда
24

Слайд 24: Рекурсивная функция

Рекурсивная функция (от лат.  recursio — возвращение) — это числовая функция числового аргумента, которая в своей записи содержит себя же. Факториал числа n (лат.  factorialis  — действующий, производящий, умножающий; обозначается n ! )  — произведение всех натуральных чисел от 1 до n включительно: Рекуррентная формула:

Изображение слайда
25

Слайд 25: Остаточная процедура

Изображение слайда
26

Последний слайд презентации: парадигмы и методологии программирования: Спасибо за внимание!

Выход

Изображение слайда