Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.08.2009, 23:32
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 21  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
мдя ... я же говорил: каша.

а ещё "рекурсией" в программировании, называют ряд вещей:
1. ошибка
2. перебор деревьев
3. порождающие друг друга конструкции
и ещё целая куча вещей, которые я не успел вспомнить за 40 секунд.

с итераторами вообще отдельная тема.
итерататорм является объект, который умеет перебирать элементы коллекций. иногда это делают в цикле, иногда рекурсивно, иногда по таймеру. простейший пример итераторов и это число. простейший пример итерации это i++. но никак не цикл. и не перебирал я коллекцию. я порождал новой объект на основании старого. просто в цикле.

p.s.: посетите первый курс университета.

Старый 23.08.2009, 23:29
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 22  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Помоему, вы путаете итераторы и итерации. Заметьте, я про итераторы ничего не говорил. И то, что итератор - это объект, а не действие, никто не оспаривает.

Вы сами пробовали почитать текст по ссылкам, что приводились выше?

"В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия)"© wikipedia.org
"Итерация - это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя." © wikipedia.org
"Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Однократное выполнение тела цикла называется итерацией." © wikipedia.org
Надеюсь вы не будете отрицать, что while - это цикл и нигде не производится явных или неявных вызовов вашего метода (contains)?

Итак, вы утверждаете, что производите последовательные вычисления
одной сущности на основании другой, а именно
Код AS3:
child
на основании
Код AS3:
child.parent
Рассмотрим один из наиболее распространенных циклов:
Код AS3:
for (var i:int = 0; i <= n; i++){}
На каждой итерации происходит вычисление
Код AS3:
i
на основе уже вычисленного значения
Код AS3:
i
. По сути тот же случай, что и у вас. Полностью попадает под определение. Для большей наглядности рассмотрим пример. Возмем элементарный класс
Код AS3:
	public class Integer 
	{
		private var _value:int
		public function Integer(value:int)
		{
			_value = value
		}
 
		public function get increment():Integer
		{
			return new Integer(++_value)
		}
 
		public function get isMaxValue():Boolean
		{
			return _value > 5
		}
	}
и используем его в цикле:
Код AS3:
			var i:Integer = new Integer(0);
			for (; !i.isMaxValue; i = i.increment ) { }
ну или, для наглядности
Код AS3:
			var i:Integer = new Integer(0);
			do {} while (!(i = i.increment).isMaxValue)
. Код конечно несколько избыточен, но, по сути, абсолютно идентичен вашему.

Итак, повторю, что уже давно говорил: в приведенном вами коде рекурсий нет.

PS расскажите пожалуйста об ошибках-рекурсиях, никогда о таком не слышал. Очень интересно. Вы мне, к стати, ни на один из заданных вопросов не ответили, а только обвиняли в безграмотности.

PPS в принципе понятно, что под рекурсией подразумевал etc: последовательно опускаемся по дереву объектов. Но формально это рекурсией не является. Пример рекурсивного кода я уже писал.

Старый 24.08.2009, 00:45
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 23  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
мдя ... не понятно почему Вы говорите о тёплом, когда я говорю об мягком?
ждёте ответов?

Цитата:
1) рекурсия в программировании - явный или неявный вызов функции из самой себя
ответ дал выше, что в информатике называют рекурсией.
Цитата:
итерация - повторения ряда действий, использующих результаты предыдущей аналогичной операции
практически всё правильно, кроме того что статья не закончена. в моём понимании, итерациия - это процесс, повторяемый несколько раз и используемый предыдущие вычисления, с целью приближения к результату. тело цикла я даже никогда не думал называть итерацией. слышали когда-нить выражение "количество итераций"? обычно оно обозначает глубины вычислений. в обычном цикле такой операцией является приближение числа i к l.
Цитата:
3) цикл - набор итераций
иногда - да. иногда - нет.
Цитата:
4) практически каждый рекурсивный алгоритм может быть представлен в виде итерационного (что я, собственно, вам и продемонстрировал)
опять же странная фраза. зависит от того, как Вы трактуете рекурсию.

p.s.: ошибка "рекурсия" - это исключение ( во АС3 StackOverflowError, кажется ), которое возникает, в процессе переполнения стека программы за счёт (не)явного вызова метода самого себя или типа того. грубо говоря "бесконечная рекурсия", как бывает бесконечный цикл, который в АС3 приводит к ScriptTimeoutError.


Последний раз редактировалось BlooDHounD; 24.08.2009 в 02:35.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.