Главная / Информатика / Принципы структурного программирования.Основные алгоритмические структуры и их суперпозиции.

Принципы структурного программирования.Основные алгоритмические структуры и их суперпозиции.

«Принципы структурного программирования. Основные алгоритмические структуры и...
Определение Структурное программирование — методология разработки программног...
Методология разработки программного обеспечивания была предложена в 70-х года...
Типичными методами структурного программирования являются: нисходящее проект...
В соответствии с методологией структурного программирования: 1. Любая програм...
Типичными методами структурного программирования являются: Повторяющиеся фраг...
Достоинства структурного программирования Структурное программирование позвол...
Целями структурного программирования являются: Обеспечение дисциплины програм...
Целями структурного программирования являются: Повышение надежности программ....
Основные принципы структурного программирования Абстракция Абстракция позволя...
Нисходящее проектирование Метод нисходящего проектирования предполагает после...
Функциональная структура приложения
Последовательность действий по разработке ФСА приложения следующая: определяю...
Модульное программирование Модульное программирование является естественным с...
Среди множества модулей различают: головной модуль – управляет запуском прогр...
Модуль должен обладать следующими свойствами: один вход и один выход – на вхо...
Функционально-модульная структура алгоритма приложения
Структурное кодирование Структурное кодирование — это метод написания програм...
Структура типа «следование» – образуется последовательностью действий, S1, S2...
Структура типа «ветвление» (ЕСЛИ – ТО – ИНАЧЕ) – обеспечивает в зависимости о...
Структура типа «цикл с предусловием» – обеспечивает многократное выполнение д...
Структура типа «сокращенное ветвление» (ЕСЛИ – ТО) – если результат проверки...
Структура типа «выбор – иначе» являются расширенным вариантом структуры типа...
Структура типа «цикл с постусловием» – обеспечивает многократное выполнение д...
«цикл с параметром» – обеспечивает заранее определенное многократное выполне...
ВЫВОДЫ Структурное программирование — методология разработки программного обе...
1 из 26

Описание презентации по отдельным слайдам:

№ слайда 1 «Принципы структурного программирования. Основные алгоритмические структуры и их
Описание слайда:

«Принципы структурного программирования. Основные алгоритмические структуры и их суперпозиции»

№ слайда 2 Определение Структурное программирование — методология разработки программного о
Описание слайда:

Определение Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.

№ слайда 3 Методология разработки программного обеспечивания была предложена в 70-х годах X
Описание слайда:

Методология разработки программного обеспечивания была предложена в 70-х годах XX в. Э.Дейкстрой, разработана и дополнена Н.Виртом Эдсгер Вибе Дейкстра (1930 – 2002) — нидерландский учёный, идеи которого оказали влияние на развитие компьютерной индустрии. Известен как создатель алгоритма поиска кратчайшего пути на графе, один из основателей структурного программирования. В 1972 г. стал лауреатом премии Тьюринга. Никлаус Вирт (1934) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук, лауреат премии Тьюринга 1984 г. Ведущий разработчик языков программирования Паскаль, Модула-2, Оберон.

№ слайда 4 Типичными методами структурного программирования являются: нисходящее проектиро
Описание слайда:

Типичными методами структурного программирования являются: нисходящее проектирование (проектирование сверху вниз) модульное (процедурное) программирование структурное кодирование

№ слайда 5 В соответствии с методологией структурного программирования: 1. Любая программа
Описание слайда:

В соответствии с методологией структурного программирования: 1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия; цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).

№ слайда 6 Типичными методами структурного программирования являются: Повторяющиеся фрагмен
Описание слайда:

Типичными методами структурного программирования являются: Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы. Разработка программы ведётся пошагово, методом «сверху вниз».

№ слайда 7 Достоинства структурного программирования Структурное программирование позволяет
Описание слайда:

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

№ слайда 8 Целями структурного программирования являются: Обеспечение дисциплины программир
Описание слайда:

