Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Дидактические единицы:Программное обеспечение и технология программирования

Читайте также:
  1. Amt VII Versorge-Fursorgeamt (Социальное обеспечение; создано 15.8.1940).
  2. Amt XI (Социальное обеспечение и снабжение).
  3. II. Технология подготовки журналистских произведений
  4. II. Технология подготовки публицистических произведений
  5. IV.МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕОБЕСПЕЧЕНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
  6. IX. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
  7. Security - Обеспечение безопасности

Лекция 19 Структурный подход к программированию

ЧТО ТАКОЕ СТРУКТУРИРОВАННОЕ ПРОГРАММИРОВАНИЕ

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

Структурированное программирование возникло не позже конца пятидесятых годов и рассматривалось в печати уже в середине шестидесятых годов прошлого века *), но была серьезная причина, задержавшая распространение нового метода. При программировании снизу-вверх программистская квалификация требовалась от исполнителей, а руководитель мог быть администратором. При программировании же сверху-вниз руководитель должен быть квалифицированным программистом. Только Дейкстра **) в семидесятых годах сумел убедить программистов ведущих фирм в категорической необходимости структурированной организации больших программ. С тех пор по структурированному программированию стали выходить толстые книги и научные статьи.

В настоящее время большая неструктурированная программа воспринимается как написанная архаично или неграмотно.

2. Сформулируем основной признак структурированной программы.

Структурированная программа целиком состоит из блок-программы и блоков (то есть операторов или подпрограмм), к которым блок-программа обращается. Блок должен возвращать продолжение программы к оператору блок-программы, следующему за обратившимся к нему.

Блок-программа должна быть обозримой (достаточно короткой). Она (по возможности) не содержит вычислений и состоит лишь из операторов перехода (условных или безусловных) на блоки (выполняющие нужные вычисления) и на операторы самой блок-программы. Можно сказать, что выполнение структурированной программы состоит в выполнении ее блок-программы, которая организует работу своих блоков, играющих в ней роль операторов с определенными локальными функциями.

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

3. Чтобы написать структурированную программу, надо разбить задачу на отдельные осмысленные части, и начать писать ее с блок-программы, обращающейся к этим, еще не написанным частям (блокам). Не беда, если при написании блок-программы будет не известно, как выполнить задачи, поставленные перед блоками — решение следует отложить до написания самих блоков. Все, что не ясно, надо исключать из блок-программы и относить к блокам, а в блок-программе выяснять только, когда к какому блоку следует обратиться.

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

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

4. Преимущества структурированного программирования убедительно сказываются только на больших программах, которых здесь мы не можем привести. Поэтому ограничимся тем, что мы декларативно смогли сообщить, и дадим сводку принципов структурированного программирования.

5. Принципы структурированного программирования:

(1) Программа должна состоять из блок-программы и блоков, к которым блок-программа обращается. Так же пишется и всякий сложный блок.

(2) Блок-программа состоит из операторов обращения к блокам и операторов перехода (условных и безусловных) к операторам блок-программы.

(3) Блок имеет единственный вход и единственный выход. Блок всегда возвращает управление оператору блок-программы, следующему за тем, который обратился к нему.

(4) Программа пишется и отлаживается сверху, то есть начиная с блок-программы (то же относится к блоку, имеющему блок-программу). Вместо отсутствующих (к данному моменту) блоков пишутся заменители, имитирующие работу этих блоков.

Изложенные здесь принципы можно нарушать только в случаях серьезной надобности.

*) Брудно А. Л. Введение в программирование, в содержательных обозначениях.— М.: Наука, 1965, (См. пп. 12.2 и 13).

**) Дал У., Дейкстра Э., Хоор К. Структурное программирование, — М.: Мир, 1975.

С возрастанием количества и размеров программ процесс их разработки стал практически не управляемым. Возникла проблема коренного изменения подходов к созданию больших программных комплексов. Были разработаны строгие правила ведения проектов, которые получили название структурной методологии.

Впервые термин «структурное программирование» ввел Эдсгер Дейкстра. Он рассматривал программу как совокупность иерархических абстрактных уровней, которые позволяли четко структурировать программу, выполнять доказательства при ее корректировке, а значит, и повышать надежность функционирования программы, и сокращать сроки ее разработки.

Э. Дейкстра указывал: «Оператор GOTO нужно считать вредным». Его поддержали ученые Н. Вирт (Цюрих) и Хоар (Оксфорд).

Было доказано, что любая программа может быть написана с использованием только простой последовательности операторов, циклической конструкции типа for или while и выбора if или case.


Дата добавления: 2015-07-08; просмотров: 212 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Цель моделирования| Основные принципы структурного подхода

mybiblioteka.su - 2015-2024 год. (0.007 сек.)