
- •Лекция 3
- •Программирование – это создание программ (программного обеспечения) с применением языков программирования, т.е. это
- •Структурное программирование
- •При создании средних по размеру приложений (несколько тысяч строк исходного кода) используется структурное
- •Распространены две методики (стратегии) разработки программ, относящиеся к структурному
- •Программирование «сверху вниз», или нисходящее программирование – это методика
- •Программирование «снизу вверх», или восходящее программирование
- •Очень важная характеристика подпрограмм – это возможность их повторного использования. С интегрированными системами
- •Достоинства структурного программирования:
- •Таким образом, технология структурного программирования при разработке серьезных программных комплексов, основана на следующих
- •Модульное программирование
- •Модуль характеризуют:
- •При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее:
- •Алгоритмы большой сложности обычно представляются с помощью схем двух видов:
- •Объектно-ориентированное программирование
- •Объектно-ориентированный подход использует следующие базовые понятия:
- •Объектно-ориентированный подход основан на трёх
- •Инкапсуляция
- •Преимущества инкапсуляции
- •Полиморфизм
- •Наследование
- •Достоинства и недостатки ООП
- •Преимущества объектно- ориентированного подхода:
Лекция 3
Технологии
программирования
Программирование – это создание программ (программного обеспечения) с применением языков программирования, т.е. это процесс реализации одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования.
Существует три технологии программирования:
•Структурное программирование
•Модульное программирование
•Объектно-ориентированное программирование
Структурное программирование
В основе данного подхода лежит представление программы с помощью иерархической структуры блоков. Данный подход был основан в 70-х годах XX века Э. Дейкстрой, а затем был доработан Н. Виртом (создатель языка программирования Pascal). В сответствии с данным подходом программа – это специальная структура, которая
включает в себя такие базовые конструкции (инструкции), как, последовательное исполнение
(выполнение инструкций в том порядке, в котором они представлены в тексте программы), ветвление
(выполнение инструкций в зависимости от условия), цикл (выполнение инструкций несколько раз, до тех пор, пока выполняется заданное условие).
При создании средних по размеру приложений (несколько тысяч строк исходного кода) используется структурное программирование, идея которого заключается в том, что
структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. Для этого надо иметь средства для создания программы не только с помощью трех простых операторов, но и с помощью средств, более точно отражающих конкретную структуру
алгоритма. С этой целью в программирование введено понятие
подпрограммы – набора операторов, выполняющих нужное действие и не зависящих от других частей исходного кода.
Программа разбивается на множество мелких подпрограмм, каждая из которых выполняет одно из действий, предусмотренных исходным заданием. Комбинируя эти подпрограммы, удается формировать итоговый алгоритм уже не из простых операторов, а из законченных блоков кода, имеющих определенную смысловую нагрузку, причем обращаться к таким блокам можно по названиям.
Распространены две методики (стратегии) разработки программ, относящиеся к структурному
программированию:
•– программирование «сверху вниз»;
•– программирование «снизу вверх».
Программирование «сверху вниз», или нисходящее программирование – это методика
разработки программ, при которой разработка начинается с определения целей решения проблемы, после чего идет последовательная детализация, заканчивающаяся детальной программой.
Сначала выделяется несколько подпрограмм, решающих самые глобальные задачи (например, инициализация данных, главная часть и завершение), потом каждый из этих модулей детализируется на более низком уровне, разбиваясь в свою очередь на небольшое число других подпрограмм, и так происходит до тех пор, пока вся задача не окажется реализованной.
Программирование «снизу вверх», или восходящее программирование
– это методика разработки программ, начинающаяся с разработки подпрограмм (процедур, функций), в то время когда проработка общей схемы не закончилась.
Такая методика является менее предпочтительной по сравнению с нисходящим программированием,так как часто приводит к нежелательным результатам, переделкам и увеличению времени разработки.
Очень важная характеристика подпрограмм – это возможность их повторного использования. С интегрированными системами программирования поставляются большие библиотеки стандартных подпрограмм, которые позволяют значительно повысить производительность труда за счет использования чужой работы по созданию часто применяемых подпрограмм.
Подпрограммы бывают двух видов – процедуры и функции. Отличаются они тем, что процедура просто выполняет группу операторов, а функция
вдобавок вычисляет некоторое значение и передает его обратно в главную программу (возвращает значение). Это значение имеет определенный тип.
Достоинства структурного программирования:
–повышается надежность программ (благодаря хорошему структурированию при проектировании, программа легко поддается тестированию и не создает проблем при отладке);
–повышается эффективность программ (структурирование программы позволяет легко находить и корректировать ошибки, а отдельные подпрограммы можно переделывать (модифицировать) независимо от других);
–уменьшается время и стоимость программной разработки;
–улучшается читабельность программ.
Таким образом, технология структурного программирования при разработке серьезных программных комплексов, основана на следующих принципах:
–программирование должно осуществляться сверху вниз;
–весь проект должен быть разбит на модули (подпрограммы) с одним входом и одним выходом;
–подпрограмма должна допускать только три основные структуры : последовательное выполнение, ветвление (if, case) и повторение (for, while, repeat).
–недопустим оператор передачи управления в любую точку программы (goto);
–документация должна создаваться одновременно с программированием в виде комментариев к программе.