Основные модели программирования

  • Императивное программирование — это парадигма, основанная на составлении алгоритма действий (инструкций/команд), которые изменяют состояние (информацию/данные/память) программы. Первыми языками программирования, основанными на таком подходе, были машинные коды и ассемблеры.
  • Декларативное программирование — это парадигма программирования, в которой задаётся спецификация решения задачи: описывается, что представляет собой проблема и ожидаемый результат, но без описания способа достижения этого результата. При создании HTML мы с помощью тегов описываем, какую хотим получить страничку в браузере, а не то, как нарисовать на экране заголовок статьи, оглавление и текст.
  • Структурное программирование — делает текст программы более понятным – алгоритм решения ясновиден из исходного текста. Согласно принципу модульности программа разбивается на отдельные смысловые части (модули). Модуль – это функционально законченная часть программы. Например, модуль вычисления определителя матрицы; модуль нахождения суммы элементов ряда. Каждый модуль программируется отдельно, а затем модули объединяются в единую программу.
  • Функциональное программирование — Смысл в том, что мы задаём не последовательность нужных нам команд, а описываем взаимодействие между ними и подпрограммами. В нём весь код — это правила работы с данными. Вы просто задаёте нужные правила, а код сам разбирается, как их применять. Команды можно собирать в подпрограммы, но их последовательность не имеет значения.
  • Логическое программирование — парадигма программирования, а также раздел дискретной математики изучающий методы и возможности этой парадигмы, основанная на выводе новых фактов из данных фактов согласно заданным логическим правилам. ´Логическое программирование возникло как упрощение функционального программирования для математиков и лингвистов, решающих задачи символьной обработки.
  • Объектно-ориентированное программирование — Суть ООП заключается в том, чтобы представить программу в виде объектов, которые каким-то образом взаимодействуют друг с другом. Объект — это экземпляр какого-то класса. Класс — это шаблон, в котором описаны все свойства будущего объекта и его методы.
  • Компонентно-ориентированное программирование —
  • Прототипно-ориентированное программирование — стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а наследование производится путём клонирования существующего экземпляра объекта — прототипа. Каноническим примером прототип-ориентированного языка является язык Self.

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

СВОЙСТВА АЛГОРИТМОВ

  • Дискретность.
  • Понятность (определенность).
  • Однозначность (детерминированность).
  • Массовость
  • Результативность (конечность).
  • Правильность.

Виды алгоритмов

  • Линейный – все действия выполняются в строгой последовательности(приготовление пирога)
  • Разветвляющийся – действия выполняются в зависимости от выполнения или не выполнения условия(переход улицы по светофору)
  • Циклический – содержит повторяющиеся действия(колоть дрова)

Условные графические обозначения символов