Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основные структуры алгоритмов: сравнительный анализ и примеры их использования

Содержание:

ВВЕДЕНИЕ

Можете ли вы себе представить выполнение какой-либо работы без знания порядка выполнения действий или алгоритма? Разумеется нет. Во всех сферах деятельности человека широко распространено использование чёткого алгоритма действий ,знание которого упрощает работу в разы. Даже с самых древних времен человек придерживался некому алгоритму для своего выживания, который состоял из таких пунктов как сходить на охоту, приготовить еду для своего племени или рода, затем лечь поспать, и так по кругу. Я выбрал данную тему для написания курсовой из-за её актуальности. Ведь как и в древние времена, в наши дни нам так же требуется придерживаться алгоритму, для выживания и процветания.

Актуальность выбранной мной темы состоит в том ,что любая работа или действие будь то развитие бизнеса ,производство чего либо ,написание программы или же любое повседневные занятие требует знания алгоритма при выполнении которого вы добьетесь поставленного результата. Наличие алгоритмов в жизни человека в разы упрощает его существование.

Алгоритмы представляют из себя определенную последовательность действий , определяющую процесс перехода от исходных данных к исходному результату. Целью ради которой создаются алгоритмы является: упрощение работы за счет точного выявления ступеней ее протекания.

Задачами моего исследования являются:

  • Выявить основные структуры алгоритмов.
  • Произвести сравнительный анализ.
  • Показать на примерах как и где используются алгоритмы.

Цель исследования-рассмотрение теоретических знаний об алгоритмах и сравнение существующих видов с приведением примеров.

Основные источники на которые я ссылаясь в курсовой работе, это-труды опубликованные издательством Тихоокеанского государственного университета.

Практическая значимость моей работы заключается в возможности использования знаний накопленных в ходе ее создания для обучения или просвещения кого-либо.

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т из себя событие которое является началом действия. Дальше следует придумать кульминацию произведения. Кульминацией является высшая точка развития сюжета. Затем следует развязка. Развязка-это исход событий, то есть окончание конфликта сказанного в завязке. И закончить создание произведения эпилогом. В эпилоге обычно рассказывают о дальнейшей судьбе героев. Если автор при создании книги будет придерживаться вышепересказанного алгоритма, скорее всего книга выйдет хорошей. А самое главное правильной по структуре. Меня всегда учили тому, что правильная структура произведения это половина успеха, а ее нельзя добиться без знания этого алгоритма написания произведения. Примерно тот же план может подойти и для написания различных научных статей.

Так же, если говорить о творчестве, алгоритмы можно применить и при создании фильма. Сначала нужно написать сценарий фильма по которому он будет сниматься. При этом сценарий можно писать по тому же алгоритму который мы обсуждали в начале третьей главы. После того как сценарий готов нужно набрать актёрский состав, закупить приспособления нужные для съемок, и продумать количество денег которое вы готовы потратить на фильм. После выполнения всех вышеперечисленных действий можно приступать к съемке. Как только вы отнимает весь нужный для создания фильма материал, следует пересмотреть его и приступить к монтажу. После того как вы все смонтировали нужно пересмотреть изготовленный продукт и удостовериться в том что все сделано на совесть.

Пример использования алгоритма так же встречается в процессе написания картины. Правда в этом случаи фиксированного алгоритма не существует, скорее при написании картины пользуются эврическим видом алгоритма. Но чаще всего рисуют именно в такой последовательности: сначала делают наброски, из которых видны лишь некоторые очертания того, что художник хочет изобразить, затем прорисовывается четкий контур и грани рисунка, после чего начинают добавляться второстепенные детали, такие как одежда, аксесуары и так же волосы, затем прорисовывается мелкие детали вроде пуговиц или заклепок на одежде, так же прорисовывается глаза и губы уши и другие мелкие детали. Затем отправляются недочеты, которые были допущены в процессе создания эскиза и рисунок выполняется в цвете, если этого хочет автор. По тому же алгоритму могут рисоваться не только люди но и другие объекты, в общем любой продает, вещь или явление.

Судя по примерам которые я привел выше, вы могли бы подумать что примеры использования знаний о алгоритмизации встречаются только в человеческом творчестве. Это суждение в корне ошибочно.

Присутствием четко написанного алгоритма можно так же облегчить и то же производство товаров, которое в наше дни приобрело промышленные обороты. Даже для изготовления самого простого товара требуется знание алгоритма действий, благодаря которому продукт получится качественным и на его изготовление требуется минимальное количество времени.

