ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА


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

Алгоритм — это любая последовательность действий, приводящая к решению поставленной задачи.

Слово «алгоритм» появилось в Средние века, когда ев­ропейцы познакомились со способами выполнения ариф­метических действий в десятичной системе счисления, описанными узбекским математиком Мухаммедом бен Муса аль-Хорезми («аль-Хорезми» — человек из города Хорезми; в настоящее время город Хива в Хорезмской об­ласти Узбекистана). Слово «алгоритм» есть результат ев­ропейского произношения слов «аль-Хорезми».

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

Дискретность — это свойство, означающее следую­щее: каждый алгоритм состоит из отдельных законченных действий, т. е. «делится на шаги».

Массовость — применимость алгоритма ко всем зада­чам рассматриваемого типа при любых исходных данных.

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

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

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

Словесное описание представляет структуру алгорит­ма на естественном языке. Например, любой прибор быто­вой техники (утюг, электропила, дрель и т. п.) имеет инст­рукцию по эксплуатации, т. е. словесное описание алго­ритма, в соответствии с которым данный прибор должен использоваться.

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

Блок-схема — описание структуры алгоритма с по­мощью геометрических фигур с линиями-связями, по­казывающими порядок выполнения отдельных инструк­ций. Этот способ имеет ряд преимуществ. Благодаря на­глядности он обеспечивает «читаемость» алгоритма и явно отображает порядок выполнения отдельных ко­манд. В блок-схеме каждой формальной конструкции со­ответствует определенная геометрическая фигура или связанная линиями совокупность фигур. К основным гео­метрическим фигурам, используемым для построения блок-схем, относятся следующие.

Блоки, характеризующие нача­ло и конец алгоритма:

Блок, отображающий процесс {оператор), предназначенный для описания отдельных действий:

Блок, содержащий проверку ус­ловия, или условный блок:

Блок, описывающий цикл с пара­метром:

Блок ввода/вывода с произвольного носителя информации:

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

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

нп — начало цикла; кп_ — конец цикла; для — цикл с параметром; если — условие; то — результат выполнения условия; иначе — результат невыполнения условия; всё — конец условия; пока — условие цикла.

Рассмотрим примеры блок-схем трех основных видов ал­горитмов: линейного, разветвляющегося и циклического. Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.

Блок-схема линейного алгоритма нахождения перимет­ра прямоугольного треугольника Рпри известных длинах его катетов a, b изображена на рис. 5.1.

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

Различают неполное (если-то) и полное (если—то-иначе) виды ветвления.

Неполное ветвление предполагает нали­чие оператора только на одной ветви (то; Да; Истина), на другой ветви оператор отсутст­вует и управление сразу переходит к точке слияния

Полное ветвление позволяет организовывать две вет­ви в алгоритме (то или иначе; Да илиНет; Истина или Ложь), каждая из которых ведет к общей точке их слия­ния (рис. 5.26).

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

Широкое применение получили три типа циклов: цикл с параметром, цикл с предусловием и цикл с постуслови­ем.

Цикл с параметром используется в тех случаях, когда известна величина k, т. е. количество элементов или ша­гов цикла.

Количество шагов цикла с предусловием заранее не определено. В нем сначала проверяется выпол­нение условия. Если оно Истинно (Да), то исполняется тело цикла, после чего вновь проверяется условие. Ука­занные действия проверяются до тех пор, пока условие не примет значение Ложно (Нет).

Цикл с постусловиемотличается от цик­ла с предусловием расположением условия и тем, что тело цикла всегда будет выполнено хотя бы один раз. Тело это­го цикла будет выполняться, пока условие Ложно (Нет).

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

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



Дата добавления: 2016-06-15; просмотров: 3646;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.018 сек.