Виды алгоритмов и способы их описания. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Виды алгоритмов и способы их описания.



Различают следующие виды алгоритмов:

линейный – список команд (указаний), выполняемых последовательно друг за другом;

 

 

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

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

 

 

Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными.Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.

Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг,электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е.словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.

 

Например:

Алгоритм "Погода".

· Начало

o определить температуру воздуха

o если температура ниже 0, то надеть шубу, иначе надеть куртку

· Конец.

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

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

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

Например:

 

Программа - описание структуры алгоритма на языке алгоритмического программирования.

Например:

program E3;

uses crt;

var t: real;

begin

clrscr;

writeln(‘введите температуру воздуха t=‘);

readln(t);

if t < 0 then writeln(‘одеть шубу’) else writeln(‘одеть куртку’);

end.

Правила составления блок-схемслить как преступник

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

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

Составление блок-схем регламентируются следующими документами:

ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.

ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические

Исходя из этих документов основными элементами блок-схемы являются:

 

Терминатор Обозначает начало или конец программы. Выделяет границы взаимодействия с внешней средой. Используется обычно с надписями "Начало","Конец" либо "Пуск","Остановка" строго по одному разу.  
Процесс Выполнение некоторой операции (арифметической, логической либо иной другой), в результате которой каким-либо образом изменяются данные. Возможно объединение нескольких операций в один блок.
Решение Выбор одного из двух возможных решений алгоритма. Внутри элемента расположено условие. Из углов ромба выходят возможные пути, обозначающиеся как "да","нет" либо "истина","ложь". В целях удобства чтения блок-схемы направление, отвечающее условию ("да"/"истина")выходит из нижнего угла ромба, противоположное из бокового. Возможно использования элемента для обозначения цикла epeat..until и while..do.
Данные Осуществление обмена данными (ввод-вывод). Обобщенное представление обмена информацией без определенного типа носителя.
Комментарии Пометка неактивной части программы.
Линия потока Отображает поток данных, с возможным указанием направления их передачи. Объединяет между собой элементы блок-схемы.
Пунктирная линия Альтернативная связь между объектами. Используется также для обведения комментариев.
Параллельные действия Синхронизация нескольких операций в программе единовременно.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 649; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.199.243 (0.005 с.)