Как пример приведем процесс производства такого важного продукта, как бумага. Сперва вам требуется раздобыть сырье для произвoдствa будмаги(дерево или хлопок). Затем подготовить древесину к обработке, и после этого приступить к самой обработке химической и механической. Сначала из сырья изготавливается бумажная масса, затем предварительно очищенная она поступает в бумагодeльнyю машину. Там бумага проходит несколько этапов обработки таких как: спрессовывание, сушка и каландирование(проходит между тяжелыми полировачными вилами которые обеспечивают гладкость бумаге). Процесс создания бумаги сложен для незнающего человека и я бы сказал, что он даже не возможен без знания алгоритма описанного мной выше. На производстве не хватит одного лишь знания алгоритма, который нужендля создания выбранного вами товара, вам так же понадобится нанять людей которые будут работать на вас и помогать производить желаемый вами товар, например ту же бумагу.

Сейчас я хочу рассказать об алгоритме вербовки персонала. Для начала вам нужно определиться с тем, на какую должность сотрудники вам нужны. После того как вы поняли кто вам требуется нужно оповестить народ о том что вам требуются работники. Что бы оповестить народ вы можете, либо воспользоваться интернетом, либо расклеить объявления на улице, или разместить их на рекламных билбордах. На них следует разместить свой номер или электронную почту. Следуйщим шагом вам нужно провести собеседование. Выберите дни в которые вы можете принимать людей и пригласите их на беседу. Опросите всех кто пришел и выбирите подходящих вам людей. Сообщите всем подходящим вам людям, что вы готовы предоставить им работу и уточните когда они готовы наступать на свою новую работу. На этом алгоритм заканчивается, рабочие для вашего производства найдены. Вам так же может понадобиться улучшить свое производство путем его автоматизации. Как это сделать? Давайте узнаем.

Первым шагом в алгоритме автоматизации является не самая приятная стадия сокращения рабочего состава. Вы должны уволить не нужных более сотрудников ведь теперь их функцию будут выполнять установленные вами машины и станки. Увольнение нужно так же для освобождения капитала, ведь вы платите людям зарплату, а за счет их сокращения вы сможете сэкономить денег которые пойдут на механизацию вашего дела. Следующим шагом вам нужно нанять более кволефицированых рабочих, которые в состоянии работать с техникой по производству вашего товара. После этого следует найти поставщика станков, которыми вы хотите обставить свое производство. Затем закупить и установить их. Процесс автоматизации закончен, вы заменили ручной труд своих старых рабочих на машинный. Теперь вы сможете производить гораздо больше товара, ведь конвеерное и автоматизированное производство куда эффективнее чем ручной труд.

Еще одним важным процессом который требует знания алгоритма является сборка компьютера, который в повседневной жизни так сильно облегчает нам работу. Процесс сборки компьютера состоит из нескольких этапов. Сперва происходит монтаж материнской платы в корпус ПК(или если применяется готовая платформа то данный пункт пропускается). Затем совершают установку процессора и монтаж системы охлаждения. После установки процессора происходит установка оперативной памяти в соответствии с распределением каналов. Затем выполняется установка дискретных контроллеров, ориентированных на обширный спектр задач. После чего начинается установка оптических приводов жестких дисков и твердотельных накопителей. После всего этого производится заключительный этап сборки-соединение всех деталей с помощью коммутативных шлейфов , кабелей питания, после чего внутри корпуса проводится оптимальная укладка этих же кабелей, для обеспечения оптимального режима работы кулеров. Компьютер является неотъемлемой частью жизни человека двадцать первого века и так же основным исполнителем алгоритмов написанных в виде программ.

Существует так же еще один аспект в котором переплитаются понятия компьютера и алгоритмизации. Они сочитаются в понятии программирования.

Программирование-это процесс создания компьютерных программ и приложений за счет использования языков программирования. Программа сама по себе является алгоритмом действий для компьютера. В ней четко прописывается каждое действие, и задается определенная последовательность действий, которую исполнитель, то есть компьютер, должен выполнить без каких либо отступление от заданных команд. В свою очередь, программы используются в самых разных отраслях человеческой деятельности, например в том же самом производстве при программировании рабочих ПК и машин по производству товаров которые являются частью конвейерного производства. Так же программирование является неотъемлемой частью игроиндустрии, невозможно создать какую либо игру для ПК не прибегая к программированию. Так же благодаря программированию стала возможна удаленная обработка данных и упростилась издательская деятельность. В наше время так же создается искусственный интелект(ИИ) который так же значительно помогает облегчить работу человека.

На основе ИИ конструируются роботы которые могут почти полностью заменить человека на той или иной его работе. Но программирования никогда не существовало бы, если б не было такого понятия как языки программирования.

Языком программирования считается система обозначений и правил, позволяющая записать программу решения задачи в виде последовательного текста в удобном для человека виде. Все языки программирования подразделяются на 2 типа: языки низкого уровня и языки высокого уровня. Эти типы отличаются друг от друга алгоритмами по которым компьютер их читает.

