Информатика
Алгоритмы и способы их описания.
Алгоритм — это система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа.
Примеры: правила сложения, умножения, решения алгебраических уравнений и т.п.
1.Универсальность (массовость) — применимость алгоритма к различным наборам исходных данных.
2.Дискретность — процесс решения задачи по алгоритму разбит на отдельные действия.
3.Конечность — каждое из действий и весь алгоритм в целом обязательно завершаются.
4.Результативность — по завершении выполнения алгоритма обязательно получается конечный результат.
5.Выполнимость (эффективность) — результата алгоритма достигается за конечное число шагов.
6.Детерминированность (определенность) — алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно. Т.е. одно и то же предписание после исполнения должно давать один и тот же результат.
7.Последовательность – порядок исполнения команд должен быть понятен исполнителю и не должен допускать неоднозначности.
1. вычислительные алгоритмы , работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;
2. информационные алгоритмы , представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);
3. управляющие алгоритмы , генерирующие различные управляющие воздействия на основе данных, полученных от внешних процессов, которыми алгоритмы управляют.
По типу передачи управления алгоритмы бывают: основные (главные выполняемые программы) и вспомогательные (подпрограммы).
Для задания алгоритма необходимо описать следующие его элементы:
1.набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;
3.правило непосредственной переработки информации (описание последовательности действий);
5.правило извлечения результатов.
Способы описания алгоритмов.
Символьный, когда алгоритм описывается с помощью специального набора символов (специального языка).
Словесная форма записи алгоритмов обычно используется для алгоритмов, ориентированных на исполнителя-человека. Команды такого алгоритма выполняются в естественной последовательности, если не оговорено противного.
Графическая запись с помощью блок-схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Графическая запись алгоритма имеет ряд преимуществ: каждая операция вычислительного процесса изображается отдельной геометрической фигурой и графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали.
Правила создания блок – схем:
1.Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки.
2.Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз.
3.В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков.
4.Из блока (кроме логического) может выходить только одна линия.
5.Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии.
6.Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.
7.Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки.
В линейном алгоритме операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
В алгоритме с ветвлением предусмотрено несколько направлений (ветвей). Каждое отдельное направление алгоритма обработки данных является отдельной ветвью вычислений. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа:
1.«да» — условие выполнено.
2.«нет» — условие не выполнено.
Циклические алгоритмы содержат цикл – это многократно повторяемый участок алгоритма.Различают циклы с предусловием и постусловием.Также циклы бывают детерминированные и итерационные.Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
Источник
Написать алгоритм 3 способами
Различают следующие виды алгоритмов :
линейный – список команд (указаний), выполняемых последовательно друг за другом;
разветвляющийся – алгоритм, содержащий хотя бы одну проверку условия, в результате которой обеспечивается переход на один из возможных вариантов решения;
циклический – алгоритм, предусматривающий многократное повторение одной и той же последовательности действий. Количество повторений обусловливается исходными данными или условием задачи.
Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными. Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг,электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е.словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.
1. определить температуру воздуха
2. если температура ниже 0, то надеть шубу, иначе надеть куртку
Псевдокод — описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основныеэтапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема — описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость»алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд. Вместе с тем они настолько достаточны, что позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования .
Источник
Какие есть три способа записи алгоритма?
Что такое алгоритм решения задачи?
Точное предписание о выполнении в определенном порядке некоторой последовательности действий (физических или умственных), приводящее к решению некоторой типовой задачи, называют алгоритмом.
Например, при необходимости сварить кофе последовательность физических действий будет такой: вскипятить нужное количество воды, засыпать кофе в горячую воду (одну-две чайные ложки на стакан воды), нагреть воду до кипения (но не кипятить) и т.д.
Определенные последовательности физических действий выполняются человеком и при решении таких задач, как «добраться из дома в университет», «найти в большом городе нужный дом», «изготовить на станке какую-то деталь» и т.п.
Слово алгоритм происходит от слова algorithmi —латинской формы написания имени великого математика IX века аль-Хорезми. Он впервые четко сформулировал правила выполнения арифметических действий. Сейчас это понятие используется для обозначения последовательности любых действий (арифметических, логических, взятия логарифмов, вычисления синуса и т.п.).
Алгоритмы обладают следующими основными свойствами: дискретностью, результативностью, массовостью, детерминированностью и формализованностыо.
Дискретность алгоритма заключается в том, что он разбивается на конечное число действий-шагов (предписаний, команд), которые могут быть пронумерованы. Причем только после выполнения одного предписания можно перейти к выполнению другого.
Результативность алгоритма означает, что при всех начальных условиях число шагов алгоритма конечно, и он приводит к решению задачи.
Массовость алгоритма предполагает, что по данному алгоритму может быть решен целый ряд типовых задач (они отличаются лишь различными начальными условиями).
Детерминированность алгоритма заключается в том, что при многократном решении одной и той же задачи с одинаковыми начальными условиями всегда получается один и тот же результат.
Формализованность алгоритма состоит в том, что тот, кто его выполняет (человек, машина), может не вникать в смысл того, что он делает согласно предписаниям алгоритма, и все равно придет к верному результату.
Между задачей и ее алгоритмом соответствие неоднозначное. Очень мало задач имеют только один алгоритм решения.
Например, задача «позвонить по междугороднему телефону» для данного типа телефонного автомата имеет единственный алгоритм, представленный в виде правила пользования этим телефонным аппаратом. Большинство задач могут иметь несколько алгоритмов решения. Так, есть несколько правил приготовления кофе, можно различными путями добраться из дома в университет, несколькими способами составить по тексту его реферат и т.д. В то же время есть задачи, алгоритм решения которых до сих пор неизвестен. Так, неясно, как человек пишет стихи, повесть или научную статью. Нет точных предписаний, как переводить текст с одного языка на другой и т.д.
Какие есть три способа записи алгоритма?
Существует несколько способов записи алгоритмов решения задач. Наиболее известны следующие: словесный, графический и табличный.
Словесное представление алгоритма решения задачи сводится к тому, что составляющие алгоритм шаги (предписания) записываются в виде слов и предложений естественного языка.
При графическом представлении алгоритма его шаги изображаются разными геометрическими фигурами (блоками), образующими блок-схему алгоритма. Связи между блоками обозначены стрелками, соединяющими соответствующие фигуры. Чаще всего в качестве таких геометрических фигур используются следующие:
1.
При табличном представлении алгоритма его шаги записываются в графах специальных таблиц. Чаще всего такой способ записи алгоритма используется для выполнения различных вычислений по формулам.
Продемонстрируем три способа записи алгоритма на примере следующей задачи: «Решить полное квадратное уравнение ах2+ Ьх + с = 0 (1)» (слово «решить» в данном случае означает, что надо найти то значение х, при котором левая часть равенства обращается в нуль). Как было отмечено выше, способ решения этой задачи определяется равенством где величина b2 — 4ас называется дискриминантом. Тогда формула (2) может быть вычислена по следующему словесному алгоритму.
1. Присвоить коэффициентам a, b и с конкретные начальные числовые значения.
2. Вычислить значение b2 — 4ас,
3. Если b2 — 4ас> О, то выполнить шаг 6. Если b2 — 4ас
Источник
BestProg
Понятие алгоритма. Способы записи алгоритмов. Классификация алгоритмов по структуре. Свойства алгоритма
Содержание
Поиск на других ресурсах:
1. Что такое алгоритм? Определение алгоритма. Примеры алгоритмов
Каждый день человек ставит себе разные задачи, которые затем и решает. Некоторые решения формируются спонтанно, некоторые следуют ранее разработанному плану. В любом случае человек стремится достичь нужного результата. В программировании, для решения любой задачи предварительно нужно разработать алгоритм.
Алгоритм – точное и понятное указание исполнителю сделать последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи. К алгоритму предъявляется ряд требований. Алгоритм должен быть разработан так, чтобы его выполнение обязательно приводило к нужному результату.
Разработка алгоритма – процесс творческий. Для одной и той же задачи может быть разработано разное количество алгоритмов, решающих ее. И, наоборот, для некоторых разнотипных задач может быть выделен обобщенный алгоритм их решения. От правильной разработки алгоритма зависит правильность работы программы. Если сложность решаемой задачи велика, то разработка алгоритма требует более значительных трудовых и временных затрат.
Пример алгоритма. Пусть студенту нужно написать доклад и напечатать ее на домашнем принтере. Обобщенный алгоритм выполнения этой работы может быть, например, таким:
- Ознакомиться с необходимыми материалами, литературными источниками и т.п..
- Включить компьютер.
- Загрузить текстовый редактор.
- Набрать или отредактировать текст доклада.
- Включить принтер.
- Распечатать доклад.
- Перечитать доклад еще раз. Если в докладе найдены ошибки повторить шаги 4-6.
2. Способы записи алгоритмов
Различают три способа записи алгоритмов:
- Вербальный – это случай, когда алгоритм описывается обычным языком (понятным человеку).
- Графический – случай, когда алгоритм описывается с помощью графических обозначений. Это есть наиболее распространенный способ записи алгоритма, который обозначается в виде блок-схем.
- Символьный – описание алгоритма с помощью набора символов.
3. Графический способ записи алгоритма. Обозначение на блок-схемах
Наиболее распространенным способом записи алгоритма есть графический способ в виде блок-схемы. Блок-схема – это чертеж, состоящий из геометрических фигур (прямоугольников, параллелепипедов, ромбов, овалов и т.д.) которые соединены направленными линиями. Геометрические фигуры (блоки) соответствуют тем или иным шагам алгоритмического процесса, а направленные линии определяют порядок выполнения блоков.
Геометрические обозначения наиболее употребительных блоков изображены на рисунке 1.
Рисунок 1. Геометрические обозначения наиболее употребительных блоков, которые используются в блок-схемах
4. Классификация алгоритмов по структуре
Различают следующие типы алгоритмов:
- линейный алгоритм – случай, когда блоки операций выполняются последовательно один за другим (рисунок 2). В таких алгоритмах каждый этап вычислений сводится к выполнению последовательности команд, которые выполняются однократно;
- разветвленный алгоритм. В этих алгоритмах ход решения задачи зависит от выполнения (или не выполнения) некоторого условия (рисунок 3);
- циклический алгоритм – это алгоритм, в котором та или иная часть вычислений выполняется многократно (рисунок 4). Количество повторений должно быть конечным.
Рисунок 2. Линейный алгоритм
Рисунок 3. Разветвленный алгоритм
Рисунок 4. Циклический алгоритм
5. Свойства алгоритма
Для алгоритма выделяют следующие свойства:
- определенность (точность) алгоритма – ход решения задачи должен быть точным, понятным и исключать возможность произвольного толкования. Процесс вычислений должен быть таким, чтобы его можно было повторить;
- массовость – алгоритм должен быть применим к целому ряду однотипных задач, для которых изменяются исходные условия;
- дискретность. Это разбиение задачи на элементарные операции для обеспечения ее решения. Одна и та же задача может быть решена разными способами. Однако каждый из способов разбивает решение задачи на несколько более мелких подзадач;
- результативность – решение задачи должно приводить к некоторому результату;
- корректность – вследствие пошагового выполнения алгоритма должен быть получен правильный (корректный) результат.
Источник