НЕКОТОРЫЕ ПРИЕМЫ АЛГОРИТМИЗАЦИИ

Рис. 3 Циклические структуры алгоритмов

Рис. 2 Разветвляющиеся структуры алгоритмов

Действие 2

Выход

Действие 1

ДА

X



Т


 


а)



 


в)



▼Выход

а)


Нет б)


Вход

Тело внешнего цикла

Выход


РИС. 4 ВЛОЖЕННАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА "ЦИКЛ В ЦИКЛЕ"

Особенностью рассмотренных структур является то, что все они имеют один вход и один выход и могут быть соединены друг с другом в любой последовательности. В частности, каждая структура мо-жет содержать любую другую в качестве одного из блоков. Например, на рис. 20 изображена часто встречающаяся в реальных задачах вложенная циклическая структура ("цикл в цикле"), в которой тело внешнего цикла (внешний цикл – цикл "ПОКА") является также циклом (внутренний цикл – цикл "ДО"). При этом в соответствии с принципами вложенности внутренний цикл заканчивается раньше, чем внешний цикл.

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

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

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

полнительно введенную, переменную. Для этого вначале вновь введенной переменной С присваивается значение одной из меняемых переменных, например A, а затем последней присваивается значение вто-рой меняемой переменной B. И, наконец, последний шаг замены – значение вновь введенной перемен-ной С присваивается переменной B (рис. 21).

2 Вычисление произведения (суммы) чисел
Задача вычисления суммы или произведения значений очень часто встречается при разработке раз-

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

N

22, а приведена схема алгоритма вычисления суммы – ∑ xi , а на рис. 22, б – схема вычисления факто-

i=1

риала от N N!.


1-й шаг замены
3-й шаг замены

2-й шаг замены
( А I ^------------ ( В )

\ /

ы \ /

С

>| /3-


 

1. С = А

2. А = В

3. В = С