Что бы ПК смог прочитать язык высокого уровня, который не зависит от конкретной архитектуры, ему сначала нужно перевести текст программы на язык машинных команд. Специальная программа которая выполняет функцию перевода на машинный язык называется компилятором. После перевода, оттранслированная программа выполняется непосредственно исполнителем, то есть компьютером. Но это не единственный способ выполнения программы написанной на высоком языке программирования. Так же есть возможность перевода программы написанной на высоком языке программирования на промежуточный язык, не зависящий от архитектуры конкретного ПК. Но, тем не мнение, максимально приближенный к языку машинных команд. После перевода на промежуточный язык программа выполняется специальной программой, которая имеет название интерпритатор.

Так же каждый язык обладает своим синтаксисом, который описывает систему правил написания различных языковыx конструкций. И своей семантикой, которая определяет смысл этих конструкций. Семантика языка программирования очень плотно взаимосвязанные с используемой вычислительной моделью. Настоящее время все языки программиpoвания делятся на четыре основные группы, в зависимости от вычислительной модели которую они применяют. В эти четыре группы входят: процедурные языки, аппликативные языки, языки системы правил и объектно ориентированные языки.

  • Процедурные языки-это языки, которые представляют из себя последовательность исполняемые операторов. Если рассматривать концепцию персонального компьютера как концепцию ячеек памяти, то процедурный язык является последовательностью операторов, изменяющих значение ожной или нескольких ячеек памяти. Примерами процедурных языков программирования являются:FORTRAN, C, Ada, Pascal, Smalltalk и еще несколько других языков. Вторым названием процедурных языков является-императивные языки.
  • Аппликативными языками называются те языки программирования в основу которых положен функциональный подход. Язык рассматривается с точки зрения наложения функции, необходимой для перевода памяти ПК из одного состояния в другое. Программа представляет из себя набор функций, применяемых к начальным данным, который позволяет получить требуемый результат. К аппликативными языкам относятся LISP и ML.
  • Языки системы правил- это языки которые основываются на определении набора правил, при выполнении которых возможно выполнение определенных действий. Такие языки так же могут называть языками логического программирования. Правила могут задаваться в виде утверждений и в виде таблиц решений. К языкам логического программирования относятся такие языки как, Planner, Prolog и Mercury.
  • Объектно-ориентированные языки, основаны на построении объектов как набора данных и операций над ними. Объектно-ориентированные языки программирования объединяют и расширяют возможности присущие остальным типам языков программирования. В настоящее время наибольшее распространение получили как раз языки, основанные на объективно-ориентированной модели. Эти языки, реализуя процедурные модель построения языка, поддерживают аппликативность конструкций, позволяя представить блок-схемы выполнения структурированной программы как некоторый набор аппликативных функций.

Из вышесказанного мы можем сделать вывод о том, что объектно-ориентированные языки являются самыми распространенными, и являются оптимальными для использования из всех перечисленных мной типов языков программирования.

Язык программирования как и любой естественный язык состоит из основных элементов. Всего существует 3 таких элемента: лексемы(в естественном языке слова), выражения(В естественном языке словосочетания) и операторы(в естественном языке предложения). Лексемы составляются из символов, выражения из лексем и символов, а операторы из выражений лексем и символов. Символы в свою очередь образуют языковой алфавит. Символы языка это основные неделимые знаки, с помощью которых пишутся все тексты на языке. Лексема-это простая конструкция, несущая самостоятельный смысл. Выражение, обычно, задает правило вычисления некоторого значения. А оператор задает законченное описание некоторого действия. Для того что бы описать сложное действие, нужно составить последовательность операторов. Операторы могут быть сгруппированы в блок или же в составной оператор. Если это произошло, то эта группа рассматривaeтся как один оператор. Операторы подразделяются на неисполняемые и исполняемые. Неисполняемые операторы нужны для описания данных, а исполняемые задают действия над данными. Совокупность описаний и операторов объединенная одним алгоритмом образует программу на алгоритмическом языке.

Я, как человек который в будущем хочет стать программистом очень тесно связан с языками программирования, у меня так же есть самая любимая среда программирования и любимый язык. Чаще всего мне приходится работать с С++. По моему это самый удобный и универсальный из языков программирования.

Из рассказа о программировании и языках программирования мы можем сделать вывод что программирование на прям уж связанно с алгоритмизацией. И теперь мы на примере увидели что писать программу это одно и тоже что строить алгоритм. Ведь программа эта та же самая последовательность действий, которой и является алгоритм. Поэтому именно программирование читается самым ярким примером связанным со словом алгоритм.

Хоть в программировании алгоритмы и используются больше всего, это далеко не самая важная отрасль человеческих занятий. Вы можете себе представить жизнь без медицины лекарств и химии? Лично я могу, это будет мир в котором человек может легко скончался из-за осложнений от обычной простуды. Но этого не происходит только благодаря тому, что человек знает по какому алгоритму нужно действовать что бы вылечить ту или иную болезнь и каким образом нужно смешивать компоненты что бы получилась сыворотку от какой бы то ни было болезни.

