Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т. п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Для начертания этих схем используется набор символов, определяемых ГОСТ 19.701–90 (ИСО 5807–85) «Единая система программной документации». В таблице приведены наиболее часто употребляемые символы.
Символ «Процесс» применяется для обозначения одного или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединить в один блок. Представление отдельных операций достаточно свободно.
основы программирования 6 алгоритмы и блок схемы
Например, для обозначения вычислений можно использовать математические выражения, для пересылок данных – стрелки, для других действий – пояснения на естественном языке. В зависимости от уровня детализации схемы пояснения на естественном языке могут быть более или менее подробными. Метод блок-схем независим от специфики языков программирования, поэтому в описаниях операторов не следует использовать резервированные слова и символы языков программирования, а также применять имена данных, образованные в соответствии с синтаксическими правилами этих языков.
Символ «Решение» используется для обозначения переходов управления по условию. В каждом блоке решения должны быть указаны вопрос, решение, условие или сравнение, которые он определяет.
Стрелки, выходящие из блока решения, должны быть помечены соответствующими ответами (например, ДА, НЕТ), так чтобы были учтены все возможные ответы.
Символ «Модификация» используется для выполнения операций, меняющих команды или группы команд, изменяющих программу (например, для организации циклических конструкций). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и правило изменения значения параметра для каждого повторения. Блок размещается в начале циклической конструкции, для управления которой он используется, даже в том случае, если изменение параметра и проверка условий окончания цикла при реализации алгоритма производится не в начале, а в конце цикла.
Линии переходов используются для обозначения порядка выполнения действий. Для улучшения наглядности следует придерживаться стандартных правил изображения линий передач управления – сверху вниз и слева направо. Если необходимо показать передачу управления снизу вверх или справа налево, то направление следует отметить стрелкой.
Блок схема алгоритма (часть 1)
Символ «Предопределенный процесс» используется для указания обращений к вспомогательным алгоритмам, выделенным автономно, в виде некоторого модуля; для обращений к библиотечным подпрограммам; для обозначения части алгоритма, не зависящей от основной схемы управления; для обозначения определенной части алгоритма, которая будет кодироваться вместе со всем алгоритмом, но в документации представлена отдельной схемой. Если такая часть алгоритма представляет собой итерационный процесс, то в соответствующий ей блок вызова необходимо включить описания условий окончания цикла.
Символ «Документ» предназначен для ввода-вывода данных, носителем которых служит бумага.
Символ «Ввод-вывод» используется для преобразования данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Отдельным логическим устройствам компьютера или отдельным функциям обмена соответствуют определенные блочные символы. В каждом из них указываются тип устройства или файла данных, тип информации, участвующий в обмене, а также вид операции обмена.
Символ «Соединитель» используется в том случае, когда схема алгоритма разделяется на автономные части, особенно если она не умещается на одном листе, или когда необходимо избежать излишних пересечений линий переходов. Применение соединителей не должно нарушать структурности при изображении схем.
Символ «Пуск-останов» используется для обозначения начала, конца, прерывания процесса обработки данных или выполнения программы.
Символ «Комментарий» позволяет включать в схемы алгоритмов пояснения к функциональным блокам. Частое использование комментариев нежелательно, так как это усложняет (загромождает) схему, делает ее менее наглядной. Однако некоторые обозначения переменных, принятые допущения или назначение отдельных алгоритмов требуют пояснительных записей.
Для облегчения вычерчивания и нахождения на схеме символов рекомендуется поле листа разбивать на зоны. Размеры зон устанавливают с учетом минимальных размеров символов, изображенных на данном листе. Допускается один символ размещать в двух и более зонах, если размер символа превышает размер зоны.
Координаты зоны проставляют: по горизонтали – арабскими цифрами слева направо в верхней части листа; по вертикали – прописными буквами латинского алфавита сверху вниз в левой части листа.
Координаты зон в виде сочетания букв и цифр присваивают символам, вписанным в поля этих зон, например: А1, А2, A3, В1, В2, ВЗ и т.д.
При выполнении схем от руки, если поле листа не разбито на зоны, символам присваивают порядковые номера.
Записи внутри символа или рядом с ним должны выполняться машинописью с одним интервалом или чертежным шрифтом.
Записи внутри символа или рядом с ним должны быть краткими. Сокращения слов и аббревиатуры, за исключением установленных государственными стандартами, должны быть расшифрованы в нижней части поля схемы или в документе, к которому эта схема относится.
Для удобства детализации программы должны быть использованы символы «Процесс», «Решение», «Модификация», «Ввод-вывод» и «Пуск-останов».
Записи внутри символа должны быть представлены так, чтобы их можно было читать слева направо и сверху вниз, независимо от направления потока.
В схеме символу может быть присвоен идентификатор, который должен помещаться слева над символом (например, для ссылки в других частях документации).
В схемах допускается краткая информация о символе (описание, уточнение или другие перекрестные ссылки для более полного понимания функции данной части системы). Описание символа должно помещаться справа над символом.
Воспользуйтесь поиском по сайту:
studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с) .
Источник: studopedia.org
Средства и правила построения блок-схем
1. Средства и правила построения блок-схем Лекция 2
Иллюстративный материал к лекциям
по алгоритмизации и
программированию
Автор Саблина Н.Г.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
2016 г.
2. Содержание
Библиографический список
Автор
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
3. Блок-схемы
Блок-схема является формой представления алгоритма с
помощью графических символов.
Графические символы, их размеры, а также правила
построения блок-схем определены государственными
стандартами
ГОСТ 19.701-90 — Схемы алгоритмов, программ данных и
систем. Условные обозначения и правила выполнения.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
4. Правила построения блок-схем
Блок-схемы состоят из
– блоков,
– линий потоков информации
– краткого пояснительного текста.
Линии потоков информации показывают направление движения
данных от блока к блоку.
– Нормальным направлением линий потока считается
направление сверху вниз и слева направо и стрелками не
обозначается.
– Во всех других случаях обозначение стрелками обязательно.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
5. Линии потоков данных (1)
• Эти линии — прямые, параллельные краям листа.
• Линии не пересекаются
• Две и более входящих линии могут объединяться в одну
исходящую линию.
• Место объединения должно быть смещено
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
6.
Линии потоков данных (2)
• Линии подходят к блоку либо слева, либо сверху, а исходят либо
справа, либо снизу.
Линии направлены к центру блока.
• Линии в схемах следует разрывать во избежание излишних
пересечений или слишком длинных линий, а также, если схема
состоит из нескольких страниц.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
7. Условные обозначения блоков
Блоки подразделяются на
• блоки процессов — иллюстрируют виды обработки (преобразования)
данных
• блоки данных — обозначают операции ввода-вывода данных в
программе.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
8. Блоки процессов (1)
Обозначение
25.04.2016
Название и назначение
Примечание
Процесс. Указывает на
какие-либо вычисления
Внутрь блока
вписываются
формулы для
вычисления
Предопределенный
процесс. Использование
ранее созданных и
отдельно описанных
подпрограмм (процедур,
функций)
Внутрь блока
вписывается
заголовок
вызываемой
подпрограммы
каф. РТС дисциплина Алгоритмизация и
программирование
9. Примеры блоков «процесс»
Блоки процессов (2)
Обозначение
Название и назначение
Решение. Выбор
направления выполнения
алгоритма в
зависимости от условия
Модификатор.
Используется для
обозначения оператора
цикла с параметром
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
Примечание
Внутрь блока
вписывается
условие
10. Примеры блоков «Предопределенный процесс»
Блоки данных (1)
Обозначение
Название и назначение
Универсальный блок
ввода/вывода
Обозначает данные, носитель
которых не определен
Обязательно нужно
уточнять ввод это или вывод.
Внутрь блока
вписываются
имена вводимых
или выводимых
переменных
Запоминающее устройство с
прямым доступом (магнитный
диск, дискета)
Внутрь блока
вписываются
имена вводимых
или выводимых
переменных
Обязательно нужно уточнять
ввод это или вывод.
25.04.2016
Примечание
каф. РТС дисциплина Алгоритмизация и
программирование
11. Блоки процессов (2)
Блоки данных (2)
Обозначение
Название и назначение
Ручной ввод (клавиатура,
кнопки, мышь и т.п.).
Внутрь блока
вписываются имена
вводимых
переменных
Дисплей (вывод данных
на экран)
Внутрь блока
вписываются имена
выводимых
переменных
Документ. Вывод данных
на печатающее
устройство
25.04.2016
Примечание
каф. РТС дисциплина Алгоритмизация и
программирование
Внутрь блока
вписываются имена
выводимых
переменных
12. Примеры блоков «Решение»
Специальные символы
Обозначение
Название и назначение
Соединитель. Указание связи
между прерванными линиями
потока, связывающими блоки
Терминатор. Начало, конец
выполнения программы
Комментарий. Позволяет
включать в блок-схему
пояснения, комментарии
Пропуск. Используется для
…
25.04.2016
обозначения пропуска блока или
группы блоков
каф. РТС дисциплина Алгоритмизация и
программирование
Примечание
Внутрь блока
вписывается метка
(цифра или буква)
Внутрь блока
вписывается слово
«Начало» или «Конец»
Текст помещается
около ограничиваю-щей
фигуры
используется для
изображения общих
решений
13. Блоки данных (1)
Итоги
Рассмотренные вопросы:
Блок-схемы
Правила построения
Линии потоков данных
Условные обозначения блоков:
– Процесс
– Предопределенный процесс
– Решение
– Модификатор
– Терминатор
– Блоки ввода-вывода
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
14. Примеры блоков данных (1)
Библиографический список
• Подбельский В.В., Фомин С.С. Курс программирования на языке
Си: учебник. М.: ДМК Пресс, 2012. – 384 с.
• Павловская Т.А. C/C++. Программирование на языке высокого
уровня: учебник для студентов вузов, обучающихся по
направлению «Информатика и вычисл. техника» СПб.: Питер, 2005.
— 461 с.
• Павловская Т. А., Щупак Ю. А. С++. Объектно-ориентированное
программирование. Практикум. Практикум. — СПб.: Питер, 2006.
— 265 с: ил.
• Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. М.: ДИАЛОГ-МИФИ, 2001. — 288 с
• Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для
вузов. – М.: Горячая линия – Телеком, 2012. – 334 с.
25.04.2016
каф. РТС дисциплина Алгоритмизация и
программирование
Источник: ppt-online.org
Правила составления блок схем
Блок-схемы — совокупность действий или операций, изображенное в виде геометрических фигур. Переход от одного действия к другому обозначается направленной линией.
При составлении блок-схемы необходимо добавлять элементы сверху вниз последовательно друг за другом. При возникновении условий соблюдать древовидную иерархию. Блок-схема обязательно должна начинаться с элемента «Начало» и заканчиваться элементом «Конец», причем каждый из них должен быть употреблен только по одному разу.
Основными элементами блок-схемы являются:
![]() |
Терминатор Обозначает начало или конец программы. Выделяет границы взаимодействия с внешней средой. Используется обычно с надписями «Начало»,»Конец» либо «Пуск»,»Остановка» строго по одному разу. |
![]() |
Процесс Выполнение некоторой операции (арифметической, логической либо инойдругой), в результате которой каким-либо образом изменяются данные. Возможно объединение нескольких операций в один блок. |
![]() |
Решение Выбор одного из двух возможных решений алгоритма. Внутри элемента расположено условие. Из углов ромба выходят возможные пути, обозначающиеся как «да»,»нет» либо «истина»,»ложь». В целях удобства чтения блок-схемы направление, отвечающее условию («да»/»истина»)выходит из нижнего угла ромба, противоположное из бокового. Возможно использования элемента для обозначения цикла epeat..until и while..do. |
![]() |
Модификация Выполнение циклических команд for. Операции и действия цикла располагаются ниже элемента. При каждом шаге цикла программа возвращается к заголовку по левой стрелке. Выход из цикла производится по правой боковой стрелке. |
![]() |
Предопределенный процесс Обозначение процедуры, функции, модуля (части программы вне текущего последовательного кода). |
![]() |
Данные Осуществление обмена данными (ввод-вывод). Обобщенное представление обмена информацией без определенного типа носителя. |
![]() |
Документ Вывод данных на бумажный носитель (печать на принтере). |
![]() |
Ручной ввод Неавтономный ввод данных с помощью клавиатуры. |
![]() |
Перфокарта Ввод-вывод данных с перфокарты. |
![]() |
Перфолента Ввод-вывод данных с перфоленты. |
![]() |
Запоминающее устройство с последовательным доступом Обмен данными с магнитной лентой. |
![]() |
Запоминающее устройство с прямым доступом Обмен данными с магнитным барабаном. |
![]() |
Магнитный диск Ввод-вывод данных, носителем которых является магнитный диск. |
![]() |
Оперативная память Обмен данными с оперативно-запоминающим устройством (ОЗУ). |
![]() |
Ручное управление Отображение процесса, выполняемого человеком. |
![]() |
Сохраненные данные Обмен данными при использовании запоминающего устройства, управляемого непосредственно процессором. |
![]() |
Дисплей Отображение данных на мониторе, визуальных индикаторах. |
![]() |
Извлечение Выделение одного или несколько множеств из другого множества. |
![]() |
Слияние Объединение одного или несколько множеств в общее множество. |
![]() |
Группировка Объединение множеств с выделением некоторых других. |
![]() |
Сортировка Упорядочивание множеств по заданному признаку. |
![]() |
Соединитель Используется для обрыва линия связи в одном месте и продолжения в другом. Внутри элемента блок-схемы вводится уникальный идентификатор. |
![]() |
Межстраничный соединитель Аналогичен предыдущему элементу блок-схемы, переносит линии связи с конца одной страницы в начало другой. |
![]() |
Комментарии Пометка неактивной части программы. |
![]() |
Линия потока Отображает пото данных, с возможным указанием направления их передачи. Объединяет между собой элементы блок-схемы. |
![]() |
Пунктирная линия Альтернативная связь между объектами. Используется также для обведения комментариев. |
![]() |
Параллельные действия Синхронизация нескольких операций в программе единовременно. |
![]() |
Канал связи Передача по каналам связи. |
![]() |
Пропуск Пропуск элементов блок-схемы. Используется когда можно оставить часть программы без внимания. |
Алгоритм базовые структуры
Название базовой структуры | Вид базовой структуры | Примечание |
Базовая структура следование | Базовая структура следование.Образуется из последовательности действий, следующих одно за другим: | |
Базовая структура развилка (неполная альтернатива) | Базовая структура развилка.Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. | |
Базовая структура развилка (полная альтернатива) | ||
Базовая структура цикл («пока») | Базовая структура цикл. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. | |
Базовая структура цикл («до») | ||
Базовая структура цикл («для») |
Базовые структуры алгоритмов — это определенный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
К основным структурам относятся:
Линейными — алгоритмы, в которых действия осуществляются последовательно друг за другом. Стандартная блок-схема линейного алгоритма приводится ниже:
Разветвляющимся — алгоритм, в котором действие выполняется по одной из возможных ветвей решения задачи, в зависимости от выполнения условий. В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (действий).
В качестве условия в разветвляющемся алгоритме может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться (быть истинно) или не соблюдаться (быть ложно). Такое утверждение может быть выражено как словами, так и формулой. Таким образом, алгоритм ветвления состоит из условия и двух последовательностей команд.
В зависимости от того, в обеих ветвях решения задачи находится последовательность команд или только в одной разветвляющиеся алгоритмы делятся на полные и не полные (сокращенные).
Стандартные блок-схемы разветвляющегося алгоритма приведены ниже:
Циклическим — алгоритм, в котором некоторая часть операций (тело цикла — последовательность команд) выполняется многократно. Организация циклов, никогда не приводящая к остановке в выполнении алгоритма, является нарушением требования его результативности — получения результата за конечное число шагов.
Перед операцией цикла осуществляются операции присвоения начальных значений тем объектам, которые используются в теле цикла. В цикл входят в качестве базовых структур:
o блок проверки условия
o блок, называемый телом цикла
Существуют три типа циклов:
· Цикл с предусловием
· Цикл с постусловием
· Цикл с параметром (разновидность цикла с предусловием)
Если тело цикла расположено после проверки условий, то может случиться, что при определенных условиях тело цикла не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называется циклом c предусловием.
Когда тело цикла выполняется по крайней мере один раз и будет повторяться до тех пор, пока не станет ложным условие. Такая организация цикла, когда его тело расположено перед проверкой условия, носит название цикла с постусловием.
Цикл с параметром является разновидностью цикла с предусловием. Особенностью данного типа цикла является то, что в нем имеется параметр, начальное значение которого задается в заголовке цикла, там же задается условие продолжения цикла и закон изменения параметра цикла. Механизм работы полностью соответствует циклу с предусловием, за исключением того, что после выполнения тела цикла происходит изменение параметра по указанному закону и только потом переход на проверку условия.
Стандартные блок-схемы циклических алгоритмов приведены ниже:
Данные. Понятие типа Данных
С точки зрения программиста, данные — это часть программы, совокупность значений определённых ячеек памяти, преобразование которых осуществляет код. С точки зрения компилятора, процессора, операционной системы, это совокупность ячеек памяти, обладающих определёнными свойствами (возможность чтения и записи (необяз.), невозможность исполнения).
Контроль за доступом к данным в современных компьютерах осуществляется аппаратно.
Понятие типа данных
Тип данных- множество данных, т.е. допустимых значений, где некоторый объект может принимать в программе, совместно с множеством операций по обработке этих данных. Данные задаются с помощью описания их свойств (атрибутов). Совокупность операций, т.е. действий, производимых над данными, определяется с помощью процедур и функций, реализующих эти действия. Фундаментальные типы данных подразделяются на простые или встроенные в язык программирования, и конструируемые пользователем, т.е. абстрактные. В программе объектом некоторого типа является константа или переменная. Значения, которые может принимать объект данного типа, называются константами типа. Во время выполнения программы для каждого объекта выделяется область оперативной памяти, называемая элементом хранения, в которой размещаются константы типа. Максимальное количество элементов в множестве, включающем все константы типа, называется мощностью типа. Мощность типа определяет размер элемента хранения объекта данного типа так, чтобы этот размер был достаточен для размещения любой константы типа. Формат внутреннего представления данных в элементе хранения определяется типом объекта. |
Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.
Тип определяет:
· возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
· внутреннюю форму представления данных в ЭВМ;
· операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.
В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.
Иерархия типов в языке Паскаль:
Источник: cyberpedia.su