Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Понятие алгоритма, его свойства.



Понятие алгоритма обсуждалось в прошлом семестре. Рассмотрим его более полно.

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

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

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

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

2. Определенность. Алгоритм должен быть однозначным, исключающим произвольность толкования любого из предписаний и заданного порядка исполнения.

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

4. Универсальность (массовость). Решение однотипных задач с раз­личными исходными данными можно осуществлять по одному и тому же алгоритму, что дает возможность создавать типовые программы для решения задач при различных вариантах задания значений исходных данных.

5. Результативность. Реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к выдаче результатов или сообщения о невозможности решения задачи. Это свойство не всегда должно выполняться, поскольку существуют такие циклические процессы, которые не должны прекращаться (например, плавка металла в доменных печах или выработка электроэнергии на электростанциях). Ясно, что алгоритмы таких процессов не имеют окончания за конечное число шагов.

Если алгоритм рассматривать как совокупность предписаний по выполнению действий, то всегда необходимо выделить те объекты, над которыми должны осуществляться предписанные действия. Такими объектами являются данные.

Обозначения элементов алгоритмов (блоки).

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

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

¨ словесный (записи на естественном языке);

¨ структурно-стилизованный (записи с помощью символов специального языка проектирования программ, называемого псевдокодом);

¨ графический (изображения схем из графических символов);

¨ программный (тексты на языках программирования).

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

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

В схеме алгоритма каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т. п.) соответствует геометрическая фигура, представленная в виде блочного символа (блока), называемого символом действия. Символы действия соединяются линиями переходов, определяющими очередность выполнения действий. Форма символов установлена ГОСТ 19.003—99, а правила составления схем алгоритмов — ГОСТ 19.002—99.

Наиболее часто употребляемые символы действий приведены в Табл.1.

Базовые управляющие конструкции.

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

Различные варианты этих базовых структур отображены в Табл.2. Там же указаны примеры, словесное описание алгоритма структуры и синтаксис записи ее на языке С. Последнее будет полезно в будущем при переводе алгоритмов в программный код.

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

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

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

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

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

 


Основные блочные символы.

Таблица 1.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 739; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь