Структурное программирование.

Лекция 8

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

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

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

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

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

- внедрение ряда правил и ограничений на допустимые конструкции метода;

- применение способа проектирования «сверху вниз» при разработке метода;

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

- применение способа параллельной разработки метода и программки.

Не считая требований рассмотренных выше СП накладывает последующие ограничения на метод:

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

- схема метода должна содержать малое число параллельных веток; каждый функционально законченный кусок метода обязан иметь только Структурное программирование. один вход и один выход;

- любая подпрограмма должна делать только одну функцию и при этом полностью.

Теоретические базы СП были разработаны еще в 1965 г. В согласовании со структурной аксиомой итальянских математиков К. Бом и Г. Джакопини, всякий метод, а как следует и программка могут быть построены с внедрением только 3-х Структурное программирование. управляющих структур:

- следование;

- развилка;

- повторение.

В структурном программировании употребляется к тому же конструкция ВЫБОР. Главным компонентом этих конструкций является многофункциональный блок с одним входом и одним выходом, снутри которого записывается действие по обработке инфы.

Рис.3.8.1.

3.6.1. Конструкция следование.

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

3.6.2. Конструкция развилка.

Эта управляющая конструкция создана для выбора 1-го из 2-ух вероятных других путей выполнения метода зависимо от некого условия Р (рис.3.8.2). При выполнении этой конструкции поначалу проверяется

Рис.3.8.2

логическое условие, записанное в условном блоке, значения которого могут быть Правда либо Структурное программирование. Ересь. В случае настоящего значения условия управление передается многофункциональному блоку, расположенному по пути ДА, по другому управление передается блоку, расположенному по пути НЕТ.

В любом случае после выполнения той либо другой функции управление передается к одной точке выхода данной конструкции.

Рис.3.8.3.

Допускается, что одна из веток конструкции Структурное программирование. РАЗВИЛКА может быть пустой, обычно пустой делают ветвь по пути НЕТ. Пример таковой конструкции приведен на рис.3.8.3.

3.6.3. Конструкция выбор.

Эта конструкция создана для дизайна фрагментов метода, в каких вычислительный процесс в некой точке разветвляется по нескольким параллельным путям. Форма конструкции "Выбор" приведена на рис.3.8.4. В этом случае СВ – селектор варианта Структурное программирование.; МВ1, МВ2 …MBn – метки вариантов. Зависимо от значения управляющей переменной (СВ) управление передается функции, метка варианта которой совпадает совпадает Рис. 3.8.4. со значением селектора варианта СВ. После реализации функции осуществляется выход из данной конструкции.

Рис.3.8.5.

3.6.4. Конструкция повторение.

Конструкция Повторение создана для обозначения неоднократно циклических действий. Такие процессы принято именовать повторяющимися (либо Структурное программирование. просто циклами). В структурном программировании предвидено внедрение 2-ух конструкций ПОВТОРЕНИЕ, цикла с предуслвием и цикла с постусловием.

Принцип деяния.

В цикле с предусловием (рис.3.8.5) поначалу проверяется условие окончания цикла, и если оно поистине, то производится тело цикла, после выполнения которого осуществляется возврат к проверке условия окончания цикла Структурное программирование.. Эти деяния производятся до того времени, пока условие Р не станет неверным. В данном случае выполнение тела цикла прекращается и осуществляется выход из цикла по пути НЕТ.

Основная особенность этой конструкции заключается в том, что если условие Р неверно при входе в эту конструкцию, то тело цикла не производится никогда.

Рис.3.8.6

В Структурное программирование. цикле с постусловием (рис.3.8.6) поначалу производится тело цикла (блок R), а потом проверяется условие окончания цикла. Зависимо от значения Р , или опять производится блок R, или осуществляется выход из цикла.

В этой конструкции независимо от исходного значения условия Р тело цикла всегда производится хотя бы один раз Структурное программирование..

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

Замечание. Метод приведенный на рис.3.8.7, дает неверный итог, если N=0 и 1-ый элемент массива А не равен нулю.

Рис.3.8.7

Что дает внедрение конструкций СП?

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

Если представить, что имеется готовая схема метода решения некой задачки, составленная из конструкций СП, то Структурное программирование. заменяя отдельные конструкции на многофункциональные блоки, можно свернуть весь метод к одному многофункциональному блоку (РИС. ). Это позволяет решить и оборотную задачку: представив метод решения задачки в виде 1-го многофункционального блока, поочередно открывать его и получающиеся многофункциональные блоки при помощи конструкций СП до того времени пока не получим Структурное программирование. детализированную схему метода.

При разработке метода способом СП работа производится в два шага.

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

2. На втором шаге разрабатываются методы приобретенных простых функций. Тут нужно придумать, как представить тот либо другой способ реализации Структурное программирование. функции в виде схемы метода.


strukturizaciya-i-sistematizaciya-syuzhetnih-zadach-po-slozhnosti-ih-resheniya-statya.html
strukturnaya-formula-organicheskih-soedinenij.html
strukturnaya-i-funkcionalnaya-harakteristika-eritrocitov.html