Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8648
∙ повысить рейтинг »
Орловский Дмитрий
Статус: Советник
Рейтинг: 6153
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2598
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Delphi и Lazarus

Номер выпуска:1606
Дата выхода:22.10.2011, 18:30
Администратор рассылки:Киселёва Алёна aka Verena (Профессор)
Подписчиков / экспертов:255 / 180
Вопросов / ответов:1 / 2

Консультация # 184234: Здравствуйте! Хочу задать вам, дорогие эксперты, несколько вопросов не прикладного характера, а теоретического. 1)Известно что для структур данных есть понятие логического и физического уровня. Вопрос заключается вот в чем: что произойдет на физическом уровне в данной процедуре?

Код :
...

Консультация # 184234:

Здравствуйте!
Хочу задать вам, дорогие эксперты, несколько вопросов не прикладного характера, а теоретического.

1)Известно что для структур данных есть понятие логического и физического уровня. Вопрос заключается вот в чем:
что произойдет на физическом уровне в данной процедуре?

Код :
Constructor DList.Init;
var i:word;
begin
 L:=0;
 R:=SizeList;
 Ptr:=0;
 N:=0;
 for i:=1 to SizeList-1 do
 begin
   MemList[i].Data.name:='';
   MemList[i].Prev:=i-1;
   MemList[i].Next:=i+1
 end;
 MemList[SizeList].Next:=0;
 MemList[SizeList].Prev:=Sizelist-1;
 MemList[0].Prev:=SizeList;
 MemList[0].Next:=1;
 DListError:=DListOk
end;

это одна из многочисленных процедур, с помощью которых реализована работа со структурой "Дек". Неясно как связать то, что будет выполняться тут на физическом уровне и ООП. (если будет нужно,по требованию, выложу всю структуру и все модули для работы.)

2)Оптимальные деревья поиска - кто нибудь может дать какую нибудь хорошую документацию по ним?
(есть своя но там крайне мало чтобы реализовать построение деревьев такого рода - для Delphi 7 естественно)

3)Метод динамического программирования - вопрос заключаеться вот в чем.
Есть некая задача - оптимальное расставление скобок. Почему задача эта решалась бы экспоненциально без метода "ДП"? И как решается эта задача с применением метода "ДП"?(ну не нуно само решение а только устные наброски в виде теоретических моделей)

4)Как производить оценку избыточности при использовании "ДП" на примере задачи в вопросе 3(например если требуется пост роить дерево рекурсии и найти оценку избыточности)?

5)Есть у кого нибудь документация на тему "алгоритмы прямого слияния с 4 фаилами"? 2х фазные и 1 фазные для языка Delphi 7. (Ну Паскаль - кому как удобно) и как производить оценку таких алгоритмов в плане скорости работы.

6)Полиморфизм и виртуальные методы - нашел в интернете и в книжах много определений, но наиболее точного для ООП не нашел. Какую роль полиморфизм играет в работе с обьектами(поля и методы) . (Если можно то обьясните на процедуре из 1 вопроса)

Думаю я ясно выразил свои вопросы - если что то не понятно или не корректно - переформулирую вопросы.
Не знаю задал ли я правильно в этот раздел свои вопросы. Руководствовался лишь тем, что пишу приложения на Delphi 7 и вопросы по реализаци именно связаны с этим языком.

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

Дата отправки: 17.10.2011, 17:51
Вопрос задал: Юдин Евгений Сергеевич (8-й класс)
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Асмик Гаряка (Академик):

Здравствуйте, Юдин Евгений Сергеевич!

"Дек" - это двунаправленный список. Реализуется в виде записи, в которой имеется информация, хранящаяся в ней, и 2 ссылки - одна на предыдущий элемент, другая на следующий. То есть по этому списку можно двигаться как вперед, так и назад. Объект DList состоит из этого списка и дополнительной информации.
В процедуре Init просто в данные записывается пустая строка, в ссылках номера предыдущего и следующего элемента.
Однако в этом коде список реализован примитивно, с использованием массива, и все эти ссылки практически не нужны.

2) Информацию по оптимальным деревьям можно найти в учебнике Си_АОД
6) Полиморфизм и виртуальные методы - проще говоря, это когда один и тот же метод реализован для родительского и дочерних классов. Вызывается нужный метод в зависимости, к объекту какого класса он вызывается.

Консультировал: Асмик Гаряка (Академик)
Дата отправки: 17.10.2011, 18:16
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Орловский Дмитрий (Советник):

Здравствуйте, Юдин Евгений Сергеевич!
6) Полиморфизм в конкретном объекте проявляться никак не может. Он проявляется только тогда когда объявлена перменная некоторого типа, имеющего потомка и ей присвоено значение переменной не основного типа, а типа потомка. В этом случае при вызове виртуальной процедуры будет вызываться процедура того класса, который реально отвечает присвоенной переменной. Пример

type
T1=class
Proc:virtual;
end;
T2=class(T1)
Proc:override;
end;
T3=class(T1)
Proc:override;
end;

var
a:T1;
begin
a:=T2.Create;
a.Proc;//вызывается процедура класса T2
..............................................................
a:=T3.Create;
a.Proc;//вызывается процедура класса T3
..............................................................

Консультировал: Орловский Дмитрий (Советник)
Дата отправки: 17.10.2011, 19:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное