- •Flow-формы и диаграммы Насси-Шнейдермана
- •Содержание отчета
- •Теоретические сведения
- •Диаграммы Насси-Шнейдермана
- •1. Блок действия
- •2. Блоки с разветвлением
- •3. Блок множественного выбора
- •4. Блок цикла с предусловием
- •5. Блок цикла с постусловием
- •6. Блок подпрограммы
- •Пример 1 визуальной спецификации процессов
- •Пример 2.
- •Варианты заданий
Flow-формы и диаграммы Насси-Шнейдермана
Цель занятия: Изучение и практическое применение принципов разработки спецификаций вычислительных процессов с помощью визуальных языков Flow-форм и диаграмм Насси-Шнейдермана.
Содержание отчета
1. Титульный лист.
2. Номер варианта и текст задания.
3. Решение, представленное с помощью Flow-формы.
4. Решение, представленное с помощью диаграммы Насси-Шнейдермана.
5. Решение, представленное с помощью схем алгоритмов.
6. Выводы.
Теоретические сведения
Flow-формы и диаграммы Насси-Шнейдермана относятся к визуальным языкам спецификации процессов. Визуальные языки проектирования являются относительно новой, оригинальной методикой разработки спецификаций процесса. Они базируются на основных идеях структурного программирования и позволяют определять потоки управления с помощью специальных иерархически организованных схем.
Каждый символ FLOW-формы имеет вид прямоугольника и может быть вписан в любой внутренний прямоугольник любого другого символа. Символы помечаются с помощью предложений на естественном языке или с использованием математической нотации.
Символы FLOW-форм приведены на рисунке 1. Каждый символ является блоком обработки. Каждый прямоугольник внутри любого символа также представляет собой блок обработки.
Рисунок 1- Символы FLOW-форм
Пример использования данного подхода при проектировании спецификации процесса, обеспечивающего упорядочивание определенным образом элементов массива и являющегося фрагментом алгоритма сортировки методом "поплавка" (рисунок 2).
Рисунок 2 - Пример FLOW-формы
Диаграммы Насси-Шнейдермана
Дальнейшее развитие FLOW-формы получили в диаграммах Насси-Шнейдермана. На этих диаграммах символы последовательной обработки и цикла изображаются также, как и соответствующие символы FLOW-форм. В символах условного выбора и case-выбора собственно условие располагается в верхнем треугольнике, выбираемые варианты - на нижних сторонах треугольника, а блоки обработки - под выбираемыми вариантами.
Следует отметить, что визуальные языки проектирования поддерживаются автоматической кодогенерацией, позволяют осуществлять декомпозицию вычислительных процессов.
Их основной недостаток - трудность модификации при изменении деталей.
В своей статье “Краткая история структурных блок-схем (диаграмм Насси – Шнейдермана)” один из авторов диаграммы Бен Шнейдерман пишет:
“Пленительная история и эволюция структурных блок-схем (обычно называемых диаграммами Насси – Шнейдермана, или структурограммами) восходит к 1972 году”.
Впервые Бен Шнейдерман подумал о создании своих способов записи алгоритмов во время посещения лекции по структурному программированию, когда еще учился в магистратуре.
Ему пришло в голову, что если оператор GOTO не должен использоваться, то так же не нужны и соединительные линии в старых блок-схемах.
Пятнадцать минут вычерчивания привели к первым идеям по оформлению следования, ветвления и циклов. Вместе с аспирантом Исааком Насси, в то время более глубоко знавшим принципы структурного программирования, они написали статью “Технологии блок-схем для структурного программирования”, в которой описали свои идеи и представили новый вид графической записи алгоритмов. Статья была опубликована в августе 1973 года.
С тех пор N – S-диаграммы широко используются в ряде стран. Например, в Германии их применение при документировании программ обусловлено требованиями государственного стандарта этой страны.
Очевидные преимущества N– S - диаграмм заключаются в:
— наглядности;
— отсутствии соединительных линий со стрелками, что помогает избежать случайных ошибок;
— компактности, т.к. даже относительно длинный алгоритм на языке N–S-диаграмм несложно разместить на одной странице;
— простоте использования.
Диаграммы Насси – Шнейдермана строятся с использованием шести элементарных “строительных блоков”.