Целями структурного программирования являются: Обеспечение дисциплины программирования в процессе создания программных комплексов*. Улучшение читабельность программы. Читабельность улучшается, если придерживаться следующих правил: избегать использования языковых конструкций с неочевидной семантикой; стремиться к локализации действия управляющих конструкций и использования структур данных; разрабатывать программу так, чтобы ее можно было читать от начала до конца без управляющих переходов на другую страницу. Повышение эффективности программ. Этого можно достигнуть, если выполнять структурирование программы, разбивая ее на модули так, чтобы можно было легко находить и корректировать ошибки, а также чтобы текст любого модуля с целью увеличения эффективности можно было переделать независимо от других.

№ слайда 9 Целями структурного программирования являются: Повышение надежности программ. Эт
Описание слайда:

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

№ слайда 10 Основные принципы структурного программирования Абстракция Абстракция позволяет
Описание слайда:

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

№ слайда 11 Нисходящее проектирование Метод нисходящего проектирования предполагает последов
Описание слайда:

Нисходящее проектирование Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы («сверху-вниз»). В результате строится иерархическая схема – функциональная структура алгоритма (ФСА), отражающая состав и взаимоподчиненность отдельных функций

№ слайда 12 Функциональная структура приложения
Описание слайда:

Функциональная структура приложения

№ слайда 13 Последовательность действий по разработке ФСА приложения следующая: определяются
Описание слайда:

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

№ слайда 14 Модульное программирование Модульное программирование является естественным след
Описание слайда:

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

№ слайда 15 Среди множества модулей различают: головной модуль – управляет запуском программ
Описание слайда:

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

№ слайда 16 Модуль должен обладать следующими свойствами: один вход и один выход – на входе
Описание слайда:

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

№ слайда 17 Функционально-модульная структура алгоритма приложения
Описание слайда:

Функционально-модульная структура алгоритма приложения

№ слайда 18 Структурное кодирование Структурное кодирование — это метод написания программ,
Описание слайда:

Структурное кодирование Структурное кодирование — это метод написания программ, имеющих определенную структуру и за Фундаментом структурного программирования является теорема о структурировании, сформулированная итальянскими математиками К.Бомом и Дж.Якопини в 1966 г. Теорема устанавливает, что как бы сложна ни была задача, схему алгоритм ее решения (и, соответственно, программу) всегда можно представить в виде композиции трех типов вложенных блоков: следования (begin-end – начало-конец), ветвления (if-then-else – если-то-иначе), циклов с предусловием (while – пока).

№ слайда 19 Структура типа «следование» – образуется последовательностью действий, S1, S2, …
Описание слайда:

Структура типа «следование» – образуется последовательностью действий, S1, S2, …, Sn, следующих одно за другим:

№ слайда 20 Структура типа «ветвление» (ЕСЛИ – ТО – ИНАЧЕ) – обеспечивает в зависимости от р
Описание слайда:

Структура типа «ветвление» (ЕСЛИ – ТО – ИНАЧЕ) – обеспечивает в зависимости от результата проверки условия Р, принимающего одно из двух логических значении Да (True) или Нет (False), выбор одного из альтернативных путей работы алгоритма

№ слайда 21 Структура типа «цикл с предусловием» – обеспечивает многократное выполнение дейс
Описание слайда:

Структура типа «цикл с предусловием» – обеспечивает многократное выполнение действия S в зависимости от того, какое значение принимает логическое условие Р

№ слайда 22 Структура типа «сокращенное ветвление» (ЕСЛИ – ТО) – если результат проверки ус
Описание слайда:

Структура типа «сокращенное ветвление» (ЕСЛИ – ТО) – если результат проверки условия Р принимает значение Да (True), то выполняется действие S; в противном случае это действие пропускается и управление передается следующей структуре

№ слайда 23 Структура типа «выбор – иначе» являются расширенным вариантом структуры типа ЕС
Описание слайда:

