0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Статья расскажет о происхождении термина "Алгоритм" и о том, какими свойствами он обладает.</p>
1
<p>Статья расскажет о происхождении термина "Алгоритм" и о том, какими свойствами он обладает.</p>
2
<p>Алгоритмом называют определенную конечную последовательность действий (набор инструкций), выполнение которых приводит к достижению конкретной цели (решению поставленной задачи). В литературе по информатике, как и на просторах глобальной сети, можно найти множество общей теоретической информации относительно понятия и решения алгоритма. Достаточно запомнить основную мысль: достижение алгоритмического результата обеспечивается выполнением определенной последовательности действий (чаще всего, действий арифметических или логических).</p>
2
<p>Алгоритмом называют определенную конечную последовательность действий (набор инструкций), выполнение которых приводит к достижению конкретной цели (решению поставленной задачи). В литературе по информатике, как и на просторах глобальной сети, можно найти множество общей теоретической информации относительно понятия и решения алгоритма. Достаточно запомнить основную мысль: достижение алгоритмического результата обеспечивается выполнением определенной последовательности действий (чаще всего, действий арифметических или логических).</p>
3
<h2>История возникновения термина</h2>
3
<h2>История возникновения термина</h2>
4
<p>Сегодня это понятие является фундаментальным и в математике, и в информатике. Однако сам термин возник задолго до появления компьютеров и прочих электронных средств вычислительной техники. Впервые об алгоритме заговорили в средние века - именно тогда европейские ученые ознакомились с методами вычисления арифметических действий, производимых в десятичной системе счисления азиатским математиком по имени<strong>Мухаммед ибн Муса аль-Хорезми</strong>(от имени этого математика и сформировался термин Algorithm). Сочинение аль-Хорезми перевели, а в последующие столетия появилось много трудов, посвященных вопросу обучения искусству счёта посредством цифр. Можно вспомнить описание алгоритма в европейской науке в те годы:</p>
4
<p>Сегодня это понятие является фундаментальным и в математике, и в информатике. Однако сам термин возник задолго до появления компьютеров и прочих электронных средств вычислительной техники. Впервые об алгоритме заговорили в средние века - именно тогда европейские ученые ознакомились с методами вычисления арифметических действий, производимых в десятичной системе счисления азиатским математиком по имени<strong>Мухаммед ибн Муса аль-Хорезми</strong>(от имени этого математика и сформировался термин Algorithm). Сочинение аль-Хорезми перевели, а в последующие столетия появилось много трудов, посвященных вопросу обучения искусству счёта посредством цифр. Можно вспомнить описание алгоритма в европейской науке в те годы:</p>
5
<p>Также значение слова "алгоритм" сегодня нередко связывают со значениями таких слов, как "рецепт", "метод", "процесс", "инструкция".</p>
5
<p>Также значение слова "алгоритм" сегодня нередко связывают со значениями таких слов, как "рецепт", "метод", "процесс", "инструкция".</p>
6
<h2>Исполнитель и программа</h2>
6
<h2>Исполнитель и программа</h2>
7
<p>Судя по историческим справкам, изначально речь шла о способе выполнения арифметических действий над десятичными числами. Прошли годы. Понятие стали применять при обозначении любой последовательности действий, которая приводит к получению требуемого результата. Причем алгоритмы существуют не сами по себе - они предназначаются для конкретного<strong>исполнителя</strong>. Кто может выступать таким исполнителем: - человек; - роботизированное/автоматизированное устройство, механизм; - компьютер; - язык программирования и т. д.</p>
7
<p>Судя по историческим справкам, изначально речь шла о способе выполнения арифметических действий над десятичными числами. Прошли годы. Понятие стали применять при обозначении любой последовательности действий, которая приводит к получению требуемого результата. Причем алгоритмы существуют не сами по себе - они предназначаются для конкретного<strong>исполнителя</strong>. Кто может выступать таким исполнителем: - человек; - роботизированное/автоматизированное устройство, механизм; - компьютер; - язык программирования и т. д.</p>
8
<p>Отличительная черта<strong>исполнителя</strong>- способность выполнять команды, которые включены в алгоритм. Это становится возможным, благодаря описанию последнего на формальном языке, который исключает неоднозначность толкования. Множество команд задано изначально строго и является конечным. Действия, которые должен выполнить исполнитель, называют<strong>элементарными</strong>действиями, а сама запись алгоритмической последовательности на формальном языке - это<strong>программа</strong>. Разработка алгоритма в целях решения задачи - это<strong>алгоритмизация</strong>.</p>
8
<p>Отличительная черта<strong>исполнителя</strong>- способность выполнять команды, которые включены в алгоритм. Это становится возможным, благодаря описанию последнего на формальном языке, который исключает неоднозначность толкования. Множество команд задано изначально строго и является конечным. Действия, которые должен выполнить исполнитель, называют<strong>элементарными</strong>действиями, а сама запись алгоритмической последовательности на формальном языке - это<strong>программа</strong>. Разработка алгоритма в целях решения задачи - это<strong>алгоритмизация</strong>.</p>
9
<h2>Главные характеристики</h2>
9
<h2>Главные характеристики</h2>
10
<p>Выделяют следующие свойства алгоритма: массовость, дискретность, результативность, определенность, понятность, формальность, завершаемость. Будет не лишним рассмотреть их более подробно, дав каждому свойству алгоритма пояснение: 1.<strong>Массовость</strong>(универсальность). Благодаря этому свойству, алгоритм можно успешно применять к различным наборам исходных данных. Пусть существует запись некой абстрактной последовательности, выраженная формулой. Подставляя в эту формулу значения (каждый раз новые), пользователь будет получать верные решения в соответствии с определенным алгоритмом действий. 2.<strong>Дискретность</strong>(разрывность). Это свойство характеризует структуру. Каждая алгоритмическая последовательность действий делится на этапы (шаги), а процесс решения задачи - это последовательное исполнение простых шагов. Также дискретность обозначает, что для выполнения каждого этапа потребуется конечный временной отрезок (исходные данные преобразуются во времени в результат<strong>дискретно</strong>). 3.<strong>Определенность</strong>(точность, детерминированность) - это свойство указывает алгоритму, что каждый его шаг должен быть строго определенным, то есть различные толкования должны быть исключены. Строго определяется и порядок выполнения шагов. В результате каждый шаг определяется состоянием системы однозначно, когда четко понятно, какая команда станет выполняться на следующем шаге. Как итог - при любом исполнителе для одних и тех же исходных данных при выполнении одной и той же цепочки команд будет выдаваться одинаковый результат. Да, существуют вероятностные алгоритмы - в них на последующий шаг влияют как текущее состояние системы, так и генерируемое случайное число. Но при включении способа генерации рандомных чисел в перечень "исходных данных", вероятностный алгоритм превращается в подвид обычного. 4.<strong>Понятность</strong>. Должны быть включены лишь те команды, которые доступны и понятны исполнителю, то есть входят в систему его команд. 5.<strong>Формальность</strong>. Любой исполнитель действует формально и лишь выполняет инструкции, не вникая в смысл. Он не отвлекается от поставленной задачи и не рассуждает, зачем и почему они нужны. Рассуждениями занимается разработчик алгоритма, задача же исполнителя - просто исполнить предложенные команды и получить результат. "Приказы не обсуждают, а выполняют". 6.<strong>Завершаемость</strong>(конечность). Если исходные данные заданы корректно, алгоритм завершит свое действие и выдаст результат за конечное число шагов. 7.<strong>Результативность</strong>. Согласно этому свойству, любой алгоритм должен завершаться конкретными результатами.</p>
10
<p>Выделяют следующие свойства алгоритма: массовость, дискретность, результативность, определенность, понятность, формальность, завершаемость. Будет не лишним рассмотреть их более подробно, дав каждому свойству алгоритма пояснение: 1.<strong>Массовость</strong>(универсальность). Благодаря этому свойству, алгоритм можно успешно применять к различным наборам исходных данных. Пусть существует запись некой абстрактной последовательности, выраженная формулой. Подставляя в эту формулу значения (каждый раз новые), пользователь будет получать верные решения в соответствии с определенным алгоритмом действий. 2.<strong>Дискретность</strong>(разрывность). Это свойство характеризует структуру. Каждая алгоритмическая последовательность действий делится на этапы (шаги), а процесс решения задачи - это последовательное исполнение простых шагов. Также дискретность обозначает, что для выполнения каждого этапа потребуется конечный временной отрезок (исходные данные преобразуются во времени в результат<strong>дискретно</strong>). 3.<strong>Определенность</strong>(точность, детерминированность) - это свойство указывает алгоритму, что каждый его шаг должен быть строго определенным, то есть различные толкования должны быть исключены. Строго определяется и порядок выполнения шагов. В результате каждый шаг определяется состоянием системы однозначно, когда четко понятно, какая команда станет выполняться на следующем шаге. Как итог - при любом исполнителе для одних и тех же исходных данных при выполнении одной и той же цепочки команд будет выдаваться одинаковый результат. Да, существуют вероятностные алгоритмы - в них на последующий шаг влияют как текущее состояние системы, так и генерируемое случайное число. Но при включении способа генерации рандомных чисел в перечень "исходных данных", вероятностный алгоритм превращается в подвид обычного. 4.<strong>Понятность</strong>. Должны быть включены лишь те команды, которые доступны и понятны исполнителю, то есть входят в систему его команд. 5.<strong>Формальность</strong>. Любой исполнитель действует формально и лишь выполняет инструкции, не вникая в смысл. Он не отвлекается от поставленной задачи и не рассуждает, зачем и почему они нужны. Рассуждениями занимается разработчик алгоритма, задача же исполнителя - просто исполнить предложенные команды и получить результат. "Приказы не обсуждают, а выполняют". 6.<strong>Завершаемость</strong>(конечность). Если исходные данные заданы корректно, алгоритм завершит свое действие и выдаст результат за конечное число шагов. 7.<strong>Результативность</strong>. Согласно этому свойству, любой алгоритм должен завершаться конкретными результатами.</p>
11
<h2>Основные виды алгоритмов</h2>
11
<h2>Основные виды алгоритмов</h2>
12
<p>В информатике и программировании выделяют много видов алгоритмов. Основные из них: - линейные (команды выполняются последовательно, одна за одной); - разветвляющиеся (есть условие, при проверке которого возможно разветвление на несколько параллельных ветвей); - циклические (предусматривается многократное повторение одних и тех же действий).</p>
12
<p>В информатике и программировании выделяют много видов алгоритмов. Основные из них: - линейные (команды выполняются последовательно, одна за одной); - разветвляющиеся (есть условие, при проверке которого возможно разветвление на несколько параллельных ветвей); - циклические (предусматривается многократное повторение одних и тех же действий).</p>
13
<p><em>Источники: • https://math-it.petrsu.ru/users/semenova/Informatika/DOC/Sam_Izuch/Algoritm.pdf; • https://www.sites.google.com/site/algoritmyvidyisvojstva/materialy/materialy-1.</em></p>
13
<p><em>Источники: • https://math-it.petrsu.ru/users/semenova/Informatika/DOC/Sam_Izuch/Algoritm.pdf; • https://www.sites.google.com/site/algoritmyvidyisvojstva/materialy/materialy-1.</em></p>
14
14