В настоящее время широко используются следующие технологии программирования:
- структурное программирование;
- модульное программирование;
- объектно-ориентированное программирование;
- визуальное программирование.
Например, в языке Pascal содержится средства структурного и модульного программирования, в языке Java – средства ООП, в языке C++ - средства структурного и ООП.
Рассмотрим концепцию структурного программирования, а позднее изучим ООП.
В основу технологии современного структурного программирования положены следующие принципы:
1. Блочный принцип построения структуры программы;
2. Принцип использования иерархии блоков;
3. Принцип нисходящего проектирования программ (пошаговая детализация);
4. Использование фиксированного набора базисных конструкций для реализации блоков и структуры программы;
5. Следование определенному стилю программирования.
Проектирование структуры программы методом нисходящего программирования
Программа для компьютера представляет собой последовательность команд и позволяющих по набору исходных данных получить результаты.
Такая схема называется hipo-диаграммой. Существуют различные структуры программ. Небольшие по объему программы могут иметь монолитную структуру. Однако при решении достаточно сложной задачи написать последовательно единую программу от начала до конца, обычно, невозможно.
В связи с этим структуру сложной программы можно строить методом нисходящего или восходящего проектирования.
Главная идея нисходящего подхода состоит в следующем. Сначала в задаче выделяется небольшое число (3-5) достаточно самостоятельных, более простых подзадач, а в проектируемой программе намечается соответствующее число блоков, определяется назначение каждого из них, порядок выполнения этих блоков и их связи между собой. На этом шаге детализации можно определить лишь функциональное назначение каждого блока ( что он должен делать, какие данные являются исходными для этого блока и что является результатом его выполнения). Если некоторые из первоначально выделенных подзадач оказываются достаточно сложными, то к каждой из них можно применить аналогичную процедуру – это будет второй шаг детализации. Процесс детализации продолжается до тех пор, пока каждый из выделенных блоков не окажется настолько простым, что его программирование уже не вызывает трудностей.
Метод нисходящего проектирования позволяет вести разработку программы коллективу программистов ( каждый блок можно
разрабатывать и отлаживать автономно).
Если на каждом шаге детализации использовать принципы структурного программирования, то это обеспечит хорошую структурированность программы.