Структура типа «выбор – иначе» являются расширенным вариантом структуры типа ЕСЛИ – ТО – ИНАЧЕ. Здесь проверяемое условие Р может принимать не два логических значения, а несколько порядковых значений, например, 1, 2, …, n. Если Р = i, то будет выполняться действие Si. Если же значение Р будет выходить из диапазона допустимых значений, то выполняется действие S (в укороченном варианте «выбор» никакого действия не производится и управление передается к следующей структуре.

№ слайда 24 Структура типа «цикл с постусловием» – обеспечивает многократное выполнение дейс
Описание слайда:

Структура типа «цикл с постусловием» – обеспечивает многократное выполнение действия S до тех пор, пока не выполняется условие Р.

№ слайда 25 «цикл с параметром» – обеспечивает заранее определенное многократное выполнение
Описание слайда:

«цикл с параметром» – обеспечивает заранее определенное многократное выполнение действия S.

№ слайда 26 ВЫВОДЫ Структурное программирование — методология разработки программного обеспе
Описание слайда:

ВЫВОДЫ Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX в. Э.Дейкстрой, разработана и дополнена Н.Виртом. Типичными методами структурного программирования являются: нисходящее проектирование (проектирование сверху вниз); модульное (процедурное) программирование; структурное кодирование. Целями структурного программирования являются: обеспечение дисциплины программирования, повышение эффективности и надежности программ, уменьшение времени и стоимости программной разработки. Основные принципы структурного программирования: абстракция, формальность, «разделяй и властвуй», иерархическое упорядочение. Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы («сверху-вниз»). Средства достижения целей на предыдущем уровне превращаются в цели на нижнем. Структурное кодирование — это метод написания программ, имеющих определенную структуру. Он основан на использовании небольшого набора структурных операторов, правильность которых легко проанализировать и установить. При этом одни операторы состоят из других, вложенных в них. Фундаментом структурного программирования является теорема о структурировании, сформулированная итальянскими математиками К.Бомом и Дж.Якопини в 1966 г. Теорема устанавливает, что как бы сложна ни была задача, схему алгоритм ее решения (и, соответственно, программу) всегда можно представить в виде композиции трех типов вложенных блоков: следования (begin-end – начало-конец), ветвления (if-then-else – если-то-иначе), циклов с предусловием (while – пока). 

Принципы структурного программирования.Основные алгоритмические структуры и их суперпозиции.
  • Информатика
Описание:

К началу 70-х годов ХХ века, когда развитие языков программирования достигло достаточно высокого уровня, а создаваемые программные комплексы достигли достаточно внушительных размеров (сотни тысяч – миллионы команд), стало очевидно, что программные проекты стали слишком сложными для успешного проектирования, кодирования и отладки в приемлемые сроки. Программисты, решающие сложные задачи, столкнулись с проблемой роста количества и размера программ до такой степени, что дальнейший процесс разработки становился практически неуправляемым, и никто из разработчиков не мог с уверенностью сказать, что созданный программный продукт всегда выполняет то, что требуется, и что он не выполняет ничего такого, что не требуется. Таким образом, возникла проблема коренного изменения подходов к созданию больших программных комплексов.

Исходя из этих проблем, ведущими программистами 70-х годов (Дейкстра, Вирт, Дал, Xoap, Йордан, Константин, Майерс и др.) были разработаны строгие правила ведения проектов, которые получили название структурной методологии.

Важным этапом в становлении этого подхода стали международные конференции по программированию, проведенные в 1968-69 годах. На второй из них Эдсгер Дейкстра впервые использовал термин «структурное программирование» и предложил принципиально новый способ создания программ. Он рассматривал программу как совокупность иерархических абстрактных уровней, которые позволяли:

1)четко структурировать программу, что улучшило ее понимание программистами;

2)выполнять доказательства ее корректности и тем самым повышать надежность функционирования программы;

3)сокращать сроки разработки программ.

Автор Багданова Яна Сергеевна
Дата добавления 10.10.2016
Раздел Информатика
Подраздел Презентации
Просмотров 83
Номер материала MA-067913
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