Кафедра информационных
и коммуникационных технологий РГПУ им.А.И.Герцена |
|||||||||
Главная | Информатика | ||||||||
|
6. Понятие алгоритмического (модульного), структурного, объектно-ориентированного программирования.Программирование: Алгоритмическое или процедурное Структурное Объектно-ориентированное а) Алгоритмическое программирование Основная идея алгоритмического программирования – разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько действий. При этом выполнение модуля всегда начинается с первой команды и заканчивается самой последней, чтобы нельзя было попасть на команды модуля извне и передать управление из модуля на другие команды минуя заключительную. Алгоритм на выбранном языке записывается с помощью команд описания данных, вычисления значений и управления последовательностью выполнения программы. Текст программы представляет собой линейную последовательность операторов. Используется для решения не сложных задач, когда программа состоит из нескольких сот строк кода. b ) Структурное программирование При создании средних по размеру приложений (несколько тысяч строк исходного кода) используется структурное программирование. Его идея заключается в том, что структура программы должна содержать структуру решаемой задачи, чтобы алгоритм решения был явно виден из исходного текста. В качестве средства создания программы используется подпрограмма – набор операторов, выполняющих нужное действие и не зависящих от других частей исходного кода. Программа разбивается на множество мелких подпрограмм (занимающих до 50 операторов – критический порог для быстрого понимания цели программы), каждая из которых выполняет одно из действий, предусмотренных исходным заданием. Комбинируя эти программы, удается формировать итоговый алгоритм уже не из простых операторов, а из законченных блоков кода, имеющих определенную смысловую нагрузку, причем обращаться к таким блокам можно по названиям. Получается, что подпрограммы – это новые операторы или операции языка, определяемые программистом. Подпрограммы бывают двух видов процедуры и функции. Процедура просто выполняет группу операторов. Функция - выполняет группу операторов, вычисляет некоторое значение и передает его обратно в главную программу. При этом значение имеет определенный тип. Возможность использования подпрограмм относит язык программирования к классу процедурных языков. Наличие подпрограмм позволяет вести проектирование и разработку приложения сверху вниз – такой подход называется нисходящим проектированием . При этом задача разбивается на большое число мелких подзадач, каждая из которых решается своей процедурой или функцией (декомпозиция задачи). При этом проектирование программы идет по принципу сверху вниз: сначала определяются необходимые для решения про граммы модули, их входы и выходы, а затем уже эти модули разрабатываются. Такой под ход вместе с локальными именами переменных позволяет разрабатывать проект силами большого числа программистов. Подпрограммы могут быть вложенными , если она вызывается не только из главной программы, но и из любых подпрограмм. Допускается вызов подпрограммы из самой себя – такой прием называется рекурсией . Структура подпрограммы: заголовок с параметрами, тело подпрограммы (операторы, которые будут выполняться при ее вызове), завершение подпрограммы. Параметры, которые указываются в заголовке программы, могут быть формальными , которые нужны только для описания тела программы; фактическими - конкретные значения, которые указываются в момент вызова подпрограммы.
как доказал Э. Дейкстра, любой алгоритм можно реализовать, используя лишь три управ ляющие конструкции: последовательное выполнение, ветвление цикл Не должно быть безусловных переходов! Правила композиции, используемые при структурном подходе к составлению алгоритмов: а) альтернативный выбор б) цикл с) подпрограмма с) Объектно-ориентированный подход к программированию - это подход к разра ботке программного обеспечения, основанный на объектах. Реальные объекты окружающего мира обладают тремя базовыми характеристиками: они имеют набор свойств, способны разными методами изменять эти свойства и реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта. Объект – совокупность свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта. Класс – новый тип, совокупность объектов имеющих идентичную структуру, отличающихся только значениями. Каждый конкретный объект называют экземпляром класса . Описание нового класса похоже на описание новой структуры данных, только к полям (свойствам) добавляются методы – подпрограммы. Важнейшая характеристика класса – возможность создания на его основе новых классов с наследованием всех свойств и методов добавления собственных. Класс, не имеющий предшественника, называют базовым. Например, класс «животные» имеет свойства «название», «размер», методы «идти», «размножаться». Созданный на его основе класс «кошка» наследует все его свойства и методы, к которым дополнительно добавляется свойство «окраска» и метод «пить». Свойство объектов переопределять методы наследуемого класса называется полиморфизмом . Например, в большинстве случаев методы базового класса у классов-наследников приходится переопределять – объект класса «кошка» выполняет метод «идти» совсем не так как «амеба». Все переопределяемые методы по названию (написанию) будут совпадать с методами базового объекта. Компилятор по типу объекта (его классу) распознает, какой конкретный метод надо использовать. И не вызовет для класса «амеба» метод «идти» класса «кошка». Система программирования — это система для разработки новых программ на конкретном языке программирования. Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:
Популярные системы программирования — Turbo Basic , Quick Basic , Turbo Pascal , Turbo C . В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений :
|
||||||||