Способы описания алгоритмов и виды алгоритмов
Со словом «алгоритм» сталкивались многие. Ведь с ним тесно связана жизнь людей. Что это такое? Какие бывают способы описания алгоритмов, виды алгоритмов? Для чего они нужны? Данная статья поможет во всем этом разобраться и разложить все по своим местам.
Сам термин обозначает понятную и точную последовательность простых шагов, которые исполнитель должен пройти для того, чтобы решить поставленную перед ним задачу. Само слово «алгоритм» берет свое происхождение от имени известного восточного ученого-математика Аль-Хорезми. Именно он сформулировал все правила, по которым выполняются арифметические действия. В самом начале под этим понятием понимали лишь правила, относящиеся к главным четырем арифметическим действиям, производимым над числами. А уже потом понятие стало использоваться для обозначения последовательности шагов, приводящих к решению задачи. При вычислительном процессе данные являются теми объектами, к которым алгоритм применяется. При решении задачи вычисления исходные данные преобразуются в результатные.
Процесс разработки алгоритма является очень творческим, несмотря на свою простоту. Если составить его может человек, то исполнять способна и техника. Причем сегодня это не только компьютер, но также и телефоны, планшеты, терминалы и даже стиральные машинки с кофеварками.
По запросам в Интернете можно найти много ценной информации, но ее еще нужно собирать воедино. Поэтому здесь указывается все самое необходимое.
Какие основные свойства имеет алгоритм?
1. Определенность. Это свойство еще называют детерминированностью. Оно подразумевает получение результата вычислений, который является однозначным при задании исходных данных для вычислений. Это свойство придает процессу выполнения механический характер. Не требуются дополнительные сведения и указания о задаче. Не должно быть ничего произвольного.
2. Массовость. Данное свойство предполагает то, что алгоритм должен годиться для решения множества задач одинакового типа. Исходная информация при этом может быть выбрана из какой-то области, называемой областью применения.
3. Результативность – свойство, указывающее на наличие исходной информации, для которой по заданной последовательности действий процесс должен пройти конечное число шагов, а затем остановиться, выдавая необходимый результат.
4. Дискретность – это когда вычислительный процесс расчленяется на этапы. И возможность их выполнения не вызывает никаких сомнений. Здесь каждое последующее действие выполняется только в том случае, если предыдущее полностью закончено.
Способы описания алгоритмов, понятные всем
Алгоритмы должны быть формализованы по определенным правилам при помощи конкретных средств. Основные способы описания алгоритмов: при помощи слов, формульно-словесный, алгоритмический, графический и программный.
Словесная форма – это запись на естественном человеческом языке. Она получила гораздо меньшее распространение, так как является чересчур многословной. А еще в ней отсутствует наглядность. Описание словами не является строго формализуемым, а некоторые предписания можно истолковать неоднозначно.
Формульно-словесная форма немногим удобнее. Здесь к словам добавляются математические формулы, что может как помочь, так и, наоборот, запутать человека при чтении. Другие способы описания алгоритмов гораздо удобнее.
Способы описания алгоритмов для компьютерщиков
Алгоритмический способ записи основан на псевдокоде. Это такой код, который похож по своей структуре на язык программирования, но команды указаны на естественном языке, а также присутствуют математические выражения. Псевдокод – полуформализованный язык. Такой способ уже намного понятнее, особенно для программистов.
Способы описания алгоритмов, описанные выше, были полностью формализованы, после чего родилась программная форма записи. Здесь используется один из множества языков программирования, на котором и пишется та самая последовательность шагов для выполнения. Компьютер считывает их по очереди и исполняет указанные инструкции, что в итоге приводит к конечному результату.
Самый популярный способ описания
Графический способ описания алгоритмов получил наибольшую популярность из-за своей наглядности. Его еще называют блок-схемным способом. Что такое блок-схема? Это такое графическое изображение схемы алгоритма. Каждый шаг процесса обработки данных изображается в виде геометрической фигуры, называемой блоком. Каждый блок имеет свою конфигурацию, которая зависит от типа выполняемой операции. Наименование и список символов, размеры и формы, а также отображаемые функции определены стандартами. Если взять все основные способы описания алгоритмов, то данный является самым наглядным.
Процессы вычисления
Способы описания алгоритмов при помощи блок-схем подразумевают три основные разновидности процессов вычисления: линейный, разветвляющийся и циклический.
Линейный – это такой процесс, когда каждый этап решения задачи выполняется по порядку следования.
Разветвляющийся – это процесс вычисления, в котором в зависимости от исходной или промежуточной информации, а также от результатов проверки логических условий зависит выбор направления движения.
Циклический алгоритм содержит один или более одного цикла, то есть участок вычислений, который повторяется множество раз. Циклы могут быть с заранее определенным количеством повторений и с неопределенным. В зависимости от соблюдений какого-либо условия определяется и число этих повторений. Причем условие может проверяться в самом начале цикла либо в его конце.
Способы описания алгоритмов ясны, но есть еще и правила, которые к ним предъявляются.
Правила при создании алгоритмов
Первое: при разработке алгоритма нужно задать много объектов для работы. Формализованное представление таких объектов – это и есть данные. Алгоритм начинает работать с набором данных, называемых входными, преобразуя их в результат – выходные данные. При этом могут использоваться любые способы описания алгоритмов. Свойства алгоритмов должны быть соблюдены.
Второе правило: для того чтобы алгоритм мог работать, ему необходима память. В ней размещены входные данные, промежуточные и выходные. Память сама по себе дискретна, то есть состоит из отдельных разделов – ячеек. Та ячейка, которая имеет имя, называется переменной.
Третье правило – это дискретность. Весь алгоритм должен быть построен из отдельных операций, число которых обязательно должно быть конечным.
Нужно отметить, что существует такое понятие, как вспомогательный алгоритм, который разработан заранее, а затем применяется при алгоритмизации другой задачи. Его также можно назвать вспомогательной процедурой.
Алгоритм, понятие, свойства, способы описания – без всего этого в сфере информатики никуда. Это база, на которой держится вся компьютерная наука.
fb.ru
особенности и рекомендации :: SYL.ru
Под алгоритмом принято подразумевать определенную последовательность действий какого-то исполнителя, направленную на достижение поставленной цели.
Алгоритм в информатике
В настоящее время используются разные способы описания алгоритмов в информатике. Они считаются в данной области основополагающим понятием. Своим названием они обязаны арабскому математику аль-Хорезми. В одном из произведений он сформулировал особенности операций над числами, производимыми при делении столбиком. Чуть позже данный термин стали применять для характеристики последовательности действий, которая дает нужный результат на основании обработки исходных данных.
Особенности алгоритмических действий
Существуют такие способы описания алгоритмов, как автоматический и ручной. Их разработка, независимо от степени сложности, является творческим и длительным процессом.
Рассмотрим подробнее общие характеристики алгоритмов. С помощью их в информатике можно проводить определенные вычисления, описания конкретных объектов.
Основные способы описания алгоритмов связаны со следующими свойствами:
- дискретностью;
- массовостью;
- результативностью;
- определенностью.
Дискретность
Раздельность набора отдельных команд заключается в том, что с его помощью можно решить проблему в виде последовательности шагов. Каждый отдельный этап можно выполнять только после того, как будет выполнен предыдущий шаг.
Рассматривая основные способы описания алгоритмов, отметим, что именно дискретность дает возможность поэтапной проверки правильности выполненных действий.
Определенность
В информатике недопустимы вольности, все действия подчиняются строгой логичности, должны быть четкими и однозначными. Только в таком случае можно будет рассчитывать на механическое выполнение определенных действий, получение желаемого результата, к примеру обработки информации об объекте, полученной в ходе лабораторных исследований.
Подобные способы описания алгоритмов позволяют достигать конечного результата, не применяя каких-либо дополнительных данных.
Результативность
Для решения поставленной задачи в алгоритме выделяют ограниченное количество этапов. Пользователь, который пользуется подобной последовательностью, убежден в том, что при соблюдении инструкции он сможет достигнуть оставленного результата.
Массовость
Какими еще свойствами характеризуется алгоритм? Понятие, способы описания рассмотрим позже, пока отметим его массовость. Речь идет о таком наборе команд, который позволяет решать общие задачи. Последовательность действий создают не для отдельного случая, а для целого ряда проблем, отличающихся только начальными характеристиками.
Различные способы описания алгоритмов дают представление об их особенностях, возможности применения в информатике.
Разновидности алгоритмов
В зависимости от того, для какой цели он разрабатывается, существует несколько видов алгоритмов:
- механические виды направлены на выполнение конкретной последовательности действий;
- гибкие варианты предполагают решение поставленной задачи на основе ассоциаций и аналогий;
- линейные последовательности действий предполагают поочередное выполнение отдельных команд;
- разветвляющиеся типы содержат несколько отдельных веток, которые позволяют выполнять поставленную цель;
- циклические типы предполагают многократное повторение нескольких действий.
Алгоритмизация
Разнообразные алгоритмы, свойства алгоритмов, способы описания алгоритмов — все это рассматривается в отдельном разделе информатики. Сначала разрабатывается специальная структура, состоящая из набора команд, которую потом применяют на последующих этапах работы. Структурная схема представляет собой запись шагов, представленных в виде блоков, которые объединены между собой отдельными стрелками.
Каждый блок в информатике считается отдельным шагом набора определенных инструкций. Подобный вариант представления алгоритма существенно облегчает его написание, упрощает процесс отладки программ.
Требования
Графический способ описания алгоритма предполагает соответствие его специальным правилам. Остановимся на них подробнее. Согласно первому правилу для составления алгоритма нужны объекты, которые именуют данными. Сначала выполняют обработку с помощью первичной информации, результатом работы является получение конечного результата.
Второе правило предполагает наличие памяти, в которой размещаются данные. Память включает в себя именованные ячейки, которые называют переменными.
Третье – это дискретность: алгоритм составлен из команд, в которых конечно число данных. Четвертое правило предполагает детерминированность, пятое – результативность.
Способы описания алгоритмов в информатике зависят от конкретных программно-аппаратных платформ. Описание включает в себя две части. В одной упоминают сами алгоритмы, а также их свойства, а вторая часть связана с характеристикой специфики их программной реализации.
Данное подразделение было сделано для того, чтобы охарактеризовать основные способы описания алгоритмов, а также учесть вероятность их применения на параллельных вычислительных системах.
Свойства алгоритмов
Они не зависят от особенностей вычислительных систем, имеют безоговорочную ценность. Его нужно сделать однократно, после чего на протяжении длительного временного промежутка можно применять готовую последовательность в разнообразных программно-аппаратных средах.
Общее описание алгоритма
Существуют разнообразные части, которые включены в последовательность действий в информатике. Первый раздел содержит описание объектов, для которых он предназначен. В случае необходимости в описание также включают формулы, ссылки на иные источники алгоритмов.
Оно должно быть достаточным для осознания специфики решаемой задачи, понятным для обычного пользователя. Математические символы должны давать возможность для однозначного решения поставленной задачи любому, кто владеет царицей наук.
Вычислительная основа
Словесный способ описания алгоритмов подходит для предметов, смежных с информатикой, не предполагающих серьезных вычислительных действий. Алгоритмы, создаваемые для программных аппаратов, содержат вычислительное ядро. Оно должно совпадать с описываемым алгоритмом, в противном случае сложно будет вести речь о его эффективности и результативности.
Макроструктура алгоритма
Среди типичных вариантов макроопераций, встречающихся в практике, выделим: скалярное произведение нескольких векторов, определение минимального показателя в массиве, решение системы уравнений малого порядка, определение суммы векторов, сортировку, определение обратной матрицы.
Для чего нужны разнообразные алгоритмы? Это необходимо для отображения на макроуровне всех деталей проводимых операций, получения гарантированного результата. На практике такие вычисления позволяют получать детальную информацию о рассматриваемом объекте, использовать их для вычислительных платформ.
Схема реализации
Предполагается описание всех шагов, которые должны быть выполнены для того, чтобы провести последовательную реализацию алгоритма. Разнообразные способы описания алгоритмов помогают составлять блок-схемы, фрагменты, детали решаемой задачи на различных языках программирования.
При создании полноценной схемы реализации составленного алгоритма важно продумывать каждый шаг, чтобы элементарные операции отвечали общей последовательности действий.
При описании схемы можно применять и некоторые словесные пояснения, которые отражают определенные нюансы данного алгоритма, а также специфику его реализации. Допускается компромисс между временем функционирования алгоритма и объемом оперативной памяти, а также между доступностью описания и применяемыми структурами данных.
Например, возможна такая ситуация, при которой потребуется введение дополнительных временных массивов либо отказ от применения компактных специальных схем хранения имеющихся данных, повышение степени доступности алгоритма для разнообразных операционных систем.
Заключение
При описании любого алгоритма можно пользоваться разнообразными возможностями, подразумевающими поворачивание графа при его отображении на мониторе компьютера с целью выбора самого удобного угла обзора, отражение ярусной и параллельной форму графа, а также разметку вершин. Входные и выходные данные алгоритма помогают описывать структуру, объем, а также его свойства и особенности.
www.syl.ru
Способы описания алгоритмов.
Существуют следующие основные способов описания алгоритмов: словесное описание, псевдокод, блок-схема, программа.
Словесное описание– структура алгоритма на естественном языке. Например, инструкции по эксплуатации электроприборов. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном языке. Данный способ описания алгоритмов не нашел широкого распространения.
Псевдокод– описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Возможны различные псевдокоды, отличающиеся набором используемых конструкций и слов.
Блок-схема– описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Данный способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Программа– описание структуры алгоритма на понятном языке алгоритмического программирования.
Основные конструкции, использующиеся для построения блок-схем:
№ | Название блока | Графическое изображение блока |
1 | Блок, характеризующий начало/конец алгоритма (для подпрограмм – вызов/возврат): | |
2 | Блок – процесс, предназначенный для описания отдельных действий: | |
3 | Блок – предопределенный процесс, предназначенный для обращения к вспомогательным алгоритмам (подпрограммам): | |
4 | Блок – ввода/вывода с неопределенного носителя: | |
5 | Блок – ввод с клавиатуры: | |
6 | Блок – вывод на монитор: | |
7 | Блок – вывод на печатающее устройство: | |
8 | Блок – решение (проверка условия или условный блок): | |
9 | Блок, описывающий цикл с параметром: | |
10 | Блок – границы цикла, описывающий циклические процессы типа «цикл с предусловием», «цикл с постусловием»: | |
11 | Соединительные блоки: |
Основные алгоритмические структуры:
Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.
1.Линейная структура:
Линейной называется алгоритмическая конструкция, реализованная в виде последовательности действий (шагов), в которой каждое действие алгоритма выполняется ровно 1 раз, причем после каждого i-ого действия выполняется (i+1)-ое действие, еслиi-ое действие не конец алгоритма.
2.Разветвляющеяся структура:
Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если-то) и полное (если-то-иначе) ветвления.
Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви, вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния.
studfiles.net
Свойства и способы записи алгоритмов
В информатике понятие алгоритмов считается базовым. Именно этот метод является общим в программировании и моделировании. Для того чтобы понять структуру инструкций, необходимо узнать их свойства и то, для чего они применяются. В статье опишем способы записи алгоритмов в информатике, их варианты создания, также постараемся разобраться, почему они так важны для программирования.
Общие сведения
Алгоритмы считаются объектом изучения дисциплины, которая тесно переплетается с математикой и информатикой. Больше того, эти способы записи примыкают к такой науке, как логика. Данные инструкции позволяют разрабатывать методы для реализации задач, а на практике помогают также работать с информационными технологиями. Таким образом, алгоритмизация выступает в качестве набора определенных приемов, которые способны при помощи особых навыков функционировать с языковыми средствами.
Само слово «алгоритм» происходит от латинской формы имени математика IX века аль-Хорезми. Он стал первым, кто смог составить особенности работы с арифметическими действиями. Изначально инструкциями считались обычные правила выполнения сложения, вычитания, умножения, деления. Сейчас же алгоритм – это определенный способ действия, который при помощи установленного количества шагов приводит к полному решению поставленной задачи.
Свойства алгоритмов
Алгоритм должен быть составлен таким образом, чтобы пользователь или другое выполняющее устройство полностью его понимали. Все шаги должны быть поняты однозначно, только в таком случае, следуя всем командам, можно получить эффективный результат. Поэтому на алгоритмы и их запись вводятся определенные требования. Их суть в том, чтобы все действия были истолкованы верно. Именно эти требования называются свойствами.
Свойство № 1
Первоначальное требование к алгоритму заключается в том, что каждый шаг должен выполняться отдельно и последовательно. Такая запись должна быть полностью разбита на блоки, представлять собой упорядоченную совокупность предписаний, команд и операторов. Инструкция должна образовывать дискретную структуру. Это делается для того, чтобы каждый отдельный шаг выполнялся строго после завершения предыдущего. Такое свойство называется дискретностью. Как правило, на письме все шаги записываются при помощи сквозной нумерации, однако это требование не обязательно.
Свойство № 2
Все алгоритмы, которые используются на практике, ориентированы на определенного исполнителя. Именно поэтому инструкция должна составляться конкретно для него самого. Соответственно нужно примерно представлять, какие команды будут понятны тому, для кого алгоритм написан, а какие для него неоднозначны. Каждый исполнитель (им может быть человек, компьютер и другая техника) обладает своей системой команд. Соответственно необходимо использовать только те операторы, которые имеются в его памяти. Это свойство называется понятностью.
Свойство № 3
Каждый шаг должен быть полностью понятным, не восприниматься неоднозначно. Таким образом, каждая из записей алгоритма должна правильно пониматься любым исполнителем. Соответственно после совершения каждой из них и выполнения предписанной инструкции различной техникой результат не должен изменяться. В данном пункте речь идет о том, что запись алгоритма – максимально точный, четкий, полный и полностью детализированный шаг. Это делается для того, чтобы исполнителю не требовалось принимать какие-либо решения. Он должен правильно понимать, что от него требуется. Также при составлении алгоритма нужно продумывать все таким образом, чтобы исполнитель понимал последовательность шагов. Все должно быть предельно ясно. Это свойство называется детерминированностью.
Виды алгоритмов по способу записи
Как можно записывать алгоритмы? Есть наиболее популярные способы. Речь идет о словесном, формально-словесном, блок-схемном, диаграммном методах. А также о псевдокоде и языках программирования. Рассмотрим некоторые из видов записи алгоритмов.
Словесный способ
Словесный способ является наиболее понятным для обычного человека. Благодаря алгоритму, записанному в таком виде, каждый шаг может понять любой исполнитель. Этот способ задается при помощи естественного языка в произвольной форме.
Формально-словесный способ
Это форма записи алгоритмов, которая представляет собой инструкцию. Она обязательно включает в себя математические символы. Присутствует словесное объяснение. Это позволяет увеличить спектр решаемых задач.
Блок-схемы
Блок-схемный способ представляет собой графическое изображение алгоритма. Нужно отметить, что их расшифровка является единой для всех. Каждый этап описанного процесса имеет свою фигуру либо блок, имя графического изображения поясняет, что необходимо делать исполнителю.
Языки программирования
Более трудной формой записи алгоритмов для многих людей является запись инструкции в виде программы. В данном случае используются языки программирования. Для того чтобы составить алгоритм на одном из них, необходимо знать соответствующие команды и иметь навыки.
Псевдокод
Псевдокод является системой различных обозначений, которые необходимы для единой записи всех алгоритмов. Он занимает промежуточное место между такими методами, как естественный и формальный. Он максимально близок к первому, однако в данном способе записи алгоритмов могут использоваться различные конструкции и математические обозначения. В такую форму инструкции не принято вводить синтаксические правила, которые присущи формальным методам записи. Это позволяет максимально облегчить его проектирование. В псевдокоде часто используются небольшие конструкции, которые относятся к формальным языкам. Это дает возможность переходить от записи на описываемом методе на другие варианты составления инструкции. Более того, в таком способе записи алгоритмов имеются специальные служебные слова, смысл которых используется в четко определенных ситуациях.
fb.ru
inform — Способы описания алгоритмов
Главная / Алгоритмы / Способы описания алгоритмов
Разрабатываемый алгоритм должен быть представлен (описан) таким образом, чтобы он был понятным для исполнителя этого алгоритма, компактным, наглядным и учитывал все нюансы условия задачи и метода её решения. Все действия, предусмотренные алгоритмом должны толковаться однозначно. Если алгоритм предназначен для решения задачи на компьютере, то он должен быть понятным программисту и должен содержать максимум сведений, необходимых для программирования. Существуют следующие способы представления алгоритмов:
- словесное описание;
- описание алгоритма с помощью математических формул;
- графическое представление алгоритма в виде блок-схемы;
- представление алгоритма с помощью псевдокода;
- комбинированный способ описания алгоритма с использованием, например, словесного и графического способов или словесного и с помощью математических формул и т.д.
Словесное описание алгоритма представляет собой описание структуры алгоритма на естественном языке. В этом случае вся последовательность операций описывается в словесной форме. Словесный способ отличается многословностью и отсутствием наглядности, но предоставляет возможность лучше описать отдельные операции.
Описание алгоритма с помощью математических выражений обеспечивает высокую точность решения задачи.
Псевдокод – описание структуры алгоритма на естественном, но частично формализованном языке. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не предусмотрено. Псевдокод занимает промежуточное положение между словесным способом описания алгоритма и программой, написанной на алгоритмическом языке.
Графическое описание алгоритма в виде блок-схемы – это описание структуры алгоритма с помощью геометрических фигур с линиями связи. Блок схема алгоритма – это графическое представление метода решения задачи, в котором используются специальные символы для отображения операций. Это наиболее широко используемый способ представления алгоритмов.
Символы,из которых состоит блок-схема алгоритма, определяет ГОСТ 19.701-90. Этот ГОСТ соответствует международному стандарту оформления алгоритмов, поэтому блок-схемы алгоритмов, оформленные согласно ГОСТ 19.701-90, в разных странах понимаются однозначно.
Главное преимущество этого способа – наглядность. К его недостаткам можно отнести то,что с помощью этого способа иногда трудно описать некоторые операции. В таких случаях для уточнения каких-то нюансов дополнительно используют словесный или формальный способы, то есть используют комбинированный способ представления алгоритма.
Комбинированный способ описания алгоритма даёт возможность использовать возможности и преимущества всех перечисленных выше способов.
Каждый из перечисленных способов изображения алгоритмов имеет свои достоинства и недостатки, поэтому при разработке сложных алгоритмов часто используют именно комбинированный способ. Представленные выше способы описания алгоритма предназначены для человека, например для программиста. А для представления алгоритма в таком виде, который будет понятным компьютеру, используют языки программирования, то есть представляют алгоритм в виде программы.
it-inform.narod.ru
5.1.3. Способы описания алгоритмов
Существуют несколько способов описания алгоритма: словесное, псевдокод, блок-схема, программа.
Словесноеописание представляет структуру алгоритма на естественном языке. Запись алгоритма осуществляется в произвольной форме, никаких правил не существует.
Псевдокод– описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика.
Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема – описание структуры алгоритма с помощью геометрических фигур с линиями – связями, показывающими порядок выполнения отдельных инструкций. В блок – схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Основные конструкции, использующиеся для построения блок – схем.
— начало/конец алгоритма
<Действие>
— процесс, предназначенный для описания отдельныхввод/вывод с неопределенного носителя
Нет Да — проверка условия
— предопределенный процесс, предназначенный для
обращения к подпрограмме.
Лекция 5.2. Блок-схемы алгоритма
5.2.1. Алгоритмы решения задач
Логическая структура алгоритма решения любой задачи может быть выражена комбинацией трех базовых структур: следования, ветвления и цикла (это содержание теоремы Бема – Якопини).
Линейная структура (следование)самая важная из структур. Она означает, что действия могут быть выполнены друг за другом (рис. 5.2.1.).
В
Выполнить А
Выполнить B
ход ВыходПрямоугольники могут представлять как одну единственную команду, так и множество операторов, необходимых для выполнения сложной обработки данных.
Пример 5.2.1.
Опишем алгоритм сложения двух чисел на псевдокоде и в виде блок-схемы (рис. 5.2.2.).
Псевдокод:
Ввод двух чиселa,b
Вычисляем сумму S=a+b
ВыводS
Конец.
S= a + b
Рис. 5.2.2. Блок — схема к примеру 5.2.1.
Ветвление(развилка) – это структура, обеспечивающая выбор между двумя альтернативами. Выполняется проверка условия, а затем выбирается один из путей (рис. 5.2.3). Если условие имеет значение «Истина», то выполняется «Действие А». Если условие имеет значение «Ложь», выполняется «Действие В». Эта структура называется, также «Если – ТО – ИНАЧЕ» или «развилка». Каждый путь (ТО или ИНАЧЕ) ведет к общей точке слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран. Может оказаться, что для одного из результатов проверки ничего выполнять не надо. В этом случае можно применить только один обрабатывающий блок (рис. 5.2.4).
Вход
Ложь (НЕТ) Истина (ДА)
Действие В
Действие А
Выход
Рис. 5.2.3. Полное ветвление
Вход
ДА НЕТ
Действие А
Рис. 5.2.4. Структура «непол-
ное ветвление»
Выход
Такая структура называется «неполным ветвлением» или «неполной развилкой».
Пример 5.2.2.
Вывести значение наибольшего числа из двух чисел (рис. 5.2.5).
Псевдокод:
Ввод двух чисел a,b
ЕСЛИa>b, ТО «выводимa»,
ИНАЧЕ «выводим b»
К
Max= a
Max= b
онец.
НЕТ ДА
Рис. 5.2.5. Блок – схема к примеру 5.2.2.
Цикл (или повторение) предусматривает повторное выполнение некоторого набора команд алгоритма. Циклы позволяют записать длинные последовательности операций обработки данных с помощью небольшого числа повторяющихся команд. Различают два типа циклов: «цикл с предусловием» и «цикл с постусловием».
Цикл с предусловием(«Пока») (рис. 5.2.6).
Тело цикла
Истина ВыходЛожь
Рис. 5.2.6. Структура цикла «Пока».
Цикл начинается с проверки логического выражения. Если оно истинно, то выполняется тело цикла, затем все повторяется, пока логическое выражение сохраняет значение «истина». Как только оно становится ложным, выполнение операций прекращается и управление передается дальше. Особенностью цикла с предусловием является то, что если изначально логическое выражение имеет значение «ложь», то тело цикла не выполнится ни разу.
Пример 5.2.3.
Вычислить сумму 100 чисел (рис. 5.2.7).
Псевдокод:
НАЧ
I =1; S = 0
ПОКА i<=100 делать
НЦ
Ввести ai
S = S + ai
i = i + 1
КЦ
Вывод S
К
i=1; S=0
онец.
НЕТ
ДА
S=S + ai
i = i +1
Рис. 5.2.7. Блок – схема к примеру 5.2.3 с циклом «Пока»
Цикл с постусловием(«До»).
В
Тело цикла
отличие от цикла с предусловием, тело цикла с постусловием всегда будет выполнено хотя бы один раз, после чего проверяется условие. В этой конструкции тело цикла будет повторяться до тех пор, пока значение логического выражения ложно. Как только оно становится истинным, выполнение тела цикла прекращается (рис. 5.2.8).Вход Истина
Ложь Выход
Рис. 5.2.8. Структура «цикла с постусловием».
Пример 5.2.4.
Вывести максимальное значение из 100 натуральных чисел (рис. 5.2.9).
Псевдокод:
Начало
В
Max=a1; i=2
max = ai
i = i + 1
вести a1max = a1; i = 2
НЦ
Ввести ai
ЕСЛИ max<aiТОmax=ai
i = i + 1
ДО I>100;
КЦ
Вывестиmax.
Конец.
Истина
Ложь Истина
Рис. 5.2.9. Блок – схема к примеру 5.2.4. с циклом «До»
Базовые алгоритмические структуры можно комбинировать одну с другой – как путем организации их следования, так и путем создания суперпозиций (вложений одной структуры в другую). Используя описанные структуры, можно полностью исключить использование каких-либо еще операторов условного и безусловного перехода, что является важным признаком структурного программирования. Приведем несколько примеров (рис. 5.2.10, 5.2.11, 5.2.12, 5.2.13).
I=1; S=0
—
+
— +
S = S + ai
i = i + 1
Рис. 5.2.10. Алгоритм типа «развилка, вложенная в цикл, с предусловием», для нахождения суммы положительных чисел и Nвозможных
— +
—
+
Рис. 5.2.11. Алгоритм типа «цикл, с предусловием, вложенный в неполную развилку»
— +
Рис. 5.2.12. Алгоритм типа «неполная развилка, вложенная в пол-
— +ную развилку».
Вопросы для самоконтроля
Дайте определение алгоритма и поясните его.
Какие формы представления алгоритма вы знаете?
В чем особенности графического представления алгоритма?
Назовите основные (базовые) алгоритмические структуры?
Перечислите свойства алгоритмов и объясните, чем они определены.
studfiles.net
Виды алгоритмов в информатике: примеры
При изучении информатики немало внимания уделяется изучению алгоритмов и их видам. Не зная основных сведений о них, нельзя написать программу или проанализировать ее работу. Изучение алгоритмов начинается еще в школьном курсе информатики. Сегодня мы рассмотрим понятие алгоритма, свойства алгоритма, виды.
Понятие
Алгоритм – это определенная последовательность действий, которая приводит к достижению того или иного результата. Составляя алгоритм, детально прописывают каждое действие исполнителя, которое в дальнейшем приведет его к решению поставленной задачи.
Довольно часто алгоритмы используют в математике для решения тех или иных задач. Так, многим известен алгоритм решения квадратных уравнений с поиском дискриминанта.
Свойства
Прежде чем рассматривать виды алгоритмов в информатике, необходимо выяснить их основные свойства.
Среди основных свойств алгоритмов необходимо выделить следующие:
- Детерминированность, то есть определенность. Заключается в том, что любой алгоритм предполагает получение определенного результата при заданных исходных.
- Результативность. Означает, что при наличии ряда исходных данных после выполнения ряда шагов будет достигнут определенный, ожидаемый результат.
- Массовость. Написанный единожды алгоритм может использоваться для решения всех задач заданного типа.
- Дискретность. Она подразумевает, что любой алгоритм можно разбить на несколько этапов, каждый из которых имеет свое назначение.
Способы записи
Вне зависимости от того, какие виды алгоритмов в информатике вы рассматриваете, существует несколько способов их записи.
- Словестный.
- Формульно-словестный.
- Графический.
- Язык алгоритма.
Наиболее часто изображают алгоритм в виде блок-схемы, используя специальные обозначения, зафиксированные ГОСТами.
Основные виды
Выделяют три основных схемы:
- Линейный алгоритм.
- Ветвящийся алгоритм, или разветвленный.
- Циклический.
Далее мы рассмотрим виды алгоритмов в информатике, примеры, которые помогут более детально понять, как они работают.
Линейный
Наиболее простым в информатике считается линейный алгоритм. Он предполагает последовательность выполнения действий. Приведем наиболее простой пример алгоритма такого вида. Назовем его «Сбор в школу».
1. Встаем, когда звенит будильник.
2. Умываемся.
3. Чистим зубы.
4. Делаем зарядку.
5. Одеваемся.
6. Кушаем.
7. Обуваемся и идем в школу.
8. Конец алгоритма.
Разветвляющийся алгоритм
Рассматривая виды алгоритмов в информатике, нельзя не вспомнить о разветвляющейся структуре. Данный вид предполагает наличие условия, при котором в случае его выполнения действия выполняются в одном порядке, а в случае невыполнения – в другом.
Например, возьмем следующую ситуацию – переход дороги пешеходом.
1. Подходим к светофору.
2. Смотрим на сигнал светофора.
3. Он должен быть зеленым (это условие).
4. Если условие выполняется, мы переходим дорогу.
4.1 Если нет – ждем, пока загорится зеленый.
4.2 Переходим дорогу.
5. Конец алгоритма.
Циклический алгоритм
Изучая виды алгоритмов в информатике, детально следует остановиться на циклическом алгоритме. Данный алгоритм предполагает участок вычислений или действий, который выполняется до выполнения определенного условия.
Возьмем простой пример. Если ряд чисел от 1 до 100. Нам необходимо найти все простые числа, то есть те, которые делятся на единицу и себя. Назовем алгоритм «Простые числа».
1. Берем число 1.
2. Проверяем, меньше ли оно 100.
3. Если да, проверяем простое ли это число.
4. Если условие выполняется, записываем его.
5. Берем число 2.
6. Проверяем, меньше ли оно 100.
7. Проверяем, простое ли оно.
…. Берем число 8.
Проверяем, меньше ли оно 100.
Проверяем, простое ли число.
Нет, пропускаем его.
Берем число 9.
Таким образом перебираем все числа, до 100.
Как видите, шаги 1 – 4 будут повторяться некоторое число раз.
Среди циклических выделяют алгоритмы с предусловием, когда условие проверяется в начале цикла, или с постусловием, когда проверка идет в конце цикла.
Другие варианты
Алгоритм может быть и смешанным. Так, он может быть циклическим и разветвленным одновременно. При этом используются разные условия на разных отрезках алгоритма. Такие сложные структуры приеняются при написании сложных программ и игр.
Обозначения в блок-схеме
Мы с вами рассмотрели, какие виды алгоритмов есть в информатике. Но мы не рассказали о том, какие обозначения используются при их графической записи.
- Начало и конец алгоритма записываются в овальной рамке.
- Каждая команда фиксируется в прямоугольнике.
- Условие прописывается в ромбе.
- Все части алгоритма соединяются при помощи стрелок.
Выводы
Мы с вами рассмотрели тему «Алгоритмы, виды, свойства». Информатика уделяет немало времени изучению алгоритмов. Их используют при написании различных программ как для решения математических задач, так и для создания игр и различного рода приложений.
fb.ru