КАТЕГОРИИ: Архитектура-(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) |
Формы представления алгоритмов
Основные формы представления алгоритмов: 1.Пошагово-словесная. Алгоритм представляется на языке человека. 2.Словесно-формульная. Алгоритм представляется на языке человека с использованием математической символики (формул). 3.Графическая. Алгоритм представляется в виде графической схемы. 4.Формальные языки. Для представления алгоритма используются различные псевдокоды и алгоритмические языки. Пошагово-словесная форма представляет собой пронумерованную последовательность строк, каждая из которых содержит описания конкретных действий на естественном языке. Данная форма применяется в том случае, если исполнителем является человек. Примерами данной формы представления могут служить алгоритмы математических вычислений над конечными числами. Рассмотрим хорошо известный со школы алгоритм Евклида нахождения наибольшего общего делителя двух натуральных чисел (a и b); его пошагово-словесное описание выглядит следующим образом: 1. Если a = b, результатом считать a; закончить вычисления. 2. Если a > b, найти разность a – b; новым значением a считать значение разности; перейти к п.1; 3. Если b > a, найти разность b – a; новым значением b считать значение разности; перейти к п.1; Удобство пошагово-словесной формы – в ее универсальности (по отношению к классам описываемых алгоритмов), использовании естественного национального языка для записи конструкций, отсутствии строгой формализации. Эта форма записи алгоритмов широко используется для представления различных учебных алгоритмов. Словесно-формульная форма представления алгоритмов является логическим развитием пошагово-словесной формы. Такая форма записи предполагает использование различных математических соотношений, записанных в виде формул. Формула – строчная запись действий, обеспечивающих обработку числовых, символьных или логических данных. Формулы, предназначенные для исполнителя «человек», не обязательно могут быть строчными – это приводит к некоторой неоднозначности порядка действий, не сказывающейся, однако, на результате вычислений вследствие дистрибутивного и сочетательного законов. Графическая форма записи алгоритмаполучила наиболее широкое распространение в информатике. Графическое изображение алгоритма, предназначенного для выполнения на ЭВМ, называется схемой программы. Поэтому, другое распространенное название данной формы – блок-схема. В данной форме для представления отдельных блоков алгоритма используются определенный набор геометрических фигур. Форма символов действий, их назначение и правила выполнения схем алгоритмов и программ определены соответствующими стандартами (ГОСТ 19.701-90. СХЕМЫ АЛГОРИТМОВ, ПРОГРАММ, ДАННЫХ И СИСТЕМ. УСЛОВНЫЕ ОБОЗНАЧЕНИЯ И ПРАВИЛА ВЫПОЛНЕНИЯ) Приняты следующие обозначения:
Графическая форма предназначена, безусловно, только для исполнителя «человек» – в этом ее основной недостаток. Главное достоинство такой формы представления – наглядность; блок-схема позволяет охватить весь алгоритм сразу, отследить различные варианты его выполнения. На стадии разработки в блоках можно делать записи как на естественном, так и на формальном языке. Именно по этой причине блок-схема считается весьма полезной формой при обучении алгоритмизации, а также при разработке сложных алгоритмов. Однако в блок-схеме, как правило, отсутствует подробное описание конкретных действий – их существование лишь обозначено. По блок-схеме гораздо проще осуществляется запись алгоритма на каком-либо формальном языке. Правда, следует заметить, что синтаксическое богатство языков программирования выше языка блок-схем – по этой причине не все языковые конструкции имеют простое графическое представление – примером может служить конструкция цикла с параметром, не имеющая собственного представления в языке блок-схем. В качестве примера рассмотрим блок-схему обсуждавшегося выше алгоритма Евклида.
Блок-схемы являются не единственной формой графического представления алгоритмов. В качестве альтернативного примера представления алгоритма с помощью графических средств можно привести весьма компактные диаграммы Насси-Шнейдермана.
Псевдокод – ориентированный на исполнителя «человек» частично формализованный язык, позволяющий записывать алгоритмы в форме, весьма близкой к алголоподобным языкам программирования. Термин «частично формализованный» в данном случае означает, что в псевдокоде строго определены только правила записи управляющих структур, а описание самих действий остается естественным. Псевдокод имеет русскоязычную основу и используется, в основном, при обучении азам программирования. Алгоритм представленный с помощью автокода, представляет собой последовательность строк, в каждой из которых содержится описание действий либо по обработке данных, либо по управлению процессом обработки. Для записи управляющих структур приняты следующие обозначения: · внешнее оформление: АЛГ – начало алгоритма, ПРОЦ – начало процедуры, КНЦ; – конец процедуры, КНЦ. – конец алгоритма; · ветвление: ЕСЛИ …ТО…ИНАЧЕ…ВСЕ; после ЕСЛИ ставится описание логического условия, по которому происходит ветвление, после ТО – описание действий (их может быть несколько), которые исполняются при значении условия TRUE, если ветвление полное – после ИНАЧЕ описываются альтернативные действия, в любом случае в конце ставится слово ВСЕ, которое служит признаком окончания данной конструкции; · цикл: ПОКА…ПОВТОРЯТЬ…КЦ; после ПОКА ставится описание логического условия выполнения команд цикла, после ПОВТОРЯТЬ – описание действий (тела цикла), КЦ – признак конца циклической конструкции. Часто при записи алгоритма отдельные действия заканчиваются разделителем (например, «;») – это позволяет избежать ошибок в случае, если описание действия занимает не одну строку. Помимо этого, для удобочитаемости и наглядности применяется так называемая «структурная запись», при которой запись отдельных элементов структур производится не с начала строки, а с отступом, показывающим вложенность и подчиненность этих элементов. В качестве примера алгоритма, записанного с помощью псевдокода, приведем рассмотренный выше алгоритм Евклида нахождения НОД двух целых чисел (a и b).
Удобство использования псевдокода – в сочетании относительной строгости синтаксических конструкций и их русскоязычной основы. Близость конструкций псевдокода языкам программирования позволяет легко перейти от одного к другому. Однако отсутствие формальных правил записи действий не позволяет использовать псевдокод для составления алгоритмов, исполнителями которых являются технические устройства.
Дата добавления: 2014-01-14; Просмотров: 4973; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |