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