IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> with
lopata
сообщение 22.01.2010 0:48
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 99
Пол: Женский
Реальное имя: vera

Репутация: -  0  +


смотрела я тут деревья...и возник вопрос :

procedure Insert(var Root: TTree; X: T);

	{ Дополнительная процедура, создающая и инициализирующая новый узел }
	procedure CreateNode(var p: TTree; n: T);
	begin
		New(p);
		p^.value := n;
		p^.Left := nil;
		p^.Right := nil
	end;
	
begin
	if Root = nil Then CreateNode(Root, X) { создаем новый узел дерева }
	else 
		with Root^ do begin
			if value < X then Insert(Right, X)
			else
				if value > X Then Insert(Left, X)
				else 
				{ Действия, производимые в случае повторного
				внесения элементов в дерево}
		end;
end;


Что это такое with для чего оно нужно и как работает?

with Root^ do begin
			if value < X then Insert(Right, X)


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.01.2010 1:06
Сообщение #2


Гость






Вот тут есть описание: Руководство по языку B.Pascal 7 & Objects/LR -> Оператор with
 К началу страницы 
+ Ответить 
lopata
сообщение 22.01.2010 3:11
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 99
Пол: Женский
Реальное имя: vera

Репутация: -  0  +


Понятно. а если делать без него, то

if Root = nil Then CreateNode(Root, X) { создаем новый узел дерева }
	else 
		Root^.value < X then Insert(Root^.Right, X)
			else
				if Root^.value > X Then Insert(Root^.Left, X)
				else 
				{ Действия, производимые в случае повторного
				внесения элементов в дерево}
		end;
end;



?
может и глупый вопрос, но, чтобы удостовериться, что правильно поняла

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.01.2010 3:14
Сообщение #4


Гость






Да, если без With - то будет именно так.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 24.07.2025 6:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"