русс | укр

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

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

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

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


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

Способы описания алгоритмов


Дата добавления: 2013-12-23; просмотров: 900; Нарушение авторских прав


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

Рассмотрим основные способы описания алгоритмов.

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

Пример. Рассмотрим классический алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел:

1. Если числа равны, то взять первое число в качестве ответа и закончить выполнение алгоритма, иначе перейти к п.2.

2. Определить большее из двух чисел.

3. Заменить большее число на разность большего и меньшего чисел.

4. Перейти к п. 1.

 

Команды этого алгоритма выполняется в естественной последовательности, если не оговорено противного. Так, после второй команды будет выполняться третья, после третьей – четвертая, а после выполнения четвертой команды необходимо вернуться к снова к выполнению первой команды, т.к. это явно оговорено в четвертой команде. Команды такого типа (команды перехода) нарушают естественный порядок выполнения команд алгоритма.

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



 

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

 

 

наименование обозначение функции
Пуск-останов (начало и конец алгоритма)   Начало, конец, прерывание процесса обработки данных или выполнения алгоритма
Процесс (вычисление)   Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных.
Условие (выбор)   Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий
Модификация Выполнение операций, меняющих команды, или группы команд, изменяющих алгоритм
Предопределенный процесс (подпрограмма)   Использование ранее созданных и отдельно описанных алгоритмов.
Ввод-вывод   Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).
Перфокарта   Ввод-вывод данных, носителем которых является перфокарта
Дисплей   Ввод данных с подключенного к ЭВМ дисплея или вывод данных на дисплей.
Документ   Ввод-вывод данных, носителем которых служит бумага.

 

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

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

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

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


алгоритмчислогласных;



<== предыдущая лекция | следующая лекция ==>
Свойства алгоритма | Структуры алгоритмов


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


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

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

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


 


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

 
 

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

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