Так же не отходя от темы здоровья, можно не вооруженным взглядом заметить еще один пример алгоритмизации в жизни человека. Каждый из нас хоть раз в жизни ходил на тренировку, если же нет то так или иначе занимался на уроках физической культуры во время обучения в школе. Быть может вы этого и не замечали но любая тренировка так же проходит по заранее построенному алгоритму.

Сперва повторяются теоретические знания(если это требуется) такие как правила игры или различные техники в специфических видах спорта. Затем проходит разминка, участники тренировки подготавливают свой организм к предстоящей ему физической нагрузке, если этого не сделать, в ходе тренировки человек может получить травму. После разминки, начинают выполнять заранее разработанную программу. Например сделать два подхода по десять подтягиваний и шесть подходов по десять отжиманий. Наличие алгоритма в сфере физической культуры приводит к успешному развитию человеческого тела, и помогает избежать различных рисков связанных с неподготовленностью спортсмена. Самое главное при составлении алгоритма для занятия спорта-это не переоценить свои силы, опираться лишь на собственные ощущения и ставить перед собой цели которые вы не без труда, но сможете достичь. Это все аспекты которые человек должен знать при составлении алгоритма для занятия спортом. Заниматься спортом хорошо, но нужно развиваться не только физически но и умственно.

Составление алгоритма так же в состоянии помочь вам и с обучением в школе, вузе или колледже. Изначально, руководство вашего учебного заведения само составляет вам алгоритм вашего обучения. К примеру в школе вы обязаны пройти процесс обучения длинной в девять лет, состоящий из девяти классов. То есть первым пунктом алгоритма обучения является окончание девяти классов школьной программы. Как только заканчивается первый шаг, появляется второй. После девяти классов у вас есть выбор:либо остаться в школе еще на два года и продолжить обучение в девятом и одиннадцатом классе, либо покинуть учебное заведение, забрать аттестат и направился в колледж. Здесь алгоритм приобретает ветвления, то есть можно обозначить условие так:《хотите ли вы поступить в высшее учебное заведение после окончания одиннадцати классов》это будет первым путем ветвления а вторым《Вы хотите покинуть школу после девяти классов и поступить в колледж для дальнейшего обучения там, и поступления в ВУЗ после его окончания》. И так обазначина вторая ступень алгоритма обучения. Как только вы заканчивает школу, при выборе ветви с одиннадцатью классами вы переходите к третьей ступени-получению высшего образования в вузе. Если же была выбрана ветвь с поступлением в колледж, то вы обучаетесь на протяжении трех-пяти лет, и так же поступаете к третьей ступени алгоритма обучения-поступаете в ВУЗ. Как только вам удалось это сделать начинается четвертая ступень процесса обучения-учеба в ВУЗе. После окончания ВУЗа и защиты дипломной работы перед вами снова встает выбор из трех ветвей развития событий. Вы либо можете продолжить обучение в том же ВУЗе но уже для получения степени магистра, либо закончить своё обучение на получении диплома о высшем образовании, либо можете выбрать вариант с поступлением в другой ВУЗ для получения второго высшего образования, или же тот же самый, но для обучения на другом направлении. Таким образом оканчивается алгоритм обучения, результатом которого является получение одного или нескольких высших образований.

Казалось бы что понятие алгоритмизации применимо только для научных понятий и промышленных предприятий, но это не так. Можно построить алгоритм относящийся так же к личной жизни одной конкретной личности. Как пример возьмем алгоритм развития общественной личности-меня. Результатом, которого я хочу добиться при составлении этого алгоритма является: полноценное функционирование меня как части общества. Первым пунктом этого алгоритма будет-получение высшего образования(так как на данный момент я уже окончил школу). Вторым пунктом данного алгоритма я решил обозначить поиск вакансии в соответствии с профилем моего высшего образования. То есть поиск работы по специальности, для наиболее эффективного трудового процесса и наработки стажа в сфере которой я обучен. Следующим пунктом является приобретение собственного жилища, а так же обретение платежеспособного состояния, путем накопления капитала, за счет дохода от моей составной работы. Дальше в моем алгоритме следует пункт по обустройству семьи. То есть мне нужно найти жену, завести детей и обустроить им комфортные условия для существования. Как только все вышеперечисленные пункты будут выполнены, я стану частью полноценной ячейки общества, то есть результат ради которого был построен алгоритм будет достигнут. Но не всегда в жизни человека все так спокойно как хотелось бы. Иногда приходится строить алгоритмы связанные с тем чего нам хотелось бы избежать.

