Разное
Разное
Ханойская башня
"Ханойская башня" построена на очень простом алгоритме. Здесь я привожу этот алгоритм, который Вы сможете без труда воспроизвести.
type
THanoiBin = 0..2;
THanoiLevel = 0..9;
procedure MoveDisc(FromPin, ToPin : THanoiPin; Level : THanoiLevel);
// Это Вы должны сделать сами. Переместите один диск с одного штырька на другой.
// Диск окажется наверху (естественно, выше него дисков не будет)
Вы можете каким угодно образом перемещать диски 3-х пирамид. 3 пирамиды – наиболее простая разновидность алгоритма. Таким образом процедура переноса диска (MoveDisc) аналогична операции переноса диска на верхний уровень (MoveTopDisc): переместить диск наверх с одного штырька (FromPin) на другой штырек (ToPin) и передать указатель на штырек-приемник (MoveTower) вместе с уровнем расположения перемещенного диска. Другое решение заключается в использовании трех массивов [THanoiLevel] логического типа. В этом случае триггер "Истина (True)" означает наличие на пирамиде диска с размером, соответствующим порядковому номеру элемента массива THanoiLevel.
procedure MoveTower(FromPin, ToPin : THanoiPin; Level : THanoiLevel);
begin
if HanoiLevel <= High(THanoiLevel) then begin
MoveTower(FromPin, 3 – FromPin – ToPin, Level + 1);
MoveDisc(FromPin, ToPin, Level);
MoveTower(3 – FromPin – ToPin, ToPin, Level + 1);
end;
end;
Чтобы переместить пирамиду целиком, вы должны вызвать процедуру MoveTower следующим образом:
MoveTower(0, 1, Low(THanoiLevel));
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Разное
Разное IChapter *pc = 0; HRESULT hr = CoGetObject(OLESTR(«Chapter:7»), О, IID_IChapter, (void**)&pc); if (SUCCEEDED(hr)) { hr = pc->IncludeAllTopicsNotCoveredYet(); pc->Release(); } Автор, 1997 В предыдущей главе были представлены основы модели программирования СОМ и архитектуры удаленного доступа. Различные интерфейсы и методики СОМ
Разное
Разное 1. Распространение приложений Delphi, использующих Local InterBase. Для распространения таких приложений, в соответствии с лицензионным соглашением вы должны перенести следующие файлы: Главные модули (X:IBLOCALBIN) DSQL.DLL FILEIO.DLL GDS.DLL GBAK.DLL INTL.DLL IUTLS.DLL JRD.DLL REMOTE.DLL STACK.DLL Сообщения,
Разное
Разное 1. Как ReportSmith 3.0 взаимодействует с Delphi? Новая 32-разрядная версия ReportSmith 3.0 предлагает более тесную взаимосвязь со средой Delphi и способна работать с любым источником данных, используемом в Delphi, таких как TQuery или TTable. ReportSmith поддерживает создание сложных запросов в среде
Разное
Разное Введение Эта глава – второе из тех отклонений в сторону, которые не вписываются в основное направление этой обучающей серии. Я упомянул в прошлый раз, что я накопил некоторые изменения, которые должны быть внесены в структуру компилятора. Поэтому я должен был
Разное
Разное Кроме элементов управления ActiveX, вечно спешащего VBA-программиста пытаются соблазнить массой другого разнообразного программного обеспечения, сладкими речами, обещающими ускорить и упростить цикл создания программ, - за отдельную плату, конечно.К сильным сторонам
Глава 9 Разное
Глава 9 Разное Несмотря на то что эта глава состоит всего из трех правил, все они очень важны.В первом правиле подчеркивается, что предупреждения компилятора – не пустяк, на который можно не обращать внимания. По крайней мере, если вы хотите, чтобы ваши программы вели себя
Разное
Разное Инструменты починки базы данных IBSurgeon Компания IBSurgeon распространяет множество инструментов для диагностики и починки разрушенных баз данных, а также для восстановления поврежденных резервных копий БД. Ее инструменты диагностики IBFirstAid Diagnostician и IBSurgeon Viewer могут
Разное
Разное Ханойская башня "Ханойская башня" построена на очень простом алгоритме. Здесь я привожу этот алгоритм, который Вы сможете без труда воспроизвести.type THanoiBin = 0..2; THanoiLevel = 0..9;procedure MoveDisc(FromPin, ToPin : THanoiPin; Level : THanoiLevel);// Это Вы должны сделать сами. Переместите один диск с
Глава 33. Разное
Глава 33. Разное Практически никто не знает грамматики Bourne shell-а. Даже изучение исходных текстов не дает ее полного понимания.Tom