Основные свойства и способы представления алгоритма
Любой алгоритм должен обладать следующими свойствами:
• определенностью –за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
• результативностью– обязательным получением некоторого результата (числа, таблицы, текста, звука, изображения и т. д.) или сигнала о том, что данный алгоритм неприменим для решения поставленной задачи;
• массовостью– возможностью получения результата при различных исходных данных для некоторого класса сходных задач;
• формальностью– отвлечение от содержания поставленной задачи и строгое выполнение некоторого правила, инструкции;
• дискретностью— возможностью разбиения алгоритма на отдельные элементарные действия.
Существуют следующие формы представления алгоритма:
• словесная (вербальная) на неформальном языке;
• на языках программирования;
Словесная формапредставления алгоритма имеет ряд недостатков. Для достаточно сложных алгоритмов описание становится слишком громоздким и не является наглядным. Эта форма представления обычно используется лишь на начальных стадиях разработки алгоритма.
Пример словесной формы описания алгоритма: Чтобы перейти улицу, нужно посмотреть налево, убедиться в отсутствии приближающегося транспорта, дойти до середины улицы, посмотреть направо, убедиться в отсутствии близко идущего транспорта, продолжить движение через улицу. При наличии движущихся транспортных средств нужно ждать, когда транспорт проедет.
Алгоритм, записанный на языке программирования, называется программой.
Графическая формапредставления алгоритмов является более наглядной и строгой. Алгоритм изображается в виде последовательности связанных между собой блоков, каждый из которых соответствует выполнению одного или нескольких операторов. Такое графическое представление называется блок-схемой алгоритма.
Условные графические обозначения символов, используемых для составления блок-схемы алгоритма, стандартизированы.
Для записи алгоритма существует общая методика:
— каждый алгоритм должен иметь имя, которое раскрывает его смысл;
— необходимо обозначить начало и конец алгоритма;
— описать входные и выходные данные;
— указать команды, которые позволяют выполнять определенные действия над выделенными данными.
БЛОК-СХЕМЫ АЛГОРИТМОВ
Среди универсальных форм представления или записи алгоритмов можно выделить так называемые блок-схемы алгоритмов. Универсальность этой формы обусловлена тем, что в ней заранее не определяются абстракции, которые могут специфицироваться в блоках даже с применением обычного разговорного языка. Блоки являются всего лишь шаблоном для описания действий в процессе решения задачи, а связи между блоками определяют последовательность этих действий.
Такая форма часто используется в профессиональной среде программистов. Она позволяет с достаточной степенью свободы описывать решения, получаемые в процессе нисходящего проектирования алгоритмов и соответствующих им программ, абстрагируясь от средств, предоставляемых конкретным языком программирования. Палитра ее средств (допустимых шаблонов) в этом случае может быть достаточно широка, однако для записи алгоритмов необходимым является минимальное подмножество средств, т.е. только два вида блоков — операторный и условный.
Операторный блок – это прямоугольник, в который вписывается некоторое действие или выражение. Этот блок может иметь несколько входов и только один выход, что обеспечивает однозначность в определении последовательности выполняемых действий. Исключение составляют начальный и конечный блоки. Первый не имеет входов, второй – выхода.
Условный блок обозначается ромбом, в который вписывается некоторое условие. Поскольку результатом проверки условия может быть либо “да”, либо “нет” (“истина” или “ложь”, “0” или “1”), блок имеет два соответствующих этим ответам выхода.
Если операторный или условный блоки имеют более одного входа, то изображение входов совмещается. На связях, определяющих последовательность выполнения блоков, стрелки не обязательны, если их направление соответствует продвижению “сверху-вниз” и “слева-направо”. Ограничения на геометрические размеры блоков в этом случае не вводятся.
Такая форма представления алгоритмов очень удобна в тех случаях, когда рассматриваются верхние уровни в иерархической структуре процесса проектирования программ и даже на нижних уровнях, если по каким-то причинам не определены средства их описания. Кроме того, блок-схемы наиболее удобны для записи алгоритмов на начальных стадиях обучения программированию.
ОСНОВНЫЕ БЛОКИ БЛОК — СХЕМЫ
Рис.1. Основные блоки блок – схемы
Рис.1. — Основные блоки блок – схемы
Отдельные блоки алгоритмов соединяются между собой линиями потоков, которые проводятся параллельно внешней рамке чертежа. Направления линий потока помечаются стрелкой.
«Процесс» (этап вычисления) изображается прямоугольником, внутри которого записывается набор действий (блок оператора присваивания). Ромбом изображается «решение», внутри которого осуществляется проверка условия (логический блок). Ввод исходных данных изображается параллелограммом, внутри которого пишется слово «ввод» и перечисляются переменные, подлежащие вводу.
Представление алгоритма в виде блок-схемы является промежуточным, так как алгоритм в таком виде не может быть непосредственно выполнен компьютером, но помогает пользователю при создании (написании) программы для ПК.
Использование блок-схем дает возможность:
• наглядно отобразить базовые конструкции алгоритма;
• сосредоточить внимание на структуре алгоритма, а не на синтаксисе языка;
• анализировать логическую структуру алгоритма;
• преобразовывать алгоритм методом укрупнения (сведения к единому блоку) или детализации – разбиения на ряд блоков;
• использовать принцип блочности при коллективном решении сложной задачи;
• осуществить быструю проверку разработанного алгоритма (на уровне идеи);
• разобрать большее число учебных задач.
Составление блок-схемы алгоритма является важным и в большинстве случаев необходимым этапом решения сложной и большой задачи на ЭВМ, значительно облегчающим процесс составления программ.
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ — конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Источник
Алгоритмы и их свойства.
В IX ст. узбекский математик Мухаммед, уроженец Хорезма (по арабски “ аль-хорезме”), разработал правила выполнения четырех арифметических действий над числами в десятичной системе исчисления. Множество этих правил назвали алгоритмом (algorithmi — от латинского написания имени аль-хорезме), а потом словом “алгоритм” начали обозначать совокупность правил определенного вида, а не только правил выполнения арифметических действий.
Алгоритм— это упорядоченный законченный набор четко определенных правил для решения задач за конечное количество шагов.
Говоря об алгоритмах, необходимо рассмотреть источники их возникновения.
Первый источник — это практика, наша повседневная жизнь, которая предоставляет возможность, а иногда и требует получать алгоритмы путем описания действий из решения разных задач. Такие алгоритмы называются эмпирическими.
Второй источник — это наука. Из ее теоретических положений и установленных фактов могут быть выведены алгоритмы. Так, на основе теоретических законов можно построить алгоритмы для управления разными технологическими процессами.
Третьим источником являются разные комбинации и модификации уже имеющихся алгоритмов. Примерами алгоритмов являются правила приготавливания лекарства в аптеке, инструкции принятия лекарства, процесс лечения больного и т.п..
Свойства алгоритмов
Любой алгоритм должен иметь такие основные свойства:
Определенность. Алгоритм не должен содержать указаний, содержание которых может быть воспринято неоднозначно. Кроме того, после выполнения очередного указания алгоритма не должны возникать никаких разногласий относительного того, какое указание будет выполняться следующим. Иначе говоря, при выполнении алгоритма никогда не должна появляться потребность в принятии любых решений, которые непредусмотрены составителем алгоритма.
Массовость.Алгоритм составляется не для решения одной конкретной задачи, а для целого класса задач одного типа. В простом случае эта вариативность алгоритма обеспечивает возможность использования разных допустимых исходных данных.
Дискретность. Процесс, который описывается алгоритмом, должен быть разделен на последовательность отдельных действий. Описания, которые при этом возникают, представляют собой последовательность четко разделенных друг от друга указаний, которые образовывают дискретную структуру алгоритмического процесса — лишь выполнив требования одного указания, можно перейти к следующему.
Результативность– обязательное свойство алгоритмов. Её суть состоит в том, что при точном выполнении всех указаний алгоритма процесс принятия решения (получение результата) должен закончиться через конечное количество шагов и при этом должен быть получен ответ на поставленные в задачи вопросы.
Способы представления алгоритмов
Существует несколько способов представления алгоритмов: словесный, символический, графический.
Словесный способзаключается в описи алгоритма в терминах какого либо языка. Данный способ применяется редко, поскольку запись при этом довольно громоздкая и могут возникнуть противоречивые толкования алгоритма.
Символический способзаключается в записи алгоритма с помощью условных символов. Данный способ представления алгоритма делает запись алгоритма очень кратким, и не наглядным.
Графический способ– изображение алгоритма в виде структурной схемы, которая состоит из отдельных блоков. Этот способ представления алгоритма есть наиболее удобным и наглядным.
При представлении задачи графическим способом применяют такие основные виды блоков:
Блок в виде прямоугольника символизирует выполнение определенных указаний задачи. Стрелками обозначается направление хода выполнения условий задачи.
Блок в виде ромба символизирует проверку выполнения определенного утверждения с целью принятия решения о направлении хода дальнейшего выполнения условия задачи. Внутри блока описывается условие, которое требуется проверить. Возможные операции указываются на выходах — линиях, которые выходят из блока.
Начало и конец алгоритма изображаются в виде овальных блоков.
Если существует потребность свести несколько линий в одну, то используют соединительный круг.
При составлении структурной схемы алгоритма составитель должен придерживаться следующих правил, так называемых правил для составления структурной схемы алгоритма:
Любой алгоритм должен иметь начало и конец
Все блоки, кроме проверки условия, имеют только один выход.
Все блоки алгоритма имеют не больше одного входа.
Линии алгоритма не могут разветвляться.
Типы алгоритмов и их структурные схемы
Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.
Источник
Способы представления алгоритмов
Любой исполнитель может понимать и исполнять алгоритм только в том случае, если он представлен в виде, понятном исполнителю. Любая форма представления алгоритма должна обеспечивать свойства алгоритма: дискретности, точности, понятности, результативности и массовости.
Существуют три основных способа представления алгоритмов.
1. Использование естественного языка.
В этом случае последовательность предложений языка описывает последовательность действий исполнителя, которым может быть в большинстве случаев только человек. Никаких специальных правил и требований к таким записям алгоритмов не предъявляется. Главное, что бы выполнялись требования, предъявляемые к алгоритмам, о которых говорилось выше. Иногда такая запись включает некоторые языковые конструкции известных алгоритмических языков или языков программирования.
2. Графически способ..
В графической форме алгоритм представляется в виде геометрических фигур. Обычно они связываются линиями, которые показывают последовательность исполнения отдельных шагов алгоритма. Существует несколько вариантов графического представления алгоритмов, но наиболее широкую известность получило представление в виде блок-схем. Метод блок-схем был разработан Фон Нейманом – одним из первых разработчиков вычислительных машин. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа.
Ниже приведены наиболее часто встречающиеся блочные символы.
3. Предопределенный процесс.
3. Использование алгоритмических языков.
Алгоритмический язык – это формальный язык, используемый для записи алгоритмов. Запись алгоритма на алгоритмическом языке является формализованной и подчиняется строгим требованиям синтаксиса используемого языка. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, и не содержит деталей, связанных с его устройством.
Алгоритм на алгоритмическом языке в общем виде записывается в следующей форме:
алг название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
Кон
В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой.
Пример записи алгоритма вычисления суммы квадратов целых чисел:
алг Сумма квадратов (арг цел n, рез цел S)
дано n > 0
надо S = 1*1 + 2*2 + 3*3 + … + n*n
Источник