Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования.pdf
Добавлен: 22.04.2023
Просмотров: 716
Скачиваний: 3
ВВЕДЕНИЕ
Можете ли вы себе представить выполнение какой-либо работы без знания порядка выполнения действий или алгоритма? Разумеется нет. Во всех сферах деятельности человека широко распространено использование чёткого алгоритма действий ,знание которого упрощает работу в разы. Даже с самых древних времен человек придерживался некому алгоритму для своего выживания, который состоял из таких пунктов как сходить на охоту, приготовить еду для своего племени или рода, затем лечь поспать, и так по кругу. Я выбрал данную тему для написания курсовой из-за её актуальности. Ведь как и в древние времена, в наши дни нам так же требуется придерживаться алгоритму, для выживания и процветания.
Актуальность выбранной мной темы состоит в том ,что любая работа или действие будь то развитие бизнеса ,производство чего либо ,написание программы или же любое повседневные занятие требует знания алгоритма при выполнении которого вы добьетесь поставленного результата. Наличие алгоритмов в жизни человека в разы упрощает его существование.
Алгоритмы представляют из себя определенную последовательность действий , определяющую процесс перехода от исходных данных к исходному результату. Целью ради которой создаются алгоритмы является: упрощение работы за счет точного выявления ступеней ее протекания.
Задачами моего исследования являются:
- Выявить основные структуры алгоритмов.
- Произвести сравнительный анализ.
- Показать на примерах как и где используются алгоритмы.
Цель исследования-рассмотрение теоретических знаний об алгоритмах и сравнение существующих видов с приведением примеров.
Основные источники на которые я ссылаясь в курсовой работе, это-труды опубликованные издательством Тихоокеанского государственного университета.
Практическая значимость моей работы заключается в возможности использования знаний накопленных в ходе ее создания для обучения или просвещения кого-либо.
1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ВИДЫ АЛГОРИТМОВ
1.1 СВОЙСТВА АЛГОРИТМОВ
Как я уже утверждал во вступлении алгоритмом является система последовательных операций нужная для решения какой-либо задачи. Любой алгоритм обладает присущими ему свойствами.
К свойствам алгоритмов относятся:
- Дискретность. Любой алгоритм должен представлять из себя процесс решения задачи как последовательность выполнения простых действий. При этом на выполнение каждого действия отведен определенный промежуток времени.
- Детерминированность. Каждые действие должно быть четким и однозначным , а так же не оставлять места для двусмысленности.
- Результативность. Алгоритм должен приводить к решению проблемы или задачи. Или же сообщать что задача не имеет решения за конечное число шагов.
- Конечность. Каждое отдельное действие, из которых состоит алгоритм, должно иметь возможность реального исполнения. В следствии чего алгоритм имеет предел , то есть он конечен.
- Массовость. Алгоритм разрабатывается таким образом, что бы он мог применяться для решения разных задач одного типа, которые в свою очередь отличаются лишь исходными данными. При этом исходные данные выбираются из области называемой областью применяемости алгоритма.
На этом свойства алгоритмов заканчиваются. Но есть еще несколько не менее важных аспектов которые стоит упомянуть. К ним относятся способы записи алгоритмов и их основные виды.
1.2 СПОСОБЫ ЗАПИСИ АЛГОРИТМОВ
Существуют несколько способов записи алгоритмов такие как: словесно-формульный, графический и операторный. Разные способы записи алгоритмов используются для решения различных задач в зависимости от того который больше подходит и нагляднее демонстрирует процесс решения задачи.
Например словесно-формульный алгоритм чаще всего используется для решения математических задач или уравнений. Таких как квадратные уравнения.
Пример словесно-формульного алгоритма: решение уравнения Y=2a-(x+6)
- 1.Ввести значения а и х
- 2.Сложить х и 6
- 3.Умножить а на 2
- 4.Вычесть из 2а сумму (х+6)
- 5.Вывести Y как результат вычисления выражения.
Графический способ записи алгоритмов так же часто называют блок-схемой. В блок схемах для изображения этапов процесса решения задачи используются геометрические фигуры. Каждая фигура обозначает одно отдельное действие. Порядок действий в блок-схеме отображается стрелками проведенными от одной геометрической фигуры к другой. Каждая фигура которая является частью блок-схемы называется блоком. Блоки следует размещать слева на право или сверху вниз в порядке их выполнения. Так же , в любой блок-схеме должен будь элемент который обозначает начало и элемент который соответствует концу. Еще обязательно должен быть хотя бы один путь из начала к любому элементу блок-схемы. А так же должен быть хотя бы один путь из любого элемента блок схемы в ее конец. Пример алгоритма рис 1. Обозначения геометрических фигур рис 2.
Третьим способом является операторный способ или же алгоритмический язык. Алгоритм-это задание которое нужно исполнить. Что бы получить нужный результат исполнитель должен в точности исполнить все пункты указанные в алгоритме. На алгоритмическом языке пишутся программы для компьютеров , которые понятны как человеку так и исполнителю алгоритма-компьютеру.
Лично мне проще работать с алгоритмами которые построены в виде блок-схем. Я считаю что они самым наглядным образом отображают структуру алгоритма и этапы протекания процесса решения задачи.
Рис 1-пример линейного алгоритма
.
Рис 2-обозначения геометрических фигур в блок-схеме
1.3 ВИДЫ АЛГОРИТМОВ
Помимо различных способов записей алгоритмов так же существуют их различные виды. Существуют три вида алгоритмов: линейные, разветвляющиеся и циклические.
Линейный алгоритм-это последовательность действий, которая выполняется только один раз и строго в том порядке в котором действия записаны. Пример линейного алгоритма рис 3.
Разветвляющиеся алгоритм-это алгоритм, в котором действие выполняется только после анализа условия. Процесс анализа условия и выбора одной из ветвей блок-схемы отображается с помощью логического блока. Логический блок имеет один уходи и два выхода. В блок схемах относящихся к разветвляющимся алгоритмам всегда есть логический блок. Пример разветвляющихся алгоритмов рис 4.
Циклический алгоритм-это алгоритм в котором группа операторов выполняется несколько раз подряд. Блок-схема цикла так же обязательно содержит логический блок. Циклический алгоритм выполняется в такой последовательности: проверка условия, если условие верно, то выполняется тело цикла и, затем, изменяются значения параметра цикла и снова проверяется условие. На каком то этапе условие не выполняется и тогда выполнение цикла заканчивается и продолжается выполнение программы. Пример циклического алгоритма рис 5.
Вероятностный-алгоритм который дает программу решения задачи несколькими путями или способами, приводя к черному решению.
Эвристический алгоритм-это такой алгoритм в котором дoстижениe конечного результата однозначно не предoпределeнo, так жe как нe обoзначeна вся послeдовательнocть действий. Примерами таких алгoритмов могут являться инстрyкции или прeдписания.
Meханический алгоритм-этo алгоритм который задаёт определённые действия, oбoзнания их в единственной и дoстoверной последовательности, обеспeчивaя тем сaмым однозначный требуемый рeзультат, если выпoляются тe условия задачи для которых разрaбoтан алгоритм.
Рис 3-пример линейного алгоритма
Рис 4-пример ветвящегося алгоритма

