Диаграмма Насси-Шнейдермана (структурограммы)
Стр 1 из 2Следующая ⇒ Утверждаю Ректор университета __________________А.В. Лагерев «____»____________2012 г.
ПРОГРАММИРОВАНИЕ Способы записи алгоритмов Методические указания к выполнению лабораторной работы №1 для студентов очной формы обучения специальности 010500 «Математическое обеспечение и администрирование информационных систем»
Брянск 2012 УДК 004.421+004.43
Программирование. Способы записи алгоритмов [текст]+[электронный ресурс]: методические указания к выполнению лабораторной работы №1 для студентов очной формы обучения специальности 010500 «Математическое обеспечение и администрирование информационных систем». – Брянск: БГТУ, 2012. – 17 с. – Режим доступа: http://www.elibrary.ru.
Разработали: Д.И.Булатицкий доц.
Рекомендовано кафедрой «Информатика и программное обеспечение» БГТУ (протокол №4 от 15.02.10) В этой ЛР студенты знакомятся с понятием алгоритма, его свойствами и способами записи. Формируются навыки записи алгоритмов в виде блок-схем и диаграмм Насси — Шнейдермана.
ЦЕЛЬ РАБОТЫ
Цель работы – изучить основные способы записи алгоритмов. Для этого студент должен: · изучить понятие алгоритма и исполнителя; · изучить условные обозначения в блок-схемах; · изучить условные обозначения в структурограммах; Продолжительность работы – 2 часа.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Понятие алгоритма
Алгоритм – последовательность чётко определенных действий, выполнение которых ведёт к решению задачи. Алгоритм, записанный на языке машины, есть программа решения задачи. Алгоритм – это совокупность действий, приводящих к достижению результата за конечное число шагов.
Свойства алгоритмов: 1. Дискретность – это разбиение алгоритма на ряд отдельных законченных действий (шагов). 2. Детерминированность (от лат. determinate — определенность, точность) - любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. 3. Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения. 4. Массовость – алгоритм должен быть применим к разным наборам исходных данных. 5. Результативность – алгоритм должен приводить к достоверному решению. Примерами алгоритмов могут являться: · Кулинарный рецепт; · Инструкция к прибору; · Описание маршрута и др. Различают три основных вида алгоритмов: · линейный алгоритм, · разветвляющийся алгоритм, · циклический алгоритм. Линейный алгоритм – это алгоритм, в котором действия выполняются однократно и строго последовательно. Примером линейного алгоритма может являться последовательность действий при приготовлении бутерброда. Алгоритм в этом случае будет выглядеть следующим образом: 1. начало 2. отрезать хлеб; 3. намазать хлеб маслом; 4. отрезать колбасу; 5. положить колбасу на хлеб; 6. конец. Все действия выполняются последовательно друг за другом в определенном порядке и приводят к конечному результату. Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. Самый простой пример реализации разветвляющегося алгоритма – если на улице идет дождь, то необходимо взять зонт, иначе не брать зонт с собой. Циклический алгоритм – это алгоритм, команды которого повторяются некое количество раз подряд. Самый простой пример реализации циклического алгоритма – при чтении книги будут повторяться одни и те же действия: прочитать страницу, перелистнуть и т.д. Циклические алгоритмы трех видов: · цикл со счетчиком – действия внутри цикла выполняются определенное количество раз;
· цикл с предусловием – перед каждым новым проходом цикла проверяется определенное условие, если оно истинно, действия внутри цикла выполняются, в противном случае происходит выход из цикла; · цикл с постусловием – в начале происходит выполнение действий внутри цикла, а только затем проверка условия. Формы записи алгоритма: · словесная или вербальная (языковая, формульно-словесная); · псевдокод (формальные алгоритмические языки); · схематическая: o структурограммы (схемы Насси-Шнайдермана); o графическая (блок-схемы). Обычно сначала (на уровне идеи) алгоритм описывается словами, но по мере приближения к реализации он обретает всё более формальные очертания и формулировку на языке, понятном исполнителю (например, машинный код). Пример словестной записи алгоритма приведен ранее при рассмотрении линейного алгоритма. Примером записи алгоритма с помощью псевдокода является код любой программы на любом языке программирования (С++, Pascal, Basic и др.). Способы схематической записи алгоритмов подробно рассматриваются далее.
Блок-схемы
Правила выполнения схем определяются следующими документами: · ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Данные документы в частности регулируют способы построения схем и внешний вид их элементов. Основные элементы схем алгоритма
Описание других элементов схем можно найти в соответствующих ГОСТ (указаны выше). Рассмотрим пример построения блок-схемы алгоритма решения полного квадратного уравнения . Для начала запишем алгоритм в вербальной форме: 1. Начало; 2. Ввод А; 3. Ввод В; 4. Ввод С; 5. Вывод уравнения на экран; 6. Вычисление дискриминанта по формуле ; 7. Если вывести сообщение об отсутствии корней и перейти к шагу 10, иначе перейти к шагу 8; 8. Если , единственный корень уравнения вычислить по формуле , вывести его на экран и перейти к шагу 10. В противном случае перейти к шагу 9. 9. Вычислить корни уравнения по формулам
10. Конец.
При построении блок-схемы будут использоваться следующие элементы: 1. Начало и конец - 2. Ввод и вывод данных - 3. Вычисление - 4. Условие - Последовательность действий задается управляющими стрелками, связывающими блоки, внутри графических элементов записывается соответствующая команда. Блок схема алгоритма приведена на Рис. 1. Рис.1. Блок-схема алгоритма вычисления корней квадратного уравнения
Далее рассматривается другой способ графической записи алгоритма – при помощи диаграммы Насси-Шнейдермана.
Диаграмма Насси-Шнейдермана (структурограммы)
Диаграмма Насси-Шнейдермана – это графический способ представления структурированных алгоритмов и программ, разработанный в 1972 году американскими аспирантами Беном Шнейдерманом и Айзеком Насси. Диаграммы Насси-Шнейдермана имеют ряд преимуществ перед блок-схемами при разработке структурированных алгоритмов и программ: · Запись является более компактной (в первую очередь за счёт отсутствия стрелок между элементами). · Гарантированное соблюдение принципов структурного программирования соблюдены (при использовании блок-схем можно случайно получить неструктурированный алгоритм, если быть невнимательным). · Диаграммы Насси — Шнейдермана удобнее использовать для пошаговой детализации задачи, так как они тоже строятся по принципу пошаговой детализации — изначально диаграмма представляет собой один прямоугольник (исходная задача), затем в нём рисуется некоторая структура управления, в которой имеется несколько прямоугольников (подзадач исходной задачи), и далее с каждым прямоугольником (подзадачей) может быть проделана та же операция.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|