Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Формы записи алгоритма

Алгоритмическое (модульное) программирование. Понятие и свойства алгоритма

Алгоритм - это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность действий (элементарных операций).

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

определенным критериям (например, очевидности) не имеет смысла детализировать.

Основная идея алгоритмического программирования - разбиение программы на последовательность модулей, каждый из которых выполняет одно или несколько действий. Единственное требование к модулю - чтобы его выполнение всегда начиналось с первой команды и всегда заканчивалось на самой последней (то есть, чтобы нельзя было попасть на команды модуля извне и передать управление из модуля на другие команды в обход заключительной).

Одним из основных и наиболее сложных этапов решения задач на ЭВМ является этап алгоритмизации. Под алгоритмизацией понимают сведение решения задач к строгой последовательности взаимосвязанных и однозначно определенных действий. Результатом этапа алгоритмизации является алгоритм решения задачи.

К вычислительным алгоритмам предъявляется ряд требований.

Алгоритм должен обладать следующими свойствами:

- дискретностью,

- определенностью,

- результативностью,

- массовостью.

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

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

Результативность - это свойство алгоритма приводить к получению нужного результата за конечное число шагов. Заметим, что конечным результатом необязательно являются конкретные числовые значения. В качестве конечного результата может выступать сообщение о том, что задача при данных исходных значениях не имеет решения.

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

 

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

Словесная запись алгоритма не компактна, и может иметь неоднозначность в толковании.

Более удобная форма записи - это графическое представление в виде схемы алгоритма. Блок-схема алгоритма состоит из различных фигур (прямоугольников, параллелограммов, ромбов, овалов и т.д.), соединенных линиями. Геометрические фигуры, называемые блоками, соответствуют конкретным шагам алгоритмического процесса. Направленные линии указывают порядок выполнения блоков.

Внутри каждого блока записывается содержание шага алгоритма.

Конфигурацию и размер блоков, а также порядок построения схем алгоритмов определяет ГОСТ 19.002 - 80 и 19.003 - 80 на единую систему программной документации. Ниже приведено описание наиболее часто употребляемых блоков.

Шаг, на котором выполняются вычисления, изображается прямоугольником. Содержание этого шага записывается внутри прямоугольника.

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

Ввод исходных данных и вывод результатов изображается параллелограммом. Внутри него перечисляются вводимые или выводимые величины.

Начало и конец алгоритма изображаются овалами.

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

Блоки в схеме алгоритма можно нумеровать. Номер проставляется внутри блока в верхнем левом углу. В блоке проверки условия номер проставляется в верхнем углу.

При составлении схем алгоритмов необходимо выполнять следующие правила:

1. Каждый блок имеет один или несколько входов, кроме блока "НАЧАЛО", который не имеет входа вообще. Несколько стрелок, идущих на вход некоторого блока, положено соединять до точки входа в блок.

2. Каждый блок имеет строго один выход, кроме блока "КОНЕЦ", который не имеет выхода, и блока проверки условия, имеющего два выхода. Блок проверки условия обозначает разветвление вычислительного процесса в зависимости от выполнения некоторого условия. Чтобы различить выходы этого блока, их помечают словами "да" и "нет". Если условие, записанное в блоке, выполняется, то вычислительный процесс пойдет по стрелке со словом "да", иначе - по стрелке со словом "нет".

Структурный подход к разработке алгоритмов предполагает использование нескольких основных структур, различные комбинации которых дают все многообразие алгоритмов. К основным структурам относятся:

- следование,

- цикл,

- разветвление,

- обход,

- множественный выбор.

 

<== предыдущая лекция | следующая лекция ==>
Компиляторы и интерпретаторы | Алгоритмы линейной структуры
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 351; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.