Такое явление как война часто случается в наше время, и что бы не проиграть в ней следует иметь четкий план действий то есть алгоритм. В истории встречается не мало примеров когда у лидеров государств выстраивался не верный алгоритм действий в войне. Одним из самых ярких примеров является алгоритм защиты страны от Адольфа Гитлера И.В.Сталиным. В ходе обороны государства был принят ряд неверных решений которые могли бы стоить нашей родной стране свободы. К счастью все сложилось хорошо, но что бы не повторять прошлых ошибок, давайте разберем как следует действовать во время военной угрозы, и по какому алгоритму ориентироваться. Сперва следует точно определить состояние отношений между странами над которыми нависла угроза войны, ведь проще всего будет закончить войну не начав ее. Дальше алгоритм имеет два пути развития событий, если отношения между странами не столь напряжены, и можно предотвратить войну пройдя на какой то компромисс, следует так и сделать. Если все выходит так то алгоритм заканчивается, ведь достигнут результат-установление мира. Если же все пошло по худший ветви развития событий, то следующим шагом в данном алгоритме будет оценка военного потенциала страны которая является вашим противником. После того как вы получили информацию о состоянии военной готовности соперника следует разработать стратегию, если же противник подготовлен хуже можно принять решение напасть на него прежде чем это сделает он сам, и разгромили вражеских а ты пока война не дошла до земель принадлежащих вашему государству. Ведь война на союзной территории может перевести к массовым грабежам и разорению земель. Если же появилась информация о том что противник подготовлен лучше вас, то следует заручиться поддержкой какого то из государств с которыми отношения не так критично как с вашим противником. И так проанализировав условия и выбрав ветвь развития событий выполняем все в соответствии с записанные алгоритмом. Если все сделано верно, вы должны одержать победу. Принять копетуляцию врага и заключить договор, выгодный для вас, для установления мира. На этом алгоритм заканчивается сеть был достигнут результат которого мы ожидали- остановился мир между ранее враждующими странами-соперниками. В мирное время стоит задуматься о развитии научной отрасли страны.

На мой взгляд важнейшей наукой нашего времени является математика. Это так же отличный пример науки целиком и полностью построенной на алгоритмизации. Будь то алгебра или геометрия, не важно, и там и там есть огромный спектр примеров алгоритмизации. Если ты знаешь алгоритмы ношения задач и уравнений ты сможешь легко решить любую задачу которую перед тобой поставит эта наука.

Рассмотрим пример простейшей задачи из геометрии. Допустим у нас есть прямоугольный треугольник катеты которого равны шести и восьми, наша задача найти гепотенузу. Алгоритм решения задачи прост. Сперва нам нужно прочитать и полностью понять условие. Затем нам нужно нарисовать графическую схему которая поможет нам тем, что мы сможем визуально водить условия задачи. Дальше следует подобрать теоремы которая сможет помочь нам в решении задачи. В нашем случаи так как треугольник является прямоугольным, нам подойдет теорема Пифогора. Она гласи, что в прямоугольной треугольнике квадрат гепотенузы равен сумме квадратов катеров. После того как мы определились с теоремы которая нам подходит, можно приступать к решению задач. И так как было сказано в задаче у нас есть прямоугольный треугольник с катетами которые равны шести и восьми. Возводим в квадрат оба числа. Шесть в квадрате это тридцать шесть, а восемь в квадрате это шестьдесят четыре. После тогг как мы возвели оба числа в квадрат нужно найти их сумму, ведь сумма квадратов катетов ровна квадрату гепотенузы. И так, складываем числа тридцать шесть и шестьдесят четыре получается ровно одна сотня. Так как мы знаем, что сто это десять в квадрате ответом будет являться число десять. На этом решение задачи окончено, осталось лишь записать ответ. Установленный выше алгоритм универсален и применим к любой задачи по геометрии. Ведь эта наука базируется на решении любой задачи за счет следования простому алгоритму который всегда начинается с подбора верной теоремы или аксеомы.

В алгебре все примерно тоже самое, что бы решить любую задачу или уравнение следует придерживаться простому алгоритму их ношения. Как пример возьмем обычное квадратное уравнение X^2+3x-4=0. Что бы его решить нам вновь следует обратиться к составлению алгоритма. Его можно решить несколькими способами, но лично я предпочитаю такой. Сперва нужно найти дискреминант, после чего по формуле определить x1 и x2. И так, что бы найти дескриминант нужно возвести в квадрат значение b которым в данном уравнений является число три и вычесть из него произведение четырех и a*c. Дискреминантом будет являться число двадцать пять. Дальше нужно по формуле минус b плюс минус квадратный корень из декриминанта деленое на два a вычислить значения x. В нашем случаи x1=1 и x2=-4 это и будет ответом на наше уравнение. Так же в алгебре очень часто встречаются случаи когда вам приходится работать с графиком. Для таких случаев так же существует отдельно выведенный алгоритм действий. Давайте рассмотрим пример задачи в которой нужно поработать с графиком и составим четкий алгоритм действий следуя которому мы сможем работать с любым графиком. И так, поговорим условия задачи. На рис 3.1 изображен график зависимости крутящего момента автомобильного двигателя от сила оборотов в минуту. На оси ординат расположен крутящий момент, а на оси абцисс число оборотов в минуту. Известно, что что бы автомобиль начал движение крутящий момент должен быть не менее 60 H*м. Нам нужно определить какое наименьшее число оборотов двигателя в минуту достаточно чтобы автомобиль начал своё движение.

