Структурное программирование сверху-вниз и правильность программ - Курсовая работа

бесплатно 0
4.5 122
История методологии и основные цели структурного программирования. Теорема о структурном программировании. Двумерное структурное программирование. Ясность и удобочитаемость программ. Практическое использование метода проектирования сверху вниз.


Аннотация к работе
КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНСТИТУТ ФИЗИКИ И МАТЕМАТИКИ КАФЕДРА ИНФОРМАТИКИ И МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ Выполнил студент 4 курса отделенияСтруктурное программирование - методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. В соответствии с данной методологией любая программа строится без использования оператора GOTO из трех базовых управляющих структур: последовательность, ветвление, цикл; кроме того, используются подпрограммы. Программы становились слишком сложными, чтобы их можно было нормально сопровождать. Поэтому потребовалась систематизация процесса разработки и структуры программ. По мнению Бертрана Мейера, «Революция во взглядах на программирование, начатая Дейкстрой, привела к движению, известному как структурное программирование, которое предложило систематический, рациональный подход к конструированию программ.Первоначально идея структурного программирования появилась на свет в связи с оператором GOTO и сомнениями в целесообразности его применения. Ситуация коренным образом изменилась через десять лет, когда в марте 1968 года Дейкстра опубликовал свое знаменитое письмо «Оператор Go To считается вредным» (Go To Statement Considered Harmful). Дело в том, что Дейкстра дал статье совсем другое название: «Доводы против оператора GO TO» (A Case against the GO TO Statement). Однако в момент публикации произошло нечто непонятное - статья превратилась в «Письмо к редактору», причем прежнее название исчезло. Дейкстра объяснил превращение статьи в письмо лишь много лет спустя, в 2001 году: «Журнал Communications of the ACM опубликовал мой текст под названием «Оператор GOTO считается вредным».Цель структурного программирования - повысить производительность труда программистов, в том числе при разработке больших и сложных программных комплексов, сократить число ошибок, упростить отладку, модификацию и сопровождение программного обеспечения.Спагетти-код (spaghetti code) - плохо спроектированная, слабо структурированная, запутанная и трудная для понимания программа, содержащая много операторов GOTO (особенно переходов назад), исключений и других конструкций, ухудшающих структурированность [3]. Самый распространенный антипаттерн программирования. Спагетти-код назван так потому, что ход выполнения программы похож на миску спагетти, то есть извилистый и запутанный.Неправильное и необдуманное использование оператора GOTO в исходном тексте программы приводит к получению запутанного, неудобочитаемого «спагетти-кода». Впервые эта точка зрения была отражена в статье Эдсгера Дейкстры «Оператор Go To считается вредным». В работе «Заметки по структурному программированию» Дейкстра обосновал тот факт, что для кода без GOTO намного легче проверить формальную корректность. Код с GOTO трудно форматировать, так как он может нарушать иерархичность выполнения (парадигму структурного программирования) и потому отступы, призванные отображать структуру программы, не всегда могут быть выставлены правильно. Некоторые способы применения GOTO могут создавать проблемы с логикой исполнения программы: • Если некоторая переменная инициализируется (получает значение) в одном месте и потом используется далее, то переход в точку после инициализации, но до использования, приведет к тому, что будет выбрано значение, которое находилось в памяти, выделенной под переменную, до момента выделения (и которое, как правило, является произвольным и случайным).Теорему сформулировали и доказали итальянские математики Коррадо Бем (Corrado Bohm) и Джузеппе Якопини (Giuseppe Jacopini). Наряду с теоремой, в статье Бема и Якопини описывались методы преобразования неструктурных алгоритмов в структурные на примере созданного Бемом языка программирования P??. Если использовать современную терминологию и обозначения, она примет вид: Любая программа, заданная в виде блок-схемы, может быть представлена с помощью трех управляющих структур: • последовательность - обозначается: f THEN g, • ветвление - обозначается: IF p THEN f ELSE g, • цикл - обозначается: WHILE p DO f, где f, g - блок-схемы с одним входом и одним выходом, р - условие, THEN, IF, ELSE, WHILE, DO - ключевые слова [14].Любая программа строится из трех базовых управляющих конструкций: последовательность, ветвление, цикл. Бертран Мейер поясняет: «Последовательное соединение: используйте выход одного элемента как вход к другому, подобно тому, как электрики соединяют выход сопротивления со входом конденсатора» [17]. • Цикл - многократное исполнение одной и той же операции до тех пор, пока выполняется заданное условие (условие продолжения цикла). В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Бертран Мейер поясняет: «Преобразуйте элемент, возможно, с внутренними элементами, в подпрограмму, характеризуемую одним входом и одним выходом в потоке управления».

План
Содержание структурный программирование метод проектирование

Введение

1. История методологии структурного программирования

2. Цель структурного программирования

3. Спагетти-код

4. Оператор GOTO

5. Теорема о структурном программировании

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

7. Метод «сверху вниз»

8. Достоинства структурного программирования

9. Ясность и удобочитаемость программ

10. Двумерное структурное программирование

11. Практическое использование метода проектирования сверху вниз

12. Пример проектирования сверху вниз

Список использованной литературы
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?