Рис 5-пример циклического алгоритма
И так, из первой главы данной курсовой работы мы узнали какие существуют виды алгоритмов, разобрались с самим его определением, узнали какими свойствами он обладает, а так же увидели какие же существуют способы записи алгоритмов, одним словом усвоили простейшие аспекты теории алгоритмизации. Дальше нам предстоит узнать чем же различаются одни виды алгоритмов от других и напротив какие они имеют сходства с друг другом. То есть провести их сравнительную характеристику.
2. СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА АЛГОРИТМОВ
Как я уже упомянул раннее в первой главе, существуют несколько видов алгоритмов. Каждый из вышеназванных видов алгоритмов имеет свои преимущества и недостатки, но главное то, что они все отличаются друг от друга. Первым отличием всех видов алгоритмов друг от друга является их структура. Самую простую структуру мы можем обнаружить у линейных алгоритмов, так как в них действия записаны строго по порядку и выполняются только один раз, как раз в том порядке, котором они записаны, без всяких ответвлений. Более сложную структуру имеет разветвляющийся алгоритм, в нем присутствуют ветвления или условия. Так что перед тем как выполнять действия записанные в алгоритме следует проверить условие. Самым сложным по структуре является циклический алгоритм. В нем помимо условия содержится цикл, тело которого будет повторяться до тех пор пока условие перестанет выполняться.
Так же виды алгоритмов отличаются областью применяемости. Таким образом, линейный алгоритм используется для решения простых уравнений и задач. Разветвляющийся алгоритм нужен для решения более сложных задач с присутствием условий. Циклические же алгоритмы, в свою очередь, служат для решения задач связанных с повторением действий, например вычисление факториалов или нахождение большего из множеств значений. Эвристические алгоритмы нужны, например, для дачи предписаний или инструкций. А вероятностные алгоритмы для поиска нескольких путей решения задачи.
Помимо различий, все алгоритмы обладают несколькими общими чертами. Любой алгоритм представляет из себя процесс решения задачи как последовательность выполнения простых действий. Одним словом, любой алгоритм обладает свойствами перечисленными выше, такими как: дискретность, детерминированность, результативность, конечность и массовость.
Лично я считаю что удобнее и чаще всего мне приходится работать с алгоритмами циклического типа. По моему мнению они самые универсальные, ведь с помощью линейных и разветвляющихся алгоритмов вы порой не сможете описать какой либо сложный процесс, например процесс производства чего либо.
Таким образом мы увидели, что каждый алгоритм имеет что то общее с другими, но вместе с этим имеет свои специфические особенности, благодаря которым он отличается от других. А так же поняли для чего предназначены те или иные виды алгоритмов. Пора рассмотреть конкретные примеры, из которых будет видно где же в повседневной жизни мы сможем встретить примеры использования алгоритмов.
3. ПРИМЕРЫ ПРИМИНЕНИЯ АЛГОРИТМОВ НА ПРАКТИКЕ
Алгоритм-это неотъемлемая часть жизни человека. Они используются абсолютно везде. Первый пример использования алгоритмов мы можем заметить в процессе написания литературного произведения. Как всем известно книга не пишется за один день. Сперва разрабатывается план, в нашем случаи алгоритм действий по которому должен действовать писатель что бы книга получилась хорошей.
Сначала автор должен придумать тему которой он хочет посетить книгу, потом написать вступление, возможно, включающее в себя какое либо обращение к читателю. Затем придумать экспозицию, то есть некую предысторию. Затем придумать завязку-это событие которое представляeт из себя событие которое является началом действия. Дальше следует придумать кульминацию произведения. Кульминацией является высшая точка развития сюжета. Затем следует развязка. Развязка-это исход событий, то есть окончание конфликта сказанного в завязке. И закончить создание произведения эпилогом. В эпилоге обычно рассказывают о дальнейшей судьбе героев. Если автор при создании книги будет придерживаться вышепересказанного алгоритма, скорее всего книга выйдет хорошей. А самое главное правильной по структуре. Меня всегда учили тому, что правильная структура произведения это половина успеха, а ее нельзя добиться без знания этого алгоритма написания произведения. Примерно тот же план может подойти и для написания различных научных статей.