Рис3.1-график для решения задачи

Что бы решить подобную задачу сперва следует перечитать условие и точно определить что нам требуется узнать. В данном случаи нужно определить наименьшее число оборотов двигателя при котором автомобиль начнет движение. После того как вы перечитал условие нужно посмотреть на данный вам график(или построить его если это необходимо). Сначала определите за что отвечают оси в данном случаи ось x это количество оборотов в минуту а ось y это крутящий момент. Что бы определить наименьшее число оборотов при старте движения нужно провести перпендикуляр из точки на оси y где написано 60 H*м а потом из точки где пересекается график и проведенный нами перпендикуляр провести другой перпендикуляр который будет пересекается с точкой на оси x. Именно значение на которое опустится данный перпендикуляр и будет верным ответом к нашей задаче. И так, выполняя все выше перечисленное получаем, что ответ который мы искали это-минимальное число оборотов при котором машина начнет движение равняется двум тысячам оборотам в минуту. Вот так просто решаются задачи с графиками.

Лично мне всегда было проще работать над задачей когда перед глазами есть графический рисунок или план действий, то есть дарение написанный алгоритм действий. Математика это наука в которой знания алгоритмизации необходимы. Так как гораздо проще работать с этой наукой когда у тебя есть четкая последовательность действий благодаря которой можно решить любую задачу или уравнение.

Дальше мне хотелось бы поговорить о не менее важном алгоритме, который понадобится каждому человеку живущему в двадцать первом веке. Не для кого не секрет что все люди на земле общаются на различных языках. Но это не проблема, так как сейчас существуют так называемые интернациональные языки. Одним из них является английский.

Алгоритм который я хочу привести в пример-это алгоритм изучения английского языка. Для начала вам нужно задаться вопросом о том, ради чего вы хотите изучать английский язык. Так как выше я упомянул общение с другими людьми в пример мы будем брать алгоритм изучения разговорного английского. Сначала вам нужно изучить самые простые слова которые вы можете встретить в повседневной жизни. Для упрощения процесса запоминания слов мы можете сделать карточки на одной стороне которых будит написано слово на английском языке, а на другой стороне будет написан перевод. Вы должны не смотря на перевод сказать что обозначает это слово, а затем проверить оказались вы правы или нет. Так же важно очень упорно работать над своим произношением, так что это станет вторым этапом алгоритма обучения разговорному английскому. Как только вы выучили нужные вам слова и научились правильно и красиво их произносить настало время научиться объединять их в более сложные конструкции-предложения. Вы должны выучить порядок построения предложений и желательно даже выучить некоторые, так называемые устойчивые выражения и поговорки, для более свободного общения с носителями английского языка. Следующей ступенью алгоритма будет обучение верной интонации, предложениях вроде вопросов где интонация под конец предложения поднимается. Так же следует практиковаться в понимании людей которые будут отвечать вам так же на английском языке, часто слушать разговоры разных людей, которые говорят на английском как на родном языке и учиться понимать все что они говорят. Как только вы выучили все слова научились верно употреблять их в правельносоставленных предложениях с красивым произношением и верной интонацией, а так же станете уверены в том что поймете любую фразу которую вам скажет носитель английского языка вы можете считать что вы дошли до конца алгоритма обучения разговорному английскому языку, и вы успешно овладели азами его владения.

Помимо разговорного английского так же есть письменный язык, по сути алгоритм обучения письменному английскому тот же самый за исключением обучения произношению и способности слушая понимать речь иностранца. При обучении письменному английскому так же придется выучить грамматику и пунктуацию, которую используют люди пишущих на данном языке. А так же множество различных нюансов таких как правила написания различных статей или писем на английском. Если же вы овладели и разговорный и письменным английским вы так же без проблем сможете прочитать любой текст на изученном вами языке. Так что вы с легкостью можете считать что вы знаете английский язык, а это означает что задача ради которой создавался алгоритм выполнена, а алгоритм окончен.

Так же вам очень может пригодиться в жизни алгоритм по обустройству сада для занятия сельским хозяйством. Ведь цены на рынке это очень не устойчивая вещь, а благодаря саду у вас всегда будет способ обеспечить себя едой.

