Студопедия

КАТЕГОРИИ:


Архитектура-(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. Умножить х на 8.

3. Из результата второго действия извлечь квадратный корень.

4. К результату третьего действия прибавить 1.

5. Умножить х на 3.

6. Результат пятого действия разделить на результат четвертого действия.

7. Записать значение результата у.

Словесный способ не имеет широкого распространения по следующим причинам:

• такие описания строго не формализуемы;

• страдают многословностью записей;

• допускают неоднозначность толкования отдельных предписаний.

 

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

Такое графическое представление называется схемой алгоритма или блок-схемой.

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

Правила выполнения схем алгоритмов регламентирует ГОСТ 19.002-80 (который полностью соответствует международному стандарту ИСО 2635-73). Применяемые графические символы, отражающие основные операции процесса обработки данных» устанавливает ГОСТ 19.003-80 (обозначение символов соответствует международному стандарту ИСО 1028-73).

Название символа Обозначение и пример заполнения Пояснение
Пуск-останов Начало, конец алгоритма, вход и выход в подпрограмму
Ввод-вывод Общее обозначение ввода или вывода данных
Блок вычислений (Процесс) Вычислительное действие или последовательность действий
Логический блок (Решение) Проверка условий (Выбор направления выполнения алгоритма в зависимости от некоторых условий (условия))
Заголовок цикла (Модификация) Начало цикла
Подпрограмма (Предопределенный процесс) Вычисления по подпрограмме, стандартной подпрограмме
Документ Вывод результатов на печать
Межстраничный соединитель   Указатель связи между частями схемы расположенными на разных листах
           

 

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

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

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

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

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

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

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

 

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

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ)

алг (алгоритм) сим (символьный) дано для да
арг (аргумент) лит (литерный) надо от нет
рез (результат) лог (логический) если до при
нач (начало) таб(таблица) то знач выбор
кон (конец) нц (начало цикла) иначе и ввод
цел (целый) кц (конец цикла) все или вывод
вещ (вещественный) длин (длина) пока не утв

 

Программный способ записи алгоритмов.

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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Сущность алгоритма. Основные требования к алгоритмам | Базовые алгоритмические структуры
Поделиться с друзьями:


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


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



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




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