Jump to content

Диаграмма Насси – Шнейдермана

(Перенаправлено со структурной схемы программы )
Пример диаграммы Насси – Шнейдермана

Диаграмма Насси-Шнейдермана (НСД) в компьютерном программировании представляет собой графическое представление структурного программирования . [1] Этот тип диаграммы был разработан в 1972 году Исааком Насси и Беном Шнейдерманом, которые оба были аспирантами Университета Стоуни-Брук . [2] Эти диаграммы еще называют структурограммами . [3] поскольку они показывают структуру программы.

Следуя нисходящему проектированию , рассматриваемая проблема сводится к все меньшим и меньшим подзадачам, пока не останутся только простые операторы и конструкции потока управления . Диаграммы Насси-Шнейдермана прямо отражают эту нисходящую декомпозицию, используя вложенные блоки для представления подзадач. В соответствии с философией структурного программирования диаграммы Насси-Шнейдермана не представляют оператора GOTO .

Диаграммы Насси – Шнейдермана редко используются для формального программирования. Их уровень абстракции близок к структурированному программному коду, и модификации требуют перерисовки всей диаграммы, но графические редакторы устранили это ограничение. Они разъясняют алгоритмы и проекты высокого уровня, что делает их полезными в обучении. Они были включены в Microsoft Visio и десятки других программных инструментов, таких как немецкий EasyCODE. [4]

В Германии диаграммы Насси – Шнейдермана были стандартизированы в 1985 году как DIN 66261. [5] Они до сих пор используются в немецких введениях в программирование, например, во введении Бетчера и Кнайсла в C. [6] Бёмле-Корт и введение Шмидта в C [7] и введение Кирха в C#. [8]

Диаграммы Насси-Шнейдермана также можно использовать в технических текстах . [9]

Диаграммы

[ редактировать ]

Блоки процессов: блок процессов представляет собой простейший этап и не требует анализа. При обнаружении блока процесса выполняется действие внутри блока и мы переходим к следующему блоку.

Блоки процессов

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

Блоки ветвления True/False

Второй тип блока разветвления представляет собой блок с множественным разветвлением. Этот блок используется, когда в программе необходим выбор случая. Блок обычно содержит вопрос или выбор случая. Блок предоставляет программе множество вариантов выбора и часто используется вместе с блоками подпроцессов для экономии места.

Множественные блоки ветвления

Циклы тестирования: этот блок позволяет программе запускать один или несколько процессов до тех пор, пока не будет выполнено определенное условие. Блоки процесса, охватываемые каждым циклом, подразделяются на боковые панели, выходящие за пределы условия.

Существует два основных типа циклов тестирования: первый блок и последний. Единственная разница между ними заключается в порядке выполнения соответствующих шагов.В ситуации «сначала проверка», когда программа встречает блок, она проверяет, выполнено ли условие, затем, если оно не выполнено, процесс блокируется, а затем возвращается обратно. Тест выполняется снова и, если условие по-прежнему не выполнено, он обрабатывается снова. Если на каком-либо этапе условие выполняется, программа пропускает блоки процесса и переходит к следующему блоку.

Тест первого блока контура

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

Проверка последнего блока цикла

Параллельное выполнение можно нарисовать так:

параллельная обработка

См. также

[ редактировать ]

Публикации

[ редактировать ]
  1. ^ Ханс-Георг Филл (2009). Визуализация для семантических информационных систем . стр.32
  2. ^ Краткая история структурированных блок-схем (диаграммы Насси-Шнейдермана) . Черновой вариант веб-документа: 27 мая 2003 г. ( Источник )
  3. ^ Рольф Изерманн (1988). Автоматическое управление: Избранные доклады всемирного конгресса Международной федерации автоматического управления, проводимого раз в три года: Мюнхен, Федеративная Республика Германия, 27–31 июля 1987 г., Том 10; Том 14 . стр.89
  4. ^ «Реализация со структурными диаграммами» . ИЗИКОД ГмбХ . Проверено 7 февраля 2023 г.
  5. ^ Немецкий институт стандартизации e. V. (DIN): DIN 66261: Обработка информации; Символы для структурограмм по Насси-Шнейдерману .
  6. ^ Бетчер, Аксель; Кнайсль, Франц: Информатика для инженеров: основы и программирование на C. 3-е издание. Мюнхен: Ольденбург, 2012. ISBN   978-3-486-70527-0 . См. особенно главу 10: «Kontrollstrukturen» (поток управления).
  7. ^ Бёмл-Корт, Питер; Шмидт, Торстен: Практическое введение в C. Мюнхен: Ольденбург, 2012. ISBN   978-3-486-70799-1 . См. особенно главу 6: «Kontrollstrukturen» (поток управления).
  8. ^ Кирх, Улла: Изучите C# и используйте его профессионально . Гейдельберг: MITP, 2009. ISBN   978-3-8266-5915-7 . См. особенно главу 5: «петли и ветки».
  9. ^ Вайс, Эдмонд Х.: «Визуализация процедуры с помощью диаграмм Насси-Шнайдермана», Журнал технического письма и коммуникации , Vol. 20, №. 3 (1990): 237-54.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f0a7a1506a759c2557809132bccda70c__1695558960
URL1:https://arc.ask3.ru/arc/aa/f0/0c/f0a7a1506a759c2557809132bccda70c.html
Заголовок, (Title) документа по адресу, URL1:
Nassi–Shneiderman diagram - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)