И так приступим к разбору алгоритма обустройства сада. Первым шагом на пути обустройства сада станет выбор участка на котором будет располагаться ведь сад. Землю нужно выбрать тщательно, ведь от качества почвы напрямую зависит ваш успех. Следующим шагом станет обработка выбранного вами участка. Например если почва через чур сухая следует прибегнуть к ее орошению. Так же важно проследить за тем что бы на территории места где будет ведь сад не росло вредоносных растений или так называемых сорняков. Если же вам все таки не посчастливилось обнаружить у себя на участке нежелательных растительность следует избавиться от них и пропадать землю. После чего хорошенько удобрить землю(при необходимости). Затем разделить участок на отдельные сектора или так называемые грядки. На каждой грядке будет расти свой вид растений. Такое подразделение упростит процесс сбора урожая и поиска нужного вам продукта. После того как вы подготовили землю следует закупить необходимые семена и саженцы растений которые вы хотели бы видеть у себя в саду. После закупки дело остается за малым. Нужно посадить все это у себя в саду и в процессе роста вашей растительности следить за тем что бы растения были обеспечены влагой и минеральными веществами. Так же следует тщательно продолжать следить за отсутствием вредоносных растений на протяжение всего периода содержания вашего сада. Спустя некоторое время у вас начнет появляться первый урожай вам остается только собрать его и насладиться плодами проделанной вами работы. На этом алгоритм обустройства сада заканчивается. Если же вы хотите посвятить теме работы с растениями больше времени то вы можете посветить свое время науке которая называется селекция.

Селекция представляет из себя процесс скрещивания некоторых растений и животных с целью получения новых видов и штампов обладающих нужными для человека качествами. Алгоритм селекционирования довольно прост. Вам нужно выбрать несколько образцов одного и того же вида, как пример возьмем горох. Допустим у вас есть два вида гороха: зеленый гладкий и желтый с морщинками. После выбора видов с нужными вами качествами приступаем ко второй ступени алгоритма Вадим образцы рядом друг с другом, изолируя их от других представителей растительности. Продолжаем ухаживать за ними и наблюдать по мере процесса их роста и размножения. После появления первого поколения вы сможете заметить что появился вид который отличается от первоначально взятых образцов в случаи с городом появится желтый гладкий горох и зеленый с морщинками. Вам нужно выбрать какой из получившегося вида гороха нужен вам. После того как вы сделали выбор следует отводить новые образцы от старых и начать разведение выбранного вами вида. Результатом выполнения алгоритма селекции является выведение нового вида, так как мы получили нужный нам результат алгоритм селекции на этом заканчивается. Умение спрашивать виды растений и животных очень важно ведь у каждого растения есть качества которые мы хотели бы видеть в представителях того же вида. Так же к этому примеру подойдут цветы. Близко посаженные цветы так же проходят через процесс селекционирования и будущие поколения цветов начнут менять окраску в зависимости от того с каким образцом они были скрещены.

Возвращаясь к теме моей курсовой можно так же обнаружить пример алгоритмизации, этим примером является сам алгоритм написания курсовой работы. Написание курсовой-это тяжелая работа, но даже ее можно облегчить если составить алгоритм действий по которому вы будете ориентироваться. Сейчас я хочу рассказать по какому алгоритму действовал лично я когда писал то что вы сейчас читаете.

Сперва я выбрал тему из предоставленного университетом списка. После чего я составил план курсовой работы содержащий в себе несколько пунктов. В нем были записаны названия основных частей моей курсовой работы такие как: титульный лист, вступление, названия первой, второй и третьей глав, несколько примеров и заключение. Пока это был простой план не содержащий в себе никаких подпунктов.

Дальше я перешел к процессу поиска информации которая в последствии будет включена в состав курсовой работы. Информация брал только из проверенных источников, например предоставленных в списке литературы который мне был дан университетом. По мере поиска информации я дополнял и усложнять свой план. К нему присоединились уточнения и подпунктов так что со временем план усложнился и стал полностью отображать план моей работы.

После окончания работы с планом я приступил к работе со вступлением данной работы. Первым делом мне нужно было определить с какой целью я начал писать курсовую работу и написать об этом во вступлении. Дальше нужно было по размышлять о задачах моей работы и ее актуальности в данный временной период а так же рассказать об источниках от куда я брал информацию для написания курсовой работы. На этом написание вступления для курсовой работы работы заканчивается.

Дальше следует третья ступень алгоритма написания работы-генерация составной части,которая включает в себя теоретическую информацию, такую как определения, сравнительный анализ и примеры, подтверждающие актуальность высказываний. Работа с основной частью текста включала в себя: поиск различных определений и высказываний по теме алгоритмизации, выявление различных особенностей алгоритмов и обобщение всего найденного в виде сравнительного анализа различных видов алгоритма, а так же поиск подходящих примеров, которые могли бы наглядно показать, что алгоритмы являются неотъемлемой частью человеческой жизни, в самых разных видах человеческой деятельности. В конце каждой главы мне так же было необходимо сформулировать короткий вывод, который обобщил бы все вышесказанное в каждой главе.

