Циклический вычислительный процесс.

Алгоритмизация процесса решения задач

Алгоритмы: понятие, свойства, способы записи, виды

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

Понятие алгоритм связано с именем математика древности Аль-Хорезми (IX в.н.э.), который разработал и изложил правила (сегодня мы называем их алгоритмами) выполнения четырех арифметических действий над числами, представленными в десятичной форме.

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

Алгоритм, предназначенный для выполнения его на ЭВМ, специальных машинах-автоматах должен обладать рядом свойств. Рассмотрим основные четыре из них:

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

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

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

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

Любой алгоритм становится алгоритмом лишь тогда, когда он обретает какую-либо форму. Существует два наиболее распространенных способа описания алгоритма:

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

б) запись алгоритма в виде блок-схемы.

БЛОК-СХЕМА

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

Блок-схема позволяет в четкой двухмерной графической форме наглядно изложить структуру алгоритма, что значительно упрощает задачу его разработки и контроля. Приведем основные геометрические обозначения (блоки), принятые в соответствии с ГОСТ 19.003-80 “Символы в схемах алгоритмов и программ”, с помощью которых можно описать любой вычислительный процесс:

— блок начала или конца алгоритма;

Циклический вычислительный процесс.

— операционный блок;

Циклический вычислительный процесс.

— блок ввода-вывода данных;

Циклический вычислительный процесс.

— логический блок (проверка условий);

Циклический вычислительный процесс. — соединитель;

Циклический вычислительный процесс. — линии потока(ветви);

Циклический вычислительный процесс. — комментарий.

Существуют определенныеправила составления блок-схем:

1) Блок-схема должна иметь точку начала и точку окончания. От точки начала блоки располагаются сверху вниз и слева направо.

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

3) Из каждого прямоугольника и параллелограмма (кроме конца алгоритма) должна выходить ровно одна ветвь.

4) В каждый прямоугольник и параллелограмм (кроме начала алгоритма) должна входить хотя бы одна ветвь.

5) В каждый ромб должна входить хотя бы одна ветвь, а выходить из него ровно две ветви, помеченные словами “ДА” и “НЕТ”, либо символами “+” и “-” соответственно.

6) Блоки рекомендуется идентифицировать (присваивать номера) в порядке расположения их в блок-схеме.

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

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

Существует три основных вида алгоритма — линейный, разветвляющийся, циклический.

Циклический вычислительный процесс.

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

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

Для контроля правильности составления алгоритма полезно обращаться к специальной процедуре его “проигрывания” — трассировки. Иными словами, составитель алгоритма вручную производит соответствующие вычисления, тем самым, имитируя работу будущего исполнителя данного алгоритма. Как правило, для трассировки алгоритма подбирается упрощенный вариант исходных данных. Процесс выполнения алгоритма можно изобразить в виде трассировочной таблицы, в которой указывают номер шага(блока) алгоритма, значение переменных, значение результата(см. табл.1).

Номер шага(блока) Значение переменных Значение результата
. . . . . . . . . . . .
. . . . . . . . . . . .

Понятие и этапы алгоритмизации процесса решения задач

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

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

1. Постановку задачи, выбор общего подхода к ее решению;

2. Разработку алгоритма (алгоритмизация);

3. Разработку и тестирование программы;

4. Составление документации;

5. Реализацию программы на ПЭВМ;

6. Сдачу алгоритма и программы на постоянное хранение в библиотеку алгоритмов и программ.

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

1. Содержательный анализ задачи.

На этом этапе необходимо провести анализ смысла задачи и ее сути; определиться с исходными и выходными данными, их объемом и структурой. Ведь речь, как правило, идет о разработке алгоритма, обладающего свойством массовости (см. п. 2.2.1.), иными словами, алгоритме, позволяющем решать широкий класс задач данного типа.

Матсад разветвляющийся вычислительный процесс


Похожие статьи.

Понравилась статья? Поделиться с друзьями: