Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Циклические алгоритмы.
Арифметические циклические процессы.
Если вычислительный процесс, содержащий многократное вычисление по одним и тем же математическим зависимостям, но для разных значений входящих в них величин (переменных), то его называют циклическим.
Многократно повторяемые участки вычислений называют циклами
Переменные, изменяющиеся в цикле - переменными цикла.
Алгоритм циклической структуры содержит следующие блоки:
Применение циклов приводит к уменьшению длины алгоритма и сокращению времени на его составление.
Циклы бывают арифметические и структурные (структурные циклы связаны гуляниями нескольких переменных).
Арифметические циклы связаны, в основном, с изменением одной переменной. Они делятся на два типа:
1. Циклический процесс называется итерационным, если заранее неизвестно количество повторений цикла, а конец вычисления определяется при достижении некоторой величены заранее заданной точностью вычисления.
Примеры итерационных циклов:
Структуры итерационных процессов принято разделять на:
Отличие этих структур заключается в том, что проверка достижения некоторой величины заданной точности вычисления осуществляется соответственно либо в начале цикла, либо в его конце.
Рис. 1 Циклический процесс с предусловием
На рис.1 - графическое изображение (функциональная схема) циклического процесса с предусловием. В данном случае, прежде чем выполнить действие проверяется условие и, если оно не выполняется, то действие ни разу не выполняется.
Для циклического процесса с постусловием характерна следующая схема рис.2:
Рис. 2 Циклический процесс с постусловием
Особенность данной схемы заключается в том, что независимо от существующего условия действе выполняется хотя бы один раз.
Предложение циклической части работает повторно до тех пор, пока значение логического включения истинно. Итак, сначала выполняется циклическая часть, а затем проверяется условие.
Пример 1. цикл с “предусловием”
Пример 2. цикл с “постусловием”
2. Второй тип арифметических циклов это цикл с известным числом повторении.
Этот цикл еще называют цикл со счетчиком. Число повторений тела цикла подсчитывается с помощью специальной переменной, для которой известны начальное и конечное значения, и шаг ее изменения.
Цикл с фиксированным числом повторений изображается в графических схемах алгоритма с помощью специального блока, называемого блоком модификаций.
I параметр цикла; N и K задают соответствующие начальное и конечное значение цикла.
На каждом шаге вычислений происходит последовательное приближение к искомому результату и проверка условия достижения последнего.
Пример 1. Составить алгоритм вычисления бесконечной суммы
с заданной точностью (для данной знакочередующейся бесконечной суммы требуемая точность будет достигнута, когда очередное слагаемое станет по абсолютной величине меньше ).
Вычисление сумм типичная циклическая задача. Особенностью же нашей конкретной задачи является то, что число слагаемых (а, следовательно, и число повторений тела цикла) заранее неизвестно. Поэтому выполнение цикла должно завершиться в момент достижения требуемой точности.
При составлении алгоритма нужно учесть, что знаки слагаемых чередуются и степень числа х в числителях слагаемых возрастает.
Решая эту задачу "в лоб" путем вычисления на каждом i-ом шаге частичной суммы S:=S + ((-1)**(i-1)) * (x**i) / i
мы получим очень неэффективный алгоритм, требующий выполнения большого числа операций. Гораздо лучше организовать вычисления следующим образом: если обозначить числитель какого-либо слагаемого буквой р , то у следующего слагаемого числитель будет равен р*х (знак минус обеспечивает чередование знаков слагаемых), а само слагаемое m будет равно p/i , где i номер слагаемого.
Пример 2. Вычислить сумму элементов заданной матрицы А(5,3).
S := 0;
нц для i от 1 до 5
нц для j от 1 до 3
S:=S+A[i,j]
кц
кц
Пример 3. Вычислить произведение тех элементов заданной матрицы A(10,10), которые расположены на пересечении четных строк и четных столбцов.
i:=2; P:=1
нц пока i <= 10
j:=2
нц пока j <= 10
P:=P*A[i,j]
j:=j+2
кц
i:=i+2
кц
Задания для самостоятельного решения
I. Итерационные циклы.
1. Вычислить сумму S первых N членов ряда , не меньших заданного числа R. Где K=1,2,3,....., N; N - произвольное число. Принять R=0,08.
2. Найти S - сумму членов ряда с точностью до 10-3, где N=1,2, 3, 4,....., К; К>0 - произвольное число.
3. Найти сумму S бесконечного ряда с точностью N=10-3. Ряд задан формулой общего члена ряда:
где I = 1, 2, 3, 4, … .
4. Последовательность задана формулой: , где N=1, 2, 3, 4,... Найти 10 членов последовательности и их сумму S с точностью до 10-5.
5. Найти сумму ряда с точностью n=10-5 и распечатать все члены ряда.
6. Найти все члены ряда , не меньшие заданного числа R=0,05, К=1, 3, 5, …
7. Найти сумму S с точностью N=0,00001, для Х - произвольного числа, если слагаемое суммы с номером К равно
К = 1, 2, 3, …, 10.
8. Найти сумму значений Y с точностью до N=0,023, если слагаемое с номером К равно: где Х=18.31, К=1,2,3, … .
II. Цикл с известным числом повторении.
1. Объем тела вычисляется по формуле:
Вычислить V, если Н, А, В, R - известны, Р=3,1415, а F - изменяется от F1 до F2 с шагом F3 (в градусах).
2. На какой высоте будет тело, брошенное вверх со скоростью V=10 м/с с высоты Н1=2m через время Т, равное 0.1, 0.25, 0.4, 0.55 сек?
Измерение высоты Н происходит по закону:
где G=10
3. Найти сумму 10 членов арифметической прогрессии А,А+D,А+2D,...; где А - первый член прогрессии, D - постоянное слагаемое.
4. Вычислить Y=АN по формуле Y=АААА...А (всего N раз). Значения А и N - произвольные числа.
5. Найти сумму 10 членов геометрической прогрессии В, ВQ, ВQQ, ВQQQ,
…; где В - первый член прогрессии, Q - постоянный множитель.
6. Найти среднее значение функций Y, Y1, Y2, где:
Y2=4X3-3X2+4X-2
7. Вычислить сумму членов ряда А=(-1)КХК, где Х - произвольное число (Х>0), К=1, 2, 3, 4,....., N, N>0 - произвольное число.
8. Найти сумму , где X>0 - произвольное число.
9. Составить таблицу значений X2, X3, X4, X5 для X, изменяющегося от 1 до 5. Вывести результаты в виде:
Х2=… Х3=… Х4=… Х5=…
10. Вычислить значения , Ln(2X), e-1.2X , для Х=1, 2, 3,.., 10.
11. Ввести число. Если это число положительное, то вывести его на печать, если число отрицате-льное, то удвоить его и вывести на печать. Процесс повторить 12 раз.
12. Вычислить сумму квадратов чисел от 1 до 25 и сумму кубов чисел от 1 до 14. Результаты вывести на печать с комментариями: сумма квадратов = … кубов = … .
13. Найти сумму значений Z = Соs(КХ) + ASin(КХ), если К=0.1, 0.2, 0.3, …, 1. Х=0.3, 0.5, 0.7, … 0.9. А - произвольное число.
14. Сложить все числа от 1 до 100, перемножить числа от 1 до 25. Какой результат больше - вывести на печать с комментарием: сумма =... или произведение =… .
15. Энергия движущегося тела . Вычислить суммарную энергию тела, если V изменяется от V1 до V2 с шагом V3, а М изменяется от M1 до М2 с шагом М3.
16. Найти количество цифр в целом числе N.
Начальная установка условия.
Условие
Тело цикла.
Начальное присваивание (инициация).
Тело цикла.
Условие.
Вход в цикл
Вход в блок модификаций параметра I
Окончательный выход из цикла по I > K.
Вход на выполнение предложений тела цикла при I < K.
Блок подготовки цикла
Тело цикла
(ТЦ)
Блок модификации
цикла
Условие продолжений цикла
I = N, K.