Основные понятия структурного программирования.

Прошло уже более полувека со времени появ-я первой. Все это время вычисл-я техника бурно развивалась. Изменялась элем-я база ЭВМ, росли быстрод-е, количество пам-ти, изменялись средства взаимод-я чела с машиной. Непременно, эти изм-я сказывались самым непосред-м образом на работе прогр-та. Опред-й общепринятый метод произ-ва чего-либо наз-т разработкой. В ходе изгот-я программ-го продукта прогр-т обязан пройти определенные этапы: Проектир-е, Кодир-е, Отладка. На стадии проектир-я строится метод будущей прогр-мы, #, в виде блок-схемы. Кодир-е — это состав-е текста прог-мы на языке программ-я осущест-ся посредством тестов, т.е. прог-ма выпол-ся с некот-м заблаговременно продуманным комплектом исходных дан-я, д/кот-го известен рез-т. С ростом быстродействия и памяти ЭВМ, с совершенс-ем языков программ-я и трансляторов с этих языков проб-а экономичности прогр-мы делается менее острой. Качественной характ-й прог-м делается простота, наглядность, надежность. Позже эти качества стали главными. В конце 60-х — начале 70-х гг. XX столетия вырабатывается дис-на, кот-я взяла наз-е структ-го программ-я. В базе структ-го программ-я лежит теорема, кот-я была с строго доказана в теории программ-я. Сущность ее в том, что метод д/реш-я любой логической задачи возможно составить лишь из структур «следование, ветвление, цикл». Их именуют базисными алгоритмическими структурами. След-е — это линейная последова-сть дейс-й: Серия 1, Серия 2 …Серия N. Любой блок может содержать в себе как несложную команду, так и сложную структуру, но в обязательном порядке должен иметь один вход и один выход. Явление — алгоритмическая альтернатива. Управ-е перед-ся одному из двух блоков в зависимости от истинности либо ложности условия. После этого происходит выход на неспециализированное продол-е: еслиусловие то серия1 в противном случае серия2 кв Неполная форма ветвления имеет место, в то время, когда на ветви пусто: еслиусловие то серия 1 в противном случае кв Цикл — повторение некот-й группы действий по условию. Различ-ся два типа цикла. Первый — цикл с предусловие (цикл-пока): покаусловие повторять нц серия кц До тех пор пока условие действительно, выполняется серия, образующая тело цикла. Второй тип циклич-й структуры — цикл с постусловием (цикл-до): Повторять серия до условие Тут тело цикла предшествует условию цикла. Тело цикла повторяет собственный исполнение, в случае если условие ложно. Повтор-е кончается, в то время, когда условие станет подлинным. Теоретически нужным и достаточным есть только первый тип цикла — цикл с предусловием. Любой циклический ритм возможно выстроить с его помощь. Соединяться стр-ры смогут двумя спос-ми: последовательным и положенным. В случае если блок, составляющий тело цикла, сам есть циклической струк-й, то, значит, имеют место положенные циклы. Вследствие этого вводится представление о глубине вложенности циклов. Точно так же и ветвления смогут быть положенными приятель в приятеля. Языки программ-я Паскаль и Си наз-т языками структурного программирования. В них имеется все нужные управляющие конструкции д/структ-го постр-я прог-мы. Наглядность такому построению придает структуризация внешнего вида текста программы. Осн-й испол-й д/этого прием — сдвиги строчков, каковые должны подчиняться следующим правилам: конструкции одного уровня вложенности записываются на одном вертикальном уровне (начинаются с одной позиции в строчке); положенная конструкция запис-ся смещенной по строчку на пара позиций вправо довольно внешней д/нее конструкции. Создавая метод, необходимо стремиться составлять его из станд-х структур. В случае если испол-ть строительную аналогию, возможно заявить, что структурная методика построения метода подобна сборке строения из стандартных секций в отличие от складывания по кирпичику. Еще одним наиболее значимым технологическим приемом структ-го программ-я явл. декомпозиция решаемой задачи на подзадачи — более простые с позиций программирования части исходной задачи. Алг-мы реш-я таких подзадач назы-ся запасными методами. Вследствие этого вероятны два пути в построении метода: «сверху вниз»: сперва строится осн-й метод, после этого вспом-е методы; «снизу вверх»: сперва сост-ся вспомог-е алгоритмы, после этого осн-й. Первый подход еще наз-т способом последовательной детализации, второй — сборочным способом. Сборочный способ предполагает накопление и испол-е библиотек вспомог-х методов, реализованных в языках программирования в виде подпрограмм, процедур, функций. При по окончаниидов-й детализации сперва строится главной метод, а затем в него вносятся обращения к вспомог-м методам первого уровня. Затем сост-ся вспомог-е методы первого уровня, в кот-х смогут находиться обращения к вспомога-м методам второго уровня, и т.д. Вспомог-е алгоритмы самого нижнего уровня состоят лишь из несложных команд. Способ последовательной детализации прим-ся в любом констр-и сложных объектов. Методика последов-й детализации разрешает организовать работу коллектива программ-в над сложным проектом. Отладка и тестир-е программы. Ни при каких обстоятельствах нельзя быть уверенным, что за один раз разработанная программа будет верной. До окончательного рабочего состояния программа доводится в ходе отладки. Неточности смогут быть «языковые», смогут быть алгоритмические. Первый тип ош-к оказывает помощь найти компилятор с Паскаля. Это неточности, которые связаны с нарушением правил языка программ-я. Их еще наз-т Ош-ми времени компиляции. Алгоритмические неточности приводят к разным последствиям. Во-первых, смогут появиться невыполнимые действия. Например, деление на нуль, корень квадратный из отрицательного числа, выход индекса за границы строчка и т.п. Это неточности времени выполнения. Они приводят к прерыванию исполнения программы. В большинстве случаев, имеются системные программные средства, помогающие в поиске таких неточностей.

Практика программирования: Парадигма структурного программирования. Центр онлайн-обучения «Фоксфорд»

Похожие статьи:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector