1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Немного истории</a></li>
1
<ul><li><a>Немного истории</a></li>
2
<li><a>Еще несколько терминов</a></li>
2
<li><a>Еще несколько терминов</a></li>
3
<li><a>Основные свойства</a></li>
3
<li><a>Основные свойства</a></li>
4
-
<li><a>Виды алгоритмов: цикл, разветвление, ли��ейная последовательность</a></li>
4
+
<li><a>Виды алгоритмов: цикл, разветвление, линейная последовательность</a></li>
5
</ul><p>В этой статье будет рассмотрено происхождение понятия "<strong>Алгоритм</strong>", а также то, какими свойствами обладают современные рациональные алгоритмы и какие задачи они решают. Дополнительное внимание будет уделено видам математических алгоритмов, которые могут быть представлены в виде циклов, разветвлений и линейных последовательностей.</p>
5
</ul><p>В этой статье будет рассмотрено происхождение понятия "<strong>Алгоритм</strong>", а также то, какими свойствами обладают современные рациональные алгоритмы и какие задачи они решают. Дополнительное внимание будет уделено видам математических алгоритмов, которые могут быть представлены в виде циклов, разветвлений и линейных последовательностей.</p>
6
<p>Алгоритмом является определенная конечная последовательность инструкций, выполнение которых приводит к достижению конкретной цели (решению поставленной задачи). Существует множество разнообразных вариантов этого определения, которые можно найти в учебной литературе (чаще всего, это математические книги, а также учебники по информатике и программированию). Основная мысль тут следующая: алгоритм - это некий замкнутый перечень действий, а также дискретный процесс, у которого есть входная и выходная точки. И результат исполнения (решение) достигается за счет пошагового выполнения конкретной последовательности (арифметической, логической и т. п.). </p>
6
<p>Алгоритмом является определенная конечная последовательность инструкций, выполнение которых приводит к достижению конкретной цели (решению поставленной задачи). Существует множество разнообразных вариантов этого определения, которые можно найти в учебной литературе (чаще всего, это математические книги, а также учебники по информатике и программированию). Основная мысль тут следующая: алгоритм - это некий замкнутый перечень действий, а также дискретный процесс, у которого есть входная и выходная точки. И результат исполнения (решение) достигается за счет пошагового выполнения конкретной последовательности (арифметической, логической и т. п.). </p>
7
<p>С какими значениями можно связать слово "алгоритм":</p>
7
<p>С какими значениями можно связать слово "алгоритм":</p>
8
<p>- цикл;</p>
8
<p>- цикл;</p>
9
<p>- метод (способ);</p>
9
<p>- метод (способ);</p>
10
<p>- процесс;</p>
10
<p>- процесс;</p>
11
<p>- рецепт;</p>
11
<p>- рецепт;</p>
12
<p>- инструкция.</p>
12
<p>- инструкция.</p>
13
<h2>Немного истории</h2>
13
<h2>Немного истории</h2>
14
<p>Это сегодня данное понятие является фундаментальным как в информатике, так и в математике. Но сам термин появился очень давно - тогда, когда еще не было персональных компьютеров, смартфонов и прочей вычислительной техники.</p>
14
<p>Это сегодня данное понятие является фундаментальным как в информатике, так и в математике. Но сам термин появился очень давно - тогда, когда еще не было персональных компьютеров, смартфонов и прочей вычислительной техники.</p>
15
<p>Впервые термин Algorithm был широко озвучен в средние века - это произошло, когда ученые Европы узнали о методах вычислений, используемых математиком из Азии<strong>Мухаммедом аль-Хорезми</strong>. Как раз от его имени и образовалось слово "Алгоритм".</p>
15
<p>Впервые термин Algorithm был широко озвучен в средние века - это произошло, когда ученые Европы узнали о методах вычислений, используемых математиком из Азии<strong>Мухаммедом аль-Хорезми</strong>. Как раз от его имени и образовалось слово "Алгоритм".</p>
16
<p>В течение следующих веков после того, как перевели его сочинения, возникло множество математических трудов, которые были посвящены искусству счета. Если посмотреть на описание алгоритма европейцами в те далекие годы, то можно увидеть следующее определение:</p>
16
<p>В течение следующих веков после того, как перевели его сочинения, возникло множество математических трудов, которые были посвящены искусству счета. Если посмотреть на описание алгоритма европейцами в те далекие годы, то можно увидеть следующее определение:</p>
17
<h2>Еще несколько терминов</h2>
17
<h2>Еще несколько терминов</h2>
18
<p>Поначалу алгоритмизация подразумевала выполнение вычислительных действий над десятичными числами. Спустя годы, этот термин стал использоваться при обозначении любой последовательности, позволяющей достигать конкретного результата. Но эти последовательности не являются абстрактными - они разрабатываются для определенного<strong>исполнителя</strong>:</p>
18
<p>Поначалу алгоритмизация подразумевала выполнение вычислительных действий над десятичными числами. Спустя годы, этот термин стал использоваться при обозначении любой последовательности, позволяющей достигать конкретного результата. Но эти последовательности не являются абстрактными - они разрабатываются для определенного<strong>исполнителя</strong>:</p>
19
<p>- человека;</p>
19
<p>- человека;</p>
20
<p>- механизма;</p>
20
<p>- механизма;</p>
21
<p>- компьютера;</p>
21
<p>- компьютера;</p>
22
<p>- роботизированного устройства;</p>
22
<p>- роботизированного устройства;</p>
23
<p>- языка программирования и т. п.</p>
23
<p>- языка программирования и т. п.</p>
24
<p>Такой исполнитель характеризуется способностью исполнять поставленные перед ним задачи в виде соответствующих команд. Это значит, что последовательность описывается на понятном для исполнителя языке, формируя<strong>программу</strong>.</p>
24
<p>Такой исполнитель характеризуется способностью исполнять поставленные перед ним задачи в виде соответствующих команд. Это значит, что последовательность описывается на понятном для исполнителя языке, формируя<strong>программу</strong>.</p>
25
<p>Способы представления алгоритмов бывают разные:</p>
25
<p>Способы представления алгоритмов бывают разные:</p>
26
<p>Подробнее о способах читайте<a>здесь</a>, а о блок-схемах -<a>тут</a>.</p>
26
<p>Подробнее о способах читайте<a>здесь</a>, а о блок-схемах -<a>тут</a>.</p>
27
<h2>Основные свойства</h2>
27
<h2>Основные свойства</h2>
28
<p>Основные свойства следующие:</p>
28
<p>Основные свойства следующие:</p>
29
<p>1.<strong>Массовость</strong>. Она же универсальность. Хороший и рациональный алгоритм может эффективно использоваться для разных наборов входных данных. Даже подставляя в абстрактную последовательность новые значения снова и снова, пользователь должен получать верный результат. </p>
29
<p>1.<strong>Массовость</strong>. Она же универсальность. Хороший и рациональный алгоритм может эффективно использоваться для разных наборов входных данных. Даже подставляя в абстрактную последовательность новые значения снова и снова, пользователь должен получать верный результат. </p>
30
<p>2.<strong>Дискретность</strong>. Другое название - разрывность. Здесь речь идет о структуре. Алгори тм считают дискретным, если он делится на шаги, то есть решить задачу - значит последовательно выполнить эти простые шаги или этапы, причем исполнение каждого шага занимает определенный временной отрезок. Такой алгоритм и будет дискретным.</p>
30
<p>2.<strong>Дискретность</strong>. Другое название - разрывность. Здесь речь идет о структуре. Алгори тм считают дискретным, если он делится на шаги, то есть решить задачу - значит последовательно выполнить эти простые шаги или этапы, причем исполнение каждого шага занимает определенный временной отрезок. Такой алгоритм и будет дискретным.</p>
31
<p>3.<strong>Определенность</strong>. У этого свойства есть два синонима: точность и детерминированность. Важный момент - шаги должны быть строго определены, причем каждый, то есть разные толкования не допускаются. Строго определен и порядок выполнения этих этапов. Если все хорошо, при условии одинаковых исходных данных и той же самой цепочки команд (последовательности арифметических действий)<strong>результат будет одинаков для разных исполнителей</strong>. </p>
31
<p>3.<strong>Определенность</strong>. У этого свойства есть два синонима: точность и детерминированность. Важный момент - шаги должны быть строго определены, причем каждый, то есть разные толкования не допускаются. Строго определен и порядок выполнения этих этапов. Если все хорошо, при условии одинаковых исходных данных и той же самой цепочки команд (последовательности арифметических действий)<strong>результат будет одинаков для разных исполнителей</strong>. </p>
32
<p>4.<strong>Понятность, ясность</strong>. Уже выше было сказано, что последовательность описывается на понятном для исполнителя языке, то есть команды входят в систему понятий исполнителя. </p>
32
<p>4.<strong>Понятность, ясность</strong>. Уже выше было сказано, что последовательность описывается на понятном для исполнителя языке, то есть команды входят в систему понятий исполнителя. </p>
33
<p>5.<strong>Формальность</strong>. "Приказы не обсуждают, а выполняют" - говорит директор. Так и разработчик алгоритма - он формирует задачу исполнителю, к примеру, компьютеру, которому не важен смысл, - он просто выполняет соответствующие команды (задания) и получает результат. Зачем и почему - не его вопросы.</p>
33
<p>5.<strong>Формальность</strong>. "Приказы не обсуждают, а выполняют" - говорит директор. Так и разработчик алгоритма - он формирует задачу исполнителю, к примеру, компьютеру, которому не важен смысл, - он просто выполняет соответствующие команды (задания) и получает результат. Зачем и почему - не его вопросы.</p>
34
<p>6.<strong>Завершаемость</strong>и<strong>результативность</strong>. При корректности входных данных рациональный алгоритм должен без проблем завершать свою работу за определенное и установленное разработчиком число шагов, то есть он не должен "зависать" и работать бесконечно. И завершение работы (решение алгоритма) будет сопровождаться получением конкретных результатов. </p>
34
<p>6.<strong>Завершаемость</strong>и<strong>результативность</strong>. При корректности входных данных рациональный алгоритм должен без проблем завершать свою работу за определенное и установленное разработчиком число шагов, то есть он не должен "зависать" и работать бесконечно. И завершение работы (решение алгоритма) будет сопровождаться получением конкретных результатов. </p>
35
<h2>Виды алгоритмов: цикл, разветвление, линейная последовательность</h2>
35
<h2>Виды алгоритмов: цикл, разветвление, линейная последовательность</h2>
36
<p>Сегодня алгоритмов существует огромное множество. Если говорить вкратце, то можно выделить три основные группы:</p>
36
<p>Сегодня алгоритмов существует огромное множество. Если говорить вкратце, то можно выделить три основные группы:</p>
37
<p>- линейные;</p>
37
<p>- линейные;</p>
38
<p>- разветвляющиеся;</p>
38
<p>- разветвляющиеся;</p>
39
<p>- циклические (они же<strong>циклы</strong>).</p>
39
<p>- циклические (они же<strong>циклы</strong>).</p>
40
<p>Следует рассмотреть эти группы подробнее, начиная с линейного алгоритма.</p>
40
<p>Следует рассмотреть эти группы подробнее, начиная с линейного алгоритма.</p>
41
<p>Линейность предполагает<strong>последовательное выполнение действий</strong>, то есть друг за другом. Вот как это может выглядеть на практике в виде блок-схемы:</p>
41
<p>Линейность предполагает<strong>последовательное выполнение действий</strong>, то есть друг за другом. Вот как это может выглядеть на практике в виде блок-схемы:</p>
42
<p>Когда речь идет о<strong>разветвлении</strong>, подразумевается наличие хотя бы одного<strong>условия</strong>. Это условие проверяется по ходу работы. По итогу возможно разделение на несколько ветвей. Пример:</p>
42
<p>Когда речь идет о<strong>разветвлении</strong>, подразумевается наличие хотя бы одного<strong>условия</strong>. Это условие проверяется по ходу работы. По итогу возможно разделение на несколько ветвей. Пример:</p>
43
<p>Отдельного упоминания заслуживает<strong>цикл</strong>, он же циклический алгоритм. При наличии цикла<strong>обеспечивается многократное повторение</strong>одной и той же операции. В цикле могут быть и вычисления, и перебор вариантов.</p>
43
<p>Отдельного упоминания заслуживает<strong>цикл</strong>, он же циклический алгоритм. При наличии цикла<strong>обеспечивается многократное повторение</strong>одной и той же операции. В цикле могут быть и вычисления, и перебор вариантов.</p>
44
<p>У цикла программы есть<strong>тело цикла</strong>(серия команд). И это тело цикла выполняется до тех пор, пока не будет удовлетворено конкретное условие.</p>
44
<p>У цикла программы есть<strong>тело цикла</strong>(серия команд). И это тело цикла выполняется до тех пор, пока не будет удовлетворено конкретное условие.</p>
45
<p>Пример цикла на блок-схеме:</p>
45
<p>Пример цикла на блок-схеме:</p>
46
<a></a><p><em>Источники:</em></p>
46
<a></a><p><em>Источники:</em></p>
47
<ul><li>https://urok.1sept.ru/articles/631785; </li>
47
<ul><li>https://urok.1sept.ru/articles/631785; </li>
48
<li>https://www.sites.google.com/site/algoritmyvidyisvojstva/materialy/sposoby-opisania-vidy-algoritmov;</li>
48
<li>https://www.sites.google.com/site/algoritmyvidyisvojstva/materialy/sposoby-opisania-vidy-algoritmov;</li>
49
<li>https://math-it.petrsu.ru/users/semenova/Informatika/DOC/Sam_Izuch/Algoritm.pdf.</li>
49
<li>https://math-it.petrsu.ru/users/semenova/Informatika/DOC/Sam_Izuch/Algoritm.pdf.</li>
50
</ul>
50
</ul>