Понятие алгоритма и свойства алгоритма. Виды алгоритмов

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

Что это такое?

Что же такое понятие алгоритма и свойства алгоритма?

Алгоритм – это определенная последовательность действий, то есть в принципе нам приходится сталкиваться с ними каждый день, хотя мы можем даже этого не осознавать.

Человек и алгоритм

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

  1. Зайти в определенный магазин.
  2. Узнать, продается ли там белый хлеб.
  3. Узнать, свежий ли он.
  4. Если ответы на вопросы 2 и 3 «да», то в таком случае покупается две буханки.

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

Алгоритмы в природе

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

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

Понятие, виды и свойства

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

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

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

  1. Пойти в магазин.
  2. Выбрать хлеб.

Или:

  1. Выбрать хлеб.
  2. Пойти в магазин.

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

Виды

Виды алгоритмов могут быть следующими:

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

Свойства

Свойства же их следующие:

  • Детерминированность. При задании одинаковых исходных данных несколько раз алгоритм начинает одинаково выполняться, предоставляя один и тот же сигнал.
  • Массовость. При помощи алгоритма решается не какая-то одна задача, а множество задач определенного типа.
  • Результативность. Использование алгоритма в любом случае приводит к решению поставленной задачи.
  • Дискретность. Алгоритм включает в себя последовательность действий, выполнение которых не представляет собой никакой сложности.
  • Конечность. Последовательность действий алгоритма не может быть неограниченной или бесконечной.
  • Корректность. Если алгоритм формируется для выполнения определенной задачи, то он всегда должен выдавать соответствующий результат.

Алгоритм в информатике

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

Насколько легко его составить?

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

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

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

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

Какие трудности могут возникнуть?

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

  • Взять чашку.
  • Положить в нее чай.
  • Насыпать сахар.
  • Залить кипятком.
  • Размешать.

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

Точность действий - основа алгоритма

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

Как выглядит верно?

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

  • Взять в серванте чашку с надписью «Рабочая».
  • Поставить чашку на стол на кухне дном вниз.
  • Достать из шкафа, находящегося справа от холодильника, контейнеры с надписью «Сахар» и «Чай», после чего поставить их на стол рядом с чашкой.
  • Из серванта достать чайную ложку.
  • Насыпать в чашку одну полную чайную ложку из контейнера с надписью «Чай», а потом две чайные ложки из контейнера с надписью «Сахар».
  • Включить чайник.
  • Подождать, пока чайник закипит, после чего налить из него воды в чашку, пока она не будет заполнена на 2/3.
  • Равномерно размешать чайной ложкой жидкость в чашке в течение 30 секунд.

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

Что нужно знать?

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

История

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

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

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

В латинском переводе труды ученого излагались в единственной книге, которая называлась «Алгоризми сказал». С течением времени люди стали постепенно забывать о том, что «Алгоризми» является автором таких правил, вследствие чего правила начали называться алгоритмами. Таким образом, постепенно «Алгоризми сказал» преобразилось и стало «алгоритм гласит».

Комментарии