Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитиктура вычислительных систем Лекция 1.doc
Скачиваний:
15
Добавлен:
25.03.2015
Размер:
652.8 Кб
Скачать

3. Основные сведения из теории алгоритмов

3.1. Понятие алгоритма

Обработка информации на ЭВМ состоит в выполнении ряда опе­раций в соответствии с некоторым алгоритмом, что в итоге приво­дит к получению результата или решения. Понятие алго-ритма не имеет строгого математического определения и его смысл абстраги­руется из опыта (так же, как смысл понятий «множество», «число», «соответствие» и др.). Поэтому все известные опре-деления алгоритма являются в той или иной степени неполными. Однако для удобства можно считать, что ал­горитм – это способ преобразования информации, задаваемый с помощью конечной системы правил. Такое определение является достаточно общим.

Анализ элементарных операций по обработке информации, встречающихся в реальных алго-ритмах, показывает, что их можно разделить на две группы: арифметические и логические. Арифмети­ческие операции выполняют непосредственное преобразование ин­формации, а логические определяют направление процесса обра­ботки информации. В алгоритмах арифметические и логи-ческие операции чередуются в определенной последовательности. Если вы­полнение алгоритма сводится к арифметическим операциям, то та­кой алгоритм называется численным.

Два алгоритма считаются равными, если для некоторого преоб­разования информации они устанавливают одинаковое соответствие между входными и выходными словами и совпадают системы пра­вил, задающие эти алгоритмы. Два алгоритма называются эквива­лентными, если они устанавливают одинаковое соответствие между входными и выходными словами, но отличаются способами их задания.

3.2. Свойства алгоритмов

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

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

3.3. Алгоритмические системы: операторные описания и граф-схемы

Общий стандарт­ный способ задания алгоритмов называется алгоритмической системой. В теории и проектировании техни­ческих средств ВТ для этих целей используются две алгоритмические системы: операторные описания (ОО) и граф-схемы алгоритмов (ГСА). В ОО буквами обозначаются отдельные действия алгоритмов по переработке информации — операции и проверяемые логические условия. Последовательное выполнение нескольких операций обозначается как их произведение, причем левая операция выполняется раньше правой. В такой линейной записи алгоритма операция отличается от логического условия тем, что после послед­него ставится стрелка, направленная вверх и снабженная числовым индексом. Если логическое условие А выполнено (т. е. А = 1), то осуществляется переход к операции или логическому условию, указываемому стрелкой. Если же условие А не выполнено (А = 0), то осуществляется переход к операции или логическому условию, записанному непосредственно за условием А. Например, оператор­ное описание

означает, что после выполнения операций В1, В2 и В3 необходимо проверить логическое условие А1. Если А1 = 0, то далее необходи­мо переходить к операциям В4, В5 и логическому условию А2. Если же А1 = 1, то следует сразу перейти к проверке А2. В зависи­мости от значения А2 возможны два варианта продолжения алго­ритма: выполнить операцию В6 (при А2 = 0) либо В3 и далее прове­рить А1 (при А2 = 1).

Рис. 1

При записи алгоритмов в виде ГСА используются три основных символа, имеющих опре-деленное геометрическое начертание (рис.1) и называемых вершинами ГСА. Начало и конец алго-ритма обозначается вершиной на рис. 1, а. Любой алгоритм, представленный ГСА, начинается и заканчивается этой вершиной. Операторной вершиной (рис. 1, б) ГСА называется условное или содержательное обозначение выполняемой операции.

Содержательное обозначение операции удобно записывать с по­мощью оператора присваи-вания, обозначаемого как : = . Например, запись X := Х + 1 означает, что к переменной величине X необхо­димо прибавить 1 (т. е. переменной X «присвоить» новое значение, равное X + 1). Совокупность операторов присваивания, записан­ных в одной и той же операторной вершине, выполняется одновре­менно. Условная вершина (рис. 1, в) соответствует проверяемому логическому условию, два возможных исхода которого обозначены 0 (условие не выполнено) и 1 (условие вы-полнено). Внутри услов­ной вершины записывается либо логическое выражение, отражающее смысл проверяемого условия, либо двоичная переменная (напри­мер, А), обозначающая результат проверки. Линии на ГСА озна­чают переходы от одной вершины к другой. На рис. 1, г в качестве примера построена граф-схема алгоритма по приведенному выше операторному описанию.