Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Элементарные алгоритмические приемы


3.7.1. Последовательное суммирование.

В основе операции последовательного суммирования лежит правило выполнения операции присваивания, согласно которому при выполнении на ЭВМ выражения

S = S + A (1)

сначала вычисляется выражение записанное в правой части, а затем полученное значение заносится в ячейку памяти, отведенную для хранения переменной, записанной в левой части выражения (1). Поэтому если до выполнения выражения (1) имели S = 6 ; a = 8 , то после выполнения выражения (1) переменная S будет иметь значение 14.

Использование операции (1) позволяет построить эффективные алгоритмы в виде циклического процесса при решении многих задач:

- вычисление сумм рядов;

- суммировании элементов массивов;

- численном расчете интегралов и т. п.

 

Рис.3.8.8

 

Пример. Составить алгоритм вычисления суммы 15 элементов массива У. В данном случае заранее известно сколько циклов надо выполнять, поэтому можно использовать любую модификацию цикла, в том числе и цикл с постусловием. Очевидно, что для применения формулы (1) до начала цикла надо задать начальное значение переменной S. Обычно начальное значение S задают равным нулю или первому значению из набора суммируемых переменных. Фрагмент алгоритма решения задачи подобным образом приведен на рис.3.8.8.

Более общей является задача, в которой необходимо суммировать различное число элементов массива, задаваемое, например, переменной N. Так как в общем случае N может быть равно нулю, алгоритм подобный приведенному на рис.3.8.8 может давать неправильный результат при N = 0. Поэтому для решения подобной задачи следует использовать цикл с предусловием и задавать начальное значение переменной S равным нулю как показано на рис.3.8.9.

Рис.3.8.9.

 

3.7.2. Последовательное умножение.

В основе операции последовательного умножения лежит выражение вида

Р = Р * В (2)

 

То есть после умножения переменной Р на некоторое значение В результат заносится в ячейку памяти, отведенную для хранения переменной Р. Например, если было Р = 5 и В = 3 , то после выполнения выражения (2) получим Р = 15.

Использование выражения (2) в циклическом процессе позволяет построить эффективные алгоритмы возведения переменной в степень, вычисления факториала, возведения ( - 1) в степень, вычисления произведений, вычисления полиномов и т.п.

Очевидно, что до цикла должно быть определено начальное значение умножаемой переменной ( Р ), причем оно не должно быть равно нулю.

Пример: вычисление R = X N . Так как в общем случае N может быть равно нулю, необходимо использовать цикл с предусловием и задать начальное значение переменной R равным единице. Фрагмент алгоритма решения этой задачи приведен на рис.3.8.10.



Рис.3.8.10.

Заметим, что для вычисления ( - 1 ) N * X N достаточно в алгоритме рис. 3.8.10 заменить

R = R * X на R = - R * X .

 

3.7.4. Перестановка данных.

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

- упорядочение элементов массива в возрастающем или убывающем порядке;

- перестановка строк или столбцов двумерного массива по определенному правилу (при решении систем уравнений) и т.п.

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

Р = А; А = В ; В = Р.

Перестановку значений элементов массива также осуществляют через простую переменную. Например, после выполнения фрагмента

Т = У(К); У(К) = У(М) ; У(М) = Т

значения элементов У(К) и У(М) поменяются местами.

 

<== предыдущая лекция | следующая лекция ==>
Структурное программирование | Методы построения конечных алгоритмов

Дата добавления: 2014-01-03; Просмотров: 640; Нарушение авторских прав?


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:
studopedia.su - Студопедия (2013 - 2020) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление
Генерация страницы за: 0.003 сек.