итерация и рекурсия

18
Итерация и Рекурсия

Upload: nick535

Post on 16-Apr-2017

363 views

Category:

Education


1 download

TRANSCRIPT

Page 1: итерация и рекурсия

Итерация и Рекурсия

Page 2: итерация и рекурсия

Итерация- это организация обработки данных, при

которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

Для реализации итерации используются циклы

Page 3: итерация и рекурсия

Типы циклических

структур

Цикл со счетчиком

Цикл с постусловием

Цикл с предусловием

Итерационные циклы

Page 4: итерация и рекурсия

Цикл с предусловием

Используется, когда заранее неизвестно, какое количество раз должно повториться тело цикла.

VBDo while

условие Тело циклаLoop

Page 5: итерация и рекурсия

Цикл с постусловием

Условие выхода из цикла стоит в конце, после тела цикла.

VBDo Тело циклаLoop while Условие

Page 6: итерация и рекурсия

Определите вид цикла

Page 7: итерация и рекурсия

Пример итерацииОпределите вид алгоритма и значение

переменной S после выполнения фрагмента программы.

Page 8: итерация и рекурсия

Применение итерации

Составить блок-схему алгоритма вычисления суммы чисел от 1 до 5.

Разработать приложение в системе программирования Visual Studio 2010.

Page 9: итерация и рекурсия

S предыдущая

S начальная = 0

S = 0 + 1

S = 0 + 1 + 2S предыдущая

S = S + 1

S предыдущая

S предыдущая

S = S + 2

S = 0 + 1 + 2 + 3

S = 0 + 1 + 2 + 3 + 4 S предыдущая

S = 0 + 1 + 2 + 3 + 4 + 5

S = S + 3

S = S + 4

S = S + 5

Разбор задачи

Page 10: итерация и рекурсия

Решение задачи

Dim S, i As Integer Private Sub Button1_Click S = 0 i = 1 Do While i <= 5 S = S + i i = i + 1 Loop TextBox1.Text = S End Sub

Page 11: итерация и рекурсия

Рекурсия(лат. recurrere - возвращение назад)

процесс повторения чего-либо самоподобным способом.Примеры.

«Смысл жизни — в достижении её цели, цель жизни — в наполнении её смыслом»

“Чтобы понять рекурсию, нужно сначала понять рекурсию”.

Page 12: итерация и рекурсия

Примеры рекурсии

1. «Если у Вас украли кредитную карту позвоните

по телефону, указанному на оборотной стороне

кредитной карты».

2. Бюрократия разрастается чтобы удовлетворить

нужды разрастающейся бюрократии.

3. 1. Начальник всегда прав. 2. Если начальник не

прав смотреть п. 1.

Page 13: итерация и рекурсия

Примеры рекурсии

Page 14: итерация и рекурсия

Описание рекурсии

1. Общее правило, по которому решение задачи в сложном случае сводится к решению такой же задачи, но в более простом случае;2. условие, при котором дальнейшее упрощение нужно прекратить (терминальное условие).

Page 15: итерация и рекурсия

Применение рекурсии

Составить блок-схему алгоритма вычисления суммы чисел от 1 до 5.

Разработать приложение в системе программирования Visual Studio 2010.

Для решения задачи использовать рекурсию.

Page 16: итерация и рекурсия

Решение задачи

Воспользуемся методом «обратного хода».

S(5)=5+4+3+2+1=5+S(4)

S(4)=4+3+2+1=4+S(3)

S(3)=3+2+1=3+S(2)

S(2)=2+1=2+S(1)

S(1)=1

S(X)=X+S(X-1)

Общее правило

Терминальное условие

Page 17: итерация и рекурсия

Решение задачиСоставим условие:

Если X=1 тогда S=1 иначе S=X+S(X-1)Запишем условие на языке блок-схем

Page 18: итерация и рекурсия

Решение задачиДля решения задачи опишем

пользовательскую функцию SPublic Class Form1 Dim X As Integer Function S(ByVal X) As Integer If X = 1 Then S = 1 Else S = X + S(X - 1) End If End Function Private Sub Button1_Click… TextBox1.Text = S(5) End SubEnd Class