Приведите способы представления алгоритмов
Различают следующие виды алгоритмов :
линейный – список команд (указаний), выполняемых последовательно друг за другом;
разветвляющийся – алгоритм, содержащий хотя бы одну проверку условия, в результате которой обеспечивается переход на один из возможных вариантов решения;
циклический – алгоритм, предусматривающий многократное повторение одной и той же последовательности действий. Количество повторений обусловливается исходными данными или условием задачи.
Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными. Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг,электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е.словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.
1. определить температуру воздуха
2. если температура ниже 0, то надеть шубу, иначе надеть куртку
Псевдокод — описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основныеэтапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема — описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость»алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд. Вместе с тем они настолько достаточны, что позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования .
Источник
Способы представления алгоритмов
1. Словесный. Такое описание алгоритма состоит из словесного перечня действий в виде предложений.
Например, вычислить C=
Исходные данные А и В ввести в память ЭВМ, проверить выполнение неравенства АB. Если оно выполняется, то вычислить А-В. Результат обозначить как С и вывести его; в противном случае вычислить А+В, результат обозначить С и вывести его.
Недостаток такого представления — отсутствие четкой формализации и наглядности выполнения процесса.
Достоинством является то, что таким способом можно описывать алгоритмы с любою степенью детализации.
2. Формульно-словесный способ основан на задании инструкций о выполнении конкретных действий в четкой последовательности в сочетании со словесными пояснениями.
Для рассмотренного задания алгоритм, представленный формульно-словесным способом, будет следующим:
Этап 1. Ввести А, В.
Этап 2. Если АB, то перейти к этапу 4, иначе — к этапу 3.
Этап 3. С=А-В, перейти к этапу 5.
Этап 5. Принять значение С за результат.
Этап 6. Вывести С.
Этот способ более компактен, но не является строго формальным.
3. Табличный. Алгоритм задается в виде таблиц и расчетных форм. Этот способ наиболее часто используется в экономических расчетах. Исходные данные и результаты вносятся в заголовки столбцов таблицы.
4. Операторный (язык операторных схем). При использовании этого способа вычислительный процесс изображается в виде последовательности символов (операторов). Они обозначают группы стандартных или нестандартных операций, реализующих законченную процедуру с указанием связи между отдельными операторами. Этот способ значительно упрощает составление программы для компьютера, при этом вместо операторов подставляются соответствующие команды. Недостатком данного способа является его малая наглядность.
5. Графический (способ блок-схем). При таком представлении алгоритма каждый этап отображается в виде геометрических фигур — “блоков”, форма которых зависит от выполняемой операции. Блок может иметь имя (метку). Линия соединения блоков показывает направление процесса обработки данных. Каждое направление называется ветвью. Перечень блоков, их наименование, функции, формы, размеры определяются ГОСТ 19.003- 80.
Указанный ГОСТ регламентирует изображение и размеры отдельных блоков в блок-схеме, а также их взаимное расположение. Блоки, в которых не предусматривается разветвление алгоритма по условию, имеют вид прямоугольника с размерами сторон, отношение которых равно 3:2. Блоки, предусматривающие проверку условия с последующим разветвлением, — форму ромба, соотношение диагоналей которого также равно 3:2. Каждая блок-схема обязательно должна включать в себя блок-начало и блок-конец. Форма этих блоков — прямоугольник со скругленными углами, размеры — 3:1. Отдельно определяются блоки, в которых осуществляется ввод и вывод информации. В зависимости от того, откуда и куда осуществляется ввод/вывод, используются разные виды блоков ввода/вывода. Однако можно использовать блок ввода/вывода общего назначения в виде параллелограмма с соотношением длины основания к высоте как 3:2. Блоки соединяются стрелками, показывающими последовательность исполнения. Сам значок “стрелка” в направлении “вниз” и “вправо” можно не ставить, “вверх” и “влево ” — ставить обязательно. Блоки должны быть расположены так, чтобы расстояние между блоками и стрелками составляло не меньше 5 мм.
Алгоритм линейной структуры состоит из последовательности действий, формирующих одну ветвь вычислений. Примером линейного алгоритма может быть алгоритм расчета У по формуле У=Х 2 .
Решение задач не всегда можно представить в виде линейного алгоритма. Существуют задачи, в которых требуется организовать выбор выполнения последовательности действий в зависимости от каких-либо условий. Такие алгоритмы называются алгоритмами разветвляющейся структуры. В них должен присутствовать один или несколько логических операторов (проверки условия) и несколько ветвей решения. Примером разветвляющегося алгоритма может быть выбор наибольшего из двух введенных произвольных чисел.
Алгоритмы, отдельные действия в которых многократно повторяются, называются алгоритмами циклической структуры. Совокупность повторяющихся действий алгоритма принято называть циклом. При разработке циклического алгоритма вводят следующие понятия: параметр цикла — величина, с изменением значения которой связано многократное выполнение цикла; начальное и конечное значение параметров цикла; шаг цикла — значение, на которое изменяется параметр цикла при каждом повторении.
Цикл организуют по определенным правилам. Циклический алгоритм состоит из подготовки цикла; тела цикла; условия продолжения цикла.
В подготовку цикла входят действия, связанные с заданием исходных данных для параметров цикла и других величин, использующихся в цикле.
В тело цикла входят многократно повторяющиеся действия для вычисления искомых величин; подготовка следующего значения параметра цикла, подготовка других значений, необходимых для повторного выполнения действий в теле цикла.
В условии продолжения цикла определяется необходимость дальнейшего выполнения повторяющихся действий (тела цикла). Если параметр цикла превысил конечное значение, то выполнение цикла должно быть прекращено.
Примером циклического алгоритма выступает алгоритм определения суммы десяти произвольных чисел, вводимых пользователем.
Статьи к прочтению:
ОАиП. Лекция 1 \
Похожие статьи:
Для того чтобы ЭВМ <без участия человека>выполнила некоторые действия необходимо задать последовательность инструкций (команд) на понятном компьютеру…
Существуют несколько способов описания алгоритма: словесное, псевдокод, блок-схема, программа. Словесное описание представляет структуру алгоритма на…
Источник
Понятие алгоритма. Способы представления и типы алгоритмов.
Алгоритм — это предписание некоторомуисполнителю выполнить конечную последовательность действий, приводящую к некоторому результату.
В программировании алгоритм является фундаментом программы, а основным исполнителем — компьютер. На стадии тестирования алгоритма исполнителем может быть сам программист.
Основными свойствами алгоритма являются:
- дискретность — представление алгоритма в виде последовательности шагов;
- массовость — применимость алгоритма к некоторому множеству исходных данных;
- определенность — за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
- однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
Из перечисленных свойств лишь дискретность является обязательным свойством алгоритма.
Способы представления алгоритмов:
1. Словесный способ – описание алгоритма состоит из словесных действий. Недостаток – отсутствие четкой формализации и наглядности выполнения процесса, но возможность описания алгоритма с любой степенью детализации.
2. Формульно-словесный способ. Основан на задании инструкций о выполнении конкретных действий в четкой последовательности в сочетании со словесными пояснениями.
Этап 1. Ввести А, В; Этап 2. Если А В, то переходим к этапу 3; иначе переходим к этапу 4. Этап 3. С=А-В, и переходим к этапу 5; Этап 4. С=А+В; Этап 5. Вывод С.
3. Табличный способ. Алгоритм задается в виде таблиц и расчетных формул. Наиболее часто используется в экономических расчетах.
4. Операторный (язык операторных схем).Вычислительный процесс изображается в виде последовательных символов (операторов). Они обозначают группы стандартных или нестандартных операций, реализующих законченную процедуру с указанием связи между отдельными операторами. Порядок выполнения – слева направо. Недостаток – малая наглядность, достоинство – значительно упрощает составление программы для компьютера.
5. Графический способ (метод блок-схемы). При таком представлении алгоритма, каждый этап отображается в виде геометрических фигур-блоков, форма которых зависит от выполняемой операции. Линия соединения блоков, показывает направление процесса обработки данных. Каждое направление называется ветвью.
Типы алгоритмов.
1)Линейный– это такой алгоритм, в котором все команды выполняются строго последовательно друг за другом.
Пример Вычисление площади круга по формуле: S = PI* R*R, где PI =3,14
Разветвляющийся алгоритм – это такой алгоритм, который содержит команду ветвления.
Команда ветвления — это составная команда, в которой та или иная серия команд выполняется после проверки условия. Признаком разветвляющегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения (проверяемое условие) и в зависимости от истинности или ложности проверяемого условия для выполнения выбирается та или иная ветвь алгоритма. Алгоритм предполагает выполнение Действия 1, если записанное условие истинно (выполняется), и выполнение Действия 2 ( если условие ложно (не выполняется).
3)Циклический алгоритм — это такой алгоритм, который содержит команду повторения.
Параметр цикла – величина, с изменением значения которой связано многократное выполнение цикла. Шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.
Циклический алгоритм состоит из:
1. Подготовка цикла – связана с заданием данных для параметров цикла и других величин
2. Тело цикла – многократно повторяющиеся действия для вычисления: подготовка значений параметра цикла
3. Условие продолжения цикла – необходимость дальнейшего выполнения повторяющихся действий (тела цикла). Если параметр цикла превысил конечное значение, то выполнение цикла должно быть прекращено.
Источник
Способы представления алгоритмов
Любой исполнитель может понимать и исполнять алгоритм только в том случае, если он представлен в виде, понятном исполнителю. Любая форма представления алгоритма должна обеспечивать свойства алгоритма: дискретности, точности, понятности, результативности и массовости.
Существуют три основных способа представления алгоритмов.
1. Использование естественного языка.
В этом случае последовательность предложений языка описывает последовательность действий исполнителя, которым может быть в большинстве случаев только человек. Никаких специальных правил и требований к таким записям алгоритмов не предъявляется. Главное, что бы выполнялись требования, предъявляемые к алгоритмам, о которых говорилось выше. Иногда такая запись включает некоторые языковые конструкции известных алгоритмических языков или языков программирования.
2. Графически способ..
В графической форме алгоритм представляется в виде геометрических фигур. Обычно они связываются линиями, которые показывают последовательность исполнения отдельных шагов алгоритма. Существует несколько вариантов графического представления алгоритмов, но наиболее широкую известность получило представление в виде блок-схем. Метод блок-схем был разработан Фон Нейманом – одним из первых разработчиков вычислительных машин. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа.
Ниже приведены наиболее часто встречающиеся блочные символы.
3. Предопределенный процесс.
3. Использование алгоритмических языков.
Алгоритмический язык – это формальный язык, используемый для записи алгоритмов. Запись алгоритма на алгоритмическом языке является формализованной и подчиняется строгим требованиям синтаксиса используемого языка. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, и не содержит деталей, связанных с его устройством.
Алгоритм на алгоритмическом языке в общем виде записывается в следующей форме:
алг название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
Кон
В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой.
Пример записи алгоритма вычисления суммы квадратов целых чисел:
алг Сумма квадратов (арг цел n, рез цел S)
дано n > 0
надо S = 1*1 + 2*2 + 3*3 + … + n*n
Источник