Следуйщим действием в алгоритме написания курсовой работы является формулировка заключения. Заключение должно обозначить пути решения всех проблем, которые были обозначены во вступлении а так же обобщить все, что было сказано в основной части курсовой работы. После того как я написал заключение, остается только исправить все недочеты, которые я мог допустить из-за невнимательности или расторопности. Так же полностью по правилам оформить все листы курсовой работы и добавить титульный лист, приложение(если требуется) и библиографию, без которой вся проделанную мной работа будет считаться плагиатом. После завершения всех вышеперечисленных мной действий так же необходимо прогнать работу через так называемый сайт антиплагиат. Если уникальность работы будет меньше чем 30 процентов работа будет незачтена. После выполнения последнего пункта алгоритм создания курсовой работы заканчивается, так как я закончил создание курсовой работы, это и являлось главной целью выполнения данного алгоритма. Данный пример алгоритма показывает то, что даже мне в данный момент требуются знания об алгоритмизации. В этой главе я привел множество примеров которые наглядно иллюстрируют то, что умение составлять алгоритмы действий пригодится в любом виде деятельности человека и поможет не только понять как делается та или иная работы, но и облегчить ее выполнение. Я привел по одному примеру почти для каждой сферы деятельности человека и мне кажется что любой прчитавший это человек поймет, что алгоритмы в наше время встречаются абсолютно везде.

Даже если я не упомянул какую либо сферу деятельности человека в своих примерах вы можете быть уверены что даже там вы с легкостью найдете пример алгоритмизации ведь даже самое простейшие и повседневной действие требует знание алгоритма его выполнения.

Разберем хотя бы обычный день из человеческой жизни. Человек просыпается утром идет чистить зубы и умываться, как минимум уже два этих действия обладают алгоритмами действия. Дальше дело доходит до приема пищи-завтрака. Что бы можно было получить нужное количество энергии для продуктивной работы следует совершить прием пищи, а что бы это сделать нужно приготовить себе еду или же например сделать чай. И то и другое действие так же требует знание алгоритма действий результатом которого будет является востребованная вами еда или же чай. После этого обычно человек отправляется на улицу что бы добраться до работы. Тут так же присутствует алгоритм действия. Ведь что бы добраться до работы вам нужно пройти по дороге ведущей к ней или же доехать на любом общественном транспорте(если таковой имеется). После того как человек доберется на работу он приступает к выполнению следующего алгоритма, собственно той самой работы которую он выполняет. После того как заканчивается рабочий день человек либо отправляется по делам например на тренировку, в клуб с целью развлечься, в кафе с целью очередного приема пищи или же обратно домой, с целью отдыха и подготовки к очередному рабочему дню. Все вышеперечисленные действия так же требует знания алгоритма действий. Даже можно сказать, что процесс жизни человека и сам является алгоритмом. Каждый день вы совершаете огромное количество алгоритмов скорее всего даже не задумываясь об этом. Таким образом, главной идеей которая сформулирована в этой главе является то, что все что делает человек имеет свой алгоритм.

ЗАКЛЮЧЕНИЕ

Целью данной курсовой работы являлось рассмотрение теории алгоритмизации и примеров различных алгоритмов, а так же сравнение различных видов алгоритмов и выявление универсального и самого пригодного для использования алгоритма. Как вы могли заметить все вышеперечисленное было обозначено в моей курсовой работе.

В наше время алгоритмы являются очень полезным понятием без которого было бы не возможно совершать даже некоторые очень простые действия.За счет приведенных мной примеров вы смогли понять что нельзя найти сферы деятельности человека которая могла бы обойтись без алгоритмизации.

Одним словом, обобщая все вышесказанное я хочу сказать что знание алгоритмизации являются одними из самых важных, без которого современный человек не сможет обойтись. Эта курсовая работа обозначает важность существования алгоритмов а так же частоту их использования в повседневной жизни.

Таким образом, мне хотелось бы закончить данную курсовую работу фразой которая гласит, что важнейшим и наиболее используемым умением в жизни человека является умение работать с алгоритмами.

БИБЛИОГРАФИЯ

В курсовой использовалась информация взятая из этих источников:

  • Основы алгоритмизации и программирования:учеб.пособие/Т.А. Жданова, Ю.С Бузыкова-Хабаровск. Издательство Тихоокеан. Гос. ун-та. 2011-56 с. http://pnu.edu.ru/media/filer_public/2013/02/25/book_basics.pdf
  • Программирование и основы алгоритмизации: для инженерных специальностей технических университетов и вузов. А.Г. Аузяк, Ю.А. Богомолов, А.И Маликов, Б.А Старостин. Казань: Издательство Казанского национального исследовательского технического университета – КАИ , 2013,153 с. http://au.kai.ru/documents/Auzyak_Progr_osn_alg_C_2013.pdf
  • Основы алгоритмизации и программирования: учебное пособие/Г.Р. Кадырова,.-Ульяновск УлГТУ, 2014 95с. http://venec.ulstu.ru/lib/disk/2014/137.pdf
  • Белов П.М. Основы алгоритмизации в информационных системах: учебное пособие.-СПБ :СЗТУ ,2003.-85с. http://www.ict.edu.ru/ft/005406/nwpi225.pdf

А так же собственные мысли и знания накопленные личным опытом и изучением данной темы.

Приложение

Данные отсутствуют так Как все требуемые для подтверждения теоретических утверждений рисунки и таблицы представлены в основной части работы.