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

Post on 16-Apr-2017

364 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

структур

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

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

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

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

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

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

VBDo while

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

пользовательскую функцию 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

top related