Алгоритмы и их разновидности
Рассмотрение истории происхождения алгоритма. Описание принципов арифметических действий. Свойства алгоритмов, позволяющие отличать их от других последовательностей действий. Сущность линейных, циклических, разветвляющих и вспомогательных алгоритмов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 05.04.2019 |
Размер файла | 18,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Алгоритмы и их разновидности
Яковлева Екатерина Игоревна
ТюмГНГУ, Атпб-15-1
Алгоритм - определенная система правил, сформулированная на ясном исполнителю языке, которая имеет свой порядок, точнее определяет процесс перехода от допустимых исходных данных к некоторому последствию и обладает свойствами массовости, конечности, определенности, детерминированности. Если углубляться в историю происхождения алгоритма, то можно узнать несколько интересных фактов не только о появлении самого термина, но и о его первоначальном значении. Как термин это слово появилось от имени великого среднеазиатского ученого 8-9 вв. Абу Абдуллах Мухаммеда ибн Мусса аль Хорезми. Из работ математического уклона Аль-Хорезми до нас дошли только две - алгебраическая и арифметическая. Вторая книга, в свою очередь, достаточно долгое время считалась потерянной, но в 1857 в библиотеке Кембриджского университета был все же найден ее перевод на латинский язык. В ней описаны четыре принципа арифметических действий, практически те же, что используются в наше время. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в Алгоритми, откуда и появился алгоритм. В некоторые европейские языки этот термин вошел как алгоритм, который употреблялся для обозначения четырех арифметических операций. Со временем слово приобрело больше значений. Учёные стали пользоваться им не только в сугубо вычислительных процедурах, но и в других математических действиях. В конечном итоге достоверная трактовка представления алгоритма дала прекрасную возможность для доказательства алгоритмической неразрешимости большинства математических проблем. Появление самых первых проектов вычислительных машин давало стимул исследовать возможности применения алгоритмов в ранее недоступных сферах [1].
В течении многих лет, на протяжении разных обстоятельств идея алгоритма ассоциировалась с различными числами и действиями над ними. Наиболее часто алгоритмы представляли из себя определенные математические формулы. Порядок простых шагов алгоритма задавался расстановкой скобок, а сами шаги заключали в себе решение арифметических операций. Вследствие этого вычисления оказывались очень большими, а если вычислять приходилось вручную, то работа была не из легких. Но, несмотря на это, суть данного вычислительного процесса по-прежнему оставалась явной. Со временем в математике появились новейшие объекты, которыми приходилось пользоваться: векторы, графы, матрицы, множества и др. Так как алгоритм - это четкая последовательность действий, с помощью которой можно получить решение задачи, то для каждого алгоритма существует определенное число объектов, допустимых в качестве исходных данных. Например, в алгоритме делимое вещественных чисел может быть разным, а делитель строго не равным нулю. Но не стоит забывать и о том, что алгоритмов в некоторых действиях вообще может не существовать.
Существует несколько свойств алгоритмов, позволяющих отличать их от других последовательностей действий. Попробуем сформулировать и проанализировать их: * Конечность(результативность). Решение алгоритма представляет собой, что за конечное, определенное число шагов должен быть получен итог. Далее приведем примеры бесконечных алгоритмов, хорошо востребованных на практике. Например, алгоритм работы системы сбора прогноза данных состоит в повторении последовательности действий, которые выполняются с назначенной частотой (через минуту, час) во все время, что данная система находится в действии.
• Дискретность. Свойство алгоритма, характеризующее его структуру. Подробнее, означает, что алгоритм разбивается на последовательность выполнения каждого шага. * Массовость(универсальность). Применимость алгоритма ко всем задачам рассматриваемого типа при различных допустимых множествах исходных данных. Означает, что как-то раз составленный алгоритм существует для решения подобных задач с разными исходными данными. Так алгоритм сложения может применяться к какой угодно паре натуральных чисел.
• Детерминированность(определенность). Свойство алгоритма, показывающее то, что каждый шаг алгоритма строго определяется и не может допускать иных толкований. А так же порядок выполнения отдельных шагов, то есть надо точно знать последовательность выполнения операций. Например, алгоритм должен быть представлен так, чтобы его можно было реализовать.
• Правильность. Тут, конечно же, не составляет труда ясно понять свойство. Алгоритм считается верным, если его выполнение дает верные результаты решения поставленной задачи.
• Формальность. Свойство означающее, что какой угодно исполняющий, который выполняет алгоритм строго следует инструкции созданной разработчиком алгоритма.
В жизни мы встречаем алгоритмы на каждом шагу, иногда даже не подозревая, что машинально выполняем их. Это доказывает то, что алгоритмы присутствуют не только в математических вычислениях, а так же и в нашей повседневной жизни.
Кроме вышеперечисленных свойств алгоритмов так же существует четыре разновидности его вида, которые имеют важное значение:
• Линейный. Или последовательный алгоритм, который описывает действия, выполняющиеся однократно в определенном порядке. Такой алгоритм применяется в вычислительном выражении, в котором присутствуют только действия вычитания и сложения. Так же встречает и в бытовой жизни, когда мы открываем дверь.
• Циклический. Характеристика действий, повторяющихся заданное число раз или пока не будет выполнено данное условие. Такой список действий называют телом цикла. Почти все процессы в окружающем нас мире существуют на постоянном повторении одной и той же последовательности каких-либо действий. Это и является примером циклического алгоритма.
• Разветвляющийся. Алгоритм, имеющий несколько исходов, в зависимости от условия выполняется либо одна, либо другая последовательность действий. Такой алгоритм подразделяется на полную или неполную форму. Полной формой является в том случае, когда представляется так: «если условие, то..., иначе...». Неполной в том случае, если действия пропускаются: «если условие, то...».
• Вспомогательный. Указав только его имя данный алгоритм можно применять в любых других алгоритмах.
Подводя итог этой темы можно сказать, что настоящий взгляд на алгоритмизацию включает в себя определенные модели алгоритмов. Тем временем пока развивается вычислительная техника и различные теории программирования растет потребность в построении новых алгоритмов, тем самым меняются и методы их построения, способы записи алгоритмах на языках, которые будут понятны исполнителю. В наше время компьютер является важным типом исполнителя алгоритмов, поэтому нужно создавать особые способы как для более ловкого средства записи алгоритмов, так и для еще более ясного составляющего записи. На сегодняшний день такими способами являются языки программирования или алгоритмические языки.
Список литературы
алгоритм арифметический последовательность действие
1. Крупский В.Н. Теория алгоритмов: учебное пособие / В. Н. Крупский, В. Е. Плиско.
Размещено на Allbest.ru
...Подобные документы
Описание особенностей программирования циклических алгоритмов на С/С++. Использование операторов цикла для организации повтора в программе определенных действий. Создание и реализация программы приближенного вычисления интеграла методом трапеций.
лабораторная работа [86,3 K], добавлен 25.03.2019Алгоритм - определенная последовательность действий для получения решения задачи, его сущность и свойства. Основные характеристики разветвляющегося, циклического и линейного алгоритмов. Применение базовых алгоритмов при написании программных продуктов.
презентация [221,5 K], добавлен 01.03.2012Последовательность действий, понятных для исполнителя и ведущая к решению поставленной задачи. Форма представления алгоритма для исполнения его машиной. Основные свойства алгоритмов и способы их записи. Линейный, разветвляющийся и циклический алгоритмы.
презентация [128,2 K], добавлен 22.10.2012Характеристика сущности и свойств алгоритма - последовательности действий для решения поставленной задачи. Особенности алгоритмического языка, представляющего собой систему обозначений и правил для единообразной и точной записи алгоритмов и их исполнения.
реферат [35,2 K], добавлен 24.07.2010Понятие и свойства алгоритмов: рекурсивного, сортировки и поиска. Простая программа и структурный подход к разработке алгоритмов. Язык блок-схем и проектирования программ (псевдокод). Рассмотрение принципов объектно-ориентированного программирования.
презентация [53,1 K], добавлен 13.10.2013Сущность алгоритма: происхождение названия, свойства и основные понятия. Подразделение на виды, структура, формы словесного описания и схематического построения. Запись порядка действий на языках компьютерных языках программирования. Применение в жизни.
презентация [386,7 K], добавлен 21.04.2011Исследование особенностей разработки линейных алгоритмов и их реализации в среде Delphi. Составление тестов для проверки программы. Характеристика основных элементов интерфейса, компонентов, значения их свойств. Построение графической схемы алгоритма.
лабораторная работа [316,6 K], добавлен 08.11.2012Алгоритм как четкая последовательность действий, направленная на решение задачи. Свойства алгоритмов и их характеристика. Способы описания алгоритма. Понятия алгебры логики. Логические переменные, их замена конкретными по содержанию высказываниями.
презентация [337,7 K], добавлен 18.11.2012Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.
курсовая работа [27,9 K], добавлен 23.07.2011Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.
курсовая работа [1,3 M], добавлен 11.03.2014Характеристика нормативного, ситуационного и аналитического типов поведения интеллектуальной системы. Особенности реализации и преимущества использования классического и минимаксного принципов планирования действий и альфа-бета алгоритма принятия решения.
реферат [133,6 K], добавлен 27.01.2011Виды алгоритмов как логико-математических средств, характеристика свойств. Корректный вывод алгоритма при решении вычислительной задачи. Механизм реализации алгоритма, его описание. Решение задачи Майхилла при помощи автоматной модели поведения стрелка.
курсовая работа [53,6 K], добавлен 17.07.2014Понятие и свойства алгоритма, виды, характеристики. Роль алгоритма в построении программы, представление и запись. Словесный, графический, табличный способ. Псевдокод. Примеры известных алгоритмов. Операции над массивами. Уточнение корней уравнения.
курсовая работа [1,1 M], добавлен 10.11.2016Обзор рекурсивных алгоритмов с позиции теории алгоритмов, теории сложности, с точки зрения практического программирования. Имитация работы цикла с помощью рекурсии. Способы изображения древовидных структур. Синтаксический анализ арифметических выражений.
курсовая работа [432,2 K], добавлен 16.01.2013Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Трудности использования эволюционных алгоритмов. Построение вычислительных систем, основанных на принципах естественного отбора. Недостатки генетических алгоритмов. Примеры эволюционных алгоритмов. Направления и разделы эволюционного моделирования.
реферат [187,4 K], добавлен 21.01.2014Реализация алгоритмов Краскала и Прима для построения минимального остовного дерева взвешенного связного неориентированного графа. Анализ трудоемкости алгоритмов, их псевдокоды и тестирование. Применение алгоритма Краскала на практике в работе авиалиний.
курсовая работа [142,0 K], добавлен 25.12.2012Исследование понятия алгоритма, особенностей линейных и разветвляющихся алгоритмов. Свойства алгоритма: понятность, точность, дискретность, массовость и результативность. Составление программы для вычисления значения функции и построение её графика.
контрольная работа [278,0 K], добавлен 25.03.2013Критерии и основные стратегии планирования процессора. Разработка моделей алгоритмов SPT (Shortest-processing-task-first) и RR (Round-Robin). Сравнительный анализ выбранных алгоритмов при различных условиях и различном количестве обрабатываемых данных.
курсовая работа [179,3 K], добавлен 21.06.2013Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.
контрольная работа [1,0 M], добавлен 19.03.2016