Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Под алгоритмом понимается «точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату» (ГОСТ 19.781–74).

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

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

Указания, составляющие алгоритм, должны быть четкими и однозначными, не допускать произвольного или двоякого толкования. Это свойство называют определенностью. Оно является гарантией того, что алгоритм может быть выполнен объектами, не обладающими интеллектуальными способностями, в частности персональным компьютером (ПК). При составлении алгоритма нельзя рассчитывать на профессионального исполнителя, который может проанализировать и как-то исправить ход решения задачи в случае необходимости.

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

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

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

Наиболее распространенным способом представления алгоритма является графический. Вграфическом представлении алгоритмы изображаются в виде блок-схемы, дополненной элементами словесной или математической записи. Схема алгоритма включает геометрические фигуры (блочные символы), соединенные между собой стрелками (линиями), указывающими порядок выполнения операций. Блочные символы стандартизированы и различаются по типу выполняемых действий (ГОСТ 19.701–90, международные стандарты ИСО 5807–85).

В схеме начало и завершение алгоритма, а также вход и выход из вспомогательных алгоритмов отмечаются соответственно блочными символами «начало» и «конец» (рисунок 1, а, б), блоки 1 и 2). Эти блоки, в отличие от большинства других, используются по одному в алгоритме и отмечают как бы начало и конец пути обработки информации. Каждая схема обязательно должна начинаться и заканчиваться этими символами.

Изображенные на рисунок 1 в, г) блочные символы в виде параллелограмма (блоки 3 и 4) используют для обозначения операций ввода; вывода данных.

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

Логический блочный символ «решение» (рисунок 1 е–u), блоки 6, 7, 8, 9 соответственно) используют для обозначения выбора направления алгоритма в зависимости от некоторого условия (условий). В блоке указывают условие, вопрос или решение, определяющие дальнейшее направление выполнения алгоритма. Условия могут быть простыми (рисунок 1 е, блок 6) и составными (рисунок 1 з, блок 8). В них должны быть учтены абсолютно все возможные варианты следования процесса при решении задачи.

Из блока проверки условия может выходить два, три и более (блок 9) информационных потока, что отличает его от других блочных символов имеющих не более одного выхода. Выходящие из блока линии должны снабжаться пояснениями о направлениях исполнения алгоритма при выполнении или невыполнении приведенного условия (например, «да», «нет», «<0», «=0», «>0», «=1»,«+» «–» или др.).

Блочный символ модификации (рисунок 1 к, л, блоки 10 и 11) символизируют начало циклических вычислений (заголовок цикла), для управления которыми он используется. Внутри блока указывается переменная цикла и параметры, характеризующие закон ее изменения, например, где I – переменная цикла, А НАЧ и А КОН начальное и конечное значения переменной) цикла, А – шаг ее изменения (переменная цикла изменяется, от АН4Ч до АКОН с шагом А). Если шаг равен 1, то А можно не указывать. Кроме входящей линии блок модификации имеет одну выходящую (на рисунок 1, л), обозначенную «Вых»), а также линии, отмечающие передачу вычислительного процесса на обработку для циклических вычислений «Цикл» и возврат в начало для изменения переменной цикла «Изм. пер.».

Для обращения к вычислению по подпрограмме (стандартной или разработанной пользователем) в схеме используют блок-символ «предопределенный процесс», изображенный на рисунок 1 м) (блок 12). Он как бы заменяет алгоритм подпрограммы (вспомогательный алгоритм) и указывает, что информационный поток передается подпрограмме. По завершении вычислительного процесса в подпрограмме результаты расчета возвращаются в основной алгоритм, в котором процесс вычислений возобновляется с блока, следующего за блоком обращения к подпрограмме. Блок «предопределений и процесс» используют при организации вспомогательных алгоритмов, оформленных автономно в виде отдельного модуля, или при обращении к библиотечным подпрограммам. Для уменьшения количества пересечений и длины линий, символизирующих пути следования информационных потоков, допускается их разрывать, вставляя в места разрыва соединители.

Если линия разрывается между блоками, размещёнными на одной странице, то в качестве соединителя используют соответствующие символы (рисунок 1, н, о). В блочный символ вписывают номера блоков, в которые вычислительный процесс передаётся или из которых он поступил. Так, соединитель (на рисунке 1 н) указывает, что вычислительный процесс передаётся на вход блока 15, а соединитель (на рисунке 1 о), что вычислительный процесс поступил из выхода блока 10.

Если же линии соединяют блоки, расположенные на разных страницах, то используется символ межстраничного соединителя, в который вписывают не только номера блоков, но и номера страниц. На рисунке 1 n межстраничном соединителе указано, что вычислительный процесс передаётся на вход блока 23, изображённого на странице 10. В этом случае перед входом блока 23 будет стоять (приведённый на рисунке 1 р) межстраничный соединитель (информация передана с выхода блока 12, расположенного на странице 6).

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

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

Внутри блоков и рядом с ними делаются записи и обозначения, уточняющие выполняемые функции.

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

Алгоритмы целесообразно разрабатывать поэтапно (по шагам). Сложные задачи следует разбивать на достаточно простые, легко воспринимаемые части.

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

· в схеме алгоритма все линии от блока «начало» до блока «конец» не должны иметь разрывов, не помеченных соединителями. Все линии, указывающие последовательность выполнения действий, должны быть замкнутыми;

· в схеме должны четко прослеживаться потоки информации. Блоки следует размещать таким образом, чтобы избегать пересечения линий. При передаче управления в схеме «снизу-вверх» или «справа налево» линии обязательно помечают стрелками;

· не допускается передача управления в никуда. «Источник» передачи управления и «получатель» должны быть четко обозначены.



а) б) в)

       
 
 
 
 


да нет

г) д) е)

       
 
 
   
 
 


 
> 0 ж) < 0

7 + Изм. –

пер. Вых. +

= 0 =1

ж) з) и)

 
Изм. Вых.

пер.

Цикл

 
 


к) л) м)

10 6 Текущий

23 12 … комментарий

н) о) п) р) с)

Рисунок 1 Наиболее употребляемые в схемах алгоритмов блоки-символы





Дата публикования: 2015-10-09; Прочитано: 305 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...