КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Структурное программирование. Практика программирования показала необходимость научно обоснованной методологии разработки и документирования алгоритмов и программ
Практика программирования показала необходимость научно обоснованной методологии разработки и документирования алгоритмов и программ. Эта методология должна касаться анализа исходной задачи, разделения её на достаточно самостоятельные части и программирования этих частей по возможности независимо друг от друга. Такой методологией, зародившейся в начале 70-х годов и получившей в последнее время широкое распространение, является структурное программирование. По своей сути оно воплощает принципы системного подхода в процессе создания и эксплуатации программного ЭВМ. В основу структурного программирования положены следующие достаточно простые положения: 1. Алгоритм и программа должны составляться поэтапно (по шагам). 2. Сложная задача должна разбиваться на достаточно простые, легко воспринимаемые части, каждая из которых имеет только один вход и один выход. 3. Логика алгоритма и программы должна опираться на минимальное число достаточно простых базовых управляющих структур.
Рис.1.3 Базовые элементарные структуры. Так, первая из них (рис. 1.3, а) называется структурой типа последовательность (или просто последовательностью), вторая (рис. 1.3, б) — структурой выбора (разветвлением), третья (рис. 1.3, в) — структурой цикла с предусловием. При словесной записи алгоритма указанные структуры имеют соответственно следующий смысл: «выполнить S; выполнить S», «если P, то выполнить S, иначе выполнить S», «до тех пор, пока Р, выполнять S», где Р — условие; S, S, S— действия. Рассматривая схему программы, можно выделить в ней части (фрагменты), достаточно простые и понятные по структуре. Представление этих фрагментов укрупненными блоками существенно облегчает восприятие алгоритма (а в дальнейшем и программы) в целом. Достаточно часто структурное программирование подразумевает использование более трех базисных структур. Применительно к языку Паскаль, в котором наиболее полно нашли свое отражение идеи структурного программирования, целесообразно при проектировании алгоритмов дополнительно использовать еще четыре элементарные структуры: сокращенную запись разветвления (рис. 1.4 а); структуру варианта (рис. 1.4 б); структуру повторения или цикла с параметром (рис. 1.4 в); структуру цикла с постусловием (рис. 1.4 г). Каждая из структур, показанных на рис. 1.3 и 1.4, имеет один вход и один выход. В языке Паскаль имеются средства (операторы), позволяющие непосредственно реализовать в программе любую из этих структур, поэтому правильное использование типовых структур в процессе разработки алгоритма обеспечивает упрощение последующих этапов решения задачи на ЭВМ. В качестве примера структурного подхода к проектированию алгоритма рассмотрим задачу табулирования функции, т. е. вычисление некоторой функции z =z(x) одной переменной х, изменяющейся от начального значения x с постоянным шагом h до конечного значения x -сокращенно обозначается х= х(h) x. Пусть функция z(x) имеет вид z(x)=, sin x, если х ≤ а, где у = x , если а < х < b, если х ≥ b; х = -3; h =1; x= 10; а= 0; b= 3,85.
Рис. 1.4 -Д ополнительные элементарные структуры.
Рис. 1.5 - Нисходящее проектирование схемы алгоритма табулирования функции z = z(х)
Процесс нисходящего проектирования схемы алгоритма табулирования функции z = z(х) показан на рис. 1.5. На первом уровне детализации схема (блоки 1.1—1.5) отражает процесс табулирования функции в наиболее общем виде. Для этого используются структуры типов последовательность и цикл с постусловием (подробнее о проектировании алгоритмов и программ циклической структуры см. § 3.2). Далее осуществляется детализация блока 1.3, который представляется в виде последовательности блоков 2.1-2.3 второго уровня. Так как функция у = у(х), входящая в качестве аргумента в определение функции z = z(х), является сложной, то она определяется разветвляющейся структурой, детализация которой осуществлена на 3-м и 4-м уровнях. Проведенную детализацию блоков, осуществляющих определение функции у = у(х), можно пояснить с помощью зависимостей y = sinx, если х ≤ а, y(x), если х > а,
где y= х, если х < b, , если х ≥ b, которые легко обеспечивают применение структуры разветвления. Подставляя вместо блоков, которые подлежат детализации, соответствующие структуры более низкого уровня, получаем окончательную схему алгоритма табулирования функции z = z(х), изображенную на рис. 1.6.
Рис. 1.6 - Схема алгоритма табулирования функции z = z(x)
Дата добавления: 2014-01-07; Просмотров: 601; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |