русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ПРЕДСТАВЛЕНИЕ АЛГОРИТМА И ПСЕВДОКОД


Дата добавления: 2014-02-04; просмотров: 1683; Нарушение авторских прав


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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



<== предыдущая лекция | следующая лекция ==>
ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА | АЛГОРИТМ ДВОИЧНОГО ПОИСКА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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