Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Представление алгоритма и псевдокод




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

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

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

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

Псевдокод - это система обозначений, предназначенная для не­формального представления идей в процессе разработки алгоритмов.

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

Альтернатива выражается на псевдокоде следующей структурой: if (условие) then (действие) else (действие)

Сокращенный синтаксис этого конструкта когда не предусмот­рено действие для варианта else выглядит так:

if (условие) then (действие)

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

Эта инструкция предписывает проверить условие и, если оно верно, выполнить действие, а затем вновь проверить условие. Если при очередной проверке условие оказывается неверным, следует перейти к инструкции, следующей за данной структурой.

while (условие) do (действие)

Цикл-do на псевдокоде имеет следующий вид: repeat (действие) until (условие)

Оператор присваивания. Часто желательно ссылаться на неко­торые значения с помощью описательных имен. Для установки по­добных связей будет использоваться следующая конструкция при­сваивания:

assign имя the value выражение

здесь параметр имя - это описательное имя, а параметр выражение описывает значение, связываемое с этим именем. Например: assign Итог the value Цена + Налог

При ее выполнении результат суммирования значений пере­менных Цена и Налог будет связан с именем Итог.

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

В псевдокоде для обозначения заголовка, по которому можно рас­познать данный блок псевдокода используется термин procedure: procedure имя

здесь имя — это конкретное название, присвоенное данному блоку. Ниже следуют инструкции, определяющие выполняемые в этом блоке действия.

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

Такие обобщенные имена в псевдокоде выделяют угловыми скобками и указывают их в круглых скобках а той же строке, в которой определяется имя данной процедуры. В частности, процеду­ра Сортировка, предназначенная для сортировки произвольных списков имен, будет начинаться следующей инструкцией: procedure Сортировка (<список>)

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

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




Поделиться с друзьями